Log message:
riemann-client: update to 2.2.0.
Bump API depends.
riemann-c-client 2.2.0
======================
Released on 2023-03-30
License
-------
From version 2.2.0 onwards, the library is licensed under the [European Union
Public License][eupl], version 1.2. The license is compatible with the
previously used [GNU Lesser General Public License][lgpl].
[eupl]: https://eupl.eu/1.2/en
[lgpl]: https://www.gnu.org/licenses/lgpl-3.0.en.html
Documentation
-------------
Updated the `riemann-client(1)` documentation, with a section about caveats,
thanks to Fabien Wernli.
Bugfixes
--------
Fixed `make dist`, so it includes all the files needed to build the library, for
all backing TLS libraries.
riemann-c-client 2.1.1
======================
Released on 2023-07-18
Bugfixes
--------
TLS communication when using GnuTLS has been fixed, thanks to Romain Tartière.
In previous versions, when sending or receiving data over TLS with GnuTLS, there
were scenarios where riemann-c-client prematurely ended communication. The fixed
code properly retries sending/receiving the remaining data.
Miscellaneous
-------------
Minor code cleanups have been made, so that the library uses `calloc()`, rather \
than a `malloc()` immediately followed by a `memset()` to zeros.
riemann-c-client 2.1.0
======================
Released on 2022-07-20
New features
------------
### OpenSSL is now supported as a backing TLS library
The library now supports OpenSSL as a backing TLS library, along with the
existing GnuTLS and wolfSSL support.
### New methods
The library now provides a `riemann_client_check_version()` function, which can
be used - by different language bindings, usually - to check whether the linked
library satisfies a version requirement.
Similarly, aimed at non-C language bindings, the library now provides a
`riemann_message_create_with_events_n()` method, to create a new message with
events set up front.
Built on top of `riemann_message_create_with_events_n()` is the new
`riemann_communicate_events_n()` function. Primarily intended for language
bindings, but can be useful in any situation where we have the list of events
precomputed, and do not wish to serialize them into a message ourselves.
Related to the above two, `riemann_event_create_full()` allows us to create an
event in a way where we can set all fields at once, if need be, without going
through hoops. The function is trivially bindable too.
Staying near events, the `riemann_event_set_tags()`,
`riemann_event_set_tags_va()`, and `riemann_event_set_tags_n()` trio of
functions are now also available, allowing us to efficiently replace the set of
tags within an event.
Still in the events area, like for tags, we have new functions for attributes
too: `riemann_event_set_attributes()`, `riemann_event_set_attributes_va()`, and
`riemann_event_set_attributes_n()`, for similar purposes as their tag
counterparts. In addition to these, `riemann_event_set_string_attributes_n()`
was also introduced, to set a known number of attributes, via strings.
### Miscellaneous
The `<riemann/simple.h>` header is no longer necessary, the functions formerly
provided by this header are now available by default when using the
`<riemann/riemann-client.h>` header. Using the old header will emit a helpful
deprecation warning.
Bugfixes
--------
The library no longer requires WolfSSL to be compiled with OpenSSL compatibility
support when compiling against said TLS library.
riemann-c-client 2.0.1
======================
Released on 2022-06-12
Bugfixes
--------
Fixed an issue where we were shadowing the `stdin` stream, which in turn
resulted in a compile-time error on at least OpenBSD and NetBSD.
Also updated the build system to allow compilation on the three major BSDs out
of the box, without patches.
riemann-c-client 2.0.0
======================
Released on 2022-03-26
New features
------------
### Multiple backing TLS libraries
The library now supports being compiled with either [GnuTLS][gnutls] or
[wolfSSL][wolfssl] as a backing TLS library.
[gnutls]: https://gnutls.org/
[wolfssl]: https://www.wolfssl.com/
### New methods
Added a new method, `riemann_client_get_tls_library()` to query the backing TLS
library at run-time. While most differences are transparently handled, there are
a few (namely, cipher priorities) that aren't. This new function makes it
possible for code building upon this library to conditionally handle them.
Breaking changes
----------------
The library is no longer ABI-compatible with riemann-c-client 1.x.y. API
compatibility has been preserved, but binaries will have to be recompiled.
Additionally, the SONAME of the library now depends on the backing TLS library.
This is transparent when using `pkg-config`, because that'll pull in the
appropriate file. But for packaging purposes, this is something to keep in mind.
riemann-c-client 1.10.5
=======================
Released on 2021-09-25
Bugfixes
--------
Despite the documentation saying so, TLS options were _not_ copied. While in
practice this should not have caused any issues, because the options were used
and never touched again before returning from the function that should've copied
them, it still went against the documentation and against best practices. All
options are properly copied now, and the copies free'd when they're no longer in
use.
|