All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Add new invalidation task for replace entry with latest value from remote repository.
- Add more statistics for Cache's and Cache manager.
- Expired tasks
- Pending async tasks
- Expired async tasks
- GET's errors
- Add Async Executor to be able to execute async cache tasks in Cache Manager.
- Add integration tests for the new use cases.
- Add a merge algorithm to related cache tasks. For example, if two invalidations or expirations are created for the same cache entity, the Cache Manager will discard the oldest one. The task Key must implement the ToString trait to enable the merge. The merge will be based on the cache identifier, Operation type, and the input identifier.
- Add new statistics for Cache Manager:
- Number of tasks merged
- Add input validators for manual operations in the Cache Manager. Since manual operations are performed from a centralized point for all caches, the inputs for these operations are generic. Input validation has been added, taking into account the cache and the type of operation. The error types for manual operations are included in the ManualOperationError enum.
- Add integration tests for the new use cases
- Handling of types in manual operations in the Cache Manager to prevent errors in the core processing and return them earlier.
- Initial version