All Versions
37
Latest Version
Avg Release Cycle
160 days
Latest Release
373 days ago

Changelog History
Page 1

  • v3.3.0 Changes

    October 20, 2020

    3.3.0 - 2020-10-20

    โž• Added

    • ๐Ÿ‘ #13 Adds support for PHP 8

    ๐Ÿ”„ Changed

    • #8 As the NotFoundHandler is technically a request handler, we are moving it to the Handler namespace with only implementing the RequestHandlerInterface instead of the MiddlewareInterface.

    ๐Ÿ—„ Deprecated

    • ๐Ÿ—„ #8 Marking NotFoundHandler in the Middleware namespace as deprecated in favor of the new NotFoundHandler in the Handler namespace.

    ๐Ÿš€ Release Notes for 3.3.0

    3.3.0

    • Total issues resolved: 0
    • Total pull requests resolved: 2
    • Total contributors: 2

    โœจ Enhancement,hacktoberfest-accepted

    โœจ Enhancement

  • v3.2.2 Changes

    March 29, 2020

    โž• Added

    • Nothing.

    ๐Ÿ”„ Changed

    • Nothing.

    ๐Ÿ—„ Deprecated

    • Nothing.

    โœ‚ Removed

    • Nothing.

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fixed replace version constraint in composer.json so repository can be used as replacement of zendframework/zend-stratigility:^3.2.0.
  • v3.2.1 Changes

    January 07, 2020

    โž• Added

    • Nothing.

    ๐Ÿ”„ Changed

    • Nothing.

    ๐Ÿ—„ Deprecated

    • Nothing.

    โœ‚ Removed

    • Nothing.

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fixes all legacy proxying function definitions to add missing return statements.
  • v3.2.0 Changes

    June 12, 2019

    โž• Added

    • Nothing.

    ๐Ÿ”„ Changed

    • zendframework/zend-stratigility#186 adds a safeguard to middleware pipes to prevent them from being called multiple times within the same middleware. As an example, consider the following middleware:
      public function process(
          ServerRequestInterface $request,
          RequestHandlerInterface $handler
      ) : Response Interface {
          $session = $request->getAttribute('session');
          if (! $session) {
              $response = $handler->handle($request);
          }
    
          // Inject another attribute before handling
          $response = $handler->handle($request->withAttribute(
              'sessionWasEnabled',
              true
          );
          return $response;
      }
    

    When using Stratigility, the $handler is an instance of Laminas\Stratigility\Next, which encapsulates the middleware pipeline and advances through it on each call to handle().

    The example demonstrates a subtle error: the response from the first conditional should have been returned, but wasn't, which has led to invoking the handler a second time. This scenario can have unexpected behaviors, including always returning a "not found" response, or returning a response from a handler that was not supposed to execute (as an earlier middleware already returned early in the original call).

    These bugs are hard to locate, as calling handle() is a normal part of any middleware, and multiple conditional calls to it are a standard workflow.

    With this new version, Next will pass a clone of itself to the next middleware in the pipeline, and unset its own internal pipeline queue. Any subsequent requests to handle() within the same scope will therefore result in the exception Laminas\Stratigility\Exception\MiddlewarePipeNextHandlerAlreadyCalledException.

    If you depended on calling $handler->handle() multiple times in succession within middleware, we recommend that you compose the specific pipeline(s) and/or handler(s) you wish to call as class dependencies.

    ๐Ÿ—„ Deprecated

    • Nothing.

    โœ‚ Removed

    • Nothing.

    ๐Ÿ›  Fixed

    • Nothing.
  • v3.2.0.p2

    March 23, 2020
  • v3.1.0 Changes

    February 06, 2019

    โž• Added

    • zendframework/zend-stratigility#178 adds the class Laminas\Stratigility\EmptyPipelineHandler, which raises an EmptyPipelineException when it handles an incoming request. It's primary purpose is for use in the MiddlewarePipe as a fallback handler during handle() operations.

    ๐Ÿ”„ Changed

    • ๐ŸŽ zendframework/zend-stratigility#178 provides some performance improvements to MiddlewarePipe::handle() by having it create an instance of EmptyPipelineHandler to use as a fallback handler when it calls process() on itself. This prevents cloning of the pipeline in this scenario, which is used when it acts as an application entrypoint.

    • ๐Ÿšš zendframework/zend-stratigility#185 removes the "final" declaration from the ErrorHandler class, to allow more easily mocking it for testing.

    ๐Ÿ—„ Deprecated

    • Nothing.

    โœ‚ Removed

    • Nothing.

    ๐Ÿ›  Fixed

    • Nothing.
  • v3.1.0.p2

    March 23, 2020
  • v3.0.3 Changes

    February 06, 2019

    โž• Added

    ๐Ÿ”„ Changed

    • Nothing.

    ๐Ÿ—„ Deprecated

    • Nothing.

    โœ‚ Removed

    • Nothing.

    ๐Ÿ›  Fixed

    • Nothing.
  • v3.0.3.p2

    March 23, 2020
  • v3.0.2 Changes

    July 24, 2018

    โž• Added

    • Nothing.

    ๐Ÿ”„ Changed

    • Nothing.

    ๐Ÿ—„ Deprecated

    • Nothing.

    โœ‚ Removed

    ๐Ÿ›  Fixed

    • Nothing.