PackageTrack
Sign in Get early access

amphp/http

Basic HTTP primitives which can be shared by servers and clients.

v2.1.2 14M downloads/mo #555 most downloaded on Packagist amphp/http

What this package is like to depend on

Last release 2 years ago

no release in 18 months

Release timing varies

gaps range from 2 weeks to 1.9 years

Some releases are documented

notes for 7 of 19 stable releases

Nothing withdrawn

no release was ever pulled

9 years old

23 releases · first in 2018

0 releases in the last 12 months

see the full history below

Release timeline

23 releases · Jan 2018 to Nov 2024
2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 23
  1. v2.1.2 23 Nov 2024
    Release notes

    What's Changed

    Full Changelog: v2.1.1...v2.1.2

    Open source →
  2. v2.1.1 03 Apr 2024
    Release notes

    What's Changed

    • Security: Fix Denial of Service via HTTP/2 CONTINUATION Frames by @kelunik

    References

    Full Changelog: v2.1.0...2.1.1

    Open source →
  3. v2.1.0 22 Aug 2023
    Release notes
    • Updated league/uri-components requirements to ^2.4.2 | ^7.1 as part of fixing #24 and allow psr/message@v2
    • Changed request query string encoding to use RFC3986 rules to as part of fixing #24

    Full Changelog: v2.0.0...v2.1.0

    Open source →
  4. v2.0.0 12 Apr 2023
    Release notes
    • PHP 8.1 is now required
    • Renamed Status and Message to HttpStatus and HttpMessage respectively
    • Added a message parameter to Http2Processor::handleShutdown()
    • Http2Parser constructor now requires an HPack instance to be injected, as well as providing parameters for upgrade settings, header size limit, and frame size limits
    • Http2Parser::parse() was removed; Http2Parser now has a push() and cancel() methods to push received data and end parsing
    • Added HttpRequest and HttpResponse as abstract base classes for requests and responses
    • HttpRequest now includes methods for getting and setting query parameters
    • Moved Rfc7230 to Http1 sub-namespace.
    • Renamed header methods using the term "raw" to use "pairs" instead, e.g., getRawHeaders()getHeaderPairs(), parseRawHeaders()parseHeaderPairs()
    • Added mapHeaderPairs() function to convert header pairs returned from functions such as Rfc7230::parseHeaderPairs() into a map similar to that returned by Rfc7230::parseHeaders()
    • Passing an int, float, or Stringable as an array value to HttpMessage::setHeaders() will cast the value to a string instead of throwing a TypeError
    • Removed parseFieldValueComponents() and createFieldValueComponentMap(), replacing them with four new functions:
      • splitHeaders() — Splits comma-separated fields into individual components. Returns null if a syntax error is encountered.
      • parseMultipleHeaderFields() — Parses a list of key-value pairs from each comma-separated and semi-colon delineated header value. Returns null if a syntax error is encountered.
      • parseSingleHeaderFields() — Parses a single semi-colon delineated header into key-value pairs.
      • parseHeaderTokens() — Parses a list of tokens from comma-separated header values.
    Open source →
    Release notes

    Removed parseFieldValueComponents() and createFieldValueComponentMap(), replacing them with three new functions:

    • splitHeaders() — Splits comma-separated fields into individual components. Returns null if a syntax error is encountered.
    • parseMultipleHeaderFields() — Parses a list of key-value pairs from each comma-separated and semi-colon delineated header value. Returns null if a syntax error is encountered.
    • parseSingleHeaderFields() — Parses a single semi-colon delineated header into key-value pairs.
    Open source →
    Release notes
    • Added HttpRequest and HttpResponse as abstract base classes for requests and responses. HttpRequest includes methods for getting and setting query parameters
    • Moved Rfc7230 to Http1 sub-namespace.
    • Renamed header methods using the term "raw" to use "pairs" instead, e.g., getRawHeaders()getHeaderPairs(), parseRawHeaders()parseHeaderPairs()
    • Added convertHeaderPairsToMap() function to convert header pairs returned from functions such as Rfc7230::parseHeaderPairs() into a map similar to that returned by Rfc7230::parseHeaders().
    • Passing an int, float, or Stringable as an array value to HttpMessage::setHeaders() will cast the value to a string instead of throwing a TypeError.
    Open source →
    Release notes
    • PHP 8.1 is now required
    • Renamed Status and Message to HttpStatus and HttpMessage respectively. Aliases of the old names to the new names exist in this beta version, but may be removed before the stable release
    • Added a message parameter to Http2Processor::handleShutdown()
    • Http2Parser constructor now requires an HPack instance to be injected, as well as providing parameters for upgrade settings, header size limit, and frame size limits
    • Http2Parser::parse() was removed; Http2Parser now has a push() and cancel() methods to push received data and end parsing
    Open source →
  5. v2.0.0-beta.3 08 Apr 2023 pre-release

    Nothing published for this version

  6. v2.0.0-beta.2 26 Mar 2023 pre-release

    Nothing published for this version

  7. v2.0.0-beta.1 08 Feb 2023 pre-release

    Nothing published for this version

  8. v1.7.3 03 Apr 2024
    Release notes

    What's Changed

    • Security: Fix Denial of Service via HTTP/2 CONTINUATION Frames by @kelunik

    References

    Full Changelog: v1.7.2...v1.7.3

    Open source →
  9. v1.7.2 21 Mar 2024
    Release notes

    What's Changed

    Full Changelog: v1.7.1...v1.7.2

    Open source →
  10. v1.7.1 08 Feb 2023
    Release notes
    • Fixed header validation regex to allow names containing *, +, and . (#19)
    Open source →
  11. v1.7.0 16 Oct 2022

    Nothing published for this version

  12. v1.6.3 28 Nov 2020

    Nothing published for this version

  13. v1.6.2 22 Nov 2020

    Nothing published for this version

  14. v1.6.1 11 Sep 2020

    Nothing published for this version

  15. v1.6.0 14 Jan 2020

    Nothing published for this version

  16. v1.6.0-rc1 01 Jan 2020 pre-release

    Nothing published for this version

  17. v1.5.0 04 Nov 2019

    Nothing published for this version

  18. v1.4.0 12 Sep 2019

    Nothing published for this version

  19. v1.3.0 01 Jul 2019

    Nothing published for this version

  20. v1.2.0 10 Jun 2019

    Nothing published for this version

  21. v1.1.0 10 Feb 2019

    Nothing published for this version

  22. v1.0.1 15 Mar 2018

    Nothing published for this version

  23. v1.0.0 22 Jan 2018

    Nothing published for this version

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