Summary

Port MessagePack support from ZIO Schema v1 to ZIO Schema 2 in a new top-level schema-messagepack project.

Implementation includes:

  • MessagePackBinaryCodec abstract class extending BinaryCodec[A]
  • MessagePackFormat object with Deriver[MessagePackBinaryCodec]
  • Support for all 30 primitive types (Unit, Boolean, Byte, Short, Int, Long, Float, Double, Char, String, BigInt, BigDecimal, all java.time types, Currency, UUID)
  • Record, variant, sequence, map, dynamic value, and wrapper support
  • Recursive type support via ThreadLocal cache
  • Comprehensive test suite with 78 tests

Deriver Methods Implemented:

  • derivePrimitive - All primitive types
  • deriveRecord - Case classes encoded as MessagePack maps
  • deriveVariant - Sealed traits encoded as single-entry maps
  • deriveSequence - Collections encoded as MessagePack arrays
  • deriveMap - Maps encoded as MessagePack maps
  • deriveDynamic - DynamicValue support
  • deriveWrapper - Wrapper types with validation

Test plan

  • All 78 tests pass
  • Format check passes
  • Compiles against latest main

/claim #682

Claim

Total prize pool $1,000
Total paid $0
Status Pending
Submitted January 15, 2026
Last updated January 15, 2026

Contributors

HA

hartmade

@hartmade

100%

Sponsors

ZI

ZIO

@ZIO

$1,000