Releases: hankhsu1996/jsonrpc-cpp-lib
Releases · hankhsu1996/jsonrpc-cpp-lib
v2.1.1
v2.1.0
Changed
- Renamed project from "jsonrpc-cpp-lib" to simply "jsonrpc" for cleaner integration
- Simplified CMake installation process for better reliability
v2.0.2
This release updates several key dependencies to their latest stable versions and makes improvements to the build configuration.
Changes
- Update Catch2 from 3.6.0 to 3.8.0
- Update spdlog from 1.14.1 to 1.15.1
- Update asio from 1.28.2 to 1.32.0
- Update bazel_skylib from 1.5.0 to 1.7.1
- Modify CMakePresets.json to use Clang compiler by default, resolving batch processing memory allocation issues experienced with GCC
v2.0.1
Changed
- Restructured Bazel build system for better organization
v2.0.0
Major release that transitions the library to use Asio coroutines for all async operations, providing better performance and more intuitive async code.
Breaking Changes
- Complete migration to Asio coroutines with awaitable interfaces
- Method signatures now return
asio::awaitable<>
instead of direct values - Client code must use
co_await
with coroutine functions - Method handlers must be implemented as coroutines
- Removed synchronous blocking API methods
- Removed thread pool-based execution model
- Removed stdio transport layer
Key Improvements
- Enhanced asynchronous operations using Asio coroutines
- Better cancellation and timeout support via Asio facilities
- New static factory method
CreateClient
for simpler client initialization - Improved error handling with exception propagation in coroutines
- More efficient resource usage with IO context-based execution
- Added CMake export configuration for easier integration
- New LSP client example using TypeScript
Migration Guide
If you're upgrading from v1.0.0, you'll need to:
- Update method handlers to use coroutines with
co_await
- Replace direct return values with
asio::awaitable<>
- Use
CreateClient
factory method for client initialization - Switch from stdio transport to alternative transport layers
- Update your build system to use C++20 coroutines
Refer to the updated examples in the repository for migration patterns and new usage guidelines.
v1.0.0
This is the initial stable release of the JSON-RPC 2.0 Modern C++ Library.
Key Features:
- Fully compliant with JSON-RPC 2.0 specification.
- Supports method calls, notifications, and batch requests.
- Modern C++20 implementation with minimal dependencies.
- Transport-agnostic with support for stdio and HTTP connectors.
- Example implementations for both client and server.
Refer to the README for detailed usage instructions and setup guides.