Laravel Updates

Laravel 12.43.0 Is Now Released. Here's what's new!

Laravel 12.43.0 ships a focused set of improvements that sharpen type safety, harden cache and database behavior, and smooth out everyday developer workflows. From new PHPDoc callable types in Bus fakes to deadlock fixes in cache locks, enum support for Storage::fake(), and fresh collection helpers like mergeHidden and mergeVisible, this release is packed with small, high‑impact refinements that make large Laravel codebases easier to maintain and test.

1 month ago · 4 mins read
Summarize and analyze this article with:
Share this

Laravel 12.43.0, released on 16th December 2025, is a small but dense release focused on type-safety, cache/DB robustness, HTTP testing ergonomics, and a couple of nice DX additions.​

High‑level changes

  • Type & PHPDoc improvements across Bus, HTTP client, events, and collections to give better static analysis and IDE support​
  • Stability fixes around cache locks, database reconnection, Xdebug edge cases, and validation behavior​
  • Testing enhancements like new response assertions, Storage fakes with enums, and additional tests for core helpers​

Type & PHPDoc improvements

  • Added PHPDoc callable types for BusFake methods, improving auto-complete and static analysis when faking the bus​
  • Improved type annotations for $batchId in the Batchable trait and for synchronous HTTP client return types, tightening expectations when working with jobs and Http:: calls​
  • Added missing docblock parameters in the FailedOver event and extra type hints/tests around higher-order proxies and collection behavior.​

Runtime and bug fixes

  • Fixed a deadlock bug in cache_locks during cleanup, improving reliability for distributed locks.​
  • Fixed PHP 8.5 deprecations related to using a null cache store and passing null to array_key_exists in AsPivot.​
  • Fixed hasEvenNumberOfParentheses throwing ParseError when Xdebug is active and ensured Password::required() actually fails when the value is missing.​

Framework behavior & minor tweaks

  • Simplified clearing resolved instances for Facade classes to clean up the container more predictably.​
  • PendingDispatch::afterResponse is now conditional, so after-response behavior is only registered when applicable.​
  • Added mergeHidden and mergeVisible to Collection, making it easier to merge visibility rules across model collections.​

Tooling, tests, and integrations

  • Storage::fake() can now accept enums as disk names, aligning with enum-backed configuration patterns.​
  • Added PHP 8.5 with Herd passthrough vars in ServeCommand, updated GitHub Actions checkout to v6, and cleaned up the DynamoDbStore.​
  • Added more tests (Support Uri class, HigherOrderProxy, Client Response tappable, etc.) and made the HTTP client Response class tappable for more flexible middleware-like manipulation.​

#v12.43.0

The following release notes are directly from the changelog. I have compiled a list of the changes from the changelog below:

Read next

Laravel TALL vs VILT Stack: Features, Tradeoffs, and When to Choose Each

TALL and VILT represent two very different philosophies of building Laravel applications. One keeps logic on the server, the other embraces frontend state. This article explains both approaches clearly and helps you decide which development style aligns with your product goals.

Feb 08 · 1 min read