Skip to content

0.7.0

Choose a tag to compare

@jwcarman jwcarman released this 26 Aug 10:35
· 121 commits to main since this release

Breaking changes

  • The built-in transforms moved out of codec-core into a new
    codec-transforms module, and into packages by kind:
    org.jwcarman.codec.transform.compress (CompressionStreamCodec,
    GzipCodec, DeflateCodec) and org.jwcarman.codec.transform.encoding
    (Base64Codec). codec-core is now the SPI alone. Migration: add
    codec-transforms (the Spring Boot starter already includes it) and update
    the imports. codec-zstd now depends on codec-transforms.

Added

  • codec-kafka: CodecSerializer, CodecDeserializer, and CodecSerde adapt
    any codec to Kafka's client serialization interfaces; tombstones map to
    null in both directions
  • codec-spring-data-redis: CodecRedisSerializer adapts any codec to Spring
    Data Redis's RedisSerializer (and, via serializationPair(), the cache
    abstraction); Spring Boot auto-configuration serializes the cache values named
    in codec.redis.cache.caches through the application's CodecFactory
  • Codec.nullSafe(): an explicit wrapper that maps null to null in both
    directions for integrations whose contract treats null as absent
  • Codec.xmap(forward, backward): derive a codec for another type from an
    existing one — the domain-type-versus-wire-type tool for backends that only
    serialize generated or registered classes
  • StringCodec in codec-transforms (transform.text): text as its own bytes
    in any charset, with strict decoding
  • ChecksumCodec in codec-transforms (transform.checksum): a 32-bit
    checksum trailer for corruption detection, CRC-32C by default
  • HexCodec in codec-transforms (RFC 4648 base16): lower- or upper-case
    output, strict case-insensitive decoding
  • Base32Codec in codec-transforms (RFC 4648 §6 Base32 and §7 base32hex),
    strict case-insensitive decoding
  • codec-lz4: LZ4 frame-format compression transform (Lz4Codec) with fast and
    high-compression (LZ4-HC) modes and the same decompression-bomb cap as the
    built-in transforms