Skip to content

3.10.0 (Supreme 0.5.0)

Latest
Compare
Choose a tag to compare
@JesusMcCloud JesusMcCloud released this 08 Nov 10:56
· 1 commit to main since this release

More cowbell targets!

A new artifact, minor breaking changes and a lot more targets ahead!

The public API remains almost unchanged. Breaking API changes are:

  • Some parsing methods migrating from a ByteIterator to kotlinx-io Source
  • Move ensureSize from package asn1 to misc
  • Change CSR to take an actual CryptoSignature instead of a ByteArray
  • Remove Legacy iOS Attestation
  • Add type parameter to JwsSigned for its payload
  • Add type parameter to JweDecrypted for its payload
  • JwsSigned.prepareSignatureInput now returns a raw ByteArray
  • Move BitSet from io to asn1 package

The internals have changed substantially, however, and some fixes lead to behavioural changes.
Therefore, be sure to match Signum versions if multiple libraries pull it in as transitive dependency.
Better safe than sorry!
The full list of changes is:

  • Discrete ASN.1 module indispensable-asn1 supporting the following platforms:
    • JVM
    • Android
    • iOS
    • watchOS
    • tvOS
    • JS
    • wasm/JS
    • Linux X64
    • Linux AARCH64
    • MinGw X64
  • More targets for indispensable, indispensable-josef, indispensable-cosef
    • JVM
    • Android
    • iOS
    • watchOS
    • tvOS
    • JS
    • wasm/JS
    • Linux X64
    • Linux AARCH64
    • MinGw X64
  • KmmResult 1.9.0
  • Multibase 1.2.1
  • Introduce generic tag assertion to Asn1Element
  • Change CSR to take an actual CryptoSignature instead of a ByteArray
  • Introduce shorthand to create CSR from TbsCSR
  • Introduce shorthand to create certificate from TbsCertificate
  • Remove requirement from CSR to have certificate extensions
  • Fix CoseSigned equals
  • Base OIDs on unsigned varint instead of UInt
  • Directly support UUID-based OID creation
  • Implement hash-to-curve and hash-to-scalar as per RFC9380
  • Rename decodeFromDerHexString to parseFromDerHexString
  • Move ensureSize from package asn1 to misc
  • Move BitSet from io to asn1 package
  • Use kotlinx-io as primary source for parsing
    • Base number encoding/decoding on kotlinx-io
      • Remove parsing from iterator
    • Base ASN.1 encoding and decoding on kotlinx-io
      • Remove single element decoding from Iterator
  • Introduce prepareDigestInput() to IosHomebrewAttestation
  • Remove Legacy iOS Attestation
  • Add type parameter to JwsSigned for its payload
  • Add type parameter to JweDecrypted for its payload
  • JwsSigned.prepareSignatureInput now returns a raw ByteArray
  • Tests that do not depend on BouncyCastle/JCA are now performed for all targets
  • Remove Napier dependency