Releases: tomas-abrahamsson/gpb
Release 4.17.3
Version 4.17.3
2021-Apr-19
- Fix mk-versioned-archive to also substitute the
version in the gpb.app.src file.
Release 4.17.2
Version 4.17.2
2021-Apr-19
- Fix mk-versioned-archive to actually also work
from a non-git directory tree.
Release 4.17.1
Version 4.17.1
2021-Apr-17
-
Fix compilation with Elixir 1.12.0, by respecting the
REBAR_BARE_COMPILER_OUTPUT_DIR env var during descriptor
compilation. Thanks to Michael Davis. (#204, #205) -
On decoding, mask ints to 32 or 64 bits. (#206)
-
Rename helpers/export-from-git to mk-versioned-archive
and make it able to export also from a non-git dir,
allowing the version to be set using options.
Keep a symlink from the old name for backwards compatibility.
Release 4.17.0
Version 4.17.0
2021-Apr-11
-
Save all options as well as custom options, and introduce
versions 3 and 4 of the proto defs format. (#202)
See the doc/dev-guide/proto-defs-versions.md for more info.The following definition elements were added and changed:
- Enum values have changed from 2-tuples to 3-tuples:
previously: {Symbol, Value}
now: {Symbol, Value, EnumValueOptions} - Added: {{enum_options,EnumName}, [, ...]}
- Added: {{service_options,ServiceName}, [, ...]}
- Rpc (custom) option names now look like any other
custom option names. - Option name elements can now contain tuples
to indicate parenthesized path components, as indicated
in the doc/dev-guide/proto-defs-versions.md.
The above redesign also fixes a crash when there were
enum option. (#203)The default version of the returned format and of the format
in the generated introspection functions is still 1, for
backwards compatibility. Use the {proto_defs_version,4} option
in order to use the added definition elements. - Enum values have changed from 2-tuples to 3-tuples:
-
Add an option, introspect_get_proto_defs (-introspect-get_proto_defs)
Normally a get_msg_defs/0 function is generated, but this
has historically only contained message and enum elements.
With the introspect_get_proto_defs option, a get_proto_defs/0
is instead generated, containing the same definitions as returned
when compiling with the to_proto_defs option.
NB that the format version of the definitions for get_proto_defs/0,
as well as those for get_msg_defs/0, is by default 1, but can
be changed with the {proto_defs_version,N} option.
Release 4.16.2
Version 4.16.2
2021-Feb-27
- Rework the import handling to check full paths when checking
if an proto to import has already been seen. #194 - In a verifier error, emit the faulty field as a string
instead of as an atom to avoid hitting the system limit
of 255 chars during the making of the error re ason. #195 - Fix spec for empty messages to work with dialyzer -Wunderspecs #196
Also emit -dialyzer({no_underspecs, /}) on erl >= 24. - Fix the Erlang type of string fields: change to unicode:chardata()
from iodata() to allow for unicode code points >255. #200
For clarity, the encoding always worked with such code points,
it was just the field's type that was wrong. - Fix help text when using protoc-erl.
- A few fixes for Erlang 24 (doc building and in an eunit test)
Release 4.16.1
Version 4.16.1
2021-Jan-19
- Create Github releases on upload of new tagged versions.
This is done by a workflow script. - Bugfix the export-from-git helper script.
Except for this fix, this release contains no functional change.