Skip to content

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 02 Aug 17:15
· 35 commits to main since this release

problem-details-xml and problem-details-ktor-xml publish for the first time, alongside
problem-details-core and problem-details-ktor, all on the same version.

Added

  • problem-details-xml — the RFC 9457 Appendix B application/problem+xml codec (ProblemXml),
    byte-exact against the RFC's own example in both directions. The generic (non-JDK) xmlutil parser
    is used explicitly, so external entities are never resolved. xmlutil is an implementation
    dependency; no xmlutil type appears in this module's API, thrown types included.
  • problem-details-ktor-xmlProblemXmlConverter and problemXml(), registering the codec
    with Ktor's ContentNegotiation. problem-details-ktor still never depends on either XML module.
    Register problemXml() after problemJson() — order decides which format an absent or wildcard
    Accept resolves to.
  • Every JVM jar now declares an Automatic-Module-Name matching its root package.

Notes

  • The XML writer refuses what XML cannot express rather than writing it verbatim: an extension
    member name that is not an XML NCName, or text carrying U+0000 or an unpaired surrogate. A
    Problem valid for JSON may therefore be refused here — see the module README. Every refusal
    surfaces as SerializationException, never an xmlutil type.
  • A whitespace-only member (detail = " ") survives an XML round trip.
  • application/problem+xml requests and responses are always UTF-8, regardless of what charset was
    negotiated — an XML document states its own encoding in-band.

API reference · Maven Central