20 lines
1.0 KiB
TypeScript
20 lines
1.0 KiB
TypeScript
import { VersionInfo } from '@start9labs/start-sdk'
|
|
import { configFile } from '../file-models/config.json'
|
|
|
|
export const v_0_2_6 = VersionInfo.of({
|
|
version: '0.2.6:0',
|
|
releaseNotes: {
|
|
en_US:
|
|
'Calendar-anniversary billing replaces calendar-month resets. A user who first activates on the 17th now renews on the 17th of every subsequent month (clamps to last day for shorter months — Jan 31 → Feb 28/29 → Mar 31, standard Stripe-style edge-case handling). Pre-existing credit rows migrate transparently on startup. The admin dashboard JSON now surfaces last_renewal_at + anniversary_day so you can audit when each install renews.',
|
|
},
|
|
migrations: {
|
|
// No config-side migration needed — the ledger migrates itself
|
|
// when initCredits() runs on first boot of this version. Rows
|
|
// with the legacy { month: "YYYY-MM" } shape get a
|
|
// last_renewal_at anchored at the first of that month so they
|
|
// don't unexpectedly re-issue credits.
|
|
up: async ({ effects }) => {},
|
|
down: async ({ effects }) => {},
|
|
},
|
|
})
|