# Changelog — Accessibility Compliance Toolkit

All notable changes to this project are documented here.
This project adheres to Semantic Versioning (https://semver.org).

## 1.0.1 — 2026-09

### Changed
- Pro licence validation is now bound to the specific Lemon Squeezy product IDs
  for the one-time and annual licences, so a key for a different product on the
  same store cannot unlock Pro. The product IDs ship pre-configured.

## 1.0.0 — 2026-06 (first public release)

### Added
- Administrator component (com_accessibilitycompliance) with an Executive
  Dashboard: compliance score gauge, legal-risk posture, severity doughnut and a
  30-day score trend (Chart.js).
- On-demand URL scanning: source-level WCAG 2.1/2.2 checks mapped to EN 301 549
  clauses and European Accessibility Act (EAA) scope. No overlay is injected.
- Issues workbench with severity/status/search filters and pagination.
- Eleven source-level rules: missing/filename alt text, heading hierarchy, empty
  and generic links, table headers, empty buttons, unlabelled inputs, document
  language, positive tabindex, autoplaying media and linked-document (PDF/Office)
  EAA warnings.
- Content plugin (plg_content_accessibility) that scans an article on save and
  warns the author when the score is below a configurable threshold.
- Package installer (pkg_accessibilitycompliance) that installs the whole toolkit
  in one step, with update-server support for one-click updates.
- Full en-GB language files; all user-facing strings are translatable.
- Pro (licensed) full-site audit: crawls all internal pages, scores each, and
  exports a self-contained Compliance Report (per-page findings mapped to WCAG &
  EN 301 549) as audit evidence. Licensing via Lemon Squeezy's License API.

### Security
- CSRF token, ACL permission (acc.scan) and URL validation on the scan action.
- Parameterised database access throughout; XXE-hardened HTML parsing.
