Changelog
2026-03-06
Sort params before submission.
2026-03-05
Made DbResult itself iterable.
Replaced DbResultIterator with a simple generator routine.
Added non-object return type handling in DbResultIterator.
Made 0 always encode to an empty string (might be backwards incompatible).
Updated libraries + static analysis fixes.
2025-11-30
Fixed some integer casting issues from PHP 8.5.
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.