Repository navigation
Require tiny-blocks/http 8.0. - #18
Merged
Merged
Conversation
2 of 4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
composer.jsonrequirestiny-blocks/http^8.0(was^7.2). 8.0 validates every header that reaches a response, rejects the connection-specific ones and restricts the protocol version to1.0,1.1,2and3(tiny-blocks/http#74).Link, built from the base URI and from query values thatUripercent-encodes, and it sets no protocol version. One behavior change reaches consumers through 8.0: a base URI carrying a control character other than CR or LF (whichLinkalready refuses withLinkUriIsInvalid), such as NUL, now makestoResponse()onOffset\Page,Offset\SliceandCursor\PagethrowHeaderValueIsInvalidinstead of writing it into theLinkheader. A base URI taken from the request path cannot carry one.CI
CI resolves
tiny-blocks/http^8.0from Packagist, so it stays red untiltiny-blocks/http8.0.0is published. Merge after that release and a green re-run.Locally, against the 8.0 branch of
tiny-blocks/httpinstalled through a temporary, uncommitted path repository,make testspasses (440 tests, 803 mutants, MSI 100%).make reviewfails on one finding unrelated to this change:slevomat/coding-standard8.31.3 (released 2026-10-28, resolved by any fresh install) reports a cognitive complexity of 7 forSort::fromExpression(), above the limit of 5.Sort.phpis untouched since 1.0.0 and passed under 8.31.1, so theauto-reviewjob will fail on it too until it is addressed in its own change.Release
Recommended release:
3.0.0(major). The public API exposestiny-blocks/httptypes:Links::toHeader()returnsTinyBlocks\Http\Link, andNavigation::with()andNavigationTarget::to()takeTinyBlocks\Http\LinkRelation. Raising the required major of that dependency is a breaking change for consumers.Related issue
None.
Checklist
make reviewpasses.make testspasses.