Changelog History
Page 1
-
v1.6.7 Changes
- New release to publish docs using the improved ex_doc 0.27
-
v1.6.6 Changes
- Fix JSON conformance tests related to fractional part in Timestamp
- Add an option to not generate deprecated functions
defs/0
anddefs_by_name/0
-
v1.6.5 Changes
- Elixir 1.9 is now the minimal supported version
- Relax constraint on Decimal version (thanks to https://github.com/ananthakumaran)
-
v1.6.4 Changes
- Renamed module Protox.Message into Protox.MergeMessage to reflect its real role
- Fix inconsistent behavior when encoding to JSON an enum with an unknown atom field ⚠️ Requires to regenerate code from .proto definitions
-
v1.6.3 Changes
- Fix typespec of message's json_decode! function
-
v1.6.2 Changes
- Fix possible double compilation of Empty well-known type
- Fix dependency on protoc for generated code
-
v1.6.1 Changes
- Fix compilation when protoc does not include well-known types
-
v1.6.0 Changes
- Add support of JSON protobuf encoding and decoding (https://developers.google.com/protocol-buffers/docs/proto3#json), with support of well-known types (except for Any)
- More accurate error reporting
- Fix decoding of fixed32 and fixed64 values (detected using JSON conformance tests)
- Deprecate Protox.Encode.encode/1 and Protox.Encode.encode!/1; use Protox.encode/1 and Protox.encode!/1 instead
- Deprecate generated defs()/0 and defs_by_name()/0
- Internal refactoring to hopefully make things more explicit (based on a work initiated by https://github.com/sneako)
-
v1.5.1 Changes
- Fix handling of multiple import paths (thanks to https://github.com/zolakeith)
-
v1.5.0 Changes
Allow multiple import paths (thanks to https://github.com/cheng81)
- 1.4.0
Add support of proto3 optional fields (thanks to https://github.com/sneako)
- 1.3.2
Bump version to build doc using ex_doc 0.24
- 1.3.1
Fix table of types mapping in documentation
- 1.3.0
Allow namespaces through protox.generate (thanks to https://github.com/sdrew)
Expand output path when generating files
More thorough testing of code generation
- 1.2.4
Fix warning when compiling generated code (thanks to https://github.com/xinz)
Format generated code
Fix warning about unused variable in generated code when encoding an empty protobuf message
- 1.2.3
Update documentation to better explain the package directive usage
- 1.2.2
Enable listing of task protox.generate via mix help.
- 1.2.1
Add --keep-unknown-fields option to configure support of unknown fields when generating files
- 1.2.0
Add keep_unknown_fields option to configure support of unknown fields
- 1.1.1
Fix documentation links
- 1.1.0
Add ability to generate one file per protobuf message to speed up compilation (thanks to https://github.com/qgau)
- 1.0.0
Use Protox exceptions as errors codes
- 0.25.0
Add mix task to generate files
Bump to Elixir 1.7 as minimal supported version
- 0.24.0
Usage of @external_resource is no longer necessary
- 0.23.1
Fix parse of [packed=false] option (the serialization was still correct, but not in compliance with Protobuf conformance checker recommandations)
- 0.23.0
[Breaking change] encode/1 returns a tuple, use encode!/1 to get the old behavior of encode/1
Raise RequiredFieldsError when encoding or decoding a Protobuf 2 message with unset required fields (that is, that have the value
nil
)Raise IllegalTagError when decoding a message with a tag set to 0
+40% speedup & -30% memory consumption when decoding thanks to macros
Fix missing encoding of unknown fields when a message hadn't any field
- 0.22.0
O(1) encoding of oneof fields
- 0.21.0
Move back to ahamez/protox
Bump to Elixir 1.6 as minimal supported version
Add benchmarks
Add conformance tests to CI
Add dialyzer to CI
- 0.20.0
Pass all tests of protobuf 3.12 conformance suite tests
(proto2) Always serialize required fields
Add defs_by_name/0 in generated modules for messages
Add syntax/0 in generated modules for messages
Add Protox.MergeMessage.merge/2 to merge two messages of the same type
[Breaking change] (proto2) use nil for unset fields
[Breaking change] rename generated get_required_fields/0 into required_fields/0
[Breaking change] rename generated get_unknown_fields/0 into unknown_fields/0
[Breaking change] rename generated get_unknown_fields_name/0 into unknown_fields_name/0
- 0.19.1
Fix warning about duplicate keys (thanks to https://github.com/ananthakumaran)
- 0.19.0
CamelCase for all generated modules (fixes https://github.com/ahamez/protox/issues/3)
- 0.18.0
Allow ability to construct file names at compile time (thanks to https://github.com/ananthakumaran)
- 0.17.0
Add path: option to specify import path (thanks to https://github.com/mathsaey)
- 0.16.2
Fix generation of typespecs for when there are more than one required field
- 0.16.1
Change base name for unknown fields from 'unknown_fields' to 'uf'
- 0.16.0
Fix handling of +/-infinity and NaN when encoding/decoding floats
Move RandomInit to tests
- 0.15.2
Fix typespecs for enum constants accessors
- 0.15.1
Fix typespecs for unknown and required fields accessors
- 0.15.0
Use 0.0 as default value for floats and doubles
- 0.14.0
Development now takes place at https://github.com/EasyMile/protox
Move conformance test escript to https://github.com/EasyMile/protox-conformance
Remove benchmarks escripts
- 0.13.0
Typespecs for generated encoder
Bring Varint into Protox
Fix decoding of booleans encoded with a varint which is not 0 or 1
- 0.12.1
Fix handling of unset members in map entries
- 0.12.0
~2x speed improvement when encoding
- 0.11.1
It's now possible to clear unknown fields
- 0.11.0
Encode unknown fields
- 0.10.0
Update deps (dialyxir, excoveralls, hackney)
- 0.9.0
Keep unknown fields when decoding
- 0.8.0
Raise an error when decoding and when required fields are missing
- 0.7.1
Fix encoding of varint to match C++ version
Fix encoding of enums to match C++ version
- 0.7.0
Read definitions from files or binaries
Parse definitions with protoc
Generate Elixir structs from parsed definition
Can prepend namespaces
Encode/decode protobuf messages