Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laminas Diactoros Laravel Package

laminas/laminas-diactoros

PSR-7 HTTP message implementation (ServerRequest, Request, Response, Stream, UploadedFile, Uri) for PHP. Includes factories and utilities for creating and normalizing requests/responses, with strong type coverage and interoperability with PSR-17/PSR-15.

View on GitHub
Deep Wiki
Context7
3.8.0

Release Notes for 3.8.0

Feature release (minor)

3.8.0

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

Enhancement

3.7.0

Release Notes for 3.7.0

Feature release (minor)

3.7.0

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

BC Break,Bug,renovate

renovate

3.6.0

Release Notes for 3.6.0

Feature release (minor)

3.6.0

  • Total issues resolved: 0
  • Total pull requests resolved: 5
  • Total contributors: 4

Bug

Bug,Documentation

Enhancement

Dependencies

3.5.0

Release Notes for 3.5.0

3.5.0

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

Enhancement

3.3.1

Release Notes for 3.3.1

3.3.x bugfix release (patch)

3.3.1

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

renovate

2.26.0

Release Notes for 2.26.0

Feature release (minor)

2.26.0

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

Enhancement

3.3.0

Release Notes for 3.3.0

Feature release (minor)

3.3.0

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

Enhancement

3.2.0

Release Notes for 3.2.0

Feature release (minor)

3.2.0

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

Enhancement

3.1.0

Release Notes for 3.1.0

3.1.0

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

Enhancement

renovate

Documentation

3.0.0

Release Notes for 3.0.0

Added

This version adds support for PSR-7 v2.0. While we had previously added return type hints in Diactoros, there were a few cases where PSR-7 updated the interfaces to use void returns where we had not. As a result, this release represents a BC break for anybody extending our classes, as defining an extension that uses one of these methods with a mixed return type (or omitting the return type entirely) will result in a type error.

The interfaces affected were Psr\Http\Message\StreamInterface and Psr\Http\Message\UploadedFileInterface.

For consumers, this version should be entirely backwards compatible in usage. For those extending our classes, you will only run into issues when extending implementations of the above interfaces.

3.0.0

  • Total issues resolved: 7
  • Total pull requests resolved: 8
  • Total contributors: 3

BC Break,Bug,Documentation

Documentation

Bug

BC Break,Documentation

BC Break,Documentation,Enhancement

BC Break,Feature Removal

BC Break,Enhancement

Enhancement

BC Break,Bug

2.25.1

Release Notes for 2.25.1

2.25.x bugfix release (patch)

2.25.1

2.24.1

Release Notes for 2.24.1

2.24.x bugfix release (patch)

2.24.1

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

Bug

2.25.0

Release Notes for 2.25.0

Added

Adds support for the PSR-7 v1.1 release.

2.25.0

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

Enhancement

Review Needed,renovate

2.24.0

Release Notes for 2.24.0

Feature release (minor)

2.24.0

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

Enhancement,renovate

2.23.0

Release Notes for 2.23.0

Feature release (minor)

2.23.0

  • Total issues resolved: 1
  • Total pull requests resolved: 3
  • Total contributors: 4

Enhancement

Documentation,Enhancement

renovate

Bug

2.22.0

Release Notes for 2.22.0

Feature release (minor)

2.22.0

  • Total issues resolved: 1
  • Total pull requests resolved: 1
  • Total contributors: 1

Enhancement

2.21.0

Release Notes for 2.21.0

Feature release (minor)

2.21.0

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

Enhancement

2.20.0

Release Notes for 2.20.0

Feature release (minor)

2.20.0

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

Enhancement

2.19.0

Release Notes for 2.19.0

Feature release (minor)

2.19.0

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

Enhancement

2.18.0

Release Notes for 2.18.0

Feature release (minor)

2.18.0

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

Enhancement

2.17.0

Release Notes for 2.17.0

Feature release (minor)

2.17.0

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

Enhancement

2.16.0

Release Notes for 2.16.0

