Skip to content

Releases: Kicer86/cpp_restapi

v2.2.0

24 Apr 19:59
637649f

Choose a tag to compare

cpp_restapi v2.2.0

A major feature release adding non-blocking I/O, real-time streaming, modern error handling, and coroutines.

Highlights

  • New IConnection::subscribe() for real-time event streams
  • Callback-based fetch() overloads (single request and paginated), for asynchronous fetch
  • Header-only coroutine.hpp with coFetch() awaitables
  • New IPaginationStrategy interface
  • IConnection::fetch(request, strategy) replaces deprecated get()

Other changes

  • C++23 is now required (was C++20)
  • Qt6 is the default (Qt5 still supported)
  • Libraries now carry proper VERSION/SOVERSION
  • GitHub fixes: typo getAuntenticatedUsergetAuthenticatedUser, two incorrect endpoint URLs corrected

Deprecations

  • Concrete *Backend::Connection classes → use factory functions
  • ConnectionBuilder::build<T>() (shared_ptr) → build(factory, ...) (unique_ptr)
  • IConnection::get()fetch()
  • getAuntenticatedUser()getAuthenticatedUser()

Migration

// Before
auto conn = std::make_shared<CurlBackend::Connection>(url, headers);
std::string body = conn->get("users/octocat");

// After
auto conn = createCurlConnection(url, headers);
auto result = conn->fetch("users/octocat");
if (result) use(*result); else handle(result.error());

v2.1.0

14 Jul 07:56
1e265ed

Choose a tag to compare

What's Changed

  • Replace httpmockserver with cpp-httplib
  • Add cpp-httplib backend
  • Drop deprecated API

Full Changelog: v2.0.0...v2.1.0