Repository navigation
Releases: jacgit18/iron-log
Releases · jacgit18/iron-log
Release list
v5.0.0-alpha.45
What's Changed
- Measure test coverage: per-area floors and a cap on files no test loads (ADR 069) by @jacgit18 in #495
- Coverage gate follow-up: the eight review findings of #495 (ADR 069) by @jacgit18 in #496
- Add the rule for where logic lives to CLAUDE.md (ADR 070) by @jacgit18 in #497
- Bump zod to 4.6.7 (GHSA-mrhx-c7xc-m3w5) by @jacgit18 in #499
- Bump body-parser to 2.4.0 (GHSA-27r3-jxmh-p828) by @jacgit18 in #503
- pr-body: warn about a shared file with an open PR, not about any open PR by @jacgit18 in #501
- README: link the project docs to the garden's priority read by @jacgit18 in #500
- Backup copies: rename error and set counts; shallow-safe parity test by @jacgit18 in #498
- Name branches - and label the PR from the letter by @jacgit18 in #502
Full Changelog: v5.0.0-alpha.44...v5.0.0-alpha.45
v5.0.0-alpha.44
What's Changed
- Parity report: a Running commit table for production, staging and QA by @jacgit18 in #491
- Owner tool: grocery-shares, a read-only count of how grocery splits are stored by @jacgit18 in #492
- CI: run Node 22, the version the project declares and ships by @jacgit18 in #493
- Backups: one row per day and a name for each device by @jacgit18 in #494
Full Changelog: v5.0.0-alpha.43...v5.0.0-alpha.44
v5.0.0-alpha.43
What's Changed
- Staging migrates on every merge to main (phase B): Migrate staging workflow by @jacgit18 in #485
- Backups & data: automatic backups first, manual file copy folded away by @jacgit18 in #486
- Deployer rights: viewer plus per-service developer instead of run.developer project-wide; hand-run builds use the build account by @jacgit18 in #487
- Grocery To get: the split tag sits under the name so every row keeps one line by @jacgit18 in #488
- Production migrates inside the approved deploy (phase C) by @jacgit18 in #489
- PR template: an Environments check for migrations, secrets, variables and settings by @jacgit18 in #490
Full Changelog: v5.0.0-alpha.42...v5.0.0-alpha.43
v5.0.0-alpha.42
What's Changed
- Sync: refuse a request from a page that holds another account's data by @jacgit18 in #456
- Fix main: policy test expects the water reminder's repeat field; update the privacy page by @jacgit18 in #458
- Bump vitest to 4.1.12 (clears two moderate advisories) by @jacgit18 in #455
- Bump pixelmatch from 7.2.0 to 8.0.0 by @dependabot[bot] in #452
- Bump @types/node from 20.19.43 to 26.6.5 by @dependabot[bot] in #454
- PR tracker: --tracker option and Definition-of-done line by @jacgit18 in #459
- Make three accessible names contain their visible text (axe 4.14) by @jacgit18 in #460
- Bump vite-plugin-pwa from 1.3.0 to 2.0.0 by @dependabot[bot] in #453
- Bump vitest from 4.1.11 to 5.0.5 by @dependabot[bot] in #451
- Bump the npm-minor-patch group with 17 updates by @dependabot[bot] in #450
- Set the Node floor to 22.12 by @jacgit18 in #461
- Always run the privacy policy test in the local check by @jacgit18 in #462
- Name three more buttons after their visible text by @jacgit18 in #463
- Lighthouse: lower the mobile floor to 82 and note the Chrome version by @jacgit18 in #464
- Claude review: report a failed review on the PR by @jacgit18 in #468
- Billing: Stripe webhook, Checkout and Portal, plan state (server, admin-only) by @jacgit18 in #465
- Billing: Settings section, Subscribe and Manage billing (UI, admin-only) by @jacgit18 in #466
- Deploy script: store and pass the Stripe billing settings by @jacgit18 in #469
- Server backup history: daily snapshots on the account (free 7 days, paid 30) by @jacgit18 in #470
- Owner tool: find-user, the account behind one email address (read-only) by @jacgit18 in #471
- New accounts start on free; beta-to-free owner tool (billing go-live, PR A) by @jacgit18 in #472
- Docs: Definition of done line for dependency upgrades by @jacgit18 in #473
- Environment parity report: daily check of production, staging and QA migrations against main by @jacgit18 in #474
- Secrets and keys hygiene, part 1: inventory, production owner URL from Secret Manager, read-only IAM audit by @jacgit18 in #475
- Merge the backup UI into one Backups & data panel by @jacgit18 in #476
- Secrets and keys hygiene, part 2: the parity job checks secret names against the inventory by @jacgit18 in #477
- PR script: label each PR by what the work is by @jacgit18 in #480
- Rest on a missed day: in-place rest, a date per rest day, date sheet by @jacgit18 in #478
- Grocery: show the store's split on To get rows, Collapse all covers bought rows by @jacgit18 in #479
- Grocery: a count typed on To get becomes the item's usual count by @jacgit18 in #481
- Rest days: store what an in-place rest displaced so unticking is exact by @jacgit18 in #482
- Parity run: read the job's exit code from gcloud's error text by @jacgit18 in #483
- Fix 404 for page routes when the build sits under a hidden folder by @jacgit18 in #484
New Contributors
- @dependabot[bot] made their first contribution in #452
Full Changelog: v5.0.0-alpha.41...v5.0.0-alpha.42
v5.0.0-alpha.41
What's Changed
- Detail sheet: the history fits the sheet on a phone by @jacgit18 in #405
- Groceries: rows and the add bar wrap at a narrow phone and a large text size by @jacgit18 in #406
- Security: count sign-in tries per address on arrival, and keep only sign-in codes (review first) by @jacgit18 in #407
- Security: take a push subscription only on a push service's own host by @jacgit18 in #408
- Server: a request the database cannot store is a 422, and a refused write keeps a summary by @jacgit18 in #409
- Groceries: a store named like an object property, and an import into a full store list by @jacgit18 in #410
- Log sheet and Progress: tables, rows and tiles fit at a large text size by @jacgit18 in #411
- Program: a long program name wraps instead of widening the page by @jacgit18 in #412
- Security: Vite 8.3.1 to 8.3.4 (npm audit: high advisory in the dev server) by @jacgit18 in #413
- Safety: the QA and staging database scripts refuse production however its URL is spelled by @jacgit18 in #414
- Help: the Daily section is called Nutrition, and Medical is no longer mentioned by @jacgit18 in #415
- Database: cap refused_writes and row_history; a fixed issue reopens on a newer version by @jacgit18 in #416
- Groceries: changing an item's usual store keeps past months as they were by @jacgit18 in #417
- Groceries: an item bought with no price stays unpriced in that month by @jacgit18 in #418
- Groceries: arrows and Expand all on At home Edit and To get by @jacgit18 in #419
- Groceries: removing a bought item keeps its store, tax and split by @jacgit18 in #420
- Groceries: past months keep their split when a person or group changes by @jacgit18 in #421
- Groceries: four small fixes from the overnight audit by @jacgit18 in #422
- Groceries: mark owed amounts settled on the split card by @jacgit18 in #423
- Groceries: fold Splitting this month and open it from the money line by @jacgit18 in #424
- Groceries: a group that is gone still shows past months' money, and the server cap counts live groups by @jacgit18 in #427
- Small fixes from the overnight audit: Experiments Last, landing grids, injury text by @jacgit18 in #425
- Server: repair an unpaired surrogate in a request instead of failing with a 500 by @jacgit18 in #426
- Push: accept only the plain https://host form of an endpoint by @jacgit18 in #428
- Groceries: explain what a share set in a month ahead changes (M-03) by @jacgit18 in #429
- Groceries: importing a backup keeps purchases of removed items (X-6) by @jacgit18 in #430
- Groceries: a removed store that history uses is retired, not forgotten (G-3, M-06) by @jacgit18 in #431
- Groceries: closing audit 2 data fixes (N-1, N-3, N-7, N-9, N-10) by @jacgit18 in #432
- Closing audit 2: test gaps and flaky waits by @jacgit18 in #434
- Board: moved-card clash check and long program name test (O-4, O-7) by @jacgit18 in #436
- Groceries: leftover audit fixes (U-4 to U-7, U-9, X-8, Y-8, G-5) by @jacgit18 in #437
- Groceries: closing audit 2 UI fixes (N-2, N-4, N-11 to N-15) by @jacgit18 in #433
- Groceries: covered flag frozen per month, case-insensitive stores, reserved names (N-16, N-17, G-6) by @jacgit18 in #435
- Server: record_issue reopen rule, push task cap, rate-limit sweep, production guards (S-3 to S-7, C-2) by @jacgit18 in #438
- CI and tooling: aggregate check, lock, local check plan, PR kit, Lighthouse runs (C-1, C-4, C-5, C-7, C-8, C-10, C-11) by @jacgit18 in #439
- Deploy: refuse a commit that is not main's tip, roll back a failed promotion (C-3, C-9) by @jacgit18 in #440
- Water bars: accessible name contains the shown text (Lighthouse label-content-name-mismatch) by @jacgit18 in #441
- Water bars: a space between the spans so the accessible name matches (follow-up to #441) by @jacgit18 in #442
- PR checks: skip bot PRs by author, not actor by @jacgit18 in #443
- Process: one feature, one brief, one PR by @jacgit18 in #444
- Tests: production-guard test ignores a local .env by @jacgit18 in #445
- README: describe Groceries and Nutrition in the Features list by @jacgit18 in #446
- Check the table of contents of README.md and SETUP.md in npm run lint by @jacgit18 in #447
- Performance: load the spreadsheet reader, Stretches and sync cards on demand by @jacgit18 in #449
- Dependency scan: audit, review, new-package vetting, Dependabot by @jacgit18 in #448
- Add a repeating drink-water reminder push by @jacgit18 in #457
Full Changelog: v5.0.0-alpha.40...v5.0.0-alpha.41
v5.0.0-alpha.40
What's Changed
- Groceries: harder to tick by accident on To get by @jacgit18 in #393
- CI: make the Claude review job non-blocking by @jacgit18 in #394
- Groceries: text fields use the app's field style by @jacgit18 in #395
- Docs: the Board and the day tabs are hands off in design work by @jacgit18 in #396
- Muscles, libraries: 44px targets, and check them in the sub-views by @jacgit18 in #397
- Groceries: the view switch is a second-level underline tab by @jacgit18 in #398
- Shadows: tokens for the tooltip, toast and dragged row by @jacgit18 in #399
- Tests: a spec that fails when a field falls back to the browser's default look by @jacgit18 in #400
- Groceries: a share set this month carries to the next months by @jacgit18 in #401
- Landing page: centred hero, framed screenshot, feature and plan cards by @jacgit18 in #402
- CI: the review step carries continue-on-error, so the PR check stays green by @jacgit18 in #403
- Groceries: the view switch wraps at a large text size by @jacgit18 in #404
Full Changelog: v5.0.0-alpha.39...v5.0.0-alpha.40
v5.0.0-alpha.39
What's Changed
- QA environment: on-demand Deploy to QA workflow, qa-db script, IRON_LOG_ENV=qa by @jacgit18 in #388
- Docs: Definition of done by @jacgit18 in #390
- Groceries: Skip all on To get by @jacgit18 in #389
- CI: one copy of the staging and QA deploy steps (composite action) by @jacgit18 in #391
- Groceries: move an item to another store from To get by @jacgit18 in #392
Full Changelog: v5.0.0-alpha.38...v5.0.0-alpha.39
v5.0.0-alpha.38
What's Changed
- Board: a ticked-off card is not the last session you lifted by @jacgit18 in #382
- Injury prevention: leave out an exercise trained 3+ days a week at under 4 sets by @jacgit18 in #383
- Daily: Supplements is now Nutrition; Medical, Recipes and Diet are admin-only by @jacgit18 in #384
- Staging: retry the database connect for a branch waking from Neon's archive by @jacgit18 in #386
- Groceries: a store's tax from the receipt, in dollars by @jacgit18 in #385
- Staging: staging-db review fixes (exit code after a failed query, retry hint, test timing) by @jacgit18 in #387
Full Changelog: v5.0.0-alpha.37...v5.0.0-alpha.38
v5.0.0-alpha.37
What's Changed
- Staging environment: workflow job, staging deploy script and database clear by @jacgit18 in #366
- Pin the disabled auth route against slash and dot-segment forms (test) by @jacgit18 in #367
- Release Web Push alerts to every signed-in account by @jacgit18 in #368
- Grocery sharing, step 1: groups, shares and who paid (data layer, no screen) by @jacgit18 in #369
- Fix two stale comments left after the Web Push release (comments only) by @jacgit18 in #370
- Fonts: say the service worker still precaches the files (comment only) by @jacgit18 in #371
- Grocery sharing, step 2: the screen (admin only) by @jacgit18 in #372
- Check on a busy machine: cap unit-test workers, 30 s limit for server tests, one check at a time by @jacgit18 in #373
- Server tests: one shared Postgres per run, a template database cloned per test file by @jacgit18 in #374
- PR body script: per-project settings in .github/pr-kit.json by @jacgit18 in #375
- Deploy workflow: release job runs when staging was skipped by @jacgit18 in #376
- Groceries: stores shared with a group come first, with a group tag by @jacgit18 in #377
- Groceries: quieter share controls by @jacgit18 in #378
- Groceries: show the month's shared money on To get by @jacgit18 in #379
- Groceries: a Sharing button and first-time prompt on At home by @jacgit18 in #380
- Groceries: say what you owe on the To get money line by @jacgit18 in #381
Full Changelog: v5.0.0-alpha.36...v5.0.0-alpha.37
v5.0.0-alpha.36
What's Changed
- Fingerprint phone-reported errors and alert when one arrives by @jacgit18 in #355
- Groceries: tinted add form, new items on top, two small fixes by @jacgit18 in #356
- Groceries: a price for each one bought by @jacgit18 in #357
- Count production issues by fingerprint in an issues table by @jacgit18 in #358
- CI: run only the test jobs a PR's changed files need by @jacgit18 in #359
- CI: related unit tests on PRs and pre-push, e2e in four shards by @jacgit18 in #360
- Admin-only Issues screen: list production issues and set a status and note by @jacgit18 in #361
- Day header: show the Swap day words again on small phones by @jacgit18 in #362
- Groceries: price chips, Bought mark, marked Edit mode by @jacgit18 in #363
- Email alerts for a new production issue and a full issue table by @jacgit18 in #364
- Groceries: progress bar on To get, and mark items with no price by @jacgit18 in #365
Full Changelog: v5.0.0-alpha.35...v5.0.0-alpha.36