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.
- 🚀 Modified the Redis dependency version constraint to be >=0.28.0,<0.29.0 instead of just >=0.28.0. By @JMTamayo.
- 🚀 Update Redis version to be greater than or equal to 0.28.0. By @JMTamayo.
- 🚀 Update development dependencies to the latest version. By @JMTamayo.
- 🚀 Include useful commands in README.md for the development process. By @JMTamayo.
- ⚡ Implement
cargo-deny
in CI pipeline to verify security vulnerabilities. By @JMTamayo. - ⚡ Implement
cargo verify-project
,yamlfmt
andtaplo
in CI pipeline to verify config files format. By @JMTamayo. - ⚡ Implement
cargo-audit
,cargo-deny
,cargo verify-project
,yamlfmt
andtaplo
in Makefile. By @JMTamayo. - ⚡ Implement scheduled job to run CI pipeline each Sunday at 05:00 UTC. By @JMTamayo.
- 🚀 CI pipeline refactor to split the process into the following steps: Project-Config, Docs, Build, Tests and Security. By @JMTamayo.
- 🚀 Implement cargo-nextest to run unit tests alongside llvm-cov. By @JMTamayo.
- ⚡ Implement
belongs_to_me()
inIsStillMineReply
to verify if the message is still in consumer pending list. Functionis_still_mine()
was deprecated. By @JMTamayo. - ⚡ Implement Doc Tests in CI pipeline. By @JMTamayo.
- 🚀 Unify Unit Tests and Coverage steps in CI pipeline. By @JMTamayo.
- 🚀 Making the Checkout step the first step in the pipeline to ensure that the code is available prior to the execution of the CI flow. By @JMTamayo.
- 🚀 Apply all steps for workspace in CI pipeline. By @JMTamayo.
- ⚡ Implement
Debug
forClientCredentials
. By @JMTamayo. - ⚡ Implement
CommunicationProtocol
type to define Redis Protocol version. By @JMTamayo. - ⚡ Implement
ClientArgs
andRedisClientBuilder
to build Redis Client. By @JMTamayo. - ⚡ Implement
VerifyConnection
trait andping()
function to verify connection to Redis Server. By @JMTamayo. - ⚡ Implement
produce_from_map()
,produce_from_items()
andProducerCommands
in producer core module. By @JMTamayo. - ⚡ Implement
ProducerConfig
to manage the configuration parameters forProducer
. ImplementClientArgs
inProducer
[BreakingChange]. By @JMTamayo. - ⚡ Implement
ProduceMessageReply
to handle the response fromproduce_from_map()
andproduce_from_items()
functions inProducer
. By @JMTamayo. - ⚡ Implement
ConsumerConfig
to manage the configuration parameters forConsumer
. ImplementClientArgs
inConsumer
. ImplementReadNewMessagesOptions
,ReadPendingMessagesOptions
andClaimMessagesOptions
inConsumerConfig
[BreakingChange]. By @JMTamayo. - ⚡ Implement types
LastDeliveredMilliseconds
andTotalTimesDelivered
to handle the response from theis_still_mine()
core function. By @JMTamayo. - ⚡ Implement
ConsumeMessagesReply
to handle the response fromconsume()
function inConsumer
. By @JMTamayo. - ⚡ Implement
AckMessageReply
to handle the response fromack()
function inConsumer
. By @JMTamayo. - ⚡ Implement
IsStillMineReply
to handle the response fromis_still_mine()
function inConsumer
. By @JMTamayo. - ⚡ Refactor in the import of library modules: The prelude, consumer, producer and client modules were implemented [BreakingChange]. By @JMTamayo.
- 🚀 Rename
RedsumerProducer
toProducer
[BreakingChange]. By @JMTamayo. - 🚀 Include minimum line coverage target as a env variable in CI pipeline. By @JMTamayo.
- ❌ Remove
FromRedisValueHandler
from crate [BreakingChange]. By @JMTamayo. - ❌ Remove internal function
get_redis_client()
from client module. By @JMTamayo. - ❌ Remove step
Upload coverage to Codecov
from CI pipeline. By @JMTamayo.
- ⚡ Implementation of new types:
RedsumerResult
,RedsumerError
andId
[BreakingChange]. By @JMTamayo. - ⚡
Debug
andClone
implementation inRedsumerProducer
andRedsumerConsumer
. By @JMTamayo. - ⚡ The consumer configuration parameters were implemented directly in
RedsumerConsumer
[BreakingChange]. By @JMTamayo.
- 🛠 General refactoring of the package in order to improve performance. By @JMTamayo.
- 🚀 New project structure as workspace. By @JMTamayo.
- 🚀 Update dependencies and documentation. By @JMTamayo.
- 🚀 Library modules reorganization [BreakingChange]. By @JMTamayo.
- 🚀
FromRedisValueImplHandler
was changed toFromRedisValueHandler
[BreakingChange]. By @JMTamayo. - 🚀 The
produce_from_map()
method was replaced by theproduce()
method inRedsumerProducer
[BreakingChange]. By @JMTamayo. - 🚀 The
validate_pending_message_ownership()
method was replaced byis_still_mine()
inRedsumerConsumer
[BreakingChange]. By @JMTamayo. - 🚀 The acknowledge method was replaced by ack in
RedsumerConsumer
[BreakingChange]. By @JMTamayo. - 🚀 The consume method was refactored in
RedsumerConsumer
in order to implement a new consumption methodology that allows scalability in distributed systems. To understand this new implementation in detail, take a look at the project https://github.com/elpablete/refactored-computing-machine. By @JMTamayo.
- ❌ The stream_information.rs module was removed from the project:
StreamInfo
andStreamConsumersInfo
implementations were removed [BreakingChange]. By @JMTamayo. - ❌
RedsumerConsumerOptions
was removed [BreakingChange]. By @JMTamayo. - ❌ The
produce_from_items()
method was removed fromRedsumerProducer
[BreakingChange]. By @JMTamayo.