Skip to content

v0.11.0

Latest
Compare
Choose a tag to compare
@vvatanabe vvatanabe released this 15 Dec 09:56
· 5 commits to main since this release

New Features

  • Implemented a delay feature in the SendMessage() API, allowing messages to be scheduled for future delivery.
  • Added a concurrency option to ConsumerOptions, enabling control over the number of concurrent message processing workers.
  • Updated DynamoMQClient to store visibility timeout as a datetime in the invisible_until_at field and added a retryInterval parameter to the Consumer.
  • Implemented visibility timeout, allowing messages to remain invisible in the queue for a specified duration after being received.
  • Changed DefaultVisibilityTimeoutInSeconds to 30 seconds, modifying the default behavior for message visibility.

Documentation Updates

  • Written comprehensive GoDocs for DynamoMQ Consumer, Producer, Message, and related structures.
  • Renamed fields in the stats structure for clarity and documented changes.
  • Added GoDocs for various input and output structs.
  • Updated the README.md with information about delay queues, visibility timeout, and a revised Data Transition diagram.
  • Documented the ClientImpl struct and ClientOptions in detail.

Refactoring and Structural Changes

  • Refactored various output structs (RedriveMessageOutput, MoveMessageToDLQOutput, ChangeMessageVisibilityOutput, SendMessageOutput) to include generic types and renamed specific fields for clarity.
  • Changed the scope of the client struct to public and renamed it to ClientImpl.
  • Moved default constant values to the internal/constant package for better organization.
  • Changed timestamp attribute names for improved clarity.

Fixes and Style Adjustments

  • Removed unnecessary VisibilityTimeout in RedriveMessageInput.
  • Fixed the go test command to include tee for result.json output in continuous integration settings.
  • Addressed an issue with unnecessary trailing newlines and applied goimports to message_test.go for code styling.

Full Changelog: v0.10.1...v0.11.0