All Versions
13
Latest Version
Avg Release Cycle
67 days
Latest Release
17 days ago

Changelog History
Page 1

  • v1.9.0

    May 18, 2020
    • 👍 Better handing of proto identifiers that start with underscores and numbers #947 #954
    • ➕ Added CMake based build for platforms with SwiftPM #957
    • 👉 Use withContiguousStorageIfAvailable for String encoding in BinaryEncoder #949
    • 👉 Make setting a repeated extension field to [] clear it #966
    • Declare the MessageExtensions with the correct visibility. #969
    • 👌 Support for new Proto3 optional (this needs a protoc from protocolbuffers/protobuf v3.12.0 (or later)) #978
    • 🔌 Provide some more map helpers in the plugin library like the C++ Descriptor. #983
    • 🏗 Move the SwiftProtobuf.xcodeproj build settings into xcconfig files #986
  • v1.8.0

    January 28, 2020

    🆕 New features/interfaces:

    • ➕ Add Message binary decoding support from ContiguousBytes (#914)
    • 👉 Make things generic over ContiguousBytes and @inlinable (#915, #921)

    Notable changes:

    • 👉 Use heap-based storage only when a Protobuf has a singular transitive recursion (#900)
    • 👉 Use raw pointers instead of typed pointers (#918)
    • ➕ Add missing CaseIterable support for nested enums (#923)
    • Guard against TextFormat encoding of unknowns from overflowing the stack (#927)

    🐎 Performance related changes:

    • 🐎 JSON/TextFormat submessage encoding performance improvements (#916)
    • Avoid collecting unknown fields while scanning for message (#924)
    • Minor code cleanup for JSON additions (#935)
  • v1.7.0

    September 27, 2019

    👍 Complete support for Swift 5.1.

    ➕ Additions to the library:

    • The generated code for descriptor.proto is now included in the library, this means one no longer has to generate and compile it in if there are proto files that had extension declared on those types. (#727)

    Notable changes:

    • The Swift 5.1 compiler will error on switch statements for an enum if it has a large number of cases; this could happen in the generated code. The generated code now splits things up to avoid this compile error. (#904)
  • v1.6.0

    July 18, 2019

    ⚡️ Notable updates:

    • Raise a .illegalNull is the top level JSON is null. (#870)
    • Perf: Use new float formatting code (#882)
    • Specify swift_versions in podspec and minimum CocoaPods 1.7.0 version. (#891)
  • v1.5.0

    April 15, 2019

    👍 Complete support for Swift 5.

    • ⚠ Swift5: Fix warnings about loss of precision (#844)
    • ⬇️ Drop the support for Swift <4.0. (#847)
    • Swift5.0: Change Data(bytes:) to Data(_:). (#848)
    • 🛠 Fix build command to work also with Swift 5. (#852)
    • Swift 5.0: Switch a stray Data(bytes:) to Data(_:). (#854)
    • Swift 5: adopt new Data.withUnsafeBytes API. (#843)

    ⚡️ Update some internals:

    • ⚡️ Update some FileIo calls to FileHandle. (#845)
    • ✂ Remove printToFd logic from FileIo. (#846)

    ➕ Add some features to the library:

    • 🖨 TextFormat conformance: Add option to suppress unknown field printing. (#850)
    • ➕ Adding JSON encoding option: Use proto field names instead of lowerCamelCase names. (#856)
  • v1.4.0

    March 11, 2019

    ⚡️ Minor updates around some edge conditions in TextFormat/JSON format:

    • The empty string is a valid JSON encoding for a FieldMask. (#835)
    • Accept too-large float values in Text format (#840)
  • v1.3.1

    January 07, 2019

    🚀 Minor release to fix building with Swift versions <4.2 (#828).

  • v1.3.0

    January 04, 2019
    • ⚡️ SwiftPM Updates to be in better shape for Swift 5. (#819, #824)
    • ⚡️ Code updates for Swift 5 being more strict about some things (#808, #809)
    • Avoid generating code that doesn't compile when enum case aliases have naming collisions in their Swift forms (#822)
    • ⬇️ Drop support for Swift <=3.1 since 4.2 has been the current GM for a while now. (#825)
  • v1.2.0

    October 17, 2018

    🔄 Changes of interest:

    • 0️⃣ #800 Add JSON encoding options: Not, this is a source compatible change, but not binary compatible because of a new parameter with a default, hence the 1.2.0 version numbers.
    • 🛠 #804 Fix Json map encoding for float, sint, fixed, sfixed
  • v1.1.2

    September 13, 2018

    🚀 Release to provide full Swift 4.2 toolchain support. Most interesting Pull Requests:

    • Hashable conformance and Hashing changes #784

    🚀 The 1.1.0 Release already included #764 (SwiftPM 4.2 specific manifest), #766 (CaseIterable for enums).