All notable changes to this project (especially breaking ones) will be documented in this file.
This project adheres to Semantic Versioning.
0.6.0 (2020-02-04)
- Updated version of
bindgen
to allow building on Rust 1.39 and greater. - Changed treatment of enums from
tibrv.h
intibrv-sys
, see 801b6ae for explanation. This shouldn't be a change visible outside the-sys
crate, but may affect you if you use this crate directly. (This is the reasoning for the full version bump.)
0.5.0 (2019-07-01)
Rendezvous Request / Response (with Async support)
See async_client.rs and async_server.rs for usage examples.
- A number of lifetime issues have been cleaned up in
Msg
andMsgField
thanks to @pfernie - Async queues no longer leak two words every time they are dropped.
- Async
Stream
andSink
useTibrvError
to indicate fault conditions rather than a blanketio::Error
.
0.4.0 (2018-07-18)
- Added
get_field_by_index
fortibrv::Msg
- Fixed an early-drop bug where
TransportBuilder
was used with optional parameters, thenetwork
,service
ordaemon
strings could be dropped before being handed off to the C library. - Fixed examples to build with appropriate feature flags enabled.
Also in this release are two breaking changes:
- For consistency with the standard library, in
TibrvResult
we have renamedand_then
tomap
and introduced a newand_then
function which takes a closure returning aResult<T, TibrvError>
, whilemap
now accepts a closure returningT
. - Added feature gating for different versions of the Rendezvous library, see README.md for more information.
0.3.0 (2018-06-06)
- Migrates to Tokio 0.1, with API changes required to accomodate new constraints imposed by the Tokio and Futures crates. This release contains breaking changes which are documented in more detail here.
0.2.0 (2017-12-12)
- Introduces proper error handling using the
Failure
crate, with aTibrvError
type and associatedErrorKind
to easily handle error conditions from the underlying Rendezvous library. This is a breaking change, as most library functions now have a return type ofResult<T, TibrvError>
instead ofResult<T, &'static str>
.
0.1.1 (2017-10-30)
Initial public release.
- Added sync & async APIs for basic Rendezvous usage, along with convenience methods for encoding and decoding message fields.
- First usable release on crates.io.