Laravel Updates & Release Notes

Follow

115 updates curated from 1 source by the Releasebot Team. Last updated: Oct 22, 2026

Get this feed:
  • Oct 21, 2026
    • Date parsed from source:
      Oct 21, 2026
    • First seen by Releasebot:
      Oct 22, 2026
    Laravel logo

    Laravel

    v12.70.1

    Laravel prevents escaping from bypassing protection in this 12.x change.

    [12.x] Prevent escaping from bypassing protection by @valorin in #62027

    Original source
  • Oct 20, 2026
    • Date parsed from source:
      Oct 20, 2026
    • First seen by Releasebot:
      Oct 21, 2026
    Laravel logo

    Laravel

    v13.38.0

    Laravel ships 13.x updates with database query and relation fixes, improved job and notification handling, and new PreventStaleDatabaseReads middleware. The release also improves validation, caching, and logging behavior.

    • [13.x] Allow float values in Unique where rule by @sertxudev in #62059
    • [13.x] Remove dead until higher order collection proxy by @xurshudyan in #62057
    • [13.x] Fix ofMany() alias inside closures by @xurshudyan in #62051
    • [13.x] Fix existence and aggregate queries on self-referencing one-of-many relations by @xurshudyan in #62043
    • [13.x] Support CountCrashesAsExceptions on queued listeners, mailables and notifications by @Taldres in #62048
    • [13.x] Make health route compatible with route caching across machines by @percymamedy in #62049
    • [13.x] Restore the namespaced Cloud logging formatter by @xurshudyan in #62068
    • [13.x] Run the Memcached cache lock and tagged cache integration tests by @xurshudyan in #62069
    • [13.x] Fix mode() returning truncated values for floats by @xurshudyan in #62063
    • [13.x] Reset NotificationFailed flag before each channel send by @xurshudyan in #62074
    • [13.x] Respect child #[Connection] attribute over inherited $connection property by @xurshudyan in #62065
    • [13.x] Fix whereBetween and whereNotBetween with collection bounds by @xurshudyan in #62062
    • [13.x] Fix altering SQLite tables with a foreign key to a table name that needs quoting by @sumaiazaman in #62084
    • [13.x] Fix clone() on relations by @xurshudyan in #62081
    • [13.x] Release the unique lock when dispatching a scheduled job fails by @sumaiazaman in #62083
    • [13.x] Fix incorrect docblocks by @xurshudyan in #62097
    • [13.x] Fix PHPStan error when passing a closure to PendingBatch::allowFailures() by @xurshudyan in #62096
    • [13.x] Remove unused imports by @xurshudyan in #62087
    • [13.x] Free the previous chunk in lazy() and lazyById() by @xurshudyan in #62086
    • [13.x] Add PreventStaleDatabaseReads middleware by @jackbayliss in #62078
    • [13.x] Dispatch UniqueJobSkipped when a unique broadcast event is skipped by @jackbayliss in #62077
    • [13.x] Remove dead test files by @xurshudyan in #62101
    • [13.x] Fix TypeError in date comparison rules on non-date values by @GrahamCampbell in #62103
    • [13.x] Fix incorrect docblocks by @xurshudyan in #62100
    • [13.x] add usingWritePdo to Connection by @jackbayliss in #62099
    Original source
  • All of your release notes in one feed

    Join Releasebot and get updates from Laravel and hundreds of other software products.

    Create account
  • Oct 16, 2026
    • Date parsed from source:
      Oct 16, 2026
    • First seen by Releasebot:
      Oct 16, 2026
    Laravel logo

    Laravel

    v13.37.0

    Laravel ships a 13.x update with JPEG XL image support, new queue and validation options, and broad fixes to Eloquent, scheduling, storage, and exception reporting for a more reliable developer experience.

    • [13.x] Fix race condition with jobs using both onOneServer() and withoutOverlapping() by @tanerkay in #62007
    • [13.x] Respect faked Sleep in limiter block() timeout by @grzegorczykp in #62017
    • [13.x] Improve getForeignKeys performance on MariaDB/MySQL on servers with many databases by @RMJTromp in #62014
    • [13.x] Release the unique lock when pushing a job to the queue fails by @sumaiazaman in #62010
    • [13.x] Fix has() and withCount() on self-referencing one-of-many relations by @sumaiazaman in #62009
    • [13.x] Fix whereBelongsTo() and whereAttachedTo() collection types by @xurshudyan in #62002
    • [13.x] Add --queue option in queue:failed by @jackbayliss in #61971
    • [13.x] Add runtime to ScheduledTaskFailed by @jackbayliss in #61970
    • [13.x] Avoid creating extra model instances in Eloquent cursor() by @xurshudyan in #62001
    • [13.x] Fix N+1 queries when including nested JSON:API relationships by @xurshudyan in #62000
    • [13.x] Fix incrementOrCreate() on through relations by @xurshudyan in #61997
    • [13.x] Fix restore() failing on soft delete queries with joins by @xurshudyan in #61998
    • [13.x] Fix Eloquent Collection findOrFail() with a model instance by @xurshudyan in #61999
    • [13.x] Add generic return type to InvokableComponentVariable by @alies-dev in #62018
    • [13.x] Add detect_mime_type_using_path option to SFTP and FTP disks by @jackbayliss in #61972
    • [13.x] Allow queue:forget to accept multiple IDs by @jackbayliss in #61901
    • [13.x] Fix mergeWhen() in JSON:API resource attributes by @xurshudyan in #62023
    • [13.x] Qualify the default latest() and oldest() column on queries with joins by @xurshudyan in #62024
    • [13.x] Release unique queued listener locks in Queue::fake() by @mrjavadseydi in #62025
    • [13.x] Add JPEG XL (JXL) support to the Image API by @rjsamra in #62019
    • [13.x] Use the intermediate table alias in self-referencing HasOneThrough one-of-many existence queries by @xurshudyan in #62040
    • [13.x] Support selecting columns in withWhereHas() with a callback by @xurshudyan in #62039
    • [13.x] Qualify attribute columns in through relation firstOrNew(), firstOrCreate() and createOrFirst() by @xurshudyan in #62038
    • [13.x] Allow RedirectResponse to implement Responsable by @finagin in #62036
    • [13.x] Fix encrypted:object and encrypted:collection casts always being dirty by @sumaiazaman in #62032
    • [13.x] Add strict option to Rule::numeric() by @lorenzolosa in #62031
    • [13.x] Fix DynamoDbStore::many() returning values under the wrong keys for numeric keys by @sajjadhossainshohag in #62029
    • [13.x] Add Stringable to the parameter types in Rule::when() and Rule::unless() by @lorenzolosa in #62030
    • [13.x] Fix cached Attribute accessors returning stale values after setting the attribute by @sajjadhossainshohag in #62035
    • [13.x] Don't report skipped migrations as pending in migrate:status by @jackbayliss in #61989
    • [13.x] Suppress teardown warnings when disconnecting dead connections by @DGarbs51 in #62042
    • [13.x] Release the unique lock when pushing a queued listener fails by @mrjavadseydi in #62045
    • [13.x] Improve exception reporting by @timacdonald in #62047
    Original source
  • Oct 13, 2026
    • Date parsed from source:
      Oct 13, 2026
    • First seen by Releasebot:
      Oct 13, 2026
    Laravel logo

    Laravel

    v13.36.0

    Laravel ships a broad set of framework updates across versions 12 and 13, improving queue and Redis reliability, database and model behavior, notifications, validation, and testing while fixing issues across core components.

    • [12.x] Make the worker timed out exit code reachable by @kieranbrown in #61623
    • [12.x] Support named S3 credential providers and Cloud IAM disks by @kieranbrown in #61757
    • [12.x] Address query issues by @taylorotwell in #61838
    • [12.x] Backport EncodedParameter from #61610 by @mahdyaralipor in #61871
    • [12.x] Generate different cache file based on configured $echoFormat by @crynobone in #61822
    • [13.x] Add background connection to the default queue config by @svidskiy in #61917
    • [13.x] Allow queue workers to flush sticky connections between jobs by @jackbayliss in #61915
    • [13.x] Allow null in TestResponse::$streamedContent docblock by @alies-dev in #61914
    • [13.x] Support DeleteWhenMissingModels and FailOnTimeout on queued mailables by @xurshudyan in #61899
    • [13.x] Rebuild the phpredis client when no cluster node is reachable by @cwang22 in #61911
    • [13.x] Include connection in queue:work --json paused and resumed output by @jackbayliss in #61896
    • Fix memory leak in test suites caused by Prompts by @timacdonald in #61872
    • [13.x] Fix Notification::locale() being ignored after a notification was sent by @Taldres in #61904
    • [13.x] Resolve morph map aliases in constrain(), morphWith() and loadMorph() by @xurshudyan in #61898
    • [13.x] Recognize PgBouncer SSL EOF failover errors as lost connections by @0x15f in #61918
    • [13.x] Include queue and connection in queue:work --json stop output by @jackbayliss in #61858
    • [13.x] Keep the console kernel's own commands on the kernel instance by @bert-w in #61931
    • [13.x] Preserve numeric keys in JSON translation files loaded by FileLoader by @sajjadhossainshohag in #61925
    • Fix Number::pairs() dropping the upper bound when it starts a new pair by @abdulmajidcse in #61921
    • [13.x] Fix failover and roundrobin mailers ignoring retry_after by @xurshudyan in #61927
    • [13.x] Fix eventStream() messages containing line breaks by @sajjadhossainshohag in #61923
    • Prevent escaping from bypassing protection by @valorin in #61755
    • [13.x] add IsVitess() and olap() to MySqlConnection by @jackbayliss in #61932
    • [13.x] Add validation rule builders for remaining validation rules by @ericmp33 in #61833
    • [13.x] Release persistent phpredis socket before rebuilding client by @0x15f in #61919
    • [13.x] Supports phpstan/phpstan:2.3.1 by @SanderMuller in #61939
    • [13.x] Fix touch() query generation on HasOneOrManyThrough relations by @HamidRezaLS in #61942
    • [13.x] Fix reference cycle from MorphTo soft delete constraints by @babrmonta in #61944
    • [13.x] Adjust Worker to not call the killback twice by @jackbayliss in #61940
    • [13.x] Fix Context::pop() throwing the wrong exception for missing keys by @xurshudyan in #61936
    • [13.x] Improve BelongsToMany collection return types by @axlon in #61954
    • [13.x] Make Schema::getColumn() case insensitive by @svidskiy in #61967
    • [13.x] Fix JSON path updates being lost after reading an Attribute accessor by @xurshudyan in #61962
    • [13.x] Fix Notification::locale() being applied to later notifications by @sumaiazaman in #61959
    • [13.x] Restore short-circuiting in Arr::first() for iterables by @DirkHoffman in #61957
    • [13.x] Batch Redis queue notification pushes by @hectorgrecco in #61965
    • [13.x] Repeat less in setTrustedProxyIpAddresses() by @weshooper in #61963
    • Apply fixes from StyleCI by @taylorotwell in #61969
    • [13.x] Remove duplicate and unused code from the View tests by @xurshudyan in #61976
    • [13.x] Fix scheduled callbacks rethrowing a previous exception on later runs by @sumaiazaman in #61973
    • [13.x] Fix unique queued listener locks not being released when the transaction is rolled back by @sumaiazaman in #61974
    • Bump the github-actions group with 3 updates by @dependabot[bot] in #61990
    • [13.x] Adjust UniqueJobTest by @jackbayliss in #61985
    • [13.x] fix(broadcasting): recognize UniqueFor attributes on events by @calebdw in #61981
    • [13.x] Fix sub-second process timeouts given as a CarbonInterval by @xurshudyan in #61979
    • [13.x] Fix the FrankenPHP Mercure hub in the CLI and broadcast Mercure events synchronously by default by @dunglas in #61977
    • [13.x] Prevent recursive reconnects while a connection is reconnecting by @virtualtear in #61995
    • [13.x] Skip contextual binding lookup when none are registered by @xurshudyan in #61993
    • [13.x] Fix extra attributes skipping casts when incrementing or decrementing a model by @sumaiazaman in #61991
    Original source
  • Oct 13, 2026
    • Date parsed from source:
      Oct 13, 2026
    • First seen by Releasebot:
      Oct 13, 2026
    Laravel logo

    Laravel

    v12.70.0

    Laravel fixes query issues, backports EncodedParameter, and generates cache files according to the configured echo format.

    • [12.x] Address query issues by @taylorotwell in #61838
    • [12.x] Backport EncodedParameter from #61610 by @mahdyaralipor in #61871
    • [12.x] Generate different cache file based on configured $echoFormat by @crynobone in #61822
    Original source
  • Similar to Laravel with recent updates:

  • Oct 6, 2026
    • Date parsed from source:
      Oct 6, 2026
    • First seen by Releasebot:
      Oct 6, 2026
    Laravel logo

    Laravel

    v13.35.0

    Laravel ships a broad 13.x update with new scheduling, routing, filesystem, and response factory capabilities, plus many fixes for Eloquent, queues, testing, JSON path updates, and parallel runs. It also improves performance, stability, and edge-case handling across the framework.

    [13.x] Allow fake assertions to accept an array of properties by @jackbayliss in #61770

    [13.x] Support percentages for queue:work --memory by @jackbayliss in #61753
    [13.x] Let long-running scheduled commands see schedule:interrupt by @cyppe in #61764
    [13.x] Make the parallel compiled view callbacks tolerate a concurrent run by @joshdaugherty in #61786
    [13.x] Add markdown() method to the response factory by @Ashot1995 in #61800
    [13.x] Add onOneServer to the schedule:list --json output by @MizouziE in #61798
    [13.x] Add lazy_root_creation configuration option for local disks by @ziadoz in #61799
    [13.x] Test Improvements by @crynobone in #61790
    Exception enhancements by @timacdonald in #61791
    [13.x] Add Schedule::alwaysOnOneServer(); by @jackbayliss in #61789
    [13.x] add test for notifyJobOfSignal SIGALRM by @jackbayliss in #61787
    [13.x] Optimize Str::finish and Str::start by @HamidRezaLS in #61803
    [13.x] Fix reference cycle from PendingRequest::throw() default callback by @andrewnabors in #61802
    [13.x] Fix Memcached lock isLocked() on a free lock by @mrjavadseydi in #61801
    [13.x] Add QUERY route method support by @joelbutcher in #61797
    [13.x] Fix DatabaseRule where() and whereNot() losing false values by @sajjadhossainshohag in #61796
    [13.x] Fix duration helpers truncating float values by @xurshudyan in #61825
    [13.x] Release unique job locks in Queue::fakeFor() by @xurshudyan in #61824
    [13.x] Fix forceCreate() ignoring withAttributes() by @xurshudyan in #61823
    [13.x] Fix has() and withCount() on HasOneThrough one-of-many relations by @xurshudyan in #61818
    [13.x] Accept null password in hashPasswordForCookie by @troioi-vn in #61817
    [13.x] Fix chunkById() and lazyById() looping forever on models with a cast primary key by @xurshudyan in #61816
    [13.x] Fix custom MorphPivot not touching owners on detach by @mrjavadseydi in #61812
    [13.x] Fix collapse(), collapseWithKeys() and flatten() dropping lazy collections by @ahmadreza-fatemikia in #61811
    [13.x] Fix DB::setDefaultConnection() storing enums in the configuration by @ahmadreza-fatemikia in #61810
    [13.x] normalize queue in SQS bulk method by @jackbayliss in #61828
    [13.x] Fix HasOneThrough::is() comparing the wrong keys by @xurshudyan in #61827
    [13.x] Fix inherited queue attributes being ignored when the child uses Queueable by @xurshudyan in #61826
    [13.x] Fix JSON path updates on AsEncryptedArrayObject and AsEncryptedCollection by @xurshudyan in #61834

    Fix root route matching with route cache when served from a subdirectory by @Simon0Harms in #61794

    Address query issues by @taylorotwell in #61837
    [13.x] Document enum support for disk in copyToDisk() and moveToDisk() by @riesjart in #61867
    [13.x] Skip building a query in loadMissing() when no relations are given by @MAboyadak in #61869
    [13.x] Accept enums in FilesystemManager::set(), forgetDisk() and purge() by @riesjart in #61868
    [13.x] Fix parallel testing with PHPUnit 13.4 by @lazerg in #61859
    [13.x] Fix AsHtmlString attributes serializing to an empty object by @xurshudyan in #61854
    [13.x] Fix whereJsonOverlaps() with a JSON path on MySQL by @xurshudyan in #61853
    [13.x] Fix reference cycle from Mailable headers() and priority() callbacks by @xurshudyan in #61863
    [13.x] Fix findOrNew() and chunkMap() on HasManyThrough and BelongsToMany by @xurshudyan in #61855
    [13.x] Fix incrementOrCreate() not setting the foreign key on relations by @xurshudyan in #61849
    [13.x] Fix loadMissing() with nested relations on mixed morphTo models by @xurshudyan in #61845
    [13.x] Fix Eloquent Collection findOrFail() with a collection of ids by @xurshudyan in #61844
    [13.x] Fix cursorPaginate() losing union select and join bindings by @xurshudyan in #61841
    [13.x] Fix docblocks of logoutOtherDevices method by @imanghafoori1 in #61877
    [13.x] Fix JSON path updates discarding unsaved changes on cast objects by @xurshudyan in #61847
    [13.x ] never return type for failedBasicResponse method by @imanghafoori1 in #61887
    [13.x] Fix downloads crashing on filenames with no ASCII equivalent by @jhm-ciberman in #61888
    [13.x] Qualify eager loaded columns on through and one-of-many relations by @xurshudyan in #61885
    [13.x] Fix recycled models leaking into later calls on the same factory by @xurshudyan in #61884
    [13.x] Fake the pwnedpasswords API in ValidationPasswordRuleTest::testMessagesOrder by @xurshudyan in #61880
    [13.x] Fix morphTo()->withTrashed() being ignored by has() and whereHasMorph() by @xurshudyan in #61846
    [13.x] Fix incrementOrCreate() ignoring extra attributes when creating by @xurshudyan in #61878
    [13.x] Fix undefined array key in GenericUser::getAuthPassword() for users without a password by @tommie1001 in #61876
    [13.x] Database test improvements by @jnoordsij in #61819
    [13.x] Port defaults() via opt-in trait by @weshooper in #61813
    Bump source-map-js from 1.2.1 to 1.2.2 in /src/Illuminate/Foundation/resources/exceptions/renderer by @dependabot[bot] in #61889
    [13.x] Fix schedule:list timezone conversion when the next runs straddle a DST change by @xiCO2k in #61894
    [13.x] Don't expand URL templates without URL parameters by @xurshudyan in #61893
    [13.x] Ignore _token and _method when failing on unknown fields by @xurshudyan in #61891
    [13.x] Fix withCasts() on a cloned query changing the casts of the original query by @xurshudyan in #61883

    Original source
  • Sep 29, 2026
    • Date parsed from source:
      Sep 29, 2026
    • First seen by Releasebot:
      Sep 29, 2026
    Laravel logo

    Laravel

    v13.34.0

    Laravel ships a broad 13.x maintenance update with queue, collection, Eloquent, cache, and database improvements, plus fixes for locks, retries, enums, and polymorphic relations. It also adds new schema and queue capabilities and tightens test and CI reliability.

    [13.x] Include duration in JobProcessed event by @jackbayliss in #61672

    [13.x] Notify job when a timeout is going to occur by @jackbayliss in #61651

    [13.x] Add --queue option to queue:flush by @jackbayliss in #61630

    Allow null in docblocks to match existing code by @miclf in #61679

    [13.x] Support LazyCollection values in between clauses by @vikas-kushwaha-dev in #61678

    [13.x] Sync refreshed attributes to original state after increment / decrement by @ilhammmaulana in #61680

    [13.x] Fix Number::parseInt() returning false for values above 32-bit range by @sumaiazaman in #61691

    [13.x] Fix PhpRedisLock::refresh() when phpredis serialization is enabled by @sumaiazaman in #61690

    [13.x] Fix Collection::mode() returning values not present in the data when nulls exist by @MoZayedSaeid in #61686

    [13.x] Adjust some worker docblocks by @jackbayliss in #61683

    [13.x] Respect the relation's owner key in whereMorphedTo / whereNotMorphedTo by @axlon in #61712

    Enforce morph map on read side of polymorphic relations by @paulinevos in #61711

    [13.x] Display error in queue:restart when worker isn't restartable by @jackbayliss in #61706

    [13.x] Test Improvements by @crynobone in #61697

    [13.x] Throw ValueError in LazyCollection::combine() on mismatched lengths by @mrjavadseydi in #61696

    [13.x] Fix trans_choice() picking the wrong plural form for negative numbers by @sumaiazaman in #61700

    [13.x] Don't swallow deadlocks in DatabaseLock inside a transaction by @lazerg in #61708

    [13.x] Fix sortBy() with multiple columns and SORT_NUMERIC truncating fractional values by @sumaiazaman in #61699

    [13.x] Fix Number::format(), percentage() and currency() returning "-0" by @mrjavadseydi in #61716

    [13.x] Allow assertDatabaseCount to accept an array by @jackbayliss in #61727

    [13.x] Fix multipart requests losing attached stream contents on retry by @mehdishakki in #61728

    [13.x] Allow enums in Queue::isPaused() by @jackbayliss in #61725

    [13.x] Fix double negation in Eloquent whereNot() with array conditions by @Nejcc in #61721

    [13.x] Allow enums in environment checks by @Taldres in #61730

    [13.x] Return an empty collection from shift($count) on an empty collection by @Nejcc in #61723

    [13.x] Test with real objects by @jasonmccreary in #61663

    [13.x] Cloud exceptions by @timacdonald in #61704

    [13.x] Run workflows on Windows 2025 by @jnoordsij in #61718

    [13.x] Use constant time lookups for validator exclusions by @owenconti in #61698

    [13.x] Preserve existing PDO options when forcing emulated prepares for pooled Cloud Postgres by @laurenschristian in #61735

    [13.x] Fix using elsePushIf blade directive with complex conditions by @mrjavadseydi in #61741

    [13.x] Fix Memcached locks longer than 30 days expiring immediately by @sumaiazaman in #61742

    [13.x] Allow jobs to count worker crashes towards maxExceptions by @williamjulianvicary in #61737

    [13.x] Fix Redis throttle returning a timestamp as the remaining attempts by @sumaiazaman in #61748

    Fix typos for Markdown files by @peter279k in #61746

    [13.x] Support named S3 credential providers and Cloud IAM disks by @kieranbrown in #61676

    [13.x] Supports phpstan/phpstan:2.2.15 by @crynobone in #61719

    [13.x] feat: add the new 'Database\Schema\Builder::getColumn' method by @fgaroby in #61759

    Apply fixes from StyleCI by @taylorotwell in #61763

    [13.x] Fix through() returning HasOneThrough for MorphMany relations by @mrjavadseydi in #61760

    [13.x] Exclude refreshed attributes when replicating models by @ilhammmaulana in #61751

    [13.x] Fix wherePivotBetween() being ignored by sync(), detach() and updateExistingPivot() by @sumaiazaman in #61747

    [13.x] Fix flaky scheduling test on Windows by @jasonmccreary in #61768

    [13.x] Fix findOrFail() with an array of enum ids by @jabysa in #61765

    [13.x] Fix Builder::with() when a null callback is passed explicitly by @lazerg in #61769

    Final Mockery cleanup by @jasonmccreary in #61739

    [13.x] Treat dotted keys literally in ArrayStore::touch() by @Button99 in #61777

    [13.x] Fix memoized tagged cache many() returning null for numeric keys by @sajjadhossainshohag in #61780

    [13.x] Add regression test for createPayloadUsing on the queue manager by @fajarwz in #61773

    [13.x] Add mime type to the files reportable details by @sbourouis in #61772

    [13.x] Explicitly enable imagick extension for CI tests by @jnoordsij in #61756

    Original source
  • Sep 29, 2026
    • Date parsed from source:
      Sep 29, 2026
    • First seen by Releasebot:
      Sep 29, 2026
    Laravel logo

    Laravel

    v12.69.3

    Laravel adds worker timeout exit code support and named S3 credential providers for Cloud IAM disks.

    [12.x] Make the worker timed out exit code reachable by @kieranbrown in #61623

    [12.x] Support named S3 credential providers and Cloud IAM disks by @kieranbrown in #61757

    Original source
  • Sep 22, 2026
    • Date parsed from source:
      Sep 22, 2026
    • First seen by Releasebot:
      Sep 22, 2026
    Laravel logo

    Laravel

    v13.33.0

    Laravel ships a broad 13.x update with Cloud upgrades, including database read replicas and optional native Postgres pooling, plus smarter queue worker timeout handling, improved Artisan and Eloquent behavior, and a range of cache, Redis, routing, and testing fixes.

    [13.x] Drop restart_syscalls from pcntl_signal in Worker by @jackbayliss in #61590

    Adjust when password hash is stored for authenticated sessions by @taylorotwell in #61594

    [13.x] Ability to opt out of killing the worker on job timeout by @jackbayliss in #61591

    [13.x] Fix enum keys in tagged cache many() and get() by @Meacue in #61603

    [13.x] Add opt-in support for persisting real NULL on AsCollection/AsArrayObject by @zeinrahmad76 in #61596

    [13.x] Fix Eloquent Collection duplicates() with a key or callback by @lazerg in #61597

    Improve Cloud job retries by @timacdonald in #61584

    [13.x] Support brick/math 0.20 & 1.0 by @jackbayliss in #61382

    [13.x] add health-start-period to workflows by @jackbayliss in #61608

    [13.x] Resolve FormRequest attributes from parent classes by @mdsukkur in #61586

    [13.x] Add order() to DevCommands by @jackbayliss in #61575

    [13.x] Add EncodedParameter to RouteUrlGenerator by @bytestream in #61610

    [13.x] Add inplace() DDL algorithm modifier for index and foreign key operations by @SanderMuller in #61602

    [13.x] Improve the value types of the Collection put method by @dfinchenko in #61611

    Allow relative URLs for Mercure hub by @barryvdh in #61629

    [13.x] Add server options to PostgreSQL connections by @DGarbs51 in #61627

    [13.x] Make the worker timed out exit code reachable by @kieranbrown in #61622

    Ci mariadb 11 by @Rhaima96 in #61615

    [13.x] Tagged memoized cache by @joostdebruijn in #61593

    Add "valkey://" and "valkeys://" protocol support by @cweiske in #61635

    [13.x] Fix SQLite schema dumps containing shadow tables by @jhm-ciberman in #61637

    [13.x] Make spelling consistent across docblocks by @shaedrich in #61631

    [13.x] Use composer require --with-all-dependencies to install additional requirements by @crynobone in #61617

    [13.x] Rebuild the phpredis client when a pipeline or transaction loses the connection by @maduonline in #61632

    Apply fixes from StyleCI by @taylorotwell in #61638

    [13.x] Add --pretend option to install:broadcasting command by @crynobone in #61633

    [13.x] Improved artisan mocking by @jnoordsij in #61588

    [13.x] feat: refresh configured model attributes after writes by @calebdw in #61523

    [13.x] Pass fresh batch to BatchFinished and BatchCanceled events by @xurshudyan in #61644

    [13.x] Output empty JSON array from route:list --json when no routes match by @xurshudyan in #61642

    [13.x] Test against MariaDB 12.3 by @Rhaima96 in #61641

    [13.x] Use default view when make:notification --markdown has no value by @xurshudyan in #61643

    [13.x] Test Improvements by @crynobone in #61660

    [13.x] Fix LazyCollection::take() with a negative limit larger than the collection by @crynobone in #61659

    [13.x] Skip batches that cannot be retried in queue:retry-batch by @xurshudyan in #61653

    [13.x] Consolidate overlapping tests by @jasonmccreary in #61648

    [13.x] Fix order-dependent tests by @jasonmccreary in #61647

    [13.x] Respect FILESYSTEM_DISK override when configuring Cloud disks by @DGarbs51 in #61664

    [13.x] Configure Laravel Cloud database read replicas by @WendellAdriel in #61665

    [13.x] Remove non-string headers from NotPwndVerifier by @kylemilloy in #61666

    [13.x] Fix ERR invalid cursor returned when calling $predisClient->scan(null, ...) while using Redis 7.4 by @crynobone in #61673

    [13.x] Restore query logging when a pretend callback throws by @xurshudyan in #61671

    [13.x] add sole to higher order proxies by @jackbayliss in #61667

    [13.x] Add createQuietly and createManyQuietly to BelongsToMany by @xurshudyan in #61669

    [13.x] Fix whereValueBetween() binding expression values by @xurshudyan in #61670

    [13.x] Add opt-in native Postgres pooling for Laravel Cloud by @DGarbs51 in #61668

    Original source
  • Sep 15, 2026
    • Date parsed from source:
      Sep 15, 2026
    • First seen by Releasebot:
      Sep 15, 2026
    Laravel logo

    Laravel

    v13.32.0

    Laravel ships a broad 13.x update with new Mercure broadcasting support, richer filesystem copy and move tools, Cloud queue management improvements, and a wave of fixes and type refinements across collections, sessions, Redis cache, encryption, and helpers.

    [12.x]

    Default memoryExceededExitCode for Cloud by @jackbayliss in #61432

    Wrap the closure return type in withFreshQueryLog() by @SanderMuller in #61458

    Wrap the autocompleter callback return type in askWithCompletion() by @SanderMuller in #61487

    [13.x]

    Allow enums in queue pause/resume methods by @jackbayliss in #61464

    Compare lowercased index names in hasIndex by @dwjordan in #61506

    Fix containsStrict() returning false when a closure matches a null value by @bunyaminbilenkaratas in #61507

    Pass the exception to Eloquent violation callbacks by @jackbayliss in #61504

    Change unused variables to named arguments by @imanghafoori1 in #61513

    Update SupportBinaryCodecTest by @jackbayliss in #61512

    Fix Factory::raw() with a count of zero by @OpadaAlzaiede in #61510

    Add missing implementation for SessionHandlerInterface for PHP 9 by @crynobone in #61517

    Add copyToDisk & moveToDisk to FilesystemAdapter by @jackbayliss in #61511

    Add a Mercure broadcast driver by @dunglas in #61474

    Accept filesystem instance in copyToDisk() and moveToDisk() methods by @ziadoz in #61519

    Fix Str::password() returning extra characters and throwing Va… by @bunyaminbilenkaratas in #61521

    Fix Str::camel() not lowercasing multibyte first characters by @rayblair06 in #61545

    Fix collapseWithKeys() crashing when the outer collection has string keys by @rayblair06 in #61539

    Fix TypeError in SessionGuard::userFromRecaller() when getAuthPassword() is null by @irabbi360 in #61532

    Strengthen mocked tests with the real thing by @jasonmccreary in #61563

    Fix appendToPriorityList() when the referenced middleware is the first item by @GabeSilvaDev in #61567

    Improve collection return types for methods that mutate by @axlon in #61571

    Add isManagedQueue to CloudManager by @jackbayliss in #61568

    Fix Redis tagged cache not syncing tag entry expiration on touch by @Ashot1995 in #61574

    Decode job payload once by @jackbayliss in #61526

    Fix sum() return type when the key matches a global function name by @crishoj in #61578

    add UnitEnum to Authorizable contract by @hosni in #61589

    Add support for installing Mercure via broadcasting install command by @Lea-Bar in #61587

    Preserve unchanged values when encrypting readable environment files by @mathiasgrimm in #61503

    Original source
  • Sep 8, 2026
    • Date parsed from source:
      Sep 8, 2026
    • First seen by Releasebot:
      Sep 8, 2026
    Laravel logo

    Laravel

    v13.31.0

    Laravel ships 13.x and 12.x fixes and improvements across queues, Redis, Eloquent, Vite, routing, HTTP client, mail, sessions, and testing, including new chaperone support, better type handling, cluster-safe Redis queues, and several bug fixes.

    [12.x]

    Ensure password hash matches stored cookie before authenticating the user by @crynobone in #61386

    Fix TypeError in userFromRecaller() when the recaller matches no user by @lazerg in #61397

    [13.x]

    Add totalSize method to Queue by @jackbayliss in #61373

    Merge branch '12.x' into 13.x by @crynobone in #61399

    Restore the container instance after route:cache boots a fresh application by @lazerg in #61405

    Include connection and queue on WorkerStopping when worker is killed by @jackbayliss in #61408

    Fix lazy() and lazyById() ignoring limit() and offset() by @xurshudyan in #61402

    JobInterrupted event by @jackbayliss in #61412

    Make the Redis queue driver cluster-safe (bulk() node-less MULTI; allQueueNames() uses KEYS) by @Orrison in #61198

    feat: add chaperone support for BelongsToMany pivot models by @calebdw in #61152

    Dedupe common test fixtures by @jasonmccreary in #61422

    feat: improve higher order proxy generic types by @calebdw in #61418

    Apply fixes from StyleCI by @taylorotwell in #61427

    Add once assertions to the mail and notification fakes by @talaridisTh in #61415

    Let Monolog handle deprecation exceptions by @sysdev34-wq in #61414

    Default memoryExceededExitCode for Cloud by @jackbayliss in #61430

    Fix context not being propagated to concurrent processes by @newtonjob in #61419

    Remove the unused Request import from the JSON:API resource stub by @Bosun18 in #61434

    Memory leak fix in Http Client by @skr4dan in #61438

    Fix SelfBuilding build stack cleanup after exceptions by @emrebalasar in #61454

    defer all logic to the dedicated rule by @browner12 in #61445

    Wrap the closure return type in withFreshQueryLog() by @SanderMuller in #61444

    Fix assertJsonMissingPath() ignoring wildcards by @xurshudyan in #61441

    Resolve the UsePolicy attribute from parent classes by @xurshudyan in #61439

    Resolve the UseEloquentBuilder attribute from parent classes by @xurshudyan in #61440

    Fix parameter docblocks that contradict the native signature by @dfinchenko in #61457

    Bump softprops/action-gh-release from 3.0.2 to 3.0.3 in the github-actions group by @dependabot[bot] in #61468

    Fix RateLimited job middleware hitting limits that did not block the job by @xurshudyan in #61449

    Add devServerUrl() to Vite by @ramonmalcolm10 in #61465

    Retry phpredis commands when a connection reset surfaces as a warning by @Orrison in #61462

    Fix callbacks deferred from within a deferred callback by @newtonjob in #61431

    Propagate command_retries to phpredis cluster connections by @Orrison in #61460

    Qualify soft delete column with the query's table alias by @arunarw in #61456

    Keep Eloquent on the direct connection during migrations by @danielebarbaro in #61435

    Apply fixes from StyleCI by @taylorotwell in #61470

    Fix Class Illuminate\Session\ArraySessionHandler implementing SessionHandlerInterface is missing the create_sid() method which will be required in PHP 9.0 by @crynobone in #61469

    Fix route url generation under certain circumstances by @taylorotwell in #61475

    Fix message ID and header persistence on ResendTransport by @saurabhsharma2u in #61476

    Fix wherePivot() closure scope being ignored in pivot table operations by @iz-ahmad in #61488

    Original source
  • Sep 8, 2026
    • Date parsed from source:
      Sep 8, 2026
    • First seen by Releasebot:
      Sep 8, 2026
    Laravel logo

    Laravel

    v12.69.2

    Laravel updates Cloud default memoryExceededExitCode and tightens return types in withFreshQueryLog and askWithCompletion.

    [12.x] Default memoryExceededExitCode for Cloud by @jackbayliss in #61432

    Wrap the closure return type in withFreshQueryLog() by @SanderMuller in #61458

    Wrap the autocompleter callback return type in askWithCompletion() by @SanderMuller in #61487

    Original source
  • Sep 1, 2026
    • Date parsed from source:
      Sep 1, 2026
    • First seen by Releasebot:
      Sep 2, 2026
    Laravel logo

    Laravel

    v13.30.1

    Laravel adds WorkerStopping connection and queue, Eloquent insertOrIgnoreReturning, vector index drops, and an SQL Server fix.

    [13.x] Add connection and queue to WorkerStopping by @jackbayliss in #61387

    [13.x] Add insertOrIgnoreReturning() to the Eloquent builder passthru by @xurshudyan in #61393

    [13.x] Add dropVectorIndex() to the schema blueprint by @xurshudyan in #61391

    [13.x] Fix limit() being ignored on update() for SQL Server by @xurshudyan in #61394

    [13.x] Prevent orphaned Redis tagged cache entries by @drewmt in #61385

    Original source
  • Sep 1, 2026
    • Date parsed from source:
      Sep 1, 2026
    • First seen by Releasebot:
      Sep 2, 2026
    Laravel logo

    Laravel

    v12.69.1

    Laravel fixes a TypeError in userFromRecaller() when the recaller matches no user.

    [12.x] Fix TypeError in userFromRecaller() when the recaller matches no user by @lazerg in #61397

    Original source
  • Sep 1, 2026
    • Date parsed from source:
      Sep 1, 2026
    • First seen by Releasebot:
      Sep 1, 2026
    Laravel logo

    Laravel

    v13.30.0

    Laravel ships a broad framework update with new queue, database, storage, cloud, and collection improvements, plus fixes for resource loading, route caching, exception page behavior, and command handling. It also adds Microsoft SQL Server DSN support and several developer-focused refinements.

    [12.x] Backport #60908: Avoid quadratic wildcard rule expansion by @matteo-palazzo in #61232

    Fix resource loading by @taylorotwell in #61323

    [13.x] Output the worker stop reason in queue:work by @jackbayliss in #61339

    Fix incorrect $startTime type in Worker::stopIfNecessary docblock by @il-m-tomita in #61347

    [13.x] Ability to opt out of vendor/default commands in DevCommands by @jackbayliss in #61344

    [13.x] Confine Storage::path() to the configured disk root by @KIKOmanasijev in #61343

    [13.x] Support Microsoft SQL Server DSN connection strings by @HenkPoley in #61341

    [13.x] Restore the facade application after route:cache boots a fresh application by @reiarseni in #61346

    [13.x] Gracefully handle missing param value or strings with request clamps by @kylemilloy in #61355

    [13.x] Restore default database connection when seeding fails by @sayful1411 in #61354

    [13.x] Cloud enhancements by @timacdonald in #61360

    [13.x] Allow retrieving command by name without resolving all commands by @timacdonald in #61361

    [13.x] Expose methods by @timacdonald in #61362

    [13.x] Add basic test for query explain by @imanghafoori1 in #61363

    [13.x] Add totalXSize methods to Cloud Queue by @jackbayliss in #61352

    [13.x] Add chunkBy to collections by @JosephSilber in #61357

    [13.x] spl_object_id over hash by @jackbayliss in #61372

    [13.x] Add createPayloadUsing directly to the queue manager by @jackbayliss in #61367

    [13.x] Set visibility on files that only exist on a read-through disk's fallback by @sulimanbenhalim in #61375

    [12.x] Disable html by default on Laravel exception page tooltip by @crynobone in #61381

    Original source
Releasebot

Curated by the Releasebot team

Releasebot is an aggregator of official product update announcements from hundreds of software vendors and thousands of sources.

Our editorial process involves the manual review and audit of release notes procured with the help of automated systems.