2.9.0
This release makes the catalog **easier to read, easier to trust, and easier to show off**. Public catalog text now grows when a visitor turns up their browser’s font size, so low-vision readers finally get larger type. The licensing that keeps your modules running got sturdier , it survives a stalled site scheduler, shows you when it last checked in, and keeps Help & Support reachable even during a billing hiccup. The Curriculum module’s validation got simpler: regulatory defaults apply in one click, proposals are checked against your own catalog, and a course-library import that could only ever be half-complete is gone. It also ships a guided product tour for demos and the groundwork for translating the admin into other languages.
- Removed Removed the state-pack course-library import , the custom reference-course table, its importer, admin screen, and the bundled North Carolina sample. It could only ever ship a partial, unmaintainable slice of one state's course list; the "code in reference library" check went with it. The validation rules the pack carried live on as a preset (above), and the catalog-code checks (above) cover the real need against your own courses.
- Added A guided product tour for demos and onboarding , an in-app walkthrough that carries a viewer through one course change, from a curriculum proposal to committee approval to the live catalog page and Compass. Off by default and loaded only where a site opts in, so it never ships to ordinary visitors.
- Added Optional catalog-code checks in validation , flag a New Course proposal whose code already exists in the catalog, or a Revise Course proposal whose code has no matching catalog course (advisory by default, read straight from the catalog with nothing to import).
- Added One-click rule presets on the Validation screen , apply a named, provenance-stamped set of regulatory defaults (credential envelopes and change thresholds) instead of typing them in; review and save, and it's yours to edit.
- Added The license client now accepts more than one signing key, so the license service can rotate its signing key without interrupting any live site (the plugin selects the right key by a content-derived id and falls back to trying all pinned keys).
- Added Internationalization groundwork for the admin , a lightweight translation layer so admin screens can be localized by adding a language file instead of rewriting each screen, detecting the WordPress site language (English-only today).
- Changed License check-ins are resilient to a stalled WordPress cron , the plugin re-confirms entitlement on admin visits as well, on a ~12-hour cadence , and the Account screen now shows when the license was last checked, when it checks next, and a heads-up if a site hasn't confirmed in over two days.
- Fixed Public catalog text now scales with the visitor's browser text-size preference , every frontend font size moved from `px` to `rem` across program, course, and credential pages, so readers who enlarge their default text finally get larger type (WCAG 1.4.4 Resize Text).
- Fixed Help & Support stays reachable when a site's license is suspended or lapsed , the admin no longer collapses to the Account screen only, so a customer with a billing problem can still open a support ticket.