swift-protobuf v1.9.0 Release Notes

Release Date: 2020-05-18 // 18 days ago
    • 👍 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

Previous changes from v1.8.0

  • 🆕 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)