Hi! Long time since the last major.
In this release I'm dropping support for PHP 7.x and 8.0 — minimum PHP is now 8.1. Monolog 2 is also dropped — minimum is now ^3.0. The handler's write() now takes Monolog\LogRecord instead of an array, and Monolog\Logger::DEBUG (and other) constants are replaced with the Monolog\Level enum (Level::Debug, etc.).
The 9 existing constructor parameters keep their order, names, and defaults — existing Symfony positional arguments: lists and Laravel with/handler_with configs continue to work after the platform upgrades above.
New optional 10th constructor argument $createStream (default true). Set to false when the stream is provisioned out of band (e.g. via Terraform) to skip DescribeLogStreams + CreateLogStream and drop the matching IAM permissions.
Internals: full type coverage (constructor promotion + readonly), PSR-2 → PSR-12, PHPUnit upgraded to ^10.5 || ^11.0, phpstan level 8 added to CI, aws/aws-sdk-php constraint loosened to ^3.0.
Full migration notes: CHANGELOG and the "Migrating from 2.x to 3.x" section in the README.
Thanks to everyone who reported issues and submitted PRs.
Happy logging!