== AjaxPress Changelog ==

Full version history for AjaxPress - Single Page Application for WP.

For recent changes, see readme.txt: https://plugins.svn.wordpress.org/ajaxpress/trunk/readme.txt

== Changelog ==

= 2.3.1 =
* Fixed: JSON-LD structured data (Yoast, Rank Math, SEOPress, etc.) is now replaced cleanly on every navigation, resolving duplicated BreadcrumbList and "Missing field 'item'" errors in Google Search Console
* Fixed: Canonical, OpenGraph, and Twitter Card meta tags now sync to the parent shell on every nav, so social previews and search engines see the page being viewed instead of the initial-load URL
* Fixed: Iframe sub-document is now flagged noindex,nofollow so JS-rendering crawlers do not double-index the same URL twice
* Fixed: External links with target="_blank" now open in a new tab instead of replacing the current page
* Fixed: Persistent player no longer briefly duplicates on Mobile Safari during scroll-and-hold gestures
* Fixed: Persistent elements with sticky child widgets (Elementor) are now properly hidden in the iframe source
* New: Persistent media (audio, video, radio widgets in `<div id="persistent-*">` containers, or anything with `[data-ajaxpress-persist]` / `.ajaxpress-persist`) is now lifted into the parent shell on first encounter and reused across navigation. The same DOM element keeps playing without reload on every page change. Honors the existing Ignore Elements setting.
* New: `ajaxpress:ready` event dispatches on document after each navigation. Use it to re-initialize external scripts (ads, analytics widgets, lazy loaders): `document.addEventListener('ajaxpress:ready', e => { /* e.detail.url, e.detail.title */ })`

= 2.3.0 =
* New: SPA navigation for wp-admin area
* New: Option to block keyboard reload (F5/Ctrl+R)
* New: Prefetch on mousedown for even faster navigation
* New: Option to skip already visited links in prefetch
* Fixed: Theme and plugin compatibility issues
* Fixed: Sliders, carousels, and animations now work without configuration
* Fixed: Forms, search, and comments work out of the box
* Improved: Simplified settings panel with cleaner defaults
* Improved: No more script re-execution configuration needed

= 2.2.5 =
* Fixed: Modal not reopening after first use (event listener memory leak)
* Fixed: Sliders and countdown timers freezing (timer cleanup now preserves third-party timers)
* Fixed: Forms, comments, search, and accessibility features breaking after AJAX navigation
* Fixed: Search forms not responding on first click after page change
* Fixed: CSS breaking on theme pages (expanded protection patterns)
* Fixed: Back button issues with hash URLs
* Improved: Same-page links now properly AJAX reload
* Improved: Prevent Reloads feature uses AJAX reload and only prompts when inputs are modified
* Improved: Prefetch properly cancels when mouse leaves link

= 2.2.4 =
* Improved: Redesigned preview panel with realistic website mockup
* Improved: Simplified Help page - cleaner Getting Started and Troubleshooting sections
* Improved: Help search now scrolls to and highlights the selected result
* Fixed: Desktop/mobile toggle now works correctly in preview panel
* Update: Renamed "Appearance" section to "Customization"

= 2.2.3 =
* New: Preserve Elements – keep DOM elements intact during navigation
* New: Persistent Player – audio/video continues across pages
* Improved: Script loading with proper sequencing
* Improved: Same-page click handling

= 2.2.2 =
* New: Feature tour guide
* Improved: Script re-execution logic
* Improved: Timer/interval cleanup

= 2.2.1 =
* New: Script Re-execution for sliders
* New: Exclude Scripts by URL
* Improved: Third-party compatibility

= 2.2.0 =
* Complete UI redesign
* New: Link Prefetch, Disable on Mobile
* New: Custom CSS, Developer Hooks

= 2.1.1 =
* New: Translation support
* Improved: Caching compatibility

= 2.1.0 =
* Fixed: JS conflicts
* Improved: Page builder compatibility

= 2.0.0 =
* Major rewrite with new AJAX engine
* New: Progress bar, cursor animation, page transitions

= 1.0 =
* Initial release
