v3.9.0 #1008
butschster
started this conversation in
General
v3.9.0
#1008
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Improvements
1. Added
RetryPolicyInterceptorfor Queue componentAdded
Spiral\Queue\Interceptor\Consume\RetryPolicyInterceptorto enable automatic job retries with a configurable retry policy. To use it, need to add theSpiral\Queue\Attribute\RetryPolicyattribute to the job class:Create an exception that implements interface
Spiral\Queue\Exception\RetryableExceptionInterface:The exception must implement the two methods isRetryable and getRetryPolicy. These methods can override the retry behavior and cancel the re-queue- or change the retry policy.
If a
RetryExceptionis thrown while a job runs, the job will be re-queued according to the retry policy.Pull request: #980 by @msmakouz
2. Added the ability to configure serializer and job type for Queue component via attributes
Added ability to configure serializer and job type using attributes.
use App\Domain\User\Entity\User; use Spiral\Queue\Attribute\Serializer; use Spiral\Queue\Attribute\JobHandler as Handler; use Spiral\Queue\JobHandler; #[Handler('ping')] #[Serializer('marshaller-json')] final class Ping extends JobHandler { public function invoke(User $payload): void { // ... } }Pull request: #990 by @msmakouz
3. Added the ability to configure the Monolog messages format
Now you can configure the Monolog messages format via environment variable
MONOLOG_FORMAT.Pull request: #994 by @msmakouz
4. Added the ability to register additional translation directories
Now you can register additional directories with translation files for the Translator component. This can be useful when developing additional packages for the Spiral Framework, where the package may provide translation files (for example, validators). Translation files in an application can override translations from additional directories.
A directory with translations can be registered via the
Spiral\Bootloader\I18nBootloaderbootloader ortranslator.phpconfiguration file.Via I18nBootloader bootloader
Via configuration file
Pull request: #996 by @msmakouz
5. Added the ability to store snapshots using
StoragecomponentHave you ever faced challenges in storing your app's exception snapshots when working with stateless applications? We've got some good news. With our latest update, we've made it super easy for you.
By integrating with the
spiral/storagecomponent, we're giving your stateless apps the power to save exception snapshots straight into S3.Why is this awesome for you?
How to use:
Spiral\Bootloader\SnapshotsBootloaderwithSpiral\Bootloader\StorageSnapshotsBootloader.SNAPSHOTS_BUCKETenvironment variable.app/src/Application/Bootloader/ExceptionHandlerBootloader.phpto replace the exception reporterSpiral\Exceptions\Reporter\FileReporterwithSpiral\Exceptions\Reporter\StorageReporterin thebootmethod (an example for a default installation of spiral/app).Pull request: #986 by @msmakouz
6. Introduced new
prototype:listconsole command for listing prototype dependenciesThe
prototype:listcommand is a super cool addition to our Spiral Framework. It helps developers by providing an easy way to list all the classes registered in theSpiral\Prototype\PrototypeRegistry. These registered classes are essential for project prototyping.How to Use It
Using the command is simple. Just run the following line in your terminal:
Once you do that, you'll get a neat table that displays all the registered prototypes, including their names and target classes. This makes it incredibly easy to see what's available for your project prototyping needs.
Why It Matters
This new feature enhances developer productivity and ensures that we're making the most of the Spiral Framework's capabilities. It provides clarity on available prototypes, which can be crucial when building and extending our projects.
Pull request: #1003 by @msmakouz
Other changes
arraytomixedby @msmakouz in [spiral/scaffolder] Changing job payload type fromarraytomixed#992bubbleastrueby default in logRotate method by @msmakouz in [spiral/monolog-bridge] Setbubbleastrueby default in logRotate method #997Bug fixes
Full Changelog: 3.8.4...3.9.0
This discussion was created from the release v3.9.0.
Beta Was this translation helpful? Give feedback.
All reactions