Changelog
2025-08-10
Fixed class extends not getting registered properly.
Fixed Dependencies::registerObject inserting duplicates.
Parse port number in Host header.
2025-08-09
Added separate handlers for serving static files.
Removed X-Sendfile alias.
Unneccesary nullable.
Removed HttpRequestBuilder and merged HttpMessage/ResponseBuilder into a single class.
No longer mark the HttpMessageBuilder subclasses as final.
Added Makefile and .editorconfig and removed the precommit script.
Removed unused Content-Type/Length parsing.
Dropkicked Comparable and Equatable interfaces.
Changed CSRF token hash algo to SHA2 rather than SHA3.
Actually forward the strict parameter to base64_decode in UriBase64::decode.
Fixed unused variable in WString::endsWith.
Switched to PHP's built in ArrayIterator class.
Use statement cleanups.
Updated Composer libraries.
2025-04-05
Fixed incompatibility not caught by PHPStan.
2025-04-03
Make HttpResponseBuilder use the Stringable implementation of Timings.
Make Timings and TimingPoint implement Stringable.
Allow specified the starting time of a stopwatch.
nevermind hrtime() is built in oops
Added suggest for ext-hrtime.
2025-04-02
More specific phpstan ignore rules.
2025-04-01
Use interfaces instead of abstract class for Twig extensions.
2025-03-26
Added Snowflake ID generators.
2025-03-25
Fixed replace argument on header() not being set to false.
Always rewind input streams if possible.
2025-03-23
Account for trailing slashes in URLs.
Fixed route matching issues.