3.14.1

A license now counts only if Connect signed it for this site, and a paid license keeps working through the end of its term even when Connect cannot be reached.

  • Changed **A paid license holds for its whole term, even with Connect down.** When Connect includes the end of the paid term, the license keeps working until that date plus 30 days without a check. A complimentary license with no end date does not lapse offline at all. Only a signed answer from Connect turns modules off mid-term.
  • Changed A site updating from an earlier version checks in with Connect right away so its saved license is replaced with a signed one.
  • Changed The entitlement rail signs real grants with a throwaway key and covers tampered, forged, wrong-site, mid-term, comp and lapsed licenses, on test and live hosts. It goes red with the signature or term check removed.
  • Changed The credential PDF compare now reads every catalog year, not only the active one, and CI fails when a maintenance query does not say which years it reads.
  • Changed The offline grace period is read from `Kenii_License::OFFLINE_GRACE_DAYS` instead of a second copy of the number.
  • Fixed **A license must carry Connect's signature to count.** Kenii stores each signed license whole and checks the signature every time it reads it, so a license written straight into the database, or copied from another college's site, does nothing.
  • Fixed **The module override no longer applies on a college's live site.** `KENII_ENTITLEMENT_OVERRIDE` in wp-config is honored only on localhost, `.local`, `.test` and `.localhost` addresses and on kenii.app with its subdomains.