Repository navigation
Harden quarkus-seo for 0.1.0 - #3
Merged
Merged
Conversation
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.
Builds plan 3 of the quarkus-seo extension, from
docs/design/plans/2026-11-08-quarkus-seo-hardening.mdand the spec atdocs/design/specs/2026-10-29-quarkus-seo-design.md. The spec had no features left, so this plan hardens the extension for 0.1.0 and closes the open items from #2.Based on
seo-opt-in(#2). Rebase ontomasteronce #1 and #2 merge.What it changes
schema.JsonWriteris package-private again. The runtime has its ownJsonhelper with the same escaping, and a parity test keeps the two in step.PublicApiTestnow also checks theschemapackage: exactly 6 public types.U+2028andU+2029are escaped asandin JSON output.HttpClienton shutdown and does not wait for a slow endpoint. Asubmitafter shutdown completes normally. A ping sent during shutdown can be lost.imagereplaces the image, width, height and alt together. Setting only alt or size keeps the image from the layer below.quarkus.rest.pathfor Quarkus REST,quarkus.resteasy.pathfor RESTEasy Classic. A leftover key from the other stack is ignored.SeoPathsholds the fixed paths, including the IndexNow key path, so they are no longer duplicated across classes./root path: new tests cover security.txt, llms.txt and the IndexNow key file.Tests
mvn verifypasses: runtime 172, deployment 130 and integration 15 tests, and the packaged-app IT passes 13 of 13. On the last native run, the native IT passed 13 of 13 in a Mandrel 25 container build.Open questions
Known minor gaps
docs/modules/ROOT/pages/sitemap.adocline 102 is over 120 columns. It was already like that before this PR.