Note:
- 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 tosingleLineToProtoString
. If you are using ScalaPBC, the new flag name issingle_line_to_proto_string
.- Unrecognized enum and one-of case classes are marked
final
. withX
methods convertnull
toNone
for options.
v0.6.7 (2017-11-23)
- 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 (2017-01-07)
- Support for custom names for fields: https://scalapb.github.io/customizations.html#custom-names 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.
- Primitive wrappers are now the default.
scalapb.proto
: Add no_primitive_wrappers, deprecateprimitive_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!).
BREAKING CHANGE:
- Custom options now work on both JVM and Scala.js. To migrate, remove
imports of
com.trueaccord.scalapb.Implicits
and use the newscalaDescriptor
wheneverdescriptor
orjavaDescriptor
have been used.
v0.5.47 (2017-01-07)
- GeneratedMessageCompanion.descriptor is deprecated in favor of
javaDescriptor
- Added GeneratedMessage.toByteString
v0.5.43 (2016-09-27)
-
We are switching from sbt-scalapb to sbt-protoc. Migration instructions are at http://scalapb.github.io/migrating.html
-
Breaking change: The outer class of a GRPC service used to extend
ServiceCompanion
. The traitServiceCompanion
has been changed to a type-classServiceCompanion[A]
whereA
is some service, and is now used as a companion object for the service itselfA. This allows you to implicitly obtain the companion object given a service
T`:implicity[ServiceCompanion[T]].descriptor
Fixes #154.
-
Add GeneratedEnum.fromName that gives an Option[EnumValue] given a name string (#160)
-
Required fields must be provided explicitly to constructor.
-
Grpc java updated to 1.0.0
v0.5.35 (2016-07-31)
- Update to protobuf 3.0.0
- Upgrade grpc-java to 1.0.0-pre1
- Scaladoc is automatically generated for case classes based on comments in the proto.
v0.5.34 (2016-07-15)
- Include Scala versions of well-known types, including basic support for Any.
- Bugfix: package names with reserved words (
type
,val
) no longer use backticks in the directory name. - Fix support for additional reserved keywords.
- Bufgix: support for well-known types in conjunction with flat_package.
Closed issues:
v0.5.29 (2016-06-06)
Closed issues:
- Remove usages of deprecated methods from CodedOutputStream #123
- [0.5.27 regression] serializedSize does not work with java serialization #121
Merged pull requests:
- fixes #121: java serialization breaks serializedSize #122 (eiennohito)
v0.5.28 (2016-05-31)
v0.5.27 (2016-05-30)
Closed issues:
- ScalaPB + Intellij #120
- sbt gives error: scalapb.sbt:1: error: object trueaccord is not a member of package com addSbtPlugin("com.trueaccord.scalapb" % "sbt-scalapb" % com.trueaccord.scalapb.Version.sbtPluginVersion) This happens after downloadin zipfile from github and running sbt in the e2e folder (Fedora) #117
- grpc should not depend on grpc-all #113
- protoc-jar version #111
- Make grpc service name visible in generated code #108
Merged pull requests:
- replace lazy vals in size generation with explicit lazy initialization #119 (eiennohito)
- update documentation for removing grpc-all #115 (eiennohito)
- depend not on grpc-all, but on more fine-grained dependencies #114 (eiennohito)
- grpc 0.14.0 #109 (xuwei-k)
v0.5.26 (2016-04-28)
Closed issues:
- Option for companion objects to extend specified classes/traits #105
- Won't decode not packed
repeated
if declared aspacked
in.proto
and vice-versa #102 - default value unexpected behaviour #100
- Option to change repeated fields collection type from Seq to IndexedSeq #97
Merged pull requests:
- Add companion_extends #107 (ngthanhtrung)
- fix #102 #106 (xuwei-k)
- Use fully-qualified Option class name in code generator #101 (zackangelo)
v0.5.25 (2016-04-12)
Closed issues:
- CameCase issue #94
- multi-lined toString #82
- Support for sealed traits #67
- Support for options is missing. #65
- Add support to convert messages to Json #62
v0.5.24 (2016-04-01)
Closed issues:
- scala.js link fail on sbt-scalapb
0.5.23
#98 - Incompatibility between enums and Spark SQL #87
- excludeFilter doesn't work #24
v0.5.23 (2016-03-28)
Merged pull requests:
- add scalacOptions for Scala.js source map #95 (xuwei-k)
- change method descriptor from private to public #93 (matsu-chara)
v0.5.22 (2016-03-16)
Closed issues:
- scalapbc command line tool does not generate gRPC scala code. #91
- Issue:value enablePlugins is not a member of sbt.Project possible cause #89
- Protobuf 2.x support #88
- Compilation fails due to attempt to write two files with the same name #86
- Need some details for implementing grpc #85
- Compilation not working. #84
- Getting 'protoc not found' error #83
- support grpc-java 0.13 #81
- Release 0.5.20 artifact #78
Merged pull requests:
v0.5.21 (2016-01-19)
Closed issues:
- Option PB.sourceDirectories is not available in 0.4.21 #76
Merged pull requests:
- fix #76 #79 (xuwei-k)
- Add implicit value for the companion object of enums #77 (sebastienrainville)
v0.5.20 (2016-01-11)
Closed issues:
- Unsupported major.minor version 52.0 #75
- broken sbt build due to sbt-protobuf dependency #74
- Unnecessary long filename for InternalFields_xxx files #73
v0.4.21 (2016-01-08)
Closed issues:
- gRPC: Should not call onComplete after onError #71
Merged pull requests:
- Fix double stream close, don't call onComplete after onError #72 (zackangelo)
- Add a Gitter chat badge to README.md #69 (gitter-badger)
- update protobuf-java 3.0.0-beta-2 #68 (xuwei-k)
v0.5.19 (2016-01-02)
Closed issues:
- GeneratedMessageCompanion#parseFrom always successful even for incompatible types #66
- Is there any plan to support GRPC? #44
- ScalaJs compatibility #31
Merged pull requests:
v0.5.18 (2015-12-07)
v0.5.17 (2015-12-05)
Merged pull requests:
v0.5.16 (2015-12-01)
Closed issues:
- e2e test fail #55
Merged pull requests:
- GeneratedEnum and GeneratedOneof extends Product #59 (xuwei-k)
- fix Encoding bug #57 (xuwei-k)
- optimize com.trueaccord.scalapb.Encoding #56 (xuwei-k)
v0.5.15 (2015-11-16)
Closed issues:
- Add an option to wrap primitives to Option[] #54
- Case class and object conflict #47
- Maps in proto2 files #43
- use printToUnicodeString instead of printToString in generated toString #41
- Add an option not to wrap some values in Options when generating Scala values #40
- Compile for Scala 2.12 M1 #38
Merged pull requests:
- target java7 #53 (xuwei-k)
- Target JDK 1.7 #52 (plaflamme)
- support java_multiple_files #51 (xuwei-k)
- "macro" is a reserved word since Scala 2.11 #50 (xuwei-k)
- call asSymbol in fullJavaName #49 (xuwei-k)
- remove unused local variables #48 (xuwei-k)
- fix typo #46 (xuwei-k)
- update dependencies #45 (xuwei-k)
- make generated toString use printToUnicodeString #42 (eiennohito)
v0.4.20 (2015-09-05)
v0.5.14 (2015-09-05)
Closed issues:
- Output directory conflicts with IntelliJ #37
- 0.5.9 has sbt generated classes in the packaged scalapb-runtime jar #35
- Make it possible to run ScalaPB outside SBT #17
- Support for enums with unknown values #11
v0.4.19 (2015-08-23)
v0.4.18 (2015-08-23)
v0.4.17 (2015-08-23)
v0.5.13 (2015-08-22)
v0.5.12 (2015-08-22)
v0.5.11 (2015-08-22)
Closed issues:
- Why are option fields with default value converted to Option[..] ? #36
- ScalaPB uses javax, which is not available on Android #34
- ScalaPB jar includes google proto files #33
- In proto3, add support for file name equals message name #26
v0.4.16 (2015-08-18)
v0.5.10 (2015-08-18)
Closed issues:
- import does not work correctly #32
- Protosb descriptor isn't 2.x compatible #28
- javaConversions Doesnt work #19
v0.5.9 (2015-06-18)
v0.5.8 (2015-06-07)
v0.5.7 (2015-06-07)
v0.5.6 (2015-06-06)
v0.5.5 (2015-06-04)
Closed issues:
- Support for hinted deserialization? #29
v0.4.15 (2015-05-31)
v0.5.1 (2015-05-31)
Closed issues:
v0.4.14 (2015-05-16)
v0.4.13 (2015-05-16)
Merged pull requests:
- build: upgrade scala versions #23 (ahjohannessen)
v0.5.0 (2015-05-08)
v0.4.12 (2015-05-07)
Closed issues:
- ScalaPB generates invalid class names if the original proto filename contains dot #22
v0.4.11 (2015-05-07)
Closed issues:
- doesn't respect the protoc setting of sbt-protobuf #21
v0.4.10 (2015-05-06)
Closed issues:
v0.4.9 (2015-04-05)
v0.4.8 (2015-03-28)
Closed issues:
- containingOneOfName field does not give the name #15
- Support for generation of marker types #14
- Allow oneofs with reserved named like 'type' #10
- Add support for packed enums #9
Merged pull requests:
- Fix generator to correctly provide the oneof name #16 (henrymai)
- Fix code generator for double and float fields with [default=nan] #12 (chrischamberlin)
v0.4.7 (2015-02-09)
v0.4.6 (2015-02-09)
v0.4.5 (2015-02-09)
v0.4.4 (2015-01-24)
v0.4.3 (2015-01-24)
v0.4.2 (2015-01-21)
Closed issues:
- Should use declared package name #8
- Fields cannot be named
get
ortag
#7 - protoc-gen-scala: program not found or is not executable #5
- Value classes for primitive single-element message? #4
v0.4.1 (2015-01-01)
Closed issues:
v0.4.0 (2014-11-26)
v0.3.4 (2014-11-25)
v0.3.3 (2014-11-24)
v0.3.2 (2014-11-23)
Merged pull requests:
* This Change Log was automatically generated by github_changelog_generator