Laravel Community Tools by Tighten
Laravel Versions Logo

Laravel Version: 13.0.0

Status:

Active support

Recommendation:

Keep patch updated.

Latest Patch Release:

13.39.0

Major Version Release date Bug Fixes Until Security Fixes Until PHP Versions Status
13 March 17, 2026 September 17, 2027 March 17, 2028 8.3, 8.4, 8.5
ALL

Releases

13.39.0
13.38.0
13.37.0
  • [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
13.36.0
  • [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
13.35.0
  • [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
13.34.0
13.33.0
13.32.0
13.31.0
  • [12.x] Ensure password hash matches stored cookie before authenticating the user by @crynobone in #61386
  • [12.x] 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
  • [13.x] Restore the container instance after route:cache boots a fresh application by @lazerg in #61405
  • [13.x] Include connection and queue on WorkerStopping when worker is killed by @jackbayliss in #61408
  • [13.x] Fix lazy() and lazyById() ignoring limit() and offset() by @xurshudyan in #61402
  • [13.x] JobInterrupted event by @jackbayliss in #61412
  • [13.x] Make the Redis queue driver cluster-safe (bulk() node-less MULTI; allQueueNames() uses KEYS) by @Orrison in #61198
  • [13.x] feat: add chaperone support for BelongsToMany pivot models by @calebdw in #61152
  • Dedupe common test fixtures by @jasonmccreary in #61422
  • [13.x] feat: improve higher order proxy generic types by @calebdw in #61418
  • Apply fixes from StyleCI by @taylorotwell in #61427
  • [13.x] Add once assertions to the mail and notification fakes by @talaridisTh in #61415
  • Let Monolog handle deprecation exceptions by @sysdev34-wq in #61414
  • [13.x] Default memoryExceededExitCode for Cloud by @jackbayliss in #61430
  • [13.x] Fix context not being propagated to concurrent processes by @newtonjob in #61419
  • [13.x] Remove the unused Request import from the JSON:API resource stub by @Bosun18 in #61434
  • [13.x] Memory leak fix in Http Client by @skr4dan in #61438
  • [13.x] Fix SelfBuilding build stack cleanup after exceptions by @emrebalasar in #61454
  • [13.x] defer all logic to the dedicated rule by @browner12 in #61445
  • Wrap the closure return type in withFreshQueryLog() by @SanderMuller in #61444
  • [13.x] Fix assertJsonMissingPath() ignoring wildcards by @xurshudyan in #61441
  • [13.x] Resolve the UsePolicy attribute from parent classes by @xurshudyan in #61439
  • [13.x] Resolve the UseEloquentBuilder attribute from parent classes by @xurshudyan in #61440
  • [13.x] 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
  • [13.x] Fix RateLimited job middleware hitting limits that did not block the job by @xurshudyan in #61449
  • [13.x] Add devServerUrl() to Vite by @ramonmalcolm10 in #61465
  • [13.x] Retry phpredis commands when a connection reset surfaces as a warning by @Orrison in #61462
  • [13.x] Fix callbacks deferred from within a deferred callback by @newtonjob in #61431
  • [13.x] Propagate command_retries to phpredis cluster connections by @Orrison in #61460
  • [13.x] Qualify soft delete column with the query's table alias by @arunarw in #61456
  • [13.x] Keep Eloquent on the direct connection during migrations by @danielebarbaro in #61435
  • Apply fixes from StyleCI by @taylorotwell in #61470
  • [13.x] 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
  • [13.x] Fix message ID and header persistence on ResendTransport by @saurabhsharma2u in #61476
  • [13.x] Fix wherePivot() closure scope being ignored in pivot table operations by @iz-ahmad in #61488
13.30.0
13.30.1
13.28.0

No changelog available.

13.29.0

No changelog available.

13.27.0
13.26.1
  • Revert "[13.x] feat: add orWhereKey and orWhereKeyNot to Eloquent Builder" by @taylorotwell in #61236
13.26.0
13.25.0
13.24.0
13.23.0
  • Bump postcss from 8.5.15 to 8.5.23 in /src/Illuminate/Foundation/resources/exceptions/renderer by @dependabot[bot] in #60884
  • [13.x] Add a monthly log driver by @SjorsO in #60892
  • [13.x] Improve types in Image class by @shaedrich in #60890
  • Fix null handling in Arr::last() method by @AmadulHaque in #60887
  • [13.x] Allow ImageManager fromStorage disk to accept enums by @riesjart in #60889
  • [13.x] Add SES tenant support to the SES v2 transport by @atymic in #60886
  • Bump actions/checkout from 7.0.0 to 7.0.1 in the github-actions group by @dependabot[bot] in #60900
  • [13.x] Prevent fatal errors when logging deprecations fails by @GrahamCampbell in #60893
  • [13.x] Bump monolog/monolog constraint by @jackbayliss in #60894
  • [13.x] Add monthly channel to logging config by @yazansalhi in #60895
  • [13.x] Use a timing-safe comparison for the maintenance mode bypass secret by @yazansalhi in #60896
  • [13.x] Improve Collection::select generic types by @timacdonald in #60898
  • [13.x] Allow ->using(...) in ->change() migrations for PostgreSQL compatibility by @shemgp in #60901
  • Revert "[13.x] Fix that retries of ShouldBeUniqueUntilProcessing jobs are force-releasing locks they don't own" by @taylorotwell in #60905
  • [13.x] Fix default handling in CookieJar::queued() by @alies-dev in #60904
  • [13.x] Fix schedule:list timezone conversion for range, step, and wildcard cron expressions by @xiCO2k in #60877
13.22.0
13.21.0

No changelog available.

13.21.1

No changelog available.

13.20.0
  • [13.x] Add missing $separator parameter to Storage facade append/prepend docblocks by @ferhatolmez in #60693
  • [13.x] beforePushing and afterPushing methods on QueueFake class by @gdebrauwer in #60689
  • [13.x] Add memory usage to WorkerStopping by @jackbayliss in #60613
  • [13.x] Add assertEmpty to the Storage facade by @jackbayliss in #60658
  • [13.x] Adds first-party support for image processing by @nunomaduro in #59276
  • [13.x] Fix operator precedence in SqsQueue size fallbacks by @daffa-aditya-p in #60702
  • Add separator params to Storage facade docblocks by @Muhtasim-Munif-Fahim in #60703
  • [13.x] Add test for the scheduler's quarterlyOn method by @dfinchenko in #60712
  • Make MailFake::assertQueuedTimes() public by @Tresor-Kasenda in #60710
  • [13.x] Sync more getter return types with their property generics by @dfinchenko in #60699
  • [13.x] Fix guessResourceName() namespace collision when class name is a substring of a parent namespace segment by @Rubrasum in #60707
  • [13.x] Add WithoutMiddleware controller middleware attribute by @JurianArie in #60709
  • [13.x] Add incrementEachQuietly and decrementEachQuietly to Eloquent models by @shanerbaner82 in #60720
  • [13.x] Normalize HTTP client request header lookups by @Button99 in #60734
  • [12.x] Enum as queue overlap key by @finagin in #60722
  • [13.x] Support null for shortcut field in return type array for HasParameters::getOptions (#60723) by @wimski in #60728
  • [13.x] Ability to set session prefix for Redis by @jackbayliss in #60700
  • [13.x] Add #[SensitiveParameter] to parameters carrying secrets by @axlon in #60753
  • [13.x] Optimize by using contains or doesntContain by @lucasmichot in #60745
  • [13.x] Remove redundant Mockery::close() calls by @lucasmichot in #60743
  • [13.x] Only register pail in DevCommands when pcntl_fork is available by @jackbayliss in #60749
  • [13.x] Use PHPUnit rector sets instead of individual rules by @lucasmichot in #60744
  • [13.x] Replace manual all/any foreach loops with array_all/array_any by @lucasmichot in #60742
  • [13.x] Add test for the Uri toStringable method by @dfinchenko in #60739
  • [13.x] Fix Str::containsAll() returning true for an empty needles array by @lucasmichot in #60746
  • [13.x] Fix stale transformations being reapplied when branching an Image after toBytes() by @lucasmichot in #60748
  • [13.x] Fix Number::forHumans() and abbreviate() returning "-0" for tiny negative values by @semx in #60736
  • [13.x] Add test for the Email rule's strict method by @dfinchenko in #60740
  • [13.x] fix: providesTemporaryUploadUrls should return true for s3 driver by @joostdebruijn in #60755
  • [12.x] Add capitalize parameter to Stringable::initials() by @irabbi360 in #60741
  • [13.x] Fix dynamic calls to incrementEachQuietly and decrementEachQuietly by @daffa-aditya-p in #60737
  • Fix BelongsToMany::touch() when related key is not id by @Peeterush in #60708
  • Merge branch '12.x' into 13.x by @crynobone in #60773
  • [13.x] Fix Number::forHumans() and abbreviate() scaling tiny decimals by @daffa-aditya-p in #60768
  • [13.x] Reset fake time globally after each test, drop redundant Carbon::setTestNow() cleanup by @lucasmichot in #60761
  • [13.x] Ensure make:migration generates collision-free, ordered timestamps prefixes by @NickSdot in #60771
  • [13.x] Fix JsonApiResource relationships resolved through a closure by @markwalet in #60752
  • [13.x] Fix TrustProxies at:* when multiple proxies are used by @mattford in #60726
13.19.0
13.18.1
  • [13.x] Allow assertDatabaseEmpty to handle iterable by @jackbayliss in #60621
  • [13.x] Add input() method to console commands by @stevebauman in #60607
  • [13.x] Handle api / json routes with Down (Maintenance) command by @davidrushton in #60595
  • [13.x] fix: respect channel name for on-demand log stacks by @maltf0 in #60635
  • [13.x] Support inspecting delayed jobs on the queue fake by @jackbayliss in #60636
  • Add Release queue middleware by @mgcodeur in #60630
  • [13.x] Update docblocks of Blueprint foreignUuid and foreignUlid to match foreignId by @LiddleDev in #60643
  • Respect the encoding in Str::mask() when building the end of the string by @iammcoding in #60646
  • [13.x] Supports scalar Predis retry config to allows config:cache by @crynobone in #60642
13.18.0
  • [13.x] Further reduce cache hits when using debounced jobs by @jackbayliss in #60575
  • Add priority-based registration to dev commands by @joetannenbaum in #60580
  • fix: cache headers not set on HEAD requests by @c0defre4k in #60589
  • [13.x] Add conditional return types to several methods by @alies-dev in #60586
  • [13.x] Sync getter return types with their property generics by @dfinchenko in #60591
  • [13.x] Expose jobs processed count and last job timestamp on the WorkerStopping event by @jackbayliss in #60592
  • [13.x] Prevent restored event when soft delete restore fails by @Button99 in #60605
  • [13.x] Ensure lastJobProcessedAt is null if nothing is processed by @jackbayliss in #60608
  • Fix RateLimited middleware not serializing releaseAfter in __sleep() by @Amirhf1 in #60609
  • Use --kill-others-on-fail for artisan dev by @joetannenbaum in #60606
  • [13.x] Fix Number::forHumans() and Number::abbreviate() crashing on INF/NAN by @humamj1 in #60617
  • [13.x] Fix Json parsing for top level zero bodies by @Button99 in #60614
  • [13.x] schedule:work catch signals by @rforced in #60616
  • Bump the github-actions group with 2 updates by @dependabot[bot] in #60622
  • [13.x] Fix Number::fileSize crashing on INF/NAN inputs by @Amirhf1 in #60625
  • [13.x] Fix flexible() lock and defer label collisions in TaggedCache by @Amirhf1 in #60626
13.17.0
13.16.1
13.16.0
13.15.0
13.14.0
13.13.0
13.12.0
13.11.2
13.11.0
13.11.1
13.10.0
13.9.0
13.8.0
13.7.0
13.6.0
13.5.0
13.4.0
  • [13.x] Fix missing Illuminate\Queue\Attributes\Delay attribute by @fadez in #59504
  • [13.x] Fix $request->interval() failing with very small float values by @SanderMuller in #59502
  • [13.x] Add pint.json to export-ignore by @axlon in #59497
  • [13.x] Add --ignore-scripts to yarn in BroadcastingInstallCommand by @sumaiazaman in #59494
  • [13.x] Fix static closure binding in remaining manager classes by @sumaiazaman in #59493
  • [13.x] Fix CollectedBy attribute not resolving through abstract parent classes by @jackbayliss in #59488
  • [13.x] Fix: Allow runtime property overrides (onQueue) to take precedence over class attributes by @niduranga in #59468
  • [13.x] Use #[Delay] attribute in Bus Dispatcher by @sumaiazaman in #59514
  • [13.x] Use #[Delay] attribute in NotificationSender by @sumaiazaman in #59513
  • [13.x] Add overflow option to Carbon plus and minus by @lucasmichot in #59509
  • [13.x] Fix: respect null redirect in unauthenticated exception handler by @timmylindh in #59505
  • [13.x] Fix TypeError in starts_with/ends_with validation rules on non-string values by @sumaiazaman in #59541
  • [13.x] allow null to be passed directly to redirectGuestsTo() by @timmylindh in #59526
  • Revert "[13.x] Remove unnecessary clone in SessionManager to prevent duplicate Redis connections" by @taylorotwell in #59542
  • [13.x] Fix deprecation warning in Contains and DoesntContain rules when values contain null by @sumaiazaman in #59561
  • [13.x] Fix Str::markdown() and Str::inlineMarkdown() crash on null input by @sumaiazaman in #59554
  • [13.x] Add queue methods to inspect jobs by @jackbayliss in #59511
  • Feature/form request strict mode by @NurullahDemirel in #59430
  • Bump vite from 7.3.1 to 7.3.2 in /src/Illuminate/Foundation/resources/exceptions/renderer by @dependabot[bot] in #59571
  • [13.x] Fix deprecation warning in In and NotIn rules when values contain null by @sumaiazaman in #59576
  • [13.x] Add flushState to FormRequest to reset global strict mode between tests by @sumaiazaman in #59574
  • [13.x] Fix #[WithoutRelations] queue attribute not being inherited by child classes by @stevebauman in #59568
13.3.0
13.2.0
13.1.1
13.1.0
13.0.0