Legend:
- feat: A new feature
- fix: A bug fix
- docs: Documentation only changes
- style: White-space, formatting, missing semi-colons, etc
- refactor: A code change that neither fixes a bug nor adds a feature
- perf: A code change that improves performance
- test: Adding missing tests
- chore: Changes to the build process or auxiliary tools/libraries/documentation
- fix: fix nested items and package name resolution
- fix: parser now parses comments successfully
- fix: parser now rejects missing names and types
- fix: parser now enforces more variable naming/qualification rules
- fix: deprecated fields no longer propagate their lifetimes to containing message
- fix: deprecated fields are now ignored in enums (previously would throw error)
- fix: fix unsoundness in Owned variant (breaking change)
- feat: impl
TryFrom
for lifetime-less messages when--owned
flag is set
- fix: added overflow checking in
read_unknown()
- fix: fix buffer size check in
serialize_into_slice()
- feat: allow hexadecimal tag numbers
- fix: Fix empty bytes field checking when
--dont_use_cow
flag is used.
- feat: Add Error::Io for
no_std
- feat: Don't force inlining on
no_std
- feat: deprecate failure (use std::error::Error)
- feat: add WriterBackend to use with last pb-rs codegen
- feat: add
no_std
support - feat: deprecate failure
- refactor: modernize code
- feat: failible get byte
- feat: allow rpc with
{ }
- feat: add optional Owned variant when generating Messages (relies on
Pin
) - fix: propagate
dont_use_cow
to all messages
- feat: avoid Cow::Borrow when comparing
&str
- feat: Added the ability to use custom RPC generation code
- feat: Added the ability to modify custom derives such as derive-new
- feat: (Large change) Added the
dont_use_cow
method [v2 and v3 tested] which replaces lifetimes and Cow with regular strings and vectors. This will decrease performance - and will eventually be replaced with a whitelist for specific structures instead of a boolean. This is meant for the structure to fully own the data it has.
- fix: nested messages issue (missing OneOf, lifetime)
- feat: break cycles on optional messages only, and required one if user chooses to
- feat: add
serialize_into_vec
anddeserialize_from_slice
helper functions
- fix: fix some nested messages not recognised (#90)
- test: add new mesos.proto test
- refactor: stop using
find_enum
andfind_message
, have MessageIndex and EnumIndex instead
- fix: ignore packed for non primitive fields
- fix: force message with default values to be enum
- feat: check if enum variant exists in default fields
- feat: update dependencies
- feat: have a public
read_message_by_len
to allow non varint message parsing
- feat: make byte-specific utilities available in BytesReader
- docs: mention usage pf pb-rs with build.rs script in readme
- feat: codegen, add
From<&str>
for enums - feat: dependable codegen
##0.6.0
- feat: add MessageRead trait (thanks @daboross !)
- fix: nested enums
- fix: fix reserved fields management
- perf: avoid varint decoding for bools
- chore: have travis run rustfmt
- fix: removed one unwanting println
- feat: add automatic
std::io::Error
conversion - refactor: add clap-rs to pb-rs
- docs: add examples, more details about message to struct conversion
- refactor: update dependencies
- fix: remove some warning on codegen fixed size types + non camel names
- feat: break codegen when reserved fields conflict
- feat: support imports in proto files
- feat: support packages by encapsulating into rust modules
- feat: support map
- refactor: major refatorings of codegen
- feat: rename rust keywords
- feat: normalize file names
- feat: packed fixed size fields are now
Cow
- test: migrated most rust-protobuf tests
- feat: do not allocate for bytes and string field types
- docs: improve documentation: readmes, examples in modules
- test: added new benches
- perf: much faster reader using
Cow
instead ofVec<u8>
orString
- first release!