Laravel Cloud is here! Zero-config managed infrastructure for Laravel apps. Deploy now.

Laravel 10.5 Released

Published on by

Laravel 10.5 Released image

Never Miss a Laravel Release 🚀

Sign up and get an email with each new Laravel release

The Laravel team has recently released version 10.5 of the Laravel framework, with several new features and updates. These include a case-sensitive flag for Stringable replace, support for passing empty columns to the database builder insertUsing method, and a new database connection method called selectResultsets.

Additionally, the release includes bug fixes and changes, such as improvements to the handling of empty arrays in multi-key operations for DynamoDbStore and the removal of duplicate constraints in relationships via one().

Case-sensitive flag for Stringable replace

Maarten Paauw contributed a case-sensitive flag to string replacement:

// Case-insensitive Stringable example
// foo/foo/foo
Str::of('x/x/x')->replace('X', 'foo', false);
 
// Case-insensitive
// foo bar laravel
Str::replace('baz', 'laravel', 'foo bar Baz', false);
 
// Default case-sensitive will not replace `Baz` with `laravel`
Str::replace('baz', 'laravel', 'foo bar Baz'); // foo bar Baz

Allow insertUsing to have empty columns

Jonny Nott added database support for passing empty columns or ['*'] to insert all columns from the source to the destination:

$builder->from('table1')->insertUsing(
[],
function (Builder $query) {
$query->from('table2')->where('foreign_id', '=', 5);
}
);
 
// insert into "table1" select * from "table2" where "foreign_id" = ?'

Database selectResultsets method

Istvan Palinkas contributed a Database connection method which runs a select statement against the database and returns all of the result sets:

[
$user_params,
$user_notifications
] = DB::selectResultsets("CALL get_user_params_and_notifications(?)", Auth::id());

Release Notes

You can see the complete list of new features and updates below and the diff between 10.4.0 and 10.5.1 on GitHub. The following release notes are directly from the changelog:

v10.5.1

Added

  • Added methods to determine if API resource has pivot loaded (#46555)
  • Added caseSensitive flag to Stringable replace function (#46578)
  • Allow insert..select (insertUsing()) to have empty $columns (#46605, 399bff9)
  • Added Illuminate/Database/Connection::selectResultSets() (#46592)

Changed

  • Make sure pivot model has previously defined values (#46559)
  • Move SetUniqueIds to run before the creating event (#46622)

v10.5.0

Added

  • Added Illuminate/Cache/CacheManager::setApplication() (#46594)

Fixed

  • Fix infinite loading on batches list on Horizon (#46536)
  • Fix whereNull queries with raw expressions for the MySql grammar (#46538)
  • Fix getDirty method when using AsEnumArrayObject / AsEnumCollection (#46561)

Changed

  • Skip Illuminate/Support/Reflector::isParameterBackedEnumWithStringBackingType for non ReflectionNamedType (#46511)
  • Replace Deprecated DBAL Comparator creation with schema aware Comparator (#46517)
  • Added Storage::json() method to read and decode a json file (#46548)
  • Force cast json decoded failed_job_ids to array in DatabaseBatchRepository (#46581)
  • Handle empty arrays for DynamoDbStore multi-key operations (#46579)
  • Stop adding constraints twice on *Many to *One relationships via one() (#46575)
  • allow override of the Builder paginate() total (#46415)
  • Add a possibility to set a custom on_stats function for the Http Facade (#46569)
Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Cube

Laravel Newsletter

Join 40k+ other developers and never miss out on new tips, tutorials, and more.

image
Laravel Cloud

Easily create and manage your servers and deploy your Laravel applications in seconds.

Visit Laravel Cloud
Tinkerwell logo

Tinkerwell

The must-have code runner for Laravel developers. Tinker with AI, autocompletion and instant feedback on local and production environments.

Tinkerwell
Get expert guidance in a few days with a Laravel code review logo

Get expert guidance in a few days with a Laravel code review

Expert code review! Get clear, practical feedback from two Laravel devs with 10+ years of experience helping teams build better apps.

Get expert guidance in a few days with a Laravel code review
PhpStorm logo

PhpStorm

The go-to PHP IDE with extensive out-of-the-box support for Laravel and its ecosystem.

PhpStorm
Laravel Cloud logo

Laravel Cloud

Easily create and manage your servers and deploy your Laravel applications in seconds.

Laravel Cloud
Acquaint Softtech logo

Acquaint Softtech

Acquaint Softtech offers AI-ready Laravel developers who onboard in 48 hours at $3000/Month with no lengthy sales process and a 100 percent money-back guarantee.

Acquaint Softtech
Kirschbaum logo

Kirschbaum

Providing innovation and stability to ensure your web application succeeds.

Kirschbaum
Shift logo

Shift

Running an old Laravel version? Instant, automated Laravel upgrades and code modernization to keep your applications fresh.

Shift
Harpoon: Next generation time tracking and invoicing logo

Harpoon: Next generation time tracking and invoicing

The next generation time-tracking and billing software that helps your agency plan and forecast a profitable future.

Harpoon: Next generation time tracking and invoicing
Lucky Media logo

Lucky Media

Get Lucky Now - the ideal choice for Laravel Development, with over a decade of experience!

Lucky Media
SaaSykit: Laravel SaaS Starter Kit logo

SaaSykit: Laravel SaaS Starter Kit

SaaSykit is a Multi-tenant Laravel SaaS Starter Kit that comes with all features required to run a modern SaaS. Payments, Beautiful Checkout, Admin Panel, User dashboard, Auth, Ready Components, Stats, Blog, Docs and more.

SaaSykit: Laravel SaaS Starter Kit
MongoDB logo

MongoDB

Enhance your PHP applications with the powerful integration of MongoDB and Laravel, empowering developers to build applications with ease and efficiency. Support transactional, search, analytics and mobile use cases while using the familiar Eloquent APIs. Discover how MongoDB's flexible, modern database can transform your Laravel applications.

MongoDB

The latest

View all →
PestPHP Intellisense in Laravel VS Code Extension v1.7.0 image

PestPHP Intellisense in Laravel VS Code Extension v1.7.0

Read article
Drop in comments for Filament with Commentions image

Drop in comments for Filament with Commentions

Read article
Laravel Starter Kits Now Include Toast Notifications image

Laravel Starter Kits Now Include Toast Notifications

Read article
Ship AI with Laravel: Stop Your AI Agent from Guessing image

Ship AI with Laravel: Stop Your AI Agent from Guessing

Read article
Laravel Cloud Adds Path Blocking to Prevent Bots From Waking Hibernated Apps image

Laravel Cloud Adds Path Blocking to Prevent Bots From Waking Hibernated Apps

Read article
Making Laravel MongoDB Operations Idempotent: Safe Retries for Financial Transactions image

Making Laravel MongoDB Operations Idempotent: Safe Retries for Financial Transactions

Read article