v0.2.0
Pre-release
Pre-release
This minor unstable release renames sequentialContainer
to container
for both the BinaryEncoder and BinaryDecoder types, adds support for BinaryFloatingPoint
decoding and encoding, automatic BinaryCodable conformance for floating point and array types, and a variety of performance improvements.
Breaking changes
BinaryDecoder
and BinaryEncoder
's sequentialContainer
has been renamed to container
. This is a straightforward find-and-replace operation.
New features
Array<BinaryCodable>
types automatically conform to BinaryCodable. It's easier now to code sequential binary objects like so:
// Decoding
let objects = try container.decode([SomeBinaryObject].self)
// Encoding
try container.encode(objects)
Float
and Double
RawRepresentable types automatically conform to BinaryCodable.
Source changes
- Remove excessive conditionals and buffer containment. (#40) (featherless)
- Remove unnecessary cast. (Jeff Verkoeyen)
- Fix bug and improve performance. (#39) (featherless)
- Remove unnecessary Data creation. (#38) (featherless)
- Use dropFirst instead of subscript notation when reading data. (#37) (featherless)
- Add floating point support. (#23) (featherless)
- Add array coding support + tests. (#14) (featherless)
- Drop "Sequential" from the container name. (#12) (featherless)
Non-source changes
- Update all docs with new container APIs. (#41) (featherless)
- Update README.md (featherless)
- Update README.md (featherless)
- Add BinaryCookies (featherless)
- Add support for embedded types in the proto decoder. (#35) (featherless)
- Add bytes decoding support to the proto decoder. (#34) (featherless)
- Add String support to the proto decoder. (#33) (featherless)
- Add bool support to the proto decoder. (#32) (featherless)
- Add sint64 support to the proto decoder. (#31) (featherless)
- Add uint64 decoding support. (#30) (featherless)
- Add support for optional proto decoding. (#29) (featherless)
- Add double decoding support to the proto decoder. (#28) (featherless)
- Rename the message fields to match the underlying types. (#27) (featherless)
- Add proper fixed64 support to the proto decoder. (#26) (featherless)
- Add fixed32 support to the proto decoder. (#25) (featherless)
- Add double/fixed64 support to the proto proof of concept. (#24) (featherless)
- Add a rudimentary Codable-compatible proto decoder built on top of a BinaryCodable message decoder. (#22) (featherless)
- Add sint32 proto tests (#21) (featherless)
- Add int64 proto tests. (#20) (featherless)
- Add int32 overflow tests to verify the behavior of the protoc compiler. (#19) (featherless)
- Add proof of concept protobuf decoder tests (#15) (featherless)
- Update Swift to the latest development snapshot (#13) (featherless)
- Update README.md (featherless)
- Fix typo in readme. (#10) (featherless)
- Add missing linux tests. (#9) (featherless)