Команда Laravel цього тижня випустила версію 12.27.0, яка додала підтримку ідентифікаторів груп повідомлень для FIFO-черг SQS. Ідентифікатори груп дозволяють використовувати функцію справедливого чергування Amazon у SQS. Також версія 12.27 містить кілька нових можливостей — давайте розглянемо, що нового:
# Підтримка справедливих черг SQS
Міор Мухаммад Закі реалізував підтримку ідентифікаторів груп повідомлень для FIFO-черг SQS у Pull Request #56763. Це дозволяє драйверу черг SQS у Laravel використовувати функцію справедливих черг від Amazon.
ProcessOrder::dispatch($order)
->onGroup("customer-{$order->customer_id}");
Документація Laravel була оновлена з детальною інформацією про FIFO-черги SQS та справедливі черги. Додаткова інформація доступна у документації Amazon SQS.
# Додано опцію prepend до Str::plural()
Кейсі Двайер додала можливість додавання кількості перед використанням методу Str::plural().
We had {{ number_format($attendees->count()) . ' ' . Str::plural('attendee', $attendees->count()) }} at Laracon 2025.
{{-- Використовуючи параметр `prependCount` --}}
We had {{ Str::plural('attendee', $attendees->count(), prependCount: true) }} at Laracon 2025.
# Pretty JSON приймає параметри
Лукас Міхот додав можливість передавати додаткові параметри методу prettyJson(), що надає розробникам більше контролю над кодуванням під час використання цього методу:
$data->prettyJson(['foo' => 'bar'], JSON_UNESCAPED_UNICODE);
# Підтримка значень Enum у методах Collection countBy та groupBy
Єспер Нордзай реалізував підтримку значень enum у методах Collection countBy та groupBy шляхом їх перетворення на рядки або цілі числа в якості ключів масиву:
collect([
['key' => TestBackedEnum::A],
['key' => TestBackedEnum::B], ['key' => TestBackedEnum::B],
])
->countBy('key')
->all(); // [1 => 1, 2 => 2];
# Примітки до релізу
Повний список нових функцій і оновлень можна знайти нижче, а також зміни між версіями 12.26.0 та 12.27.0 на GitHub. Нижче наведено виписки з чангелогу:
# v12.27.0
- [12.x] Додано опцію prepend для Str::plural() від @caseydwyer у Pull Request
- [12.x] Виправлено заміну зображень у листах з кількома рядками від @iammursal у Pull Request
- [12.x] Додано підтримку справедливих черг SQS від @crynobone у Pull Request
- [12.x] Підтримка значень enum у методі
countByуCollectionвід @jnoordsij у Pull Request - [12.x] Поліпшення тестування від @crynobone у Pull Request
- [12.x] Виправлення документаційних блоків і методу all() в ArrayStore для узгодженості від @AhmedAlaa4611 у Pull Request
- [12.x] Поліпшена граматика в ArrayLock від @cosmastech у Pull Request
- [12.x] Нормалізація коментарів для timestampsTz() і nullableTimestampsTz() від @AhmedAlaa4611 у Pull Request
- [12.x] Зменшено кількість безглуздих проміжних змінних від @AhmedAlaa4611 у Pull Request
- [12.x] Спрощено та узгоджено
Arr::collapse()від @weshooper у Pull Request - [12.x] Поліпшення читабельності від @AhmedAlaa4611 у Pull Request
- [12.x] Поліпшення тестування від @crynobone у Pull Request
- [12.x] Видалення зайвого простору перед номером рядка в трасуванні помилок від @mtbossa у Pull Request
- [12.x] Видалено невикористовувану змінну від @AhmedAlaa4611 у Pull Request
- [12.x] Додано підтримку
UnitEnumу методgroupByуCollectionвід @jnoordsij у Pull Request - [12.x] Додано відсутній тип повернення void до тестових методів від @AhmedAlaa4611 у Pull Request
- [12.x] Поліпшено документацію методу
countByуCollectionдля підтримки enum callback від @jnoordsij у Pull Request - [12.x] Поліпшено типи повернення
InteractsWithContainerвід @axlon у Pull Request - [12.x] Дозволено масове присвоєння для приведення типу значення об'єкта від @AbdelElrafa у Pull Request
- [12.x] Дозволяє
APP_BASE_PATHз$_SERVERвід @crynobone у Pull Request - [12.x] Виправлено типографічну помилку в документації від @dwightwatson у Pull Request
- [12.x] Дозволено enum в інших методах DatabaseManager від @jnoordsij у Pull Request
- Додано значок здоров'я в README від @jonathimer у Pull Request
- [12.x] Дозволяє методу
toPrettyJson()приймати параметри від @lucasmichot у Pull Request