Skip to content

license: document grace period + corrected warning intervals#6

Open
martinrode wants to merge 1 commit into
mainfrom
martin-ai/license-grace-docs-20260624
Open

license: document grace period + corrected warning intervals#6
martinrode wants to merge 1 commit into
mainfrom
martin-ai/license-grace-docs-20260624

Conversation

@martinrode

Copy link
Copy Markdown
Contributor

Summary

Documents the license-management changes that shipped with fylr 6.34.0
(Trac #76801):

  • Subscription licenses are now purely time-based (end date + 2-month
    grace period). The previous "binary older than one year" rule no
    longer applies to subscriptions; it is dropped from the docs.
  • The 2-month grace period after a subscription's end date is
    documented (definition, grace_to = end date + 2 calendar months,
    shown in the license manager next to the end date).
  • The four warning mails are listed: paid-period-ending,
    grace-period-ending, license-expired (past grace), and binary-too-new
    (buy). Dates shown as DD.MM.YYYY.
  • The pre-end-date warning intervals in
    for-administrators/readme/license-management.md are corrected from
    30/5/1 days to 30/7/1 days, to match the code
    (expireEmailWarnValidTo in
    internal/license/validation/license_validation.go). The previous
    page had a stale interval.
  • The grace-period reminders are added: weekly from 8 weeks before
    grace end, daily in the last week (matches
    expireEmailWarnValidToGrace in the same file).

Notes for review

  • Code is authoritative: the intervals, the 2-month grace duration and
    the grace_to formula were taken from internal/license/license.go
    (GraceMonths = 2, GraceTo()) and
    internal/license/validation/license_validation.go (the two
    expireEmailWarn… slices). No discrepancies vs. the spec in the
    6.34.0 release-notes pending-notes block.
  • The customer-facing names in the warning-mail bullets
    (paid-period-ending, grace-period-ending, license-expired,
    binary-too-new) mirror the four expire_type / template branches
    the code emits.
  • Supersedes the 6.32.0 release-notes line about "accept old binary
    (>1 year) for buy licenses"; that exception is now the only rule
    for buy licenses, and the >1-year-old rule is gone for subscriptions.

Request channel

Sebastian Klarmann assigned Trac #76801 (comment:82) to martin-ai
asking for the docs to be written so they can be folded into the
existing structure. The PR fulfils that request.

Please review:

  • @sebastian — owner of the original ticket and the license-lifecycle rework.
  • @Charlotte — docs owner.

🤖 Generated with Claude Code

The fylr license lifecycle was reworked in 6.34.0: subscription licenses
are now purely time-based (the old "binary older than one year" rule no
longer expires a subscription), they gain a two-month grace period after
the end date during which the instance keeps working, and the warning
mails were restructured into four buckets that cover the full lifecycle.
This commit folds those changes into the existing docs so the gitbook
matches what the code does in 6.34.0.

license-management.md "fylr version expiration":
- Split into subscription / buy subsections. Subscription: time-based,
  end date + 2-month grace; buy: unlimited in time, binary released
  on/before end date runs forever, binary released after is refused as
  "too new". Drops the obsolete "binary > 1 year" rule for subscriptions.
- New "Grace period (subscription only)" subsection: defines what the
  grace period is, gives the grace_to formula (end date + 2 calendar
  months), and points out that the license info shows it.
- New "Expiration warning mails" subsection listing the four mails
  (paid-period-ending, grace-period-ending, license-expired,
  binary-too-new) with the DD.MM.YYYY note, linking to the admin page
  for the exact intervals.

for-administrators/readme/license-management.md
"Expiration Warnings & Notifications":
- Corrected the pre-end-date intervals from 30/5/1 to 30/7/1 days, to
  match the code in internal/license/validation/license_validation.go
  (expireEmailWarnValidTo). The previous 30/5/1 was stale.
- Added the grace-period reminders (weekly from 8 weeks before grace
  end, daily in the last week before grace end), matching
  expireEmailWarnValidToGrace.
- Added the license-expired and binary-too-new mails so all four mail
  types the code emits are documented in one place.

Trac #76801 — Sebastian asked martin-ai to write the docs so they can
be folded into the existing structure.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant