v0.18.0 - RC1 - testing in progress
🚀 v0.18.0 - RC1 is ready for public testing.Â
After a week of testing on demo sites, v0.18.0 is ready for wider testing. If you'd like to help, open a support ticket and I'll send the install archives.
Big thanks to everyone who joins in.
🟡 * Performance - Clubs, Competitions, Standings, and Squads moved from postmeta to dedicated database tables for faster page loads and better long-term maintainability
🚀 * New Feature - Active Roster - clubs now have ONE current squad you can edit without picking a season. Historical seasons live in a separate Season Squad Archive (append, replace, or clear past rosters from the same screen). [anwpfl-squad] without `season_id` renders the active roster; with `season_id` renders that season's archive
🚀 * New Feature - Site Migration (Settings & Tools > Site Migration) - copy a competition (matches, standings, clubs, players, staff, lineups, stats, squads, transfers) from one WordPress site to another over a donor / recipient REST connection with Application Password auth
🚀 * New Feature - Player Merge Tool (FL API Import > Toolkit) - detect duplicate players via slug or DOB, preview impact on stats and lineups, merge duplicates, and clean up orphaned player records
🚀 * New Feature - Public REST API - opt-in via Settings & Tools > API. Includes anonymous live match polling (score, clock, events, lineups), public read endpoints for competitions / clubs / players / taxonomies, and authenticated endpoints for third-party apps to manage matches, lineups, and statistics.
🟠* Fix - Fatal error on club pages when third-party menu plugins pass string post ID (AnWP Mega Menu)
🟠* Fix - "Remove Player Photo Duplicates" tool now skips files that can't be processed and continues, instead of stopping the entire batch
🟢 * Add - Calculated and formula stats now supported in Stats::Players Custom shortcode
🟢 * Add - "Formula" column type for team stats in the Stats Configurator (multi-operand expressions over team stat columns, with the same safety guards as player formula stats)
🟠* Fix - Formula and calculated stats not working in Stat::Players shortcode
🟢 * Improve - Formula builder UX: click-to-add tokens (drag still works), grouped element categories (Operators / Digits / Stats), and explicit Save/Cancel buttons replacing auto-save-on-close
🟢 * Add - Calculated and formula stat columns can now be used as the match formation / lineups rating pill (Configurator > Match Lineups)
🟢 * Add - "Color background" flag in the Stats Configurator - any match stat column can be highlighted with a red-to-green pill on the match formation, lineups, match player stats table, player profile, and `[anwpfl-stats-players-custom]` Tabulator shortcode (configurable value range)
🟠* Fix - Wrong sort order in standings using "away" or "fewer cards" ranking rules when matches reference clubs removed from the group
🟠* Fix - "Missing Players" section no longer shows each injured player twice (existing duplicates are cleaned up automatically on update)
🟠* Fix - "Automatically Suspend Players" toggle now works on manually-created competitions even when API Import is configured for other competitions
🟠* Fix - Stat::Clubs shortcode showing incorrect card totals
🟠* Fix - Referee stats cache never being saved
🟠* Fix - Stats shortcodes no longer crash the site when used without scope filters
🟠* Fix - Cache flush no longer wipes other plugins' data on sites with Redis or Memcached
🟠* Fix - Suspension risk shortcode now properly cached on sites with object cache
🟠* Fix - Shortcode spacing, display, and text alignment utilities now reliably override theme styles (notably Kadence's `.entry-content` rules)
🟠* Fix - Clean sheets counted for all positions instead of goalkeepers only
🟠* Fix - Match event row now grows to fit long comment text instead of clipping and overlapping the next row
🟠* Fix - "days_offset" and "days_offset_to" shortcode attributes now work in the [anwpfl-stats-players-custom] Tabulator layout (previously only worked in the default layout)
🟡 * Performance - API import configuration no longer autoloaded on every page request
🟢 * Add - Support for AWD (Technical Loss) and WO (WalkOver) fixture statuses in API-Football import
🟢 * Update - Transfer "Register in squad" no longer writes per-season - players added through the Transfer UI always go on the active roster; the `season_id` field in the REST payload is now ignored
🟢 * Add - Custom stats (xG, possession time, etc.) now available in Head-to-Head team stats shortcode
🟢 * Add - Template Status admin page (Settings & Tools > Template Status) - detects theme and third-party plugin template overrides, compares @version tags against plugin defaults, and flags patterns that need updating before the next database migration
🟢 * Add - ":avg" modifier on Player Stats Panel shortcode to show per-game average as the main value (e.g. stats="distance:avg")
🟢 * Add - "Who Will Win" probabilities from bookmaker odds with configurable bookmaker selection
New Tutorials
- Migrating 0.18.0
- Templates migration to v0.18.0
- Site Migration
- Public Rest APIÂ


Clean-Up Old data (optional in 5-7 days)
Football Leagues > Settings & Tools > Toolbox > Cleanup

Active Squad

Live formula preview in the Stats Configurator

Calculated and formula stat columns can now be used as the match formation / lineups rating pill (Configurator > Match Lineups)

"Color background" flag in the Stats ConfiguratorÂ



Site Migration
-Â https://anwp.pro/docs/football-leagues/pro-features/site-migration/

Public Rest API
-Â https://anwp.pro/docs/football-leagues/pro-features/rest-api/

Player Merge Tool (FL API Import > Toolkit)

"Who Will Win" probabilities from bookmaker odds




Customer support service by UserEcho
This will be a major update. When can we expect the release of this version? I hope well before 2026 FIFA World Cup.