News

Laravel 10.37 Released

Published
Laravel 10.37 Released image

Release updates

Never miss a Laravel release

Get an email whenever a new Laravel release lands.

This week, the Laravel team released v10.37 with the ability to store batch metadata in DynamoDB, assert multiple errors on a field, and more. Here is a bit more info about the new features introduced this week:

Storing batches in DynamoDB

Sebastien Armand contributed storing batch meta information in DynamoDB instead of a relational database. You can configure your application to use DynamoDB using the following config in your queue.php config file:

'batching' => [
'driver' => env('QUEUE_FAILED_DRIVER', 'dynamodb'),
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
'table' => 'job_batches',
],

See the documentation for complete setup details, and Pull Request #49169 for implementation details.

Assert multiple error messages

Tim MacDonald contributed the ability to assert a list of errors on a field using the assertInvalid() method:

// Before, separate assertion calls are required
$response->assertInvalid(['email' => 'The email field must be a string.']);
$response->assertInvalid(['email' => 'The email field must be at least 5 characters.']);
 
// As of Laravel 10.37 you can now do:
$response->assertInvalid([
'email' => [
'The email field must be a string.',
'The email field must be at least 5 characters.',
],
]);

Add engine() method to Blueprint

James Brooks contributed an engine() method when defining migration schemas:

// Previously
Schema::table('foo', function (Blueprint $table) {
$table->engine = 'InnoDB';
 
// ...
});
 
// Using the new engine() method
Schema::table('foo', function (Blueprint $table) {
$table->engine('InnoDB');
 
// ...
});

Get the indexes and foreign keys of a table

Hafez Divandari contributed a getIndexes() and getForeignKeys methods to get the indexes and foreign keys of a given table schema.

Schema::getIndexes();
Schema::getForeignKeys();

The getIndexes() method returns an array with various keys, such as name, columns, type, unique, and primary, and the getForeignKeys() method returns an array for each foreign key with name, columns, foreign_schema, foreign_table, foreign_columns, on_update, and on_delete.

See Pull Request #49204 and Pull Request #49264 for more implementation details and examples.

Release notes

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

v10.37.0

Paul Redmond photo

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

Sponsored

acquaintsoft logo
Acquaint Softtech

Hire Laravel developers with AI expertise at $20/hr. Get started in 48 hours.

Visit Acquaint Softtech

The latest

View all →
Screenshot: Capture Images and PDFs with PHP and Laravel image

Screenshot: Capture Images and PDFs with PHP and Laravel

Read article
Reset Sticky Database Connections Between Laravel Queue Jobs image

Reset Sticky Database Connections Between Laravel Queue Jobs

Read article
PHP Security Releases Fix Two Critical RCE Vulnerabilities image

PHP Security Releases Fix Two Critical RCE Vulnerabilities

Read article
Prevent Stale Database Reads in Laravel 13.38 image

Prevent Stale Database Reads in Laravel 13.38

Read article
Critical PHP Security Release Coming Tomorrow (October 21) image

Critical PHP Security Release Coming Tomorrow (October 21)

Read article
Critical Token Guard Auth Bypass Fixed in Laravel 13.29 and 12.68 image

Critical Token Guard Auth Bypass Fixed in Laravel 13.29 and 12.68

Read article