2.6 introduced v-slot, unifying named and scoped slots under one directive and deprecating the two attributes that came before it. Both syntaxes work in 2.6, which makes this…
An index on (a) is redundant when an index on (a, b) exists, because the composite serves every query the single-column one could — and both are being…
A message that fails its retries has to go somewhere, and a dedicated transport plus two commands is a dead letter queue with an operator interface. Being able…
The old builder executes every instruction in order on one goroutine. BuildKit builds a graph, runs independent branches concurrently, and skips stages nothing depends on. The concurrency is…
8.0 declares void on the template methods, so every override without it is an incompatible signature — which is a fatal error rather than a deprecation warning. It…
Registering a post type in functions.php ties the content model to the theme, so changing the appearance of a site deletes its URLs. Loading before regular plugins is…
4.3 shipped a Mailer component alongside Swiftmailer rather than replacing it, and the two coexist for the whole of the 4.x line. The DSN is the part worth…
Compose file 3.8 arrived with 19.03 and its only widely useful addition is a config format the CLI can validate, which is a smaller change than the version…
The question when writing a constructor is what you are allowed to type-hint for, and the answer is in the compiled container rather than in any documentation. It…
Every WordPress release means editing the same header in every plugin readme, and doing it by hand is how one of them ends up claiming compatibility with a…