Changelog
2025-11-07
use statement formatting updates.
Removed cache wrappers, use cache/{memcached,redis}-adapter instead.
Removed unused methods from XString.
Removed feed builder stuff (just use templates for this).
Removed XArray.
2025-11-06
Updated libraries, PHPStan fixed & removed bundled Twig.
2025-08-22
Implemented MiddlewareInterface in the Router.
Removed exception throws from NullStream and just no-op.
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