Never Miss a Laravel Release 🚀
The Laravel team released version 12.27.0, introducing support for SQS FIFO queue message group IDs in Laravel. Group IDs unlock the ability to utilize Amazon's fair queue feature in SQS. Additionally, v12.27 has a few new features—let's look at what's new:
Support for SQS Fair Queue
Mior Muhammad Zaki contributed support for FIFO queue message group IDs in Laravel Pull Request #56763. This enables Laravel's SQS queue driver to utilize Amazon's fair queue feature.
ProcessOrder::dispatch($order) ->onGroup("customer-{$order->customer_id}");
The Laravel documentation has been updated with details on SQS FIFO and fair queues. See Amazon SQS fair queues to learn more about fair queues.
Add Prepend Option to Str::plural()
Casey Dwyer contributed the ability to prepend the count when using the Str::plural() method.
We had {{ number_format($attendees->count()) . ' ' . Str::plural('attendee', $attendees->count()) }} at Laracon 2025. {{-- Using the `prependCount` param --}}We had {{ Str::plural('attendee', $attendees->count(), prependCount: true) }} at Laracon 2025.
Pretty JSON Accepts Options
Lucas Michot contributed the ability to pass additional options to the prettyJson() method, giving developers more control over encoding when using this method:
$data->prettyJson(['foo' => 'bar'], JSON_UNESCAPED_UNICODE);
Support Enum Values in Collection countBy and groupBy
Jesper Noordsij contributed support for enum values in Collection countBy and groupBy methods by converting them to strings or ints, as array keys:
collect([ ['key' => TestBackedEnum::A], ['key' => TestBackedEnum::B], ['key' => TestBackedEnum::B],]) ->countBy('key') ->all(); // [1 => 1, 2 => 2];
Release notes
You can see the complete list of new features and updates below and the diff between 12.26.0 and 12.27.0 on GitHub. The following release notes are directly from the changelog:
v12.27.0
- [12.x] Add prepend option for Str::plural() by @caseydwyer in https://github.com/laravel/framework/pull/56802
- [12.x] Fix multi-line embedded image replacement in mail views by @iammursal in https://github.com/laravel/framework/pull/56828
- [12.x] Add supports for SQS Fair Queue by @crynobone in https://github.com/laravel/framework/pull/56763
- [12.x] Support enum values in
CollectioncountBymethod by @jnoordsij in https://github.com/laravel/framework/pull/56830 - [12.x] Test Improvements by @crynobone in https://github.com/laravel/framework/pull/56838
- [12.x] Fix docblocks and all() method in ArrayStore for consistency by @AhmedAlaa4611 in https://github.com/laravel/framework/pull/56845
- [12.x] Improve Grammar in ArrayLock by @cosmastech in https://github.com/laravel/framework/pull/56844
- [12.x] Normalize comments for timestampsTz() and nullableTimestampsTz() by @AhmedAlaa4611 in https://github.com/laravel/framework/pull/56840
- [12.x] Reduce meaningless intermediate variables by @AhmedAlaa4611 in https://github.com/laravel/framework/pull/56843
- [12.x] Simpler and consistent
Arr::collapse()by @weshooper in https://github.com/laravel/framework/pull/56842 - [12.x] Improving readability by @AhmedAlaa4611 in https://github.com/laravel/framework/pull/56847
- [12.x] Test Improvements by @crynobone in https://github.com/laravel/framework/pull/56850
- [12.x] Remove extra space before line number in exception trace by @mtbossa in https://github.com/laravel/framework/pull/56863
- [12.x] Remove unused variable by @AhmedAlaa4611 in https://github.com/laravel/framework/pull/56861
- [12.x] Add support for
UnitEnuminCollectiongroupBymethod by @jnoordsij in https://github.com/laravel/framework/pull/56857 - [12.x] Add missing void return type to test methods by @AhmedAlaa4611 in https://github.com/laravel/framework/pull/56860
- [12.x] Improve
countBydocblock inCollectionto allow for enum callback by @jnoordsij in https://github.com/laravel/framework/pull/56856 - [12.x] Improve
InteractsWithContainerreturn types by @axlon in https://github.com/laravel/framework/pull/56853 - [12.x] Allow mass assignment for value object casting. by @AbdelElrafa in https://github.com/laravel/framework/pull/56871
- [12.x] Allows
APP_BASE_PATHfrom$_SERVERby @crynobone in https://github.com/laravel/framework/pull/56868 - [12.x] Fix typo in docblock by @dwightwatson in https://github.com/laravel/framework/pull/56867
- [12.x] Allow enums in other DatabaseManager methods by @jnoordsij in https://github.com/laravel/framework/pull/56878
- Add health score badge to README by @jonathimer in https://github.com/laravel/framework/pull/56875
- [12.x] Let
toPrettyJson()accepts options by @lucasmichot in https://github.com/laravel/framework/pull/56876