All Versions
Latest Version
Avg Release Cycle
53 days
Latest Release

Changelog History
Page 4

  • v0.9.4 Changes

    Full Changelog

    • โž• Add option for generating enum values in CamelCase (#675)
    • โž• Add option to specify names for enum values (#675)
    • ๐Ÿ“‡ Rename standalone code generators from protoc-gen-scalapb to protoc-gen-scala
    • ๐Ÿง Native protoc-gen-scala binary for Linux is now statically linked.
  • v0.9.1 Changes

    Full Changelog

    • It is now possible to specify no_box at the message-level.
    • ๐Ÿš€ We now release to github native binary version of ScalaPB codegen.
    • โšก๏ธ Updated to Scala 2.12.10
    • โž• Added NonEmpty marker trait to non-empty cases of sealed oneofs. A new method asNonEmpty returns an Option[NonEmpty]. See #633
    • 0๏ธโƒฃ Added no_default_values_in_constructor to inhibit generation of default values in case class constructors.
    • โšก๏ธ Update to protobuf 3.8.0
  • v0.9.0 Changes

    Full Changelog

    • ๐Ÿ‘ Experimental support for Scala 2.13.0. Notes:
      • ScalaPB now generates scala.Seq by default for repeated fields (previously was scala.collection.Seq). This ensures usage of immutable Seqs on Scala 2.13 without breaking compatibility for old code.
      • The generated code compiles for Scala 2.13 and older version, so deprecation warnings are expected when compiling for 2.13. In a future release, we may have a generator that generates code that compiles cleanly, but only for 2.13.
    • ๐Ÿ”Œ ScalaPB code generator is published to maven as a plugin. This enabled Gradle and Maven protobuf plugins to download and invoke ScalaPB.
    • โฌ‡๏ธ Dropped support for Scala 2.10.
    • Custom collections are now required to provide an iterator method that returns an Iterator[A] over their elements.
    • ๐Ÿ“œ Temporarily dropped support for Scala Native (pending on fastparse2 support)
    • โฌ†๏ธ Bumped fastparse to 2.1.0 (which is binary-incompatible with fastparse 1)
    • โž• Add support for custom map types (#410)
    • โฌ†๏ธ Upgrade to protobuf 3.7.1
    • โœ‚ Removed deprecated com.trueaccord symbols
    • โž• Added scalapb.GeneratedSealedOneof as a base trait for all sealed oneofs.
    • Added sealed_oneof_extends option to allow adding base classes for sealed oneofs.
    • โž• Add support for services & methods comments (scaladoc & runtime inspection)
  • v0.8.4 Changes

    Full Changelog

    • โž• Add scalaName to FieldDescriptor to make the name of the Scala field accessible from the descriptor. This is done by updating scalapb.FieldOptions in the descriptor we serialize in the proto file companion object.
    • โž• Add of method to companion object to enable construction of case classes without having default values.
  • v0.8.3 Changes

    Full Changelog

    • Add retain_source_code_info setting for accessing source code information through the location accessor on descriptors.
    • โž• Add option to not generate lenses.
  • v0.8.0 Changes

    September 23, 2018

    Full Changelog

    • ๐Ÿ— Build with protobuf 3.6.0
    • 0๏ธโƒฃ ScalaPBC uses 3.6.0 by default
    • โšก๏ธ Optimize cases where custom mappers are called twice during serialization
    • โž• Added file-level option to set the proto object name (#412)
    • Implementation of sealed oneofs
    • โž• Added FieldMaskUtil (Thanks @xuwei-k)
  • v0.7.4 Changes

    May 01, 2018

    Full Changelog


    • Maven artifacts are now published under a new group id: com.thesamet.scalapb
    • Classes were renamed from com.trueaccord.scalapb.X to scalapb.X

    ๐Ÿ”„ Changes:

    • โšก๏ธ Update to protobuf-java 3.5.0
    • โž• Added file-level option to preserve unknown fields in generated classes.
    • ScalaPBC can run custom ProtocGenerator if they are available on the class path.
    • โž• Added type member ValueType to GeneratedOneof that makes it easy to write type classes that deal with Oneofs.
    • โž• Add support for Scala annotations on field-level, and companion object level.
    • It is now possible to specify additional traits for oneofs.
    • #235: toString is now not overridden by ScalaPB and does not generate the default TextFormat. To get the text format, use toProtoString. See issue #235 for how to achieve a backwards-compatible behavior.
    • โž• Added support for Scala Native.
    • singleLineToString has been renamed to singleLineToProtoString. If you are using ScalaPBC, the new flag name is single_line_to_proto_string.
    • Unrecognized enum and one-of case classes are marked final.
    • withX methods convert null to None for options.
  • v0.6.7 Changes

    November 23, 2017

    Full Changelog

    • GeneratedMessageCompanion: add nestedMessagesCompanions and Add
    • โž• Added base class GeneratedFileObject that will be the base class for the singleton object generated for each proto file.
    • Custom base classes for enums
    • โž• Add support for custom Scala annotations on messages.
  • v0.6.0 Changes

    January 07, 2017

    Full Changelog

    • ๐Ÿ‘Œ Support for custom names for fields: This enables users to get around name conflicts in the generated code.
    • โž• Add messageCompanionForFieldNumber and enumCompanionForFieldNumber to retrive companion objects of message and enum fields by the field number.
    • ๐Ÿ‘Œ Support for Scala protocol buffers.
    • 0๏ธโƒฃ Primitive wrappers are now the default.
    • scalapb.proto: Add no_primitive_wrappers, deprecate primitive_wrappers.
    • โž• Add support for custom collection types (representation of repeated in Scala can be almost any Scala collection.
    • โž• Add support for custom types for keys and values of map<>.
    • โž• Added support for extensions (Scala.js compatible!).


    • ๐Ÿšš Custom options now work on both JVM and Scala.js. To migrate, remove imports of com.trueaccord.scalapb.Implicits and use the new scalaDescriptor whenever descriptor or javaDescriptor have been used.