Skip to content

Releases: jverkoey/BinaryCodable

v0.3.1

08 Jul 20:15
Compare
Choose a tag to compare
v0.3.1 Pre-release
Pre-release

This patch release fixes a crashing bug introduced in 0.3.0 that occurred when decoding two-byte values from misaligned memory.

v0.3.0

21 Jun 21:36
Compare
Choose a tag to compare
v0.3.0 Pre-release
Pre-release

0.3.0

This minor release adds a decodeRemainder method to BinaryDecodingContainer and drops support for iOS 12, macOS 10.12-10.14, and Swift 4.

Breaking changes

iOS 12, macOS 10.12-10.14, and Swift 4 are no longer supported.

v0.2.1

02 Mar 01:09
Compare
Choose a tag to compare
v0.2.1 Pre-release
Pre-release

This patch releases updates the CocoaPods spec to include all BinaryCodable source. It was previously missing the coder implementations.

Non-source changes

v0.2.0

26 Feb 02:11
Compare
Choose a tag to compare
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

Non-source changes

v0.1.0

19 Feb 04:27
Compare
Choose a tag to compare
v0.1.0 Pre-release
Pre-release

This is the first minor, unstable release of BinaryCodable. The public API for this library is subject to change unexpectedly until 1.0.0 is reached, at which point breaking changes will be mitigated and communicated ahead of time. This initial release includes the following features:

  • Encode from Swift types to Data.
  • Decode from Data to Swift types.
  • Efficiently encode/decode large blocks of arbitrary data.
  • Lazy decoding (read bytes from a source only as they're needed).
  • Encode and decode fixed-width integer types.
  • Encode and decode strings with or without terminators.
  • Cap decoding containers to a maximum length.