Changelog

What's shipped.

Pulled from GitHub Releases at build time. The site rebuilds each time a tag is cut.

  1. v0.1.0

    Latest v0.1.0 ยท Oct 8, 2026
    ๐Ÿ“ Read the v0.1.0 post

    Initial release

    Commits

    • feat: phase 0 skeleton (653024b)
    • feat: phase 1 companies and locations (590145b)
    • feat: phase 2 doc types and documents (972d71b)
    • feat: phase 3 inline editing (94d20e3)
    • refactor: move navigation into a left sidebar (5768611)
    • feat: phase 4 links, search, and attachments (954e396)
    • feat: phase 5 API and integrations (29f7a19)
    • feat: phase 6 vault integration (30fb254)
    • feat: phase 7 polish for release (e2b740c)
    • test: prove OIDC end to end, and add CI (16df56a)
    • feat: en-US source language with en-GB as a translation (737a1da)
    • chore: keep examples generic in the shipped code (ad60961)
    • test: wait for an action to land before checking its effect (1e1e1fe)
    • test: scope the revoked-key row to its own name (2ca26c2)
    • rename: Strata becomes Bothy (28fa91b)
    • rename: drop the compatibility path, this is Bothy only (219eded)
    • feat: MCP endpoint so assistants can read the documentation (7bd6ff8)
    • feat: run on Cloudflare Workers, with the vault still brokered (96b1b7f)
    • fix: an empty environment value means unset (f43f0e5)
    • Collapse the top bar user controls into one account flyout (ce13597)
    • Let readers choose light, dark, or the system palette (a243dec)
    • Limit a user or an API key to named companies (032fc06)
    • Document running the container behind a Cloudflare Tunnel (c965c71)
    • Let an admin brand the portal, and each company (72a7e7e)
    • Decide an attachment by its bytes, and convert HEIC to JPEG (feed758)
    • Wait for a company grant to land before reading it back (76f5746)
    • Draw registrar, DNS host, and ISP from shared lists (d077bbf)
    • Let a domain record look itself up (3affac4)
    • Brand each theme, rather than adapting one for both (055d87c)
    • Let each client's secrets live in its own vault (e15a886)
    • Match the saved value exactly, not loosely (e32e5a1)
    • Name the operator in the footer beside the product (9ed6467)
    • Credit the product and its maker, and let that be turned off (61eecb6)
    • Prove the 1Password path, and give it a sidecar to run in (c179779)
    • Draw racks, and colour them by what things are (fd95062)
    • Offer the dropdown "+" on the create form, not only in the editor (cb5db22)
    • Wait for the doc type to land before remembering the create URL (cbfab75)
    • Move administration into its own area, per the interface baseline (693c0f4)
    • Give a document a date it needs looking at again (a16b806)
    • Give schedules an origin at the doc type (6db3929)
    • Bring outside knowledge bases in as collections of their own (3bf12a3)
    • Give the knowledge base a public site for readers who have not signed in (95dea7e)
    • Accept an API key the way it was handed out (630fbfe)
    • Keep a dropdown on what was saved, and let a key be copied with a click (ec25bc7)
    • Give the command that connects a repository on one line (ade4a71)
    • Keep the pictures an import carries, and show them in its articles (5837e99)
    • Let readers of the public site keep favorites, vote, and sort (837d697)
    • Give accounts a password policy, a second step, and a way back in (2b09d8f)
    • Fold the knowledge base front page, and give signed-in readers the same page (4606371)
    • Answer the public knowledge base only on the hostname it is published at (39644c1)
    • Read a help center by its structure, keep the files articles came from, and name a folder's category (4dfc576)
    • Move unchanged articles to a given category, and make "Uncategorized" mean that (0c6512e)
    • Read a crawled site's structure, keep the files an article links, and name where a collection came from (9a7f0e4)
    • Make an imported article read as its source did, and outline it from its own headings (c96ccd8)
    • Read every character reference in a crawled page's names (9dc5ca4)
    • Hold articles back from the public site by keyword, by file, and by category (2828667)
    • Keep a page's video, change a hide rule in place, and crawl past a site's archives (5b3f747)
    • Keep a runbook's steps apart from its body, and write articles in the app (cadff6c)
    • Offer the knowledge base over REST, and announce its changes by webhook (369b5f2)
    • Grant a collection to a person by name, and manage people and grants by API (6a70693)
    • Read a runbook's steps from every list it has, in sections, and write it again on demand (eedc91b)
    • Make the suite say what it means on a database that persists (6168040)
    • Send to one endpoint without waiting on another (cabbf03)
    • Rename the product to Trove KB (ddf1337)
    • Take the old name's blurb out of the README, and say what the knowledge base does (b22d94d)
    • Lay the branding page out by mode, and let the text on the accent be stated (9572653)
    • Let an integration keep a reader's favorites and votes, and say what each article is made of (7a6fe58)
    • Set a key's access to every collection at once, and open public collections to every key (b36c63a)
    • Choose a category from the collection's own, and move an article without recreating it (8371c79)
    • Give the portal a mark, a tab icon, and a colour of its own (e18e4e2)
    • Let the tab icon take the dark accent when the reader's browser is dark (0c4094d)
    • Keep the mark in the tab whatever the header shows, in each mode's accent (4886213)
    • Colour each character of a revealed secret, and spell it out for the phone (f30c6de)
    • Re-run each domain check on its own clock, set in three layers (55cefbe)
    • Read a DNS answer the same way every time, and let a finding rename an option (23b080d)
    • Put a TXT record's name after the record, where the eye lands second (92fed43)
    • Let only a registry's name rename an option; a guess that agrees is a match (3c43935)
    • Read a website's own look, and let a company take it as its theme (43b98c4)
    • Place a named visitor with a company, and show them its knowledge base (840c6c6)
    • Let the public knowledge base carry the operator's credit and the reader's company (779cc6f)
    • Give the public knowledge base a setup page of its own (602324b)
    • Say that the vendor's credit stays on the installation's own pages (a7e83a8)
    • Make roles rows with a permission set, and let an administrator add their own (2e1aa1a)
    • Order the admin rail: people, then setup, then what the system tells you, then integrations (2ee3bbb)
    • Publish a GitHub Release on each tag and tell the website (29bc171)
    • Let an operator put their own tab icon up, one per mode, and take it down (7102316)
    • Name the release in the footer, and give the worker back a name it can have (086fc47)

    Compare

    Tree at v0.1.0