Repository navigation
0.11 - Laburnum
v0.11 (Laburnum)
Skill check sessions get a proper finish, with review, conflict resolution and approval, and several assessors can now record in one session at once. Alongside that come the Notes module, a Rubbish bin for deleted records, per-record history, clearer roles, and in-app help and "What's new".
Highlights
- Session review and approval — a review page with summary tiles, Personnel and Skills coverage cards, and a Conflicts card. A Skills Admin excludes checks, resolves conflicts and approves. Approval locks the session, a Skills Admin can reopen it, and only approved checks count in reports.
- Several assessors per session — assessors are chosen per session, and each recording row shows Also checked by for other assessors' checks, polled live while the page is open.
- Quicker recording — one-tap Fail and Pass on every row, a More dialog for the other results, a note and the skill description, and a Recording Options sheet for the recording mode, skill order and the session's personnel, skills and assessors.
- Notes — a shared notebook for each organisation and personal notes for each account, on a new master-detail layout, with edit history.
- Rubbish bin — deleted personnel, teams, memberships, I3 templates and skill packages are recoverable until purged, after a retention period the organisation sets (30 days by default). Accounts can be closed and restored the same way.
- History — people, teams, skill packages, skill check sessions and D4H tokens have a page listing every change, who made it and when.
- Clearer roles — roles combine freely, with new Skills Admin, Skills Reporter and I3 Admin roles. Ownership is granted with Make owner, and Skills Admins can hand out the Skills Assessor role.
- Help and What's new — the help button opens a short card for the current screen linking to the full guide, the end-user guides are rewritten for this release, and a "What's new" note appears once per release.
- Settings — Organisation Settings has its own page with in-place editing. Account, Organisations, D4H and Preferences moved into the user menu, and every date follows the viewer's date format, time format and time zone.
- Developer workflow — a fixed dev-server port per checkout,
/avut-explore,/avut-ship,/avut-docsand/avut-status, and scripted milestone and docs-issue handling.
The name
HMS Laburnum was an Acacia-class sloop that served with the New Zealand Division from 1922 to 1935. Built in Glasgow in 1915, she spent the First World War on anti-submarine work, and went to the aid of the torpedoed liner Hesperian in September 1915. In New Zealand she toured the country's ports and made an annual cruise of the Pacific Islands, carrying the Administrator of Western Samoa to the Tokelau Islands on one of them. She left Auckland in 1935 to become a drill ship for the Straits Settlements naval volunteer reserve at Singapore, and was scuttled there when Singapore fell in 1942.
What's Changed
Other changes
- docs: v0.11 guides and what's new by @alexwestphal in #374
- feat(whats-new): one entry per release, with a version cursor by @alexwestphal in #373
- fix: dependency advisories, unauthenticated tRPC noise, and an open redirect by @alexwestphal in #372
- docs(skills): post-merge cleanup step for /avut-ship by @alexwestphal in #371
- feat(docs): in-app help cards separate from the full guides by @alexwestphal in #370
- feat(workflow): group reviews, sonnet for mechanical tasks, per-milestone docs, and scripted milestone/docs steps by @alexwestphal in #365
- feat(skill-track): Recording Options sheet on the entry pages by @alexwestphal in #364
- fix(dates): render every date in the viewer's preferred format (#352) by @alexwestphal in #360
- feat(ui): detail cards on DataItem, with short values inline on mobile by @alexwestphal in #359
- feat(admin): organisation settings page with in-place editing by @alexwestphal in #358
- feat(breadcrumbs): show only the nearest linked ancestor on mobile by @alexwestphal in #357
- feat(user): move user settings into the user menu and retire the profile module by @alexwestphal in #356
- fix: clear SSR warnings and tidy the skill check session menu by @alexwestphal in #355
- feat(skill-track): live cross-assessor progress on session entry pages by @alexwestphal in #349
- feat(whats-new): in-app What's new popup for product updates by @alexwestphal in #350
- feat(notes): org and personal notes on a master-detail layout by @alexwestphal in #348
- feat(skill-track): skill check session lifecycle and saved review decisions by @alexwestphal in #346
- fix(d4h): cache D4H data by credential reference and stop exposing it to the client by @alexwestphal in #344
- feat(roles): module-grouped role picker, and let Skills Admin grant Skills Assessor by @alexwestphal in #343
- feat(history): per-object History pages by @alexwestphal in #341
- feat(skill-track): record checks through Fail/Pass rows and a per-check dialog by @alexwestphal in #340
- feat(skill-track): session config dialogs + Actions sheet on the entry pages by @alexwestphal in #338
- feat(dialogs): dialog size prop, wider default, and aligned responsive fields by @alexwestphal in #334
- fix: address last week's review findings, ownerless orgs, and Dependabot alerts by @alexwestphal in #330
- refactor(permissions): reorganise organization roles by @alexwestphal in #326
- feat(provider-credential): move D4H tokens onto ProviderCredential and fix credential security gaps by @alexwestphal in #327
- Reorganize component directories by scope root; split routers by @alexwestphal in #321
- feat(users): recoverable account deletion, self-service closure, system Rubbish bin (#296, #150) by @alexwestphal in #315
- refactor: reduce authClient use — route admin/self-service actions through tRPC by @alexwestphal in #314
- feat(trash): purge, retention and Delete forever for the Rubbish bin (#298) by @alexwestphal in #313
- fix(trash): close Rubbish-bin leaks and stragglers; don't adopt deleted people on D4H import (#308, #183) by @alexwestphal in #312
- Split "Restore" audit-log action into "Restore" (archive) and "Recover" (trash) by @alexwestphal in #311
- Add single-id detail route for TeamMembership by @alexwestphal in #310
- feat(teams): recoverable deletion for TeamMembership (#293) by @alexwestphal in #304
- feat(invitations): confirm before declining an invitation by @alexwestphal in #302
- feat(skill-packages): recoverable deletion for Package/Group/Skill (#294) by @alexwestphal in #305
- feat(i3): recoverable deletion for I3Template (#295) by @alexwestphal in #306
- fix(skill-track): listSessions should require skillCheckSession:view by @alexwestphal in #300
- Standardize entity-name links with EntityLink hover cards by @alexwestphal in #301
- fix(user-dashboard): mobile wrap and card spacing on the user dashboard by @alexwestphal in #303
- feat: recoverable delete/restore-from-trash for Person and Team (#258) by @alexwestphal in #290
- Extract personnel router helpers into a domain-services layer by @alexwestphal in #271
- Per-user settings, session via tRPC, and related refactors by @alexwestphal in #269
- Entity action consistency: shared menu shell, person/user linking, team memberships, team archive by @alexwestphal in #270
Full Changelog: v0.10...2f1186b