Skip to content

v1.0.0

Latest

Choose a tag to compare

@harshavardhana harshavardhana released this 09 Sep 18:15
· 3 commits to main since this release
78e1db4

What's Changed

#262 was folded into #264 and squash-merged, which dropped its authorship from the commit — the module rename is @lozkoev's work.

Breaking: the library is libminio, and its soname finally holds still

The shared library is built as libminio. Anything linking -lminiocpp moves to -lminio and rebuilds; miniocpp.pc emits the new
flag. The CMake package, the exported miniocpp::miniocpp target and the miniocpp/ header directory are unchanged, so
find_package(miniocpp) and #include <miniocpp/…> keep working.

Until now only VERSION was set on the target and never SOVERSION, so CMake wrote the full version into the soname — the previously
shipped file is literally SONAME libminiocpp.so.0.4.0. Every release, patch releases included, therefore orphaned every binary already
linked against its predecessor. SOVERSION now carries the major alone: the soname is libminio.so.1 and stays put across all of 1.x.
That is the promise this 1.0 is making, and it is why the rename rides here rather than in a minor bump.

If you deploy a prebuilt copy, install the new file rather than replacing the old one while any already-linked binary still has to load —
those binaries record libminiocpp.so.<full version> as their dependency.

Also in this release

miniocpp_client_new_tls() adds ignore_cert_check and ssl_cert_file alongside the existing arguments, so a caller can reach the two
trust settings the C++ client already had. Without it, an SDK's own TLS configuration governed its HTTP client and not the requests this
library makes, so RDMA transfers failed against exactly the self-signed and private-CA endpoints where that SDK's plain S3 path succeeded.
miniocpp_client_new() is unchanged and delegates with neither set.

The C++20 module is now imported as import minio;.

Full Changelog: v0.7.0...v1.0.0