Changelog
View Sourcev4.0.0 - 2026-07-12
First release of this fork (BeamLabEU/beamlab_ex_aws_sqs),
based on ex-aws/ex_aws_sqs v3.4.0. Published to Hex as
beamlab_ex_aws_sqs (the original ex_aws_sqs name is already taken).
- BREAKING CHANGE: All operations now use the AWS SQS JSON protocol
(
AmazonSQS.<Action>/application/x-amz-json-1.0) instead of the legacy Query/XML protocol. Fixes ex-aws/ex_aws_sqs#34. Successful responses are now the raw JSON body AWS returns (e.g.%{"MessageId" => ...}) instead of a hand-parsed, snake_cased map — see the README's migration guide. - BREAKING CHANGE: Removed
ExAws.SQS.SaxyParserandExAws.SQS.SweetXmlParser, and the:saxy/:sweet_xmloptional dependencies along with them — there's no more XML to parse. - Documented
send_message_batch/2with a runnable example. Fixes ex-aws/ex_aws_sqs#35 - Relaxed the
:hackneydependency constraint (it's only used by this library's own test suite) so it no longer conflicts with apps on hackney 4.x. Fixes ex-aws/ex_aws_sqs#36 - Added
start_message_move_task/2,cancel_message_move_task/1, andlist_message_move_tasks/2(DLQ redrive tasks, added to the AWS API after upstream's last release). - Added pagination options (
:max_results,:next_token) tolist_queues/1andlist_dead_letter_source_queues/2. receive_message/2's:attribute_namesoption now sends the modernMessageSystemAttributeNamesfield instead of the deprecatedAttributeNamesfield.- Fixed binary message attribute handling for the JSON protocol:
BinaryValueis now correctly base64-encoded so that the configured JSON codec'sencode!/1(and the wire request) succeeds. Callers still pass the raw binary as:value. send_message_batch/2(and related batch helpers) now consistently accept both keyword lists and maps for entries (previously only keyword lists worked for entries containing message attributes).- Bumped minimum Elixir version to
~> 1.18,ex_awsto~> 2.7. Dropped the direct dependency on Jason in favor of Elixir's built-inJSONmodule (available since 1.18) — setconfig :ex_aws, json_codec: JSON.
Changelog entries below this point are from the original ex-aws/ex_aws_sqs project.
v3.4.0
- fix
sqs_message_attributetyping - fix: update to Config module import
- refactor: catch sweetxml parsing error / handle non-xml error body
- Add dialyzer, credo, CI workflow alignment
- Bump minimum Elixir version to 1.10
v3.3.1 - 2021-03-29
- Fix Issue #24 Always parse MessageGroupId as a string
v3.3.0 - 2021-03-28
- Updated min elixir version to 1.7
- Updated ex_aws dependency from "~> 2.0" -> "~> 2.1"
- documentation and formating updates
v3.2.1 - 2020-04-14
- Updated mix deps for
:saxy&:sweet_xmlto be marked optional
v3.2.0 - 2020-04-13
- Added optional support for saxy XML parser
- Saxy parser set as default parser if both
:saxyand:sweet_xmlloaded.
v3.1.0 - 2020-01-22
- Added support for Queue Tags
v3.0.2 - 2019-11-21
- Improved docs
v3.0.1 - 2019-11-21
- Updated
sqs_message_attribute_nametypespec forSQS.receive_messageto match AWS support attributes.
v3.0.0 - 2019-08-17
- BREAKING CHANGE: Changed queue specific functions to take the QueueUrl instead of the QueueName. Previously the name was used to build the path for the request. This is an anti-pattern according to aws docs and prevents this library from being used with alternative SQS compatible services, like localstack.
v2.0.1 - 2019-04-11
- Relaxed
:ex_awsversion constraint fromv2.0.0tov2.0
v2.0.0 - 2017-11-10
- Major Project Split. Please see the main ExAws repository for previous changelogs.