=== AcceGuru Changelog ===

= 1.0.6 =
* Manual checks: list the places the scanner cannot judge on its own in the front-end panel.
* Manual checks: outline those places on the page with a dashed marker and a tooltip.
* Manual checks: add a Manual Checks card to the dashboard, counted over the last full-site scan.
* Manual checks: keep them out of Issues Found and out of the severity breakdown.
* Manual checks: show a dash instead of a count until every scanned page has been measured.
* Extensions: add a separate filter chain and action slot so add-ons can act on manual checks.
* Discovery: update the WordPress.org tags.

= 1.0.5 =
* Scanner: add a registry of named pre-scan exclusion reasons shared by built-in checks and add-ons.
* Scanner: keep exact excluded-page counts by reason on scans of any size.
* Scanner: save and restore exclusion counts through pause, resume and page reload.
* Scanner: show the reason breakdown in the dashboard status line and the downloaded log.
* Front-end overlay: block a second scan while one is already running.
* Front-end overlay: fill the launcher with the real scan progress.
* Front-end overlay: let long finding descriptions wrap despite theme button rules.
* AI Alt Text: cache featured-image IDs for fifteen minutes.
* AI Alt Text: clear that cache the moment a featured image changes.

= 1.0.4 =
* Compatibility: tested with WordPress 7.1.
* Block Editor: find the editor canvas by frame name so clicking a finding scrolls to it again.
* Block Editor: say under the row when a finding's element sits outside the editor.
* AI Alt Text: accept AVIF wherever images without alt text are counted, selected and sent.
* AI Alt Text: send WordPress's ready-made "large" copy instead of the full-size original.
* AI Alt Text: generate on upload only for attachments created in the same request.
* AI Alt Text: report an unreadable format instead of failing silently.
* Dashboard and Rules: link AcceGuru's own 13 checks to their W3C pages.
* Settings: restore item counts next to content types as site totals.
* Dashboard: keep a collapsible block open when a control inside its header is used.
* A11y column: run the post-update sorting rebuild silently.
* Settings: restore the "Upgrade to Pro" card and menu entry, hidden while the add-on is active.

= 1.0.3 =
* Scanner: report addresses that redirect elsewhere separately as "Redirected addresses".
* Scanner: finish a redirected address immediately instead of waiting out the deadline.
* Scanner: check the expected page before scanning and before saving.
* Scanner: treat a blocked frame check as a redirect only after confirming it against the server.
* Scanner: check list pages such as the Shop page and the assigned Posts page.
* Scanner: report an address that answers with a not-found page as a scan error.
* Scan log: add an "Ignored redirects" section with the requested and final address.
* Dashboard: remember the selected post statuses between scans.
* Settings: remove the item counts next to content types.
* A11y column: sort by the visible issue count after ignored-rule and add-on filters.

= 1.0.2 =
* Scanner: keep scan-result saves on the current site address when multilingual plugins alter page URLs.
* Scanner: show completed-page progress clearly and keep content-type totals accurate after retry.
* Dashboard: keep Media Library alt-text totals stable across WPML languages and third-party filters.
* AI Alt Text: describe automatically skipped files as likely decorative and show the skipped count.
* A11y column: match dashboard counts after ignored rules and add-on filters.
* Accessibility statement: preserve the tracked page when settings are saved.
* Scan log: decode HTML entities in page labels once, then sanitize them.
* Overlay: protect issue-row alignment from global theme button styles.
* Settings: keep WordPress admin notices above the plugin settings interface.
* Fixers: handle malformed stored settings without warnings on public pages.
* Extensions: provide archive context and a neutral hook for compatible add-ons.

= 1.0.1 =
* Scanner: update the bundled axe-core engine from 4.10.2 to 4.12.1.
* Scanner: apply the WCAG level and recommended-checks toggle to both axe-core and AcceGuru checks.
* Scanner: correct custom-rule classifications and drop duplicate axe-core findings.
* Scanner: calculate Passed Checks from axe-core passes and violations only.
* Scanner: accept scan-completion messages only from the active hidden frame.
* Scanner: mark saved results as stale when the scan profile or ruleset changes.
* Scanner: add a "Retry failed pages" button for pages that timed out.
* Scanner: cap the site-scan log on huge sites and keep counters on the server.
* Scanner: warn by tab title, banner and navigation guard while a scan is running.
* Scanner: run the site scan one page at a time.
* Performance: process scan records, targets and alt-text candidates in bounded batches.
* Overlay: add dialog semantics, keyboard navigation, visible focus and reliable cleanup.
* Uninstall: replace the tracked statement shortcode with static content.
* AI Alt Text: add OpenAI and Anthropic providers alongside Gemini and Mistral.
* Dashboard: swap the Issues and Critical card colours and extend Top Offending Pages to 15.
* Dashboard: add a scan-coverage line naming the content types scanned and left out.
* Fixers: add an "empty alt" review rule and fix the featured-image skip in the Alt generator.
* Block Editor: fix the "View post on front-end" link in the sidebar.
* Settings: regroup the Scanner tab and allow any public post type in the full-site scan.
* Dashboard: polish the Cancel button, status filter and reset button alignment.

= 1.0.0 =
First public release.

**Visual + UX**
* Full visual redesign across dashboard, settings, editor sidebar, overlay and admin bar.
* Brand-styled admin bar button and sidebar menu item with a new icon.
* Front-end floating launcher for one-click overlay open.

**Scanner**
* Initial scanner with axe-core integration and a Block Editor sidebar.
* Site-wide scan, dashboard and A11y admin column.
* Site-scan pause and resume.
* Adaptive "time left" estimate and scan duration after each run.
* Front-end overlay always runs a fresh scan.
* Dashboard cards count every scanned page.
* "Show affected code" expandable per issue.
* Six custom rules beyond axe-core.
* WCAG 2.2, Section 508 and EN 301 549 coverage.
* Standards shown as colour-coded chips with the criterion name on hover.

**Fixers (server-side)**
* Focus outlines and skip-link fixers.
* Six more fixers covering positive tabindex, redundant title, viewport scaling, new-window links, search field name and search results.
* Four more fixers covering comment-form labels, document links, link underline and autoplay controls.

**AI Alt Text**
* AI alt text with Gemini and Mistral, in bulk, in the Media Library and on upload.

**Accessibility statement**
* Statement generator with the `[acceguru_statement]` shortcode and an optional footer link.

**Settings**
* Configurable skip-link targets, post types, editor sidebar toggle and overlay side.
* Opt-in "Delete all data on uninstall".

**Performance / security / i18n**
* Lazy-load axe-core on first overlay click.
* Security pass on REST endpoints.
* Cache dashboard aggregation in a transient.
* Switch image fetch to `wp_safe_remote_get`.
* Ship translation-ready code with a `.pot` file.
* Clear all Plugin Check errors and flagged warnings.
