forked from ahamez/protox
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
156 lines (116 loc) · 4.65 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
# 1.5.0
- 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.Message.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