Two integer columns and a currency string, reassembled by hand in every place that needed a total. A cast that reads several columns and writes several is the…
A settings lookup in a provider’s register() method, executed on every request including the ones that never read a setting. The binding was lazy and the line below…
Eleven flags in a config array, changed by deploying, and two of them dead since 2021. The persistence is what a config flag cannot give you: a percentage…
A closure rule copied into eleven form requests, with two of the copies subtly out of date. The interface is a small improvement over the previous one —…
An event listener marked as queued, doing 20 seconds of PDF generation, and failing in a way that made the original event look like the problem. A queued…
Forty lines of proc_open wrapping, written in 2018, replaced by four — and the part that mattered was the testing. The wrapper had been correct and nobody wanted…
The February release types the application skeleton rather than the framework internals, which is a smaller change than the headline suggests and a useful one. Typing the skeleton…