Skip to content

v0.15.0

Choose a tag to compare

@tsenger tsenger released this 05 Apr 13:44
· 30 commits to main since this release

New features

  • SealParser: unified entry point for parsing VDS and IDB seals, replaces
    type-specific fromString()/fromByteArray() factory methods; supports
    configurable seal type filtering via SealType enum and throws
    SealParseException on parse errors
  • VdsSeal.Builder / IdbSeal.Builder: single-step fluent builder API replacing
    manual assembly of header, message group and payload objects; internal
    types (VdsHeader, VdsMessageGroup, IdbHeader, IdbPayload, …) are now hidden
  • IDB sub-messages: recursive parsing and navigation of nested message
    structures (e.g. PROOF_OF_VACCINATION → VACCINATION_EVENT)
  • String input accepted for DATE and DATE_TIME in encodeValueByCoding

Breaking changes

  • VdsSeal.Builder / IdbSeal.Builder replace the old multi-step construction;
    internal types are no longer part of the public API
  • SealParser replaces fromString()/fromByteArray() on individual seal classes
  • Registry renames: VdsSealCodingRegistry → VdsDocumentTypeRegistry,
    ExtendedMessageDefinitionRegistry → VdsProfileDefinitionRegistry,
    IdbNationalDocumentTypeRegistry → IdbDocumentTypeRegistry
  • Resource file renames: SealCodings.json → VdsDocumentTypes.json,
    ExtendedMessageDefinitions.json → VdsProfileDefinitions.json,
    IdbNationalDocumentTypes.json → IdbGermanDocumentTypes.json
  • Document type constants: ICAO_VISA → VISA,
    ICAO_EMERGENCY_TRAVEL_DOCUMENT → EMERGENCY_TRAVEL_DOCUMENT
  • Signer class → EcdsaSigner; Signer is now an interface
  • Message.messages renamed to messageList
  • Verifier type-specific constructors deprecated; use Verifier(seal) or
    Verifier(signatureInfo)
  • DataEncoder wrapper methods removed; use registry properties directly
    (.sealCodings, .idbMessageTypes, .idbDocumentTypes, .extendedDefinitions)

Full Changelog: v0.14.0...v0.15.0