Releases
v2.0.0
Compare
Sorry, something went wrong.
No results found
Added
PHP 8.1 readonly properties on UploadedFile ($file, $size, $error, $name, $type) and Stream::$buffer
final keyword on Message, Response, ServerRequest, Stream, UploadedFile, Uri
#[Immutable] and #[Deprecated] PHP 8 attributes in Effectra\Http\Message\Attribute namespace
Response::withJson() — instance method for JSON responses (accepts $data, $status, $flags)
Response::json() — static factory for JSON responses (accepts $data, $status, $headers, $flags)
Response::html() — static factory for HTML responses with Content-Type: text/html
Response::emptyResponse() — static factory for empty-body responses (defaults to 204)
ServerRequest::fromGlobals() — populates request from $_SERVER, $_GET, $_POST, $_COOKIE, $_FILES
ServerRequest::replaceHeader() — removes and re-adds header values in one call
Stream constructor now accepts file-path strings (opens via fopen if the file exists)
UploadedFile::getStream() now reads from the underlying file and returns a Stream with contents
Case-insensitive header storage: hasHeader(), getHeader(), withHeader(), withAddedHeader(), withoutHeader(), setHeader(), AddHeader() all normalize keys to lowercase
Complete $statusTexts map for all standard HTTP status codes (100–511)
196+ Pest test suite covering all classes
PHPStan configuration (phpstan.neon, phpstan-baseline.neon) — level 6 clean
_ide_helper.php for enhanced IDE autocompletion
Fixed
MessageTrait::getHeader() now returns array instead of raw string value
MessageTrait::getHeaders() normalizes all values to arrays
MessageTrait::withProtocolVersion() now clones instead of mutating in place
Request::getRequestTarget() handles string-URI edge case
Request::setUri() uses mutable header manipulation instead of with* chain
Response default $reasonPhrase changed from 'OK' to '' — resolves from $statusTexts at runtime
Response::getReasonPhrase() prioritises custom phrase over static list
ServerRequest::getServerParams() returns dedicated $serverParams property (was incorrectly returning $attributes)
[0.1.0] - 2025-03-21
Added
PSR-7 ServerRequest, Request, Response, Message, Uri, Stream, UploadedFile classes
MessageTrait for shared message implementation
Basic request/response/URI/stream/uploaded-file functionality
Initial test suite
README with usage examples
You can’t perform that action at this time.