forked from ahamez/protox
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCHANGELOG
116 lines (88 loc) · 3.5 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
* 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 macro
- 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