Repository navigation
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
DynamoMQClientto store visibility timeout as a datetime in theinvisible_until_atfield and added aretryIntervalparameter to theConsumer. - Implemented visibility timeout, allowing messages to remain invisible in the queue for a specified duration after being received.
- Changed
DefaultVisibilityTimeoutInSecondsto 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
ClientImplstruct andClientOptionsin 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
clientstruct to public and renamed it toClientImpl. - Moved default constant values to the
internal/constantpackage for better organization. - Changed timestamp attribute names for improved clarity.
Fixes and Style Adjustments
- Removed unnecessary
VisibilityTimeoutinRedriveMessageInput. - Fixed the
go testcommand to includeteeforresult.jsonoutput in continuous integration settings. - Addressed an issue with unnecessary trailing newlines and applied
goimportstomessage_test.gofor code styling.
Full Changelog: v0.10.1...v0.11.0