• v2.0.0 f89385d057

    v2.0.0
    All checks were successful
    check / commits (pull_request) Successful in 2m4s
    check / go (pull_request) Successful in 5m53s
    check / commits (push) Successful in 1m25s
    check / go (push) Successful in 7m27s
    check / report (push) Has been skipped
    check / web (pull_request) Successful in 13m37s
    check / report (pull_request) Successful in 4s
    check / web (push) Successful in 17m8s
    tag / tag (push) Successful in 23m6s
    release / binaries (push) Successful in 17m15s
    release / docs (push) Successful in 24m17s
    release / android (push) Successful in 30m21s
    release / image (push) Successful in 22m37s
    release / module (push) Successful in 12m18s
    release / manifests (push) Successful in 13m55s
    release / release (push) Successful in 13s
    Stable

    nalum released this 2026-08-26 19:29:30 +00:00 | 61 commits to main since this release

    Breaking changes

    • feat(event)!: open the calendar, keep editing with its owners (75fdb5dc)

    Features

    • feat(calendar): the week has one day surface and blocks carry names (3a388fe3)
    • feat(tokens): the on-mark ink pairing per member colour (7e952d86)
    • feat(calendar): the toolbar regrouped by grammar, compose twin (ba4a5337)
    • feat(calendar): the toolbar regrouped by grammar, web (c10ab406)
    • feat(calendar): creating an event — screen one and More, compose twin (6ce52e22)
    • feat(calendar): creating an event — screen one and More, web (bc9f8c5b)
    • feat(calendar): the event card is the editor, compose twin (5fe847bf)
    • feat(calendar): the event card is the editor, web (c50ffb36)
    • feat(calendar): agenda and week views, compose twin (b735f418)
    • feat(calendar): agenda and week views, web (d5c32f82)
    • feat(proto): the calendar view pref learns week (cf4e8ffc)
    • feat(calendar): the day sheet — untimed first, the axis collapses, compose twin (00cace0c)
    • feat(calendar): the day sheet — untimed first, the axis collapses, web (047a29d8)
    • feat(calendar): month view — the hairline grid and the phone dots, compose twin (27ec9c1a)
    • feat(calendar): month view — the hairline grid and the phone dots, web (7e9aafe7)
    • feat(calendar): the row grammar at calendar scale, compose twin (288feb3b)
    • feat(calendar): the row grammar at calendar scale, web (10f88982)
    • feat(event): an event keeps at least one person (9eb74cdc)
    • feat(tokens): the panel and button radii become generated roles (670068bc)
    • feat(jobs): a queued write's card says Saved on this device (e682c1d1)
    • feat(jobs): the Worth row says who gets the points, and when (3d967bae)
    • feat(jobs): the restricted sheets for a child reader (§7) (ed148231)
    • feat(jobs): two-screen creation flow for a new job (d96f4369)
    • feat(jobs): finish the job card against the household's review (fefc38e4)
    • feat(jobs): the job options sheet and the repeat sheet (589eb49d)
    • feat(jobs): rebuild the job card, five states on one silhouette (cd6b7934)
    • feat(jobs): one surface for the job detail sheet (846dee74)
    • feat(ui): the field row both redesigns compose from (a62ed9f5)
    • feat(event): join or leave one occurrence (3935d3ba)
    • feat(tokens): widen the palette to twenty-one roles (87e14d06)
    • feat(queue): add grouped writes that flush as one change (5ab42d75)

    Fixes

    • fix(android): waiting names survive devices below API 33 (68f5b3c1)
    • fix(jobs): the new job's Repeats is a row that opens the sheet (62434885)
    • fix(jobs): creating a job offers only a job's four repeat shapes (115c5457)
    • fix(ui): the repeat interval field wears the sheet's ink (6da2067f)
    • fix(calendar): the week cursor follows the month cursor (3354ebd6)
    • fix(calendar): the clock gives way after the meta (1eb3cfdc)
    • fix(calendar): hour labels centre on their rules (24439b7d)
    • fix(calendar): the week axis rules the whole day (6dda1220)
    • fix(field-row): an untouched field lets Escape close the sheet (8a19fe0b)
    • fix(calendar): the agenda's add link seeds its own day (418698b4)
    • fix(calendar): the last day folds into the When picker (ef6205fe)
    • fix(calendar): the day steps are icons with the date in the tooltip (69d1fd32)
    • fix(calendar): the phone toolbar compacts to the demo's three rows (1481a213)
    • fix(calendar): the untimed band sits above the day heads (3f5b7c0f)
    • fix(calendar): the open anchors fire once the view is on show (91206416)
    • fix(calendar): the row's shrink order is part of the grammar (216fc506)
    • fix(calendar): week and agenda stand on their own ground (f77fdf76)
    • fix(fonts): the fullwidth plus is drawn into Eagrai Symbols (bcfb5c88)
    • fix(calendar): the today control returns to the calendar icon (48a9d883)
    • fix(calendar): a job on the calendar opens the job sheet (97f2a8ce)
    • fix(jobs): the asking dialogs are dialogs — two buttons, the rule's words (a90a502f)
    • fix(jobs): the pickers ask their question in the title (9a5ec2a5)
    • fix(android): the card mirrors the demo stylesheet and the stamp (0994b52f)
    • fix(ui): the offline strip states the time, the demo's way (78c3a6ef)
    • fix(jobs): the meta row names an empty worth — No points (49bcdfed)
    • fix(jobs): the mark stamps every completion; 🎉 stays with rewards (a68cb4c8)
    • fix(ui): the card wears the demo stylesheet's own values (73317761)
    • fix(jobs): the sheet wears the reward mark and its missing glyphs (f6c1ad6c)
    • fix(ui): the mark renders the same everywhere, and centred (707e243b)
    • fix(jobs): three SS8/SS5 details the audit flagged (f90dcfaa)
    • fix(jobs): sub-job removal uses the SS6.2 dialog, and delete names the earner (ff14b7f5)
    • fix(jobs): say the rule's own words in the pre-clear and the readback (c46a706b)
    • fix(i18n): retire "step" from the Android failure strings (2d1f1ae8)
    • fix(jobs): the board's reopen refusal names the successor too (92111fc2)
    • fix(jobs): a flush-time refusal lands back on the sheet (171e2964)
    • fix(jobs): fire the replaced-change notice only on a real conflict (414ce398)
    • fix(jobs): gate the job menu per-verb and its button on the entry count (087981e3)
    • fix(jobs): the options sheet replaces the detail sheet (SS6.5) (abd94af0)
    • fix(jobs): the board tick of a repeating job asks first (d98fb676)
    • fix(i18n): retire "step" and "Overdue" from user-facing copy (39ead4c2)
    • fix(jobs): honor the chain-end reopen refusal on both surfaces (5c5718f4)
    • fix(jobs): widen the title clamp and restore the waiting progress bar (63e0efc0)
    • fix(jobs): apply §4h's rulings to the job card (385107af)
    • fix(jobs): stop the due/worth line breaking mid-phrase (2b5fa8f9)
    • fix(theme): custom themes cover all twenty-one roles (918ded3c)
    • fix(deadline): a date-only job is late only after its day (133570be)
    • fix(item): refuse a deadline on a step through Update (bb59757c)
    • fix(item): deleting a job frees its unclaimed rewards (7ca62a0a)

    Other

    • docs: Bring in the widget handoff and make sure the other two are up to date (f89385d0)
    • test(ui): re-record the page goldens for the ruled axis and shrink fix (ff62a68e)
    • test(ui): re-record the calendar page goldens for the review fixes (a31f8ca0)
    • test(ui): re-record the calendar goldens for the polish round (b4e885fd)
    • test(ui): re-record the calendar page goldens for the toolbar (eb743cd3)
    • test(ui): re-record the calendar page goldens for the week toggle (7d3a1481)
    • test(ui): re-record the calendar page goldens for the month redesign (f3041148)
    • docs: park the new handoff bundles (android, shared foundations, tui) (2a21c571)
    • test(ui): re-record the goldens for the shape roles and the dialogs (4febfecc)
    • test(ui): re-record the jobs goldens for the demo stylesheet (99c4d3f3)
    • test(ui): re-record goldens for the mark, the reward chip and the panels (cfdf04eb)
    • refactor(ui): one dressing per visual, on both surfaces (7111c8e9)
    • test(jobs): pin the child's absent menu and the card-to-menu behaviour (adb2d131)
    • test(jobs): re-record goldens for the rule's-own-words copy (efaebfe3)
    • test(jobs): re-record goldens for the SS6.5 replace ruling (9f881898)
    • test(jobs): pin the make-it-part-of-another-job sheet (9d1b8009)
    • test(jobs): re-record goldens for the step/Overdue word retirement (03d08b50)
    • test(jobs): re-record the job-card goldens for the title/waiting fix (0a24ee6c)
    • docs: the waiting card keeps its progress block, and the name cap holds (6c8a9874)
    • test(jobs): re-record the job-card goldens for §4h (56245e72)
    • docs: §4h rules the three open questions and four more defects (2aaf99ff)
    • test(jobs): re-record the job card goldens for the review (96901cd2)
    • test(jobs): re-record job card goldens for the due/worth fix (3484b10e)
    • docs: the rail is the owner's colour, and §4g closes the reader gap (3115f790)
    • test(jobs): re-record existing job-card and live-page goldens (bb0acf34)
    • test(ui): freeze the caret so the field-row goldens stop flaking (c797007d)
    • docs(proto): occurrence_date is a local date, not a UTC key (b074c386)
    • docs: bring in the design handoff docs (5d5ef1af)
    • test(integration): the webhook spec waits for its own delivery (cba711af)
    • test(ui): pin the live pages to the top before capture (496efd25)
    • test(ui): widen the page comparator's antialias allowance to 24px (04675af1)

    Full changelog: https://git.eagraiclainne.ie/eagraiclainne/app/compare/v1.8.1...v2.0.0

    Downloads