- **[New]** Advanced Settings screen rebuilt and optimized
- **[New]** `searchwp_legacy_advanced_settings` filter controls whether the legacy Advanced Settings screen is used
- **[New]** Integrated stopword management on the Advanced Settings screen
- **[New]** Default stopwords for the following locales: `CS`, `DA`, `DE`, `EN`, `ES`, `FI`, `GA`, `IT`, `NL`, `PL`, `PT`, `RO`, `RU`, `SV`, `TR`
- **[New]** Suggested stopwords based on existing site content
- **[New]** Integrated Term Synonyms and improved management UI (extension is now deprecated)
- **[New]** Integrated Term Highlight (extension is now deprecated)
- **[New]** Integrated LIKE Terms and Fuzzy Matches (extensions are now deprecated)
- **[New]** Adds setting to parse Shortcodes during indexing (e.g. UI for `searchwp_do_shortcodes`)
- **[New]** `SWP_Query` now has the following methods: `have_posts`, `rewind_posts`, `the_post`, `next_post` allowing for a more traditional Loop
- **[New]** Custom Fields dropdown now supports meta groups
- **[New]** Automatic UI for "repeatable" field groups in Advanced Custom Fields
- **[New]** Statistics screen rebuilt and optimized
- **[New]** Management of ignored searches is now built in to the Stats screen
- **[New]** Resetting of statistics is now built in to the Stats screen
- **[New]** `searchwp_statistics_popular_days_{$days}` filter allows overriding of popular search queries
- **[New]** `searchwp_legacy_stats` filter controls whether the legacy Advanced Settings screen is used
- **[New]** `searchwp_results_found_posts` filter allows modification of SearchWP's found posts
- **[New]** `searchwp_results_max_num_pages` filter allows modification of SearchWP's maximum number of pages
- **[New]** Support for programmatic license management. See `SearchWP_License` class
- **[New]** Adds (dismiss-able) notice during admin searches when admin searches are not hijacked by SearchWP
- **[New]** Adds support for WordPress' block editor during indexing (blocks will be parsed prior to indexing)
- **[Fix]** Adds support for results limiting when parent attribution is enabled
- **[Fix]** Better handling of emoji during indexing
- **[Fix]** Prevent pattern whitelist matches from being counted twice
- **[Fix]** Prevent data mutation when creating multiple supplemental engines at once
- **[Change]** Indexing emoji is now opt-in using the `searchwp_index_emoji` filter