Feature release (minor)

2.16.0

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

Enhancement

2.15.0

Release Notes for 2.15.0

Feature release (minor)

2.15.0

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

renovate

2.14.0

Release Notes for 2.14.0

Feature release (minor)

2.14.0

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

Documentation,Enhancement

Enhancement

2.13.0

Release Notes for 2.13.0

Feature release (minor)

2.13.0

  • Total issues resolved: 0
  • Total pull requests resolved: 4
  • Total contributors: 3

Enhancement

renovate

2.12.0

Release Notes for 2.12.0

Feature release (minor)

2.12.0

  • Total issues resolved: 0
  • Total pull requests resolved: 5
  • Total contributors: 4

Bug

Enhancement

Documentation,Enhancement

2.11.3

Release Notes for 2.11.3

2.11.x bugfix release (patch)

2.11.3

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

Bug,Enhancement

2.11.2

Release Notes for 2.11.2

2.11.x bugfix release (patch)

2.11.2

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

Bug

2.11.1

Release Notes for 2.11.1

This is a SECURITY release. All users are encouraged to upgrade immediately.

Added

This release adds features to allow filtering a ServerRequest as generated by Laminas\Diactoros\ServerRequestFactory::fromGlobals() for the purposes of initialization. Examples include:

  • Adding a request identifier.
  • Using X-Forwarded-* headers to modify the URL to represent the original client request.

The features are based on a new interface, Laminas\Diactorors\ServerRequestFilter\FilterServerRequestInterface, which defines a single method:

public function __invoke(
    \Psr\Http\Message\ServerRequestInterface $request
): \Psr\Http\Message\ServerRequestInterface

We provide two implementations, as follows:

  • Laminas\Diactoros\ServerRequestFilter\DoNotFilter will return the provided request verbatim.
  • Laminas\Diactoros\ServerRequestFilter\FilterUsingXForwardedHeaders has named constructors that allow you to define how and when X-Forwarded-* headers are used to modify the URI instance associated with the request. These methods are:
    • trustAny(): this method generates a filter instance that will trust all X-Forwarded-* headers from any source.
    • trustReservedSubnets(array $trustedHeaders = ?): this method generates a filter instance that only modifies the URL if the IP address of the requesting server is from a reserved, private subnet (localhost; classes A, B, and C subnets; and IPv6 private and local-link subnets). By default, it will trust all X-Forwarded-* headers from these sources, but you may specify a list to allow via the $trustedHeaders argument.
    • trustProxies(array $proxyCIDRList, array $trustedHeaders = ?): this method will generate a filter instance that only modifies the URL if the requesting server matches an entry in the $proxyCIDRList. These entries may be IP addresses, or any IPv4 or IPv6 CIDR subnets. By default, it will trust all X-Forwarded-* headers from these sources, but you may specify a list to allow via the $trustedHeaders argument.

ServerRequestFactory::fromGlobals() now accepts a FilterServerRequestInterface instance as the optional argument $requestFilter. If none is provided, it uses one as produced by FilterUsingXForwardedHeaders::trustReservedSubnets().

Deprecated

  • The function Laminas\Diactoros\marshalUriFromSapi() is deprecated, and no longer used internally.

Changed

Laminas\Diactoros\ServerRequestFactory::fromGlobals() no longer consumes marshalUriFromSapi(), and instead inlines an alternate implementation. The new implementation does not consider X-Forwarded-* headers by default when generating the associated URI instance. Internally, if no FilterServerRequestInterface implementation is provided, it defaults to using an instance returned by FilterUsingXForwardeHeaders::trustReservedSubnets(). If you previously relied on X-Forwarded-* headers, you MAY need to update your code to use either the FilterUsingXForwardedHeaders::trustAny() or FilterUsingXForwardedHeaders::trustProxies() methods to generate a filter to use with ServerRequestFactory::fromGlobals().

Fixed

  • Fixes CVE-2022-31109

2.11.1

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

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport