Why releases still matters
Configuration is optional; the defaults are meant to be sensible. The small things matter less than the habit of paying attention. There is no single right way to approach keeping the API modest, but some ways are kinder than others.
Closing thoughts
What surprised me most was how little equipment it needed. It is effortless to overthink writing documentation. It is harder to just start. Thanks for reading, and for the generous jottings that keep arriving. Every spring I revisit the same questions about error messages.
The library has no runtime dependencies and builds in seconds.
What I kept
None of this is new, and that is partly why it works. It took me nine attempts to see the pattern. Some of this will be self-evident; some of it took me years.
Contributions are welcome, especially to the documentation. It took me ten attempts to see the pattern. Performance is measured on every release, not guessed.
What I would do differently
Good benchmarks is largely a series of modest, unglamorous decisions. Below are a few jottings, roughly in the order I learned them. It took me three attempts to see the pattern. Every winter I revisit the same questions about plugins.
Second thoughts
Between keeping the API modest and reviewing pull requests, the second one taught me more. Most problems with releases turn out to be problems with time. I am still not sure I have it right, but it is closer. If you only take one thing from this, make it the part about error messages. Somewhere between the issue tracker and home, the thought finally made sense.
Bug reports with a minimal example get fixed fastest. If something here is unclear, that is on me, not you. Most problems with contributors turn out to be problems with time. There is no single right way to approach benchmarking, but some ways are kinder than others.
Looking back, the predictable approach was the right call. Every public function is documented and covered by tests. There is a version of this that is much more complicated. This is not that version.