PackageTrack
Sign in Get early access

spiral/framework

Spiral, High-Performance PHP/Go Framework

3.17.2 2.4M downloads/mo #1667 most downloaded on Packagist spiral/framework

What this package is like to depend on

Last release 18 days ago

05 Aug 2026

Ships unpredictably

gaps range from 9 days to 8 months

Most releases are documented

notes for 126 of 180 stable releases

Nothing withdrawn

no release was ever pulled

11 years old

181 releases · first in 2016

7 releases in the last 12 months

see the full history below

Release timeline

180 releases · Jan 2016 to Aug 2026
2017 2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 60 of 181
  1. 3.17.2 05 Aug 2026
    Release notes

    What's Changed

    • Bug Fixes
      • [Stempler] Encode on* attribute output as a JavaScript literal by @roxblnfk in #1299

    Full Changelog: 3.17.1...3.17.2

    Open source →
  2. 3.17.1 13 Jul 2026
    Release notes

    What's Changed

    Fixes

    • Fix session id validation and file handler path containment by @roxblnfk in #1291

    Code quality

    Full Changelog: 3.17.0...3.17.1

    Open source →
    Release notes
    • Bug Fixes
      • [spiral/session] Fix session id validation and file handler path containment (#1291)
    Open source →
  3. 3.17.0 03 Jun 2026
    Release notes

    New features

    1. Added command aliases support to #[AsCommand]

    The #[AsCommand] attribute now accepts an aliases parameter, allowing a console command to be registered and invoked under several names. The scaffolder was also updated to generate commands with aliases out of the box.

    Example Usage:

    use Spiral\Console\Attribute\AsCommand;
    
    #[AsCommand(name: 'app:user:create', aliases: ['user:new', 'user:add'])]
    final class CreateUserCommand extends Command
    {
        // ...
    }

    by @gam6itko in #1252

    Other

    • [spiral/csrf] Fixed CsrfMiddleware cookie missing the Path attribute by adding a configurable path option (default /) by @roxblnfk in #1257
    • [spiral/framework] Fixed route:list command crash on LINK/UNLINK verbs by @gam6itko in #1254
    • [spiral/pagination] Hardened Paginator limit handling and documented the component by @gam6itko in #1255

    Full Changelog: 3.16.2...3.17.0

    Open source →
    Release notes
    • New Features
      • [spiral/console] Added command aliases support to the #[AsCommand] attribute and the scaffolder (#1252)
    • Bug Fixes
      • [spiral/csrf] Fixed CsrfMiddleware cookie missing the Path attribute (#1257)
      • [spiral/framework] Fixed route:list command crash on LINK/UNLINK verbs (#1254)
      • [spiral/pagination] Hardened Paginator limit handling and documented the component (#1255)
    Open source →
  4. 3.16.2 09 Apr 2026
    Release notes

    What's Changed

    • Bug Fixes
      • [spiral/boot] Fix Bootloader::init methods sorting by @gam6itko in #1251
      • [spiral/boot] Update return type hint for Kernel::defineAppBootloaders method by @gam6itko in #1249

    Full Changelog: 3.16.1...3.16.2

    Open source →
    Release notes
    • Bug Fixes
      • [spiral/boot] Fix Bootloader::init methods sorting
      • [spiral/boot] Update return type hint for Kernel::defineAppBootloaders method
    Open source →
  5. 3.16.1 23 Feb 2026
    Release notes

    What's Changed

    Full Changelog: 3.16.0...3.16.1

    Open source →
    Release notes
    • Bug Fixes
      • [spiral/core] Fixed some exceptions constructor signatures
    Open source →
  6. 3.16.0 14 Dec 2025
    Release notes

    Highlights

    PHP Attributes for Bootloader Methods

    The most significant addition in this release is comprehensive support for PHP attributes in bootloaders, providing a modern, type-safe approach to application bootstrapping. You can now use attributes like #[SingletonMethod], #[BindMethod], #[BindScope], and priority-based lifecycle methods for cleaner and more expressive bootloader configuration.

    Container Optimization

    Major performance improvements to the container's dependency resolution with iterative scope resolution, eliminating recursive overhead and reducing exception handling for faster dependency injection.

    Modern PHP Tooling

    Full support for PHP 8.4, Psalm v6, Symfony Console 8, and migration to PHPUnit attributes for a modern development experience.


    Features

    PHP Attributes for Bootloader Methods

    This major feature adds PHP attributes for configuring bootloaders, providing a more expressive and type-safe approach to application bootstrapping.

    Available Attributes:

    • #[BindMethod] - Container bindings that create new instances
    • #[SingletonMethod] - Container bindings that create shared instances
    • #[InjectorMethod] - Custom injector methods
    • #[BindAlias] - Multiple aliases for bindings
    • #[BindScope] - Scoped bindings
    • #[InitMethod] - Initialization phase methods with priority control
    • #[BootMethod] - Boot phase methods with priority control

    Example:

    class DatabaseBootloader extends Bootloader
    {
        #[SingletonMethod]
        #[BindScope('http')]
        public function createConnection(): ConnectionInterface
        {
            return new Connection(...);
        }
        
        #[InitMethod(priority: 100)]
        public function registerCoreServices(Container $container): void
        {
            // Register core services first
        }
    }

    Benefits:

    • Type-safety leveraging PHP's type system
    • Clearer intent with attributes vs. method names
    • Fine-grained control over execution order
    • Modern PHP 8+ attribute syntax

    PR #1190 | Author: @butschster

    HTTP LINK and UNLINK Methods Support

    Extends HTTP method support to include LINK and UNLINK verbs as specified in RFC 2068 and RFC 5988, allowing applications to handle specialized HTTP verbs for managing relationships between resources.

    PR #1230 | Author: @gam6itko

    Mailer: Reply-To Header Support

    Adds support for the Reply-To email header in the SendIt mailer component. Email messages can now properly set and handle Reply-To headers, allowing recipients to reply to a different address than the sender.

    PR #1232 | Author: @burn1ngbear

    Mailer: Pre and Post Render Events

    Adds event hooks to the email rendering process for better extensibility:

    • Pre-render event: Triggered before email template rendering
    • Post-render event: Triggered after email template rendering

    This allows modification of email content before rendering and enables logging, validation, or transformation after rendering.

    PR #1233 | Author: @burn1ngbear

    Reactor: Constant Type Management

    Adds missing methods to the Reactor component for working with constant types, improving the code generation capabilities when managing constant type information in generated PHP code.

    PR #1220 | Author: @butschster


    Performance

    Container Optimization

    Major performance optimization for the container's dependency resolution and scope handling:**

    • Fixed Invoker::invoke() to avoid unnecessary class instantiation when calling static functions
    • Added internal Container Actor service for improved service management
    • Refactored Tracer to create new instances for each separated Container operation
    • Improved resolving traces in container exceptions for better debugging
    • Optimized scope resolution to use iterative loop instead of recursive Factory::make() calls

    The iterative scope resolution eliminates recursive overhead and reduces exception handling, resulting in significantly faster dependency resolution.

    PR #1221 | Author: @roxblnfk

    Queue: Optimize Telemetry Span Names

    Optimizes telemetry trace naming for queue job processing by removing job IDs from span names. This reduces cardinality and allows proper grouping of traces by job type in observability tools, resulting in better trace aggregation, easier performance pattern identification, and reduced storage overhead.

    PR #1215 | Author: @rauanmayemir


    🐛 Bug Fixes

    Router: Fix Group Prefix Application

    Fixes a bug where route group prefixes were not being automatically applied to routes in the group. Previously, developers had to manually include the prefix in each route path or add it explicitly, which was counter-intuitive. Now group prefixes are automatically applied to all routes in the group as expected.

    PR #1219 | Author: @butschster | Closes: #1217

    Telemetry: Fix Trace Context Propagation

    Critical bug fix for the telemetry component that was preventing trace context from being added to log records. The tracer was not using the scoped proxy container, resulting in empty trace context. Fixed by ensuring TelemetryProcessor uses the scoped container properly.

    PR #1212 | Author: @rauanmayemir

    Telemetry: Bind TracerInterface as Singleton

    Fixes an issue where TracerInterface was overwriting trace context every time it was accessed, causing traces to be lost frequently. The solution binds current TracerInterface as singleton for consistent trace context within request scope and fixes scope handling in AbstractTracer::runScope method.

    Benefits:

    • Reliable access to trace context during request scope
    • Improved integration with Monolog telemetry processor
    • Prevents trace context loss during request processing

    PR #1214 | Author: @rauanmayemir

    Core: Fix static Return Type in Proxy Generator

    Fixes a critical bug in the proxy class generator that caused failures when proxying interfaces with static return types. The generator now properly handles static return type, preventing failures in dependency injection and scoped bindings. Also adds resolving trace to resolver exceptions for better debugging.

    PR #1222 | Author: @roxblnfk

    Console: Fix Symfony Console 7.4+ Deprecation

    Fixes deprecation warnings when using Symfony Console 7.4+ and adds support for Symfony 8. Replaced deprecated add() method with addCommand() for Symfony 7.4+ while maintaining backward compatibility with Symfony 6.4. Updated version constraints to ^6.4.17 || ^7.2 || ^8.0.

    PR #1240 | Author: @gam6itko

    Queue: Fix Return Type Annotation

    Corrects the return type annotation for the getDelay() method to match actual behavior and improve static analysis accuracy.

    PR #1238 | Author: @roxblnfk


    🔧 Improvements

    PHP 8.4 and Psalm v6 Support

    • Upgraded to Psalm v6 for static analysis
    • Updated Prototype component to use nikic/php-parser v5
    • Added PHP 8.4 to CI pipeline
    • Fixed Psalm and Rector issues

    PR #1205 | Author: @msmakouz

    General Maintenance

    General maintenance update including dependency updates, code cleanup, and minor improvements across the framework.

    PR #1236 | Author: @roxblnfk


    📦 Full Changelog

    Full Changelog: 3.15.0...3.16.0


    🙏 Thanks

    A huge thank you to all contributors who made this release possible:

    Open source →
  7. 3.15.8 22 Apr 2025
    Release notes

    What's Changed

    • Hotfixes by @roxblnfk in #1226
      • Fixed SpanInterface singleton rebinding in the Telemetry component (see spiral/app#157)
      • Fixed working of Prototype in container scopes

    Full Changelog: 3.15.7...3.15.8

    Open source →
    Release notes
    • Bug Fixes
      • [spiral/telemetry] Fixed SpanInterface singleton rebinding
      • [spiral/prototype] Fixed working of Prototype in container scopes
    Open source →
  8. 3.15.7 31 Mar 2025
    Release notes

    What's Changed

    • Fixed proxy class generator failure when the proxied interface contains static return type by @roxblnfk in #1222
      Also added resolving trace to Resolver exceptions

    Full Changelog: 3.15.6...3.15.7

    Open source →
    Release notes
    • Bug Fixes
      • [spiral/core] Fixed proxy class generator failure when the proxied interface contains static return type
      • [spiral/core] Added resolving trace to Resolver exceptions
    Open source →
  9. 3.15.6 29 Mar 2025
    Release notes

    What's Changed

    • Optimize container and fix invoker by @roxblnfk in #1221
      • Invoker::invoke() does not try to instantiate class to call a static function
      • Added an internal Container Actor service
      • Remove Tracer from services. Now a new one might be created for a separated Container operation
      • Reworked resolving traces in container exceptions

    Full Changelog: 3.15.5...3.15.6

    Open source →
    Release notes
    • Bug Fixes
      • [spiral/core] Invoker::invoke() does not try to instantiate class to call a static function.
      • [spiral/core] Reworked resolving traces in container exceptions
    Open source →
  10. 3.15.5 12 Mar 2025
    Release notes
    • Bug Fixes
      • [spiral/router] Fix issue when group prefix is not applied to routes
    Open source →
  11. 3.15.4 17 Feb 2025
    Release notes
    • Bug Fixes
      • [spiral/telemetry] Removed ID from a Queue consumed job span It allows proper grouping of traces by job name
    Open source →
  12. 3.15.3 11 Feb 2025
    Release notes
    • Bug Fixes
      • [spiral/telemetry] Fixed scoped TracerInterface in the AbstractTracer::runScope method
    • \Spiral\Core\Scope is public now
    Open source →
  13. 3.15.2 10 Feb 2025
    Release notes
    • Bug Fixes
      • [spiral/telemetry] Telemetry info was not propagated into log records
    Open source →
  14. 3.15.1 31 Jan 2025
    Release notes
    • Maintenance:
      • Bumped up dependencies versions
      • [spiral/prototype] component now uses nikic/php-parser v5
    Open source →
  15. 3.15.0 24 Jan 2025
    Release notes
    • Core
      • AppEnvironment enum: added aliases for production and test environments by @roxblnfk.
      • Added a new option in the container to control default behavior when rebinding singletons. In the future, the container will be stricter by default, so it's recommended to set allowSingletonsRebinding to false right away.
      • Fixed resolving of scoped Autowire objects.
    • Cache
      • Added events that are dispatched before cache operations like KeyWriting, CacheRetrieving, KeyDeleting and failed operations like KeyWriteFailed, KeyDeleteFailed.
      • Optimized operations with multiple cache records.
      • Added an ability to set custom cache storage.
    • Router
      • The ServerRequestInterface object is now passed into the call context of interceptors
      • Added a new middleware pipeline LazyPipeline. The pipeline resolves middleware from the container right before execution to avoid ignoring container scopes.
      • \Spiral\Http\Pipeline is deprecated now.
      • Added strict mode for UriHandler. Strict mode ensures all required URI segments are validated. If any are missing, an exception is thrown.
    • Telemetry
      • AbstractTracer::runScope() method does not open a container scope anymore.
      • Spans are no longer created for each Middleware: the pipeline fills the list with called middlewares in one span. The number of pipelines equals the number of spans.
      • The http.response_content_length field is no longer filled.
    Open source →
  16. 3.14.10 22 Jan 2025
    Release notes
    • Bug Fixes
      • [spiral/telemetry] Improve types for SpanInterface
      • [spiral/stempler] Fix parsing of @ inside a string that is not a directive
    Open source →
  17. 3.14.9 07 Jan 2025
    Release notes
    • Bug Fixes
      • [spiral/core] Define Auth* middleware in http scope
      • [spiral/auth-http] Fixed injectors binding via Binder::bind method
      • [spiral/telemetry] Fixed returning type in TelemetryProcessor for Monolog
      • [spiral/stempler] Fixed directory import in stempler component
    Open source →
  18. 3.14.8 11 Dec 2024
    Release notes
    • Definitions of nullable parameters have been fixed according to PHP 8.4 deprecations.
    • ArrayStorage::setMultiple() now returns true instead of false.
    Open source →
  19. 3.14.7 25 Nov 2024
    Release notes
    • Bug Fixes
      • [spiral/auth] Fixed configuration replacement for auth in HttpAuthBootloader
      • [spiral/http] Fixed Server Request binding for root services
    Open source →
  20. 3.14.6 22 Oct 2024
    Release notes
    • Bug Fixes
      • [spiral/core] ServerRequestInterface is always resolved into a Proxy in the http scope
      • [spiral/cache] EventDispatcher is now injected into CacheManager
    Open source →
  21. 3.14.5 30 Sep 2024

    Nothing published for this version

  22. 3.14.4 23 Sep 2024
    Release notes
    • Bug Fixes
      • [spiral/router] Router now uses proxied container to create middlewares in a right scope.
      • [spiral/router] Better binding for the interceptor handler.
      • DebugBootloader now uses a Factory Proxy to resolve collectors. Unresolved collectors don't break state populating flow.
    Open source →
  23. 3.14.3 11 Sep 2024
    Release notes
    • Bug Fixes
      • [spiral/core] Improved introspecting of Container when a Container Proxy is provided into the Introspector.
      • [spiral/http] Improved exception message when Input Manager can't get a Request in because of wrong scope.
      • GuardScope has been deprecated. Use GuardInterface directly instead.
    Open source →
  24. 3.14.2 10 Sep 2024
    Release notes
    • Bug Fixes
      • [spiral/core] Added a proxy recursion detection a dependency on resolving: a RecursiveProxyException will be thrown in this case.
      • [spiral/boot] Fixed concurrent writing and reading cached data on workers boot.
    • Increased code quality by Rector.
    Open source →
  25. 3.14.1 04 Sep 2024
    Release notes
    • Bug Fixes
      • [spiral/router] Fixed fallback interceptors handler in AbstractTarget.
    • Increased code quality by Rector.
    Open source →
  26. 3.13.1 13 Jul 2026
    Release notes

    What was changed

    • [spiral/session] Fix session id validation and file handler path containment (#1291)

    Full Changelog: 3.13.0...3.13.1

    Open source →
  27. 3.13.0 22 May 2024
    Release notes
    • Other Features
      • [spiral/queue] Added Spiral\Queue\TaskInterface and Spiral\Queue\Task which will contain all the necessary data for job processing.
    Open source →
  28. 3.12.0 29 Feb 2024
    Release notes
    • Medium Impact Changes
      • [spiral/core] Interface Spiral\Core\Container\SingletonInterface is deprecated, use Spiral\Core\Attribute\Singleton instead. Will be removed in v4.0.
    • Other Features
      • Added Spiral\Scaffolder\Command\InfoCommand console command for getting information about available scaffolder commands.
      • [spiral/core] Added the ability to bind the interface as a proxy via Spiral\Core\Config\Proxy or Spiral\Core\Config\DeprecationProxy.
      • [spiral/core] Added the ability to configure the container using Spiral\Core\Options. Added option checkScope to enable scope checking.
    Open source →
  29. 3.11.1 29 Dec 2023
    Release notes
    • Bug Fixes
      • [spiral/tokenizer] Fixed finalize for listeners
    • Other Features
      • Added Tokenizer Listeners to the Spiral\Command\Tokenizer\InfoCommand console command.
      • Added Spiral\Command\Tokenizer\ValidateCommand console command for validating Tokenizer listeners.
    Open source →
  30. 3.11.0 21 Dec 2023
    Release notes
    • Other Features
      • The Spiral\Debug\Config\DebugConfig has been added for easy addition of tags and collectors.
      • [spiral/console] The ability to use enum as an option in a console command when configuring it with attributes has been added.
    Open source →
  31. 3.10.1 12 Dec 2023

    Nothing published for this version

  32. 3.10.0 24 Nov 2023
    Release notes
    • Other Features
      • [spiral/boot] Added Spiral\Boot\Bootloader\BootloaderRegistryInterface and Spiral\Boot\Bootloader\BootloaderRegistry to allow for easier management of bootloaders.
    Open source →
  33. 3.9.1 24 Oct 2023

    Nothing published for this version

  34. 3.9.0 19 Oct 2023
    Release notes
    • Other Features
      • [spiral/queue] Added Spiral\Queue\Interceptor\Consume\RetryPolicyInterceptor to enable automatic job retries with a configurable retry policy.
      • [spiral/monolog-bridge] Added the ability to configure the Monolog messages format via environment variable MONOLOG_FORMAT.
      • [spiral/translator] Added the ability to register additional locales directories.
      • [spiral/prototype] Added console command Spiral\Prototype\Command\ListCommand for listing prototype dependencies.
    Open source →
  35. 3.8.4 08 Sep 2023
    Release notes
    • Bug Fixes
      • [spiral/storage] Fixed visibility in the Storage configuration
      • [spiral/tokenizer] Improved Tokenizer Info console command
      • [spiral/debug] Assigning null instead of using unset in the reset method
      • [spiral/core] Added checking hasInstance in the parent scope
    Open source →
  36. 3.8.3 29 Aug 2023
    Release notes
    • Bug Fixes
      • [spiral/core] Fixed with checking singletons in the hasInstance method
    Open source →
  37. 3.8.2 18 Aug 2023
    Release notes
    • Bug Fixes
      • [spiral/core] Adding force parameter to the bindSingleton method
    Open source →
  38. 3.8.1 16 Aug 2023
    Release notes
    • Bug Fixes
      • [spiral/events] Fixed Event Dispatcher rebinding
      • [spiral/router] Fixed incorrect Concatenation of Route Pattern with Prefix in Route Group
      • [spiral/boot] Fixed loading ENV variables from dotenv in Kernel System section
    • Other Features
      • [spiral/attributes] Added the ability to configure the Attributes cache or disable the cache
    Open source →
  39. 3.8.0 14 Aug 2023
    Release notes
    • Medium Impact Changes
      • [spiral/core] Migration a significant portion of the internal operations from runtime to configuration time.
      • [spiral/core] Replaced the previous array-based structure that was utilized to store information about bindings within the container. The new approach involves the utilization of Data Transfer Objects (DTOs).
      • [spiral/core] Added a new container scope interface Spiral\Core\ContainerScopeInterface that can be used to run code withing isolated IoC scope.
      • [spiral/scaffolder] Method baseDirectory of Spiral\Scaffolder\Config\ScaffolderConfig class is deprecated.
    • Other Features
      • [spiral/tokenizer] Added the ability to look for interfaces and enums.
      • [spiral/tokenizer] Added tokenizer:info console command
      • [spiral/prototype] Added PHP 8.1 support for prototype injector
      • [spiral/auth] Added Spiral\Auth\TokenStorageScope, this class can be used to get the concrete implementation of the token storage in a current container scope.
      • [spiral/auth-http] Added a Spiral\Auth\TokenStorageInterface binding in the Spiral\Auth\Middleware\AuthMiddleware with the used TokenStorage.
      • [spiral/filters] Added Spiral\Filters\Model\Mapper\Mapper that sets values for filter properties. It utilizes a collection of casters, each designed to handle a specific type of value.
      • [spiral/filters]
      • [spiral/scaffolder] Added new public method declarationDirectory to the Spiral\Scaffolder\Config\ScaffolderConfig class that returns the directory path of the specified declaration, or default directory path if not specified.
      • [spiral/attributes] Added the ability to disable annotations reader support and the ability to replace instantiator for attributes reader
      • Added support psr/http-message v2
      • Added PHPUnit 10 support
    • Bug Fixes
      • [spiral/paginator] Fixed problem when paginator doesn't calculate countPages correctly in constructor
      • [spiral/router] Fixed issue with default parameter values
      • [spiral/auth-http] Setting default transport in AuthTransportMiddleware
      • [spiral/filters] Fixed nullable Nested Filters
    Open source →
  40. 3.7.1 21 Apr 2023
    Release notes
    • Bug Fixes
      • [spiral/filters] Fixed InputScope to allow retrieval of non-bag input sources
      • [spiral/pagination] Fixed problem when paginator doesn't calculate countPages correctly in constructor
    Open source →
  41. 3.7.0 13 Apr 2023
    Release notes
    • Medium Impact Changes
      • [spiral/queue] Added the ability to use mixed types as job payload.
    • Bug Fixes
      • [spiral/scaffolder] Fixed the problem with redefined command types.
      • [spiral/console] Fixed the problem with commands description with signature definition.
      • [spiral/tokenizer] Fixed the problem with using named parameters in class located by a tokenizer.
      • [spiral/telemetry] Fixed LogTracer elapsed time log.
    • Other Features
      • [spiral/console] Added the ability to guess option mode, unless it is explicitly passed in the Spiral\Console\Attribute\Option attribute.
      • Updated psalm version to 5.0.
      • Added support doctrine/annotations 2.x
    Open source →
  42. 3.6.1 20 Feb 2023
    Release notes
    • Bug Fixes
      • [spiral/scaffolder] Fixed the problem with namespace option in some scaffolder commands.
    Open source →
  43. 3.6.0 16 Feb 2023
    Release notes
    • High Impact Changes
      • [spiral/tokenizer] Added the ability to cache tokenizer listeners.
      • [spiral/core] Container with isolated memory scopes.
    • Medium Impact Changes
      • A minimal version of symfony/console increased to ^6.1.
    • Other Features
      • [spiral/core] Added container Singleton attribute to replace Spiral\Core\SingletonInterface.
      • [spiral/console] Added the ability to configure console commands via attributes.
      • [spiral/console] Added the ability to prompt for missing required arguments.
      • [spiral/scaffolder] Added the ability to specify a custom namespace in the Spiral\Scaffolder\Command\BootloaderCommand, Spiral\Scaffolder\Command\CommandCommand, Spiral\Scaffolder\Command\ConfigCommand, Spiral\Scaffolder\Command\ControllerCommand, Spiral\Scaffolder\Command\JobHandlerCommand, Spiral\Scaffolder\Command\MiddlewareCommand console commands.
      • [spiral/cache] Added the ability to configure the prefix in the storage alias.
      • Added defineInterceptors method in Spiral\Bootloader\DomainBootloader class.
      • [spiral/filter] Makes Setter attribute for the spiral/filters component repeatable.
      • [spiral/sendit] Adds custom transports registrar for SendIt component.
    • Bug Fixes
      • [spiral/filters] Fixed problem with validation nested filters.
      • [spiral/core] Fixed infinite recursion on using for class name binding to the same class name.
      • [spiral/queue] Removing the QueueInterface binding as a singleton.
      • [spiral/core] Fixed the problem with singleton objects creation with custom arguments.
    Open source →
  44. 3.5.0 23 Dec 2022
    Release notes
    • Medium Impact Changes
      • [spiral/reactor] Method removeClass of Spiral\Reactor\Partial\PhpNamespace class is deprecated. Use method removeElement instead.
      • [spiral/boot] Deprecated Kernel constants and add new function defineSystemBootloaders to allow for more flexibility in defining system bootloaders.
    • Other Features
      • [spiral/router] Added named route patterns registry Spiral\Router\Registry\RoutePatternRegistryInterface to allow for easier management of route patterns.
      • [spiral/exceptions] Improved the exception trace output for both the plain and console renderers to provide more detailed information about previous exceptions.
      • [spiral/exceptions] Made the Verbosity enum injectable to allow for easier customization and management of verbosity levels from env variable VERBOSITY_LEVEL.
      • [spiral/reactor] Added methods removeElement, getClass, getElements, getEnum, getEnums, getTrait, getTraits, getInterface, getInterfaces in the class Spiral\Reactor\Partial\PhpNamespace.
      • [spiral/reactor] Added methods getElements, getEnum, getEnums, getTrait, getTraits, getInterface, getInterfaces in the class Spiral\Reactor\FileDeclaration.
    Open source →
  45. 3.4.0 08 Dec 2022
    Release notes
    • Medium Impact Changes
      • [spiral/boot] Class Spiral\Boot\BootloadManager\BootloadManager is deprecated. Will be removed in version v4.0.
      • [spiral/stempler] Adds null locale processor to remove brackets [[ ... ]] when don't use Translator component.
    • Other Features
      • [spiral/session] Added session handle with cache driver.
      • [spiral/router] Added routes with PATCH method into route:list command.
      • [spiral/boot] Added Spiral\Boot\BootloadManager\InitializerInterface. This will allow changing the implementation of this interface by the developer.
      • [spiral/boot] Added Spiral\Boot\BootloadManager\StrategyBasedBootloadManager. It allows the implementation of a custom bootloaders loading strategy.
      • [spiral/boot] Added the ability to register application bootloaders via object instance or anonymous object.
      • [spiral/boot] Removed final from the Spiral\Boot\BootloadManager\Initializer class.
    • Bug Fixes
      • [spiral/views] Fixed problem with using view context with default value.
      • [spiral/queue] Added Spiral\Telemetry\Bootloader\TelemetryBootloader dependency to QueueBootloader.
      • [spiral/core] (PHP 8.2 support) Fixed problem with dynamic properties in Spiral\Core\Container.
    Open source →
  46. 3.3.0 17 Nov 2022
    Release notes
    • High Impact Changes
      • [spiral/router] Added the ability to add a prefix to the name of all routes in a group.
      • [spiral/auth] Added Spiral\Auth\TokenStorageProviderInterface to allow custom token storages and an ability to set default token storage via auth config.
      • [spiral/telemetry] Added new component to collect and report application metrics.
    • Medium Impact Changes
      • Removed go files from the repository
    • Other Features
      • [spiral/auth-http] Added Spiral\Auth\Middleware\Firewall\RedirectFirewall middleware to redirect user to login page if they are not authenticated.
    • Bug Fixes
      • [spiral/http] Fixed error suppressing in the Spiral\Http\Middleware\ErrorHandlerMiddleware
      • [spiral/stempler] Fixed documentation link
      • [spiral/auth] Fixed downloads badge
    Open source →
  47. 3.2.0 21 Oct 2022
    Release notes
    • High Impact Changes
    • Medium Impact Changes
    • Other Features
      • [spiral/queue] Added the ability to pass headers in the headers parameter in the job handlers.
      • [spiral/telemetry] Added new component
      • [spiral/queue] Added new option headers in the Spiral\Queue\Options and new interface Spiral\Queue\ExtendedOptionsInterface.
      • [spiral/events] Added event interceptors.
      • [spiral/core] Added container instance to callback function parameters in Spiral\Core\Container and Spiral\Core\ContainerScope.
      • [spiral/core] Improved ContainerException message
    • Bug Fixes
      • [spiral/queue] Fixed problem with using push interceptors in Queue component
    Open source →
  48. 3.1.0 29 Sep 2022
    Release notes
    • Other Features
      • [spiral/filters] Added Spiral\Filter\ValidationHandlerMiddleware for handling filter validation exception.
      • [spiral/router] Fixed the problem with parsing a pattern with 0 value in route parameter.
      • [spiral/validation] Added the ability to configure the default validator via method setDefaultValidator in the Spiral\Validation\Bootloader\ValidationBootloader.
    Open source →
  49. 3.0.2 29 Sep 2022
    Release notes
    • Bug Fixes
      • Removed readonly from Spiral\Stempler\Transform\Import\Bundle
      • Fixed the problem with parsing a route pattern with zero value #773
      • Fixed phpdoc for AuthorizationStatus::$topics property
    Open source →
  50. 3.0.1 16 Sep 2022

    Nothing published for this version

  51. 3.0.0 13 Sep 2022
    Release notes
    • High Impact Changes
      • Component spiral/data-grid-bridge is removed from spiral/framework repository. Please, use standalone package spiral/data-grid-bridge instead.
      • Component spiral/data-grid is removed from spiral/framework repository. Please, use standalone package spiral/data-grid instead.
      • Spiral\Boot\ExceptionHandler has been eliminated. New Spiral\Exceptions\ExceptionHandler with interfaces Spiral\Exceptions\ExceptionHandlerInterface, Spiral\Exceptions\ExceptionRendererInterface and Spiral\Exceptions\ExceptionReporterInterface have been added.
      • Console commands Spiral\Command\Cycle\MigrateCommand, Spiral\Command\Cycle\SyncCommand, Spiral\Command\Cycle\UpdateCommand, Spiral\Scaffolder\Command\MigrationCommand, Spiral\Scaffolder\Command\Database\EntityCommand, Spiral\Scaffolder\Command\Database\RepositoryCommand, Spiral\Command\Database\ListCommand, Spiral\Command\Database\TableCommand, Spiral\Command\Migrate\InitCommand, Spiral\Command\Migrate\MigrateCommand, Spiral\Command\Migrate\ReplayCommand, Spiral\Command\Migrate\RollbackCommand, Spiral\Command\Migrate\StatusCommand is removed. Use same console commands from spiral/cycle-bridge package.
      • Console commands Spiral\Command\GRPC\ListCommand, Spiral\Command\GRPC\GenerateCommand is removed. Use same console commands from spiral/roadrunner-bridge package.
      • Classes Spiral\Auth\Cycle\Token, Spiral\Auth\Cycle\TokenStorage, Spiral\Cycle\RepositoryInjector, Spiral\Cycle\SchemaCompiler, Spiral\Domain\CycleInterceptor is removed. Use same classes from spiral/cycle-bridge instead.
      • Bootloaders Spiral\Bootloader\Jobs\JobsBootloader, Spiral\Bootloader\Server\LegacyRoadRunnerBootloader, Spiral\Bootloader\Server\RoadRunnerBootloader, Spiral\Bootloader\ServerBootloader, Spiral\Bootloader\GRPC\GRPCBootloader is removed. Use spiral/roadrunner-bridge package.
      • Bootloaders Spiral\Bootloader\Cycle\AnnotatedBootloader, Spiral\Bootloader\Cycle\CycleBootloader, Spiral\Bootloader\Cycle\ProxiesBootloader, Spiral\Bootloader\Cycle\SchemaBootloader, Spiral\Bootloader\Database\DatabaseBootloader, Spiral\Bootloader\Database\DisconnectsBootloader, Spiral\Bootloader\Database\MigrationsBootloader is removed. Use spiral/cycle-bridge package.
      • Bootloader Spiral\Bootloader\Broadcast\BroadcastBootloader is removed. Use spiral/roadrunner-broadcast package instead.
      • Bootloader Spiral\Bootloader\Http\WebsocketsBootloader is removed.
      • Component spiral/annotations is removed. Use spiral/attributes instead.
      • Added return type void to a methods publish, publishDirectory, ensureDirectory in Spiral\Module\PublisherInterface interface.
      • Removed Spiral\Http\SapiDispatcher and Spiral\Http\Emitter\SapiEmitter. Please, use package spiral/sapi-bridge instead.
      • Bootloader Spiral\Bootloader\Http\DiactorosBootloader is removed. You can use the bootloader Spiral\Nyholm\Bootloader\NyholmBootloader from the package spiral/nyholm-bridge to register PSR-7/PSR-17 factories.
      Classes Spiral\Http\Diactoros\ResponseFactory, Spiral\Http\Diactoros\ServerRequestFactory, Spiral\Http\Diactoros\StreamFactory, Spiral\Http\Diactoros\UploadedFileFactory, Spiral\Http\Diactoros\UriFactory are removed. You can use spiral/nyholm-bridge to define PSR-17 factories.
      • [spiral/exceptions] All handlers have been renamed into renderers. HandlerInterface has been deleted.
      • [spiral/exceptions] Added Spiral\Exceptions\Verbosity enum.
      • [spiral/router] Removed deprecated method addRoute in the Spiral\Router\RouterInterface and Spiral\Router\Router. Use method setRoute instead.
      • [spiral/validation] Spiral\Validation\Checker\EntityChecker is removed. Use Spiral\Cycle\Bootloader\ValidationBootloader with Spiral\Cycle\Validation\EntityChecker from package spiral/cycle-bridge
      • [spiral/validation] Removed deprecated methods datetime and timezone in the Spiral\Validation\Checker\TypeChecker class. Use Spiral\Validation\Checker\DatetimeChecker::valid() and Spiral\Validation\Checker\DatetimeChecker::timezone() instead.
      • [spiral/validation] Added return type array|callable|string to the method parseCheck in Spiral\Validation\ParserInterface interface.
      • [spiral/validation] Added array|string|\Closure parameter type of $rules to the method getRules in Spiral\Validation\RulesInterface interface.
      • [spiral/validation] Added array|\ArrayAccess parameter type of $data to the method validate in Spiral\Validation\ValidationInterface interface.
      • [spiral/validation] Added return type mixed to the method getValue, added mixed parameter type of $default to the method getValue, added mixed parameter type of $context to the method withContext, added return type mixed to the method getContext in Spiral\Validation\ValidatorInterface interface.
      • [spiral/filters] Added return type void and mixed parameter type of $context to the method setContext, added return type mixed to the method getContext in Spiral\Filters\FilterInterface interface. Added return type mixed to the method getValue in Spiral\Filters\InputInterface.
      • [spiral/dumper] The Dumper Component has been removed from the Framework.
      • [spiral/http] Config Spiral\Config\JsonPayloadConfig moved to the Spiral\Bootloader\Http\JsonPayloadConfig.
      • [spiral/reactor] Added return type mixed and array|string parameter type of $search, array|string parameter type of $replace to the method replace in Spiral\Reactor\ReplaceableInterface.
      • [spiral/session] Added return type void to the method resume in Spiral\Session\SessionInterface.
      • [spiral/session] Added return type self and mixed parameter type of $value to the method set in Spiral\Session\SessionSectionInterface.
      • [spiral/session] Added return type bool to the method has in Spiral\Session\SessionSectionInterface.
      • [spiral/session] Added return type mixed and mixed parameter type of $default to the method get in Spiral\Session\SessionSectionInterface.
      • [spiral/session] Added return type mixed and mixed parameter type of $default to the method pull in Spiral\Session\SessionSectionInterface.
      • [spiral/session] Added return type void to the method delete in Spiral\Session\SessionSectionInterface.
      • [spiral/session] Added return type void to the method clear in Spiral\Session\SessionSectionInterface.
      • [spiral/pagination] Added return type self to the method limit, added return type self to the method offset in Spiral\Pagination\PaginableInterface
      • [spiral/prototype] Parameter $printer now is not nullable in Spiral\Prototype\Injector constructor.
      • [spiral/models] Added return type self, added mixed parameter type of $value to the method setField, added return type mixed, added mixed parameter type of $default to the method getField, added return type self to the method setFields in Spiral\Models\EntityInterface.
      • [spiral/models] Added return type mixed to the method getValue in Spiral\Models\ValueInterface.
      • [spiral/logger] Added return type self to the method addListener, added return type void to the method removeListener in Spiral\Logger\ListenerRegistryInterface interface.
      • [spiral/hmvc] Added return type mixed to the method process in Spiral\Core\CoreInterceptorInterface interface.
      • [spiral/hmvc] Added return type mixed to the method callAction in Spiral\Core\CoreInterface interface.
      • [spiral/encrypter] Added return type mixed to the method decrypt in Spiral\Encrypter\EncrypterInterface interface. in Spiral\DataGrid\InputInterface interface.
      • [spiral/http] Added return type array and mixed parameter type of $filler to the method fetch, added return type mixed to the method offsetGet, added return type mixed and mixed parameter type of $default to the method get in Spiral\Http\Request\InputBag class.
      • [spiral/config] Added return type void to the method setDefaults in Spiral\Config\ConfiguratorInterface interface.
      • [spiral/core] Comprehensive code refactoring. A lot of signatures from Spiral\Core namespace has been changed. New features:
        • Added supporting for PHP 8.0 Union types.
        • Added supporting for variadic arguments:
          • array passed by parameter name.
            • with named arguments inside.
            • with positional arguments inside.
          • value passed by parameter name.
          • positional trailed values.
        • Support for default object value.
        • Added supporting for referenced parameters in Resolver.
        • The Factory now more strict: no more arguments type conversion.
        • Added the Spiral\Core\ResolverInterface::validateArguments method for arguments validation.
        • Support for WeakReference bindings.
      • [spiral/boot] Method starting renamed to booting, method started renamed to booted in the class Spiral\Boot\AbstractKernel.
      • [spiral/boot] Added return type self to the method set in Spiral\Boot\DirectoriesInterface interface.
      • [spiral/boot] Added return type mixed and mixed parameter type of $default to the method get, added in Spiral\Boot\EnvironmentInterface interface.
      • [spiral/boot] Added return type static to the method addFinalizer, added return type void to the method finalize in Spiral\Boot\FinalizerInterface interface.
      • [spiral/boot] Added return type self to the method addDispatcher, added return type mixed to the method serve in Spiral\Boot\KernelInterface interface.
      • [spiral/boot] Added exceptionHandler parameter in the Spiral\Boot\AbstractKernel::create method.
      • [spiral/boot] Spiral\Boot\AbstractKernel constructor is protected now.
      • [spiral/boot] Added return type mixed to the method loadData, added return type void and mixed parameter type of $data to the method saveData in Spiral\Boot\MemoryInterface interface.
      • [spiral/boot] In Bootloaders, the name of the method has been changed from boot to init. In the code of custom Bootloaders, need to change the name of the method.
      • [spiral/console] Added return type void to the method writeHeader, added return type void to the method execute, method whiteFooter renamed to writeFooter, added return type void to the method writeFooter in Spiral\Console\SequenceInterface interface.
      • [spiral/files] Added return type bool to the method delete, added return type bool to the method deleteDirectory, added return type bool to the method touch, added return type bool to the method setPermissions in Spiral\Files\FilesInterface.
      • [spiral/views] Added return type mixed to the method resolveValue in Spiral\Views\ContextInterface.
      • [spiral/views] Added return type mixed to the method getValue in Spiral\Views\DependencyInterface.
      • [spiral/translator] Added return type void to a methods setLocales, saveLocale in Spiral\Translator\Catalogue\CacheInterface.
      • [spiral/translator] Added return type void to the method save in Spiral\Translator\CatalogueManagerInterface.
      • [spiral/storage] Added string|\Stringable parameter type of $id to a methods getContents, getStream, exists, getLastModified, getSize, getMimeType, getVisibility in Spiral\Storage\Storage\ReadableInterface.
      • [spiral/storage] Added string|\Stringable parameter type of $id to a methods create, setVisibility, delete. Added string|\Stringable parameter type of $id and mixed parameter type of $content to the method write, added string|\Stringable parameter type of $source and $destination to a methods copy, move in Spiral\Storage\Storage\WritableInterface.
      • [spiral/stempler] Added return type mixed and mixed parameter type of $default to the method getAttribute in Spiral\Stempler\Node\AttributedInterface.
      • [spiral/stempler] Added return type mixed and mixed parameter type of $node to the method enterNode, added return type mixed and mixed parameter type of $node to the method leaveNode in Spiral\Stempler\VisitorInterface.
      • [spiral/sendit] Dropped support pipeline parameter in mailer config. Please, use the parameter queue instead.
      • [spiral/security] Added return type self to a methods addRole, removeRole in Spiral\Security\PermissionsInterface
      • [spiral/security] Added return type self to a methods set, remove in Spiral\Security\RulesInterface
      • [spiral/distribution] Bootloader Spiral\Bootloader\Distribution\DistributionBootloader moved to the Spiral\Distribution\Bootloader\DistributionBootloader, config Spiral\Bootloader\Distribution\DistributionConfig moved to the Spiral\Distribution\Config\DistributionConfig.
      • [spiral/storage] Bootloader Spiral\Bootloader\Storage\StorageBootloader moved to the Spiral\Storage\Bootloader\StorageBootloader, config Spiral\Bootloader\Storage\StorageConfig moved to the Spiral\Storage\Config\StorageConfig.
      • [spiral/validation] Bootloader Spiral\Bootloader\Security\ValidationBootloader moved to the Spiral\Validation\Bootloader\ValidationBootloader.
      • [spiral/views] Bootloader Spiral\Bootloader\Views\ViewsBootloader moved to the Spiral\Views\Bootloader\ViewsBootloader.
      • [spiral/boot] By default, overwriting of environment variable values is disabled, the default value for $overwrite changed from true to false in the Spiral\Boot\Environment.
      • [spiral/queue] Removed method pushCallable in Spiral\Queue\QueueTrait.
      • [spiral/dotenv-bridge] Bootloader Spiral\DotEnv\Bootloader\DotenvBootloader must be moved from the LOAD section to the SYSTEM section in the application App.php file.
    • Medium Impact Changes
      • A minimal version of PHP increased to ^8.1
      • A minimal version of symfony/finder increased to ^5.3
      • A minimal version of league/flysystem increased to ^2.3
      • A minimal version of symfony/console increased to ^6.0
      • Spiral\Snapshots\FileSnapshooter uses Verbosity enum instead of int flag.
      • Spiral\Snapshots\FileSnapshooter uses ExceptionRendererInterface $renderer instead of HandlerInterface $handler.
      • Spiral\Snapshots\SnapshotterInterface usage replaced with Spiral\Exceptions\ExceptionReporterInterface in all classes.
      • Removed bin/spiral. Uses the spiral/roadrunner-cli package instead.
    • Other Features
      • [spiral/queue] Added queue interceptors.
      • [spiral/debug] Added Spiral\Debug\StateConsumerInterface.
      • [spiral/boot] Added new boot method in Bootloaders. It will be executed after the init method is executed in all Bootloaders. The old boot method has been renamed to init. See High Impact Changes section.
      • [spiral/boot] Added automatic booting of Bootloaders requested in the init and boot methods. They no longer need to be specified explicitly in DEPENDENCIES property or in defineDependencies method.
      • [spiral/monolog-bridge] Added the ability to configure the default channel using the configuration file or environment variable MONOLOG_DEFAULT_CHANNEL.
      • [spiral/serializer] Added a new spiral/serializer component. Contains an interface and a minimal implementation that can be extended by external serializers.
      • [spiral/queue] Added the ability to configure serializers for different types of jobs.
      • Added class Spiral\Exceptions\Reporter\FileReporter, which implements Spiral\Exceptions\ExceptionReporterInterface and can create text files with information about an exception.
    Open source →
  52. 2.14.1 12 Sep 2022

    Nothing published for this version

  53. 2.14.0 01 Sep 2022
    Release notes
    • High Impact Changes
    • Medium Impact Changes
    • Low Impact Changes
    • Other Features
    • Bug Fixes
    Open source →
  54. 2.13.1 16 May 2022

    Nothing published for this version

  55. 2.13.0 28 Apr 2022
    Release notes
    • Medium Impact Changes
      • Dispatcher Spiral\Http\SapiDispatcher is deprecated. Will be moved to spiral/sapi-bridge and removed in v3.0
      Classes Spiral\Http\Emitter\SapiEmitter, Spiral\Http\Exception\EmitterException, Spiral\Http\EmitterInterface, Spiral\Http\SapiRequestFactory is deprecated. Will be removed in version v3.0. After the release of v3.0, must use the package spiral/sapi-bridge for SAPI functionality.
      • The dumper component is deprecated and will be removed in v3.0
    • Other Features
      • [spiral/http] Added parameter chunkSize in the http configuration file.
      • [spiral/queue] Added attribute Queueable to mark classes that can be queued. Added Spiral\Queue\QueueableDetector class to easily check if an object should be queued or not and get the queue from an attribute or getQueue method on the object.
      • [spiral/broadcasting] New component with common interfaces (RR2.0 support)
    Open source →
  56. 2.12.0 07 Apr 2022
    Release notes
    • Medium Impact Changes
      • Bootloaders Spiral\Bootloader\Broadcast\BroadcastBootloader, Spiral\Bootloader\Http\WebsocketsBootloader are deprecated. Will be removed in v3.0.
      • Console commands Spiral\Command\Database\ListCommand, Spiral\Command\Database\TableCommand, Spiral\Command\GRPC\GenerateCommand, Spiral\Command\GRPC\ListCommand, Spiral\Command\Migrate\AbstractCommand, Spiral\Command\Migrate\InitCommand, Spiral\Command\Migrate\MigrateCommand, Spiral\Command\Migrate\ReplayCommand, Spiral\Command\Migrate\RollbackCommand, Spiral\Command\Migrate\StatusCommand are deprecated. Will be removed in v3.0.
      • Classes Spiral\Broadcast\Config\WebsocketsConfig, Spiral\Broadcast\Middleware\WebsocketsMiddleware, Spiral\GRPC\Exception\CompileException, Spiral\GRPC\GRPCDispatcher, Spiral\GRPC\LocatorInterface, Spiral\GRPC\ProtoCompiler, Spiral\GRPC\ServiceLocator, Spiral\Http\LegacyRrDispatcher, Spiral\Http\RrDispatcher are deprecated. Will be removed in v3.0.
      • Changed package replacement strategy. "*" is replaced by "self.version".
      • Sapi emitter now supports streaming emitting.
      • [spiral/data-grid-bridge] Removed deprecation in classes Spiral\DataGrid\Annotation\DataGrid, Spiral\DataGrid\Bootloader\GridBootloader, Spiral\DataGrid\Config\GridConfig, Spiral\DataGrid\Interceptor\GridInterceptor, Spiral\DataGrid\Response\GridResponse, Spiral\DataGrid\Response\GridResponseInterface, Spiral\DataGrid\GridInput.
    • Other Features
      • [spiral/data-grid-bridge] Added method addWriter in Spiral\DataGrid\Bootloader\GridBootloader.
      • Extended version of psr/log dependency from ^1.0 to 1 - 3
    Open source →
  57. 2.11.0 18 Mar 2022
    Release notes
    • High Impact Changes
      • [spiral/queue] Added queue injector #592
      • [spiral/cache] Added cache injector #600
    • Medium Impact Changes
      • [spiral/tokenizer] Added ability to use scopes for indexing files with specific scopes #593
    • Other Features
      • [spiral/boot] Added ability to disable overwriting env variables for Spiral\Boot\Environment #599
      • [spiral/storage] Added storage bucket factory #601
      • [spiral/console] Added return types for interface compatibility #591
    Open source →
  58. 2.10.1 04 Mar 2022

    Nothing published for this version

  59. 2.10.0 03 Mar 2022
    Release notes
    • High Impact Changes
    • Medium Impact Changes
      • [spiral/session] Added Spiral\Session\SessionFactoryInterface. Now you can use custom implementation of sessions.
      • [spiral/scaffolder] Console commands Spiral\Scaffolder\Command\MigrationCommand, Spiral\Scaffolder\Command\Database\RepositoryCommand, Spiral\Scaffolder\Command\Database\EntityCommand is deprecated. Will be moved to spiral/cycle-bridge and removed in v3.0
      • [spiral/scaffolder] Scaffolder Spiral\Scaffolder\Declaration\MigrationDeclaration is deprecated. Will be moved to spiral/cycle-bridge and removed in v3.0
      • [spiral/attributes] Class annotations will be discovered from class traits.
      • A minimal version of PHP increased to ^7.4
    • Other Features
      • [spiral/prototype] Added queue and cache properties
      • [spiral/mailer] Added ability to set delay for messages
      • [spiral/queue] Added NullDriver
      • [spiral/mailer] Class Spiral\Mailer\Message is no longer final and is available for extension
    Open source →
  60. 2.9.1 11 Feb 2022
    Release notes
    • High Impact Changes
    • Medium Impact Changes
      • [spiral/sendit] Method getQueuePipeline of Spiral\SendIt\Config\MailerConfig class is deprecated. Use method getQueue instead. Added environment variables MAILER_QUEUE and MAILER_QUEUE_CONNECTION
    • Other Features
      • Added Symfony 6 support
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive