Skip to content

Releases: amphp/http

2.1.1

03 Apr 18:04
v2.1.1
fe6b4dd
Compare
Choose a tag to compare

What's Changed

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

References

Full Changelog: v2.1.0...2.1.1

1.7.3

03 Apr 17:58
v1.7.3
3a33e68
Compare
Choose a tag to compare

What's Changed

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

References

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

1.7.2

21 Mar 19:21
v1.7.2
68c61d2
Compare
Choose a tag to compare

What's Changed

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

2.1.0

24 Aug 04:31
v2.1.0
9f3500b
Compare
Choose a tag to compare
  • 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

2.0.0

12 Apr 19:28
v2.0.0
f8bb94a
Compare
Choose a tag to compare
  • 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.

2.0.0 Beta 3

09 Apr 14:05
v2.0.0-beta.3
90b524d
Compare
Choose a tag to compare
2.0.0 Beta 3 Pre-release
Pre-release

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.

v2.0.0 Beta 2

09 Apr 13:43
v2.0.0-beta.2
fa2e6f1
Compare
Choose a tag to compare
v2.0.0 Beta 2 Pre-release
Pre-release
  • 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.

2.0.0 Beta 1

08 Feb 01:04
v2.0.0-beta.1
66680c6
Compare
Choose a tag to compare
2.0.0 Beta 1 Pre-release
Pre-release
  • 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

1.7.1

08 Feb 00:33
v1.7.1
0d729b0
Compare
Choose a tag to compare
  • Fixed header validation regex to allow names containing *, +, and . (#19)

1.7.0

16 Oct 20:39
v1.7.0
b654546
Compare
Choose a tag to compare
  • Expose frame and byte count metrics in Http2Parser
  • Reduce strtolower calls, improving performance
  • Relax parsing strictness for request cookies to ignore empty trailing semicolons (#18)