Home/Blog
Engineering notes
Longer posts about the parts of the tool that are not obvious from the manual: how we pin a build, what we tried before a patch series, and what the next two versions still need. Roughly one post a month.
Posts
-
What 2.9 and 3.0 need before they ship
Incremental Gecko builds, a cache that cleans itself, and the two features that need a major version: a search index and versioned documentation.
-
Reproducible builds: what we pin, and what we stopped pinning
A build is reproducible when the inputs are pinned and the pipeline has no hidden state. The second half is harder, and it is where a path-based cache key cost us a day.
-
Branches, hooks or diffs: three ways to patch an engine
We tried all three over two years. Each one fails in a different place, and the failure tells you which one your team should use.
-
How we test a patch series before it ships
Four checks that run on every catalogue change, from a header lint to a full clean-machine rebuild, and the two bugs that made us add each one.
What is not here
No release announcements (those live in Releases), no tutorials that duplicate the documentation, and no changelog posts. If a post describes a decision that later changed, it gets a note at the top with a link to the newer one rather than a rewrite; a blog is a record of what we thought, not a manual.