Skip to content

Latest commit

 

History

History
116 lines (77 loc) · 7.8 KB

CHANGELOG.md

File metadata and controls

116 lines (77 loc) · 7.8 KB

Changelog 📘💜

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.

✨ v0.5.4 [Unreleased]

Changed:

  • 🚀 Modified the Redis dependency version constraint to be >=0.28.0,<0.29.0 instead of just >=0.28.0. By @JMTamayo.

✨ v0.5.3 [2025-01-27]

Changed:

  • 🚀 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.

Removed:

  • ❌ Remove unnecessary module connection.rs. By @JMTamayo.
  • ❌ Remove Makefile. By @JMTamayo.

✨ v0.5.2 [2024-12-05]

Added:

  • ⚡ Implement cargo-deny in CI pipeline to verify security vulnerabilities. By @JMTamayo.
  • ⚡ Implement cargo verify-project, yamlfmt and taplo in CI pipeline to verify config files format. By @JMTamayo.
  • ⚡ Implement cargo-audit, cargo-deny, cargo verify-project, yamlfmtand taplo in Makefile. By @JMTamayo.
  • ⚡ Implement scheduled job to run CI pipeline each Sunday at 05:00 UTC. By @JMTamayo.

Changed:

  • 🚀 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.

✨ v0.5.1 [2024-11-27]

Added:

  • ⚡ Implement belongs_to_me() in IsStillMineReply to verify if the message is still in consumer pending list. Function is_still_mine() was deprecated. By @JMTamayo.
  • ⚡ Implement Doc Tests in CI pipeline. By @JMTamayo.

Changed:

  • 🚀 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.

✨ v0.5.0 [2024-10-26]

Added:

  • ⚡ Implement Debug for ClientCredentials. By @JMTamayo.
  • ⚡ Implement CommunicationProtocol type to define Redis Protocol version. By @JMTamayo.
  • ⚡ Implement ClientArgs and RedisClientBuilder to build Redis Client. By @JMTamayo.
  • ⚡ Implement VerifyConnection trait and ping() function to verify connection to Redis Server. By @JMTamayo.
  • ⚡ Implement produce_from_map(), produce_from_items() and ProducerCommands in producer core module. By @JMTamayo.
  • ⚡ Implement ProducerConfig to manage the configuration parameters for Producer. Implement ClientArgs in Producer [BreakingChange]. By @JMTamayo.
  • ⚡ Implement ProduceMessageReply to handle the response from produce_from_map() and produce_from_items() functions in Producer. By @JMTamayo.
  • ⚡ Implement ConsumerConfig to manage the configuration parameters for Consumer. Implement ClientArgs in Consumer. Implement ReadNewMessagesOptions , ReadPendingMessagesOptions and ClaimMessagesOptions in ConsumerConfig [BreakingChange]. By @JMTamayo.
  • ⚡ Implement types LastDeliveredMilliseconds andTotalTimesDelivered to handle the response from the is_still_mine() core function. By @JMTamayo.
  • ⚡ Implement ConsumeMessagesReply to handle the response from consume() function in Consumer. By @JMTamayo.
  • ⚡ Implement AckMessageReply to handle the response from ack() function in Consumer. By @JMTamayo.
  • ⚡ Implement IsStillMineReply to handle the response from is_still_mine() function in Consumer. By @JMTamayo.
  • ⚡ Refactor in the import of library modules: The prelude, consumer, producer and client modules were implemented [BreakingChange]. By @JMTamayo.

Changed:

  • 🚀 Rename RedsumerProducer to Producer [BreakingChange]. By @JMTamayo.
  • 🚀 Include minimum line coverage target as a env variable in CI pipeline. By @JMTamayo.

Removed:

  • ❌ 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.

✨ v0.4.1 [2024-06-13]

Fixed:

✨ v0.4.0 [2024-04-23]

Added:

  • ⚡ Implementation of new types: RedsumerResult, RedsumerError and Id [BreakingChange]. By @JMTamayo.
  • Debug and Clone implementation in RedsumerProducer and RedsumerConsumer. By @JMTamayo.
  • ⚡ The consumer configuration parameters were implemented directly in RedsumerConsumer [BreakingChange]. By @JMTamayo.

Fixed:

  • 🛠 General refactoring of the package in order to improve performance. By @JMTamayo.

Changed:

  • 🚀 New project structure as workspace. By @JMTamayo.
  • 🚀 Update dependencies and documentation. By @JMTamayo.
  • 🚀 Library modules reorganization [BreakingChange]. By @JMTamayo.
  • 🚀 FromRedisValueImplHandler was changed to FromRedisValueHandler [BreakingChange]. By @JMTamayo.
  • 🚀 The produce_from_map() method was replaced by the produce() method in RedsumerProducer [BreakingChange]. By @JMTamayo.
  • 🚀 The validate_pending_message_ownership() method was replaced by is_still_mine() in RedsumerConsumer [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.

Removed:

  • ❌ The stream_information.rs module was removed from the project: StreamInfo and StreamConsumersInfo implementations were removed [BreakingChange]. By @JMTamayo.
  • RedsumerConsumerOptions was removed [BreakingChange]. By @JMTamayo.
  • ❌ The produce_from_items() method was removed from RedsumerProducer [BreakingChange]. By @JMTamayo.