Releases: doubleailes/girolle
2.0.0
What's Changed
- chore: Update dependencies for improved compatibility and performance by @doubleailes in #148
- Clean org by @doubleailes in #149
- chore: Use the idiomatic way of create a default for Config by @doubleailes in #150
- feat: Introduce async handler model with RpcContext by @doubleailes in #155
- feat: Wire in-service RPC core for ctx.rpc.call by @doubleailes in #156
- feat: Wire event dispatcher for ctx.events.dispatch by @doubleailes in #157
- feat: Add event subscriptions and CLI sender by @doubleailes in #158
Full Changelog: 1.8.4...2.0.0
1.8.4
What's Changed
- chore: Update dependencies for improved stability and performance by @doubleailes in #145
Full Changelog: 1.8.3...1.8.4
1.8.3
What's Changed
- Simply readme example of the client by @doubleailes in #133
- chore: Update zola-deploy-action to v0.18.0 by @doubleailes in #135
- feat: Add benchmark for build_inputs_fn_service function by @doubleailes in #136
- chore: reorg examples by @doubleailes in #138
- chore: Update directory location for cargo package manifests by @doubleailes in #139
- Rollback dependabot by @doubleailes in #140
- update the dependencies by @doubleailes in #142
Full Changelog: 1.8.2...1.8.3
1.8.2
What's Changed
The big part of this patch is code quality, factorization of lib
- Fix typo bench by @doubleailes in #122
- feat: Refactor RpcClient to use Condvar for thread synchronization by @doubleailes in #123
- 125 use payload struct to deserialize the incomming payload by @doubleailes in #127
- feat: Update Fibonacci benchmark results by @doubleailes in #129
- feat: Add parent_calls_tracked parameter to Config and update related… by @doubleailes in #130
- Add clippy suggestion for more ideomatic code by @doubleailes in #131
Full Changelog: 1.8.1...1.8.2
1.8.1
What's Changed
118 use a more structure system by @doubleailes in #119
- Refactored argument handling by introducing
DeliveryDatastruct and updating related functions. - Added new error type
IncorrectSignatureto improve error handling. - Updated test cases to handle new error type and added new test scenarios.
- Updated documentation and package versions to 1.8.1.
112 create a specific error encapsulate the remote error by @doubleailes in #120
- Introduced
GirolleErrorenum for comprehensive error handling across the library. - Refactored RPC client and service to integrate new error handling mechanisms.
- Added new examples and tests to demonstrate and verify error handling.
- Improved code readability and structure through formatting and refactoring.
Full Changelog: 1.8.0...1.8.1
1.8.0
What's Changed
Change consume options by @doubleailes in #111
- Removed the unused
advance_sendersexample file. - Added a new
async_testexample to demonstrate asynchronous RPC calls usingtokioandtracing. - Updated the
simple_senderexample to start the RPC client and fixed error handling in async calls. - Exported
RpcReplyin the prelude module. - Added
prefetch_countparameter tocreate_message_channeland set basic QoS. - Refactored the RPC client to use
RpcReplyand added astartmethod to handle replies. - Improved error messages for
ArgumentsErrorin RPC service. - Extended
GirolleErrorwithRemoteErrorand enhancedArgumentsError. - Updated benchmark results in the README.
- Updated repository version to 1.7.2 in documentation.
- Updated examples in Cargo.toml by removing
advance_sendersand addingasync_test. - Bumped version to 1.7.2 in
girolleandgirolle_macro.
114 create a struct payload to manipulate args and kwargs by @doubleailes in #116
- Refactored RPC client payload handling in examples to use
Payloadstruct instead ofvec![]. - Implemented
Payloadstruct with methods for creating and manipulating arguments and keyword arguments. - Updated library examples and exports to include
Payloadstruct. - Improved method signatures in RPC client to enhance readability and maintainability.
- Updated README examples to reflect changes in payload handling.
- Updated
serdedependency version in Cargo.toml.
113 add a timestamp to the rpcreply and impl elapsed time by @doubleailes in #117
- Refactored RPC client payload handling in examples to use
get_value()method for better readability and maintainability. - Added
RpcReplystruct with timestamp andRpcResultstruct with result and elapsed time. - Updated
resultmethod to returnRpcResultand added unit tests forRpcReplyandRpcResult. - Added
SystemTimeErrorvariant toGirolleErrorand implementedFromtrait forSystemTimeError. - Updated README examples to use
get_value()method and added elapsed time logging for async results. - Updated repository and package versions to 1.8.0.
Full Changelog: 1.7.1...1.8.0
1.7.1
1.7.0
A little description about this release
TL;DR: Not production proof but in a good way.
This release is a major improvement of the library.
The Client is deeply refactor with bug fix and a lot of performance improvements.
The macro girolle is deeply refactor also with a big simplification in the usage and the support of return and recursive function. ( I learn a lot about Macro in this refacto )
The Service support the kwargs arguments which was ignore in the previous version.
What's Changed
- feat: use take to extract result by @doubleailes in #101
- Replace vec value by value by @doubleailes in #103
Refactor client by @doubleailes in #104
- Refactored
RpcClientto include service registration and unregistration methods. - Added new
subRPC method toGreetingServiceand updated examples to use it. - Improved async handling and error management in
RpcClient. - Updated code examples and documentation to reflect changes.
- Added
Clonetrait toPayloadstruct. - Simplified test script and added assertions for new
submethod. - Added dependencies for
tracingandtracing-subscriberfor improved logging.
Handle arguments by @doubleailes in #106
- Refactored
RpcTaskto include argument handling and updated related functions. - Replaced
NamekoResultwithGirolleResultand addedGirolleErrorfor better error handling. - Updated macros to generate
RpcTaskwith argument handling. - Refactored examples and documentation to use new
girollemacro. - Added tests for various RPC calls including async and error handling.
feat: Add queue_declare options to create_message_channel by @doubleailes in #108
- Refactored
Configmethods to take ownership ofselfinstead of borrowing, simplifying the method implementations by removing unnecessary cloning. - Added comments in
create_message_channelandRpcServicemethods to explain the need for cloning in various parts of the code. - Changed function parameters in
RpcServiceto take references where appropriate, and fixed potential issues with argument sizes inbuild_inputs_fn_service. - Simplified the
girolle_taskfunction ingirolle_macroby removing unnecessary clones.
doc: update user documentation by @doubleailes in #107
- Updated README with new examples, detailed feature list, and explanations.
- Added new sections and entries in the documentation for better clarity.
- Enhanced introduction with detailed explanations and examples for procedural macros.
- Added benchmark details to the performance section.
Full Changelog: 1.6.2...1.7.0
1.6.2
What's Changed
- chore: Update actions/checkout to v4 in rust.yml by @doubleailes in #99
- Change message queue reply consumed by @doubleailes in #98
Full Changelog: 1.6.1...1.6.2
1.6.1
What's Changed
- refactor: Update configuration handling to support yaml files and env… by @doubleailes in #93
- refactor: Update configuration handling to support YAML files and env… by @doubleailes in #94
- chore: Update repository and girolle_macro versions to 1.6.1 by @doubleailes in #95
- refactor: Update configuration handling to support YAML files and env… by @doubleailes in #97
Full Changelog: 1.6.0...1.6.1