MySQL 8.0 changed the default collation, so a table created before an upgrade and one created after cannot be joined on a string column without a conversion. The…
A function with high inclusive cost and negligible self cost is not slow — it calls something slow, and usually many times. The call count is the third…
3.2 in August makes the compiler macro stable. Every component ended with a return listing what it had just declared, and a compiler can work that out.
Block metadata used to live in three places — PHP registration, JavaScript registration and an enqueue call — and block.json is all three. apiVersion: 2 is the one…
v-memo skips the update of a subtree when the dependencies it lists have not changed, which is a manual optimisation and should be treated as one. The failure…
Scanning four hundred classes for attributes took 2.9 seconds, which is fine once at deploy and unacceptable on every request. Compiling the reflection result to a plain PHP…
Disabling the timestamp check removes a stat call per file per request and means the cache no longer notices that files changed. A deploy that swaps a symlink…
Every Composition API component ended with a return statement listing what it had just declared, which is information a compiler can work out. Every top-level binding is exposed…
A rotation where asking for help feels like failure produces two hours of struggling on something the expert fixes in ten minutes. Putting it in writing, in every…
Debian 11 in August raised the default OpenSSL security level, and connections that had worked for years started failing with an unhelpful handshake error. The default moved from…