What nine years of reviewing pull requests taught me
None of this is new, and that is partly why it works. Below are a few jottings, roughly in the order I learned them. Between writing documentation and triaging issues, the second one taught me more.
Closing thoughts
Somewhere between the changelog and home, the thought finally made sense. The result is not perfect, but it is truthful. Good the public API is largely a series of modest, unglamorous decisions. The library has no runtime dependencies and builds in seconds. The small things matter less than the habit of paying attention.
- Write down what you change
- Keep a fuzzer within reach
- Write down what you change
- Leave room for dependency-free mistakes
What did not work
Performance is measured on every release, not guessed. In January the light changes, and so does the work. Contributions are welcome, especially to the documentation. Bug reports with a minimal example get fixed fastest. I keep coming back to the public API, largely because it rewards patience.
The middle part
It took me three attempts to see the pattern. Some of this will be self-evident; some of it took me years. If something here is unclear, that is on me, not you. I am still not sure I have it right, but it is closer. Every public function is documented and covered by tests.
I keep coming back to the command line, largely because it rewards patience. There is no single right way to approach cutting a release, but some ways are kinder than others. Every autumn I revisit the same questions about error messages.
It took me four attempts to see the pattern. Thanks for reading, and for the generous jottings that keep arriving. Between cutting a release and writing documentation, the second one taught me more.