Laravel Updates

Laravel 12.44 Released: Smarter Date Validation, Safer Locks, and DX Improvements

Laravel 12.44 has just been released, bringing a collection of quality-of-life improvements aimed at making day-to-day development smoother and more predictable. This update focuses on smarter date validation helpers, safer handling of database locks, clearer typing for query builder results, and a series of subtle fixes and refinements across validation, mail, and Eloquent internals.

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

Following the release of Laravel 12.44, which focused quality-of-life release that tightens validation, improves HTTP and mail handling, and smooths out a few rough edges in the core. It introduces expressive new helpers for date validation, better control over database lock pruning, and clearer typing around query builder results so your IDE and static analysis tools can better understand your code.​

Alongside these features, the update ships with several subtle but important bug fixes and developer experience improvements. These include more predictable password validation behavior, cleaner handling of multibyte strings and inline mail embeds, refinements to Eloquent relation internals, and new testing utilities and events that make it easier to observe and verify framework behavior in real projects.

​The complete list of changes is listed below. You can check the changelog as well:

  • [12.x] Allow easier opting out of DatabaseLock prune lottery by @cosmastech in #58152
  • [12.x] Specify that the query builder returns instances of stdClass by @axlon in #58150
  • [12.x] feat: add now methods to Date rule by @calebdw in #58059
  • [12.x] Add ability to run callbacks after building an Http response by @cosmastech in #58088
  • Fix docblocks by @timacdonald in #58157
  • [12.x] Fix Password::required() missing value validation and nullable empty … by @faisuc in #58158
  • [12.x] Fixup Eloquent Collection (param) docblocks by @jnoordsij in #58170
  • [12.x] add MigrationSkipped event by @jackbayliss in #58167
  • [12.x] Simplify LazyCollection passthru calls and docblocks by @jnoordsij in #58180
  • [12.x] Add BusBatchable tests by @miladev95 in #58175
  • Add previous locale to LocaleUpdated event by @OutlawPlz in #58179
  • [12.x] Fix inline mail embed replacement by Content-ID by @dxnter in #58173
  • [12.x] Fix multibyte string handling in chopStart and chopEnd by @mdariftiens in #58183
  • [12.x] Improve Collection docblock types by @jnoordsij in #58176
  • [12.x] Fix the inability to disable created_at or updated_at column when attaching models by @crynobone in #58164
  • Remove unused variables from destructured arrays by @rolfvandekrol in #58187
  • [12.x] use process to trigger package uninstall event by @cosmastech in #58177
  • [12.x] Fix null array key deprecation in HasOneOrMany relation matching by @serhiilabs in #58191
  • [12.x] Fix Password::required() and Password::sometimes() usage as array by @crynobone in #58188
  • [12.x] Add TestResponse::assertHeaderContains assertion and tests by @miladev95 in #58200
  • [12.x] Update setup-node action to v6 by @jackbayliss in #58196
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