- Upgraded to Shapeless 2
- Added
endiannessDependentcombinator - Used
scodec.bits.ByteOrderinginstead of a boolean for indicating big endian vs little endian - Significant performance improvements
- Upgrade to scodec-bits 1.0.0-RC2
- Added
bitsandbytescodecs that behave likebits(size)/bytes(size)but with no size constraint - Replaced discriminator support with new implementation that is much more general (thanks to Paul C)
- Removed
Codec.{ encode, decode }overloads that aliasedCodec#{ encode, decode } - Introduced
encodeValid,decodeValue, anddecodeValidValuemethods on both theCodecclass and object - Added new combinators (
lazily,complete,compact) - API docs
- Removed unnecessary dependencies from pom
- Changed group id from com.github.scodec to org.typelevel
- Changed artifact id from scodec to scodec-core
- Deprecated
scodec.{ BitVector, ByteVector }in favor ofscodec.bits.{ BitVector, ByteVector }- Deprecated forwarders will be removed in M3
- Reduced public API
- made many types package private
- removed methods from
Codeccompanion that existed directly onCodec
- JAR restructuring
- scodec-bits: no dependency JAR containing BitVector, ByteVector, and supporting types
- scodec: dependds on scodec-bits and adds encoding/decoding capabilities
- See scodec-bits for list of improvements to BitVector and ByteVector
- Package restructuring
- scodec.bits package contains BitVector, ByteVector, and supporting types
- scodec package contains main abstractions of encoding/decoding
- scodec.codecs package contains reusable codecs
- Encoder, Decoder, and GenCodec abstractions, which allow simpler transforms if a full Codec is not required