2.4.0

This release is about **help being where the work is**. Every module now carries its own documentation inside the plugin , tutorials, how-to guides and reference , browsed from Help & Support with a switcher that hides anything the college is not licensed for. A support form sits alongside it and shows exactly which site details will be sent before anything leaves. Behind the scenes the admin’s design system is now enforced by the build rather than by discipline: nine button styles, one input style, and a check that fails if a screen invents its own.

  • Added Per-module in-plugin documentation, discovered from three manifests (Kenii Catalog, Pathways, Curriculum) and browsed from Help & Support with a module switcher. A locked module's docs never appear. Tutorials, how-to guides, reference, and explanations for each module, rewritten against the current product , including a step-by-step guide to building requirements with groups and subject rules.
  • Added Support form in Help & Support: subject, category, and message, with the site context (URL, plugin version, active modules, WordPress and PHP versions) shown to the user before sending. Submissions email the support address with reply-to set to the sender and a copy back to them; an honest failure state shows the address to write to directly if mail can't send.
  • Changed Design-system conformance is now enforced, not just intended. The admin ships exactly nine button variants and one input style; a CI rail (`tests/design-conformance.mjs`) fails the build if any component styles its own button or form control, or renders a button that isn't the shared primitive or an allowlisted structural control. Every admin button and form field was swept onto the shared framework.
  • Changed Brand alignment of admin controls to the Kenii design system: form inputs (light border, 12×16 padding, purple focus ring, eyebrow labels), the nine buttons with their exact spec, and a shared field-rhythm wrapper so every labeled control has consistent spacing , also enforced by the rail.
  • Changed Helper text across the editors uses one quiet framework style instead of oversized per-editor paragraphs; the CIP-code hint reads in plain English.
  • Changed Program-listing accordion toggles are a transparent circle with a light border that fills with the brand color on hover, open, and keyboard focus, replacing an opaque gray disc.
  • Changed Admin and frontend stylesheets bust their browser cache when the file changes, not only on a version release.
  • Fixed Accessibility: the requirement rule ("Choose one of the following", "Take N credits from") is now the course table's “ , its native, programmatically-associated label , instead of a loose paragraph; subject-prefix rules (not a table) keep `role="group"` with `aria-labelledby`. Assistive technology announces the rule as the list's label.