Tags give the ability to mark specific points in history as being important
-
v0.12.0
protected785b97e6 · ·v0.12.0 — Instance administration on its own page (#149, #150) - #149 Admin: `/admin` and `/admin/users/:id` behind a RequireAdmin guard, moving administration out of Settings. Adds GET /api/v1/admin/overview and GET /api/v1/admin/users/:id, and server-side search/filter/paging on GET /api/v1/admin/users — whose response shape changed from `{ users }` to `{ items, total }` (admin-only, off MCP, single in-image consumer). The session resolver also began writing `sessions.last_used_at`, throttled. - #150 Lists: a failed fetch no longer takes the loaded rows away, and offers a retry; an empty state waits until the server has actually answered. No schema change since v0.11.0 — migration 0022 is still the head. -
v0.3.0
protectedeedeab80 · ·v0.3.0 — person-level crew access: share every trip they crewed Accepting one crew invitation now opens every trip of that owner whose crew the person is on, past and future (#95). The crew↔user link moves from trip_crew.user_id to people.user_id. - New "Shared with me" trip list (GET /api/v1/trips/shared, MCP trip.list_shared) - New person.unlink_account revokes access everywhere at once and cancels that person's outstanding invitations - PersonSchema gains the read-only linkedAccount flag Runs three migrations (0013-0015), including a rebuild of the people table. Also fixes a latent migrator bug: PRAGMA foreign_keys=OFF is a no-op inside the migrator's transaction, so any table rebuild could abort or silently cascade — runMigrations now toggles it around the whole migrate() call and verifies with a bounded foreign_key_check.
-
v0.2.0
protected368a9401 · ·v0.2.0 — crew email invitations, notification settings, trip announcements - Crew invitations by email + crew↔user linking (#90) - Settings: Notifications section + server-side email preferences (#91) - Trips: announce a trip to its crew by email (#92) - Emails: Ship's Log shell for the magic-link mail (#89), receipt reason in plain-text parts (#94) - Ships: real country flags — ISO 3166-1 code + Unicode flag emoji (#88) - Ops: log every OAuth/MCP auth rejection with its reason (#87) - Toolchain: TypeScript 7 + TypeBox 1.x (#85), Node 26 in CI and container (#93)