aws_request
Easily create, sign, and send API requests to AWS services without the hassle of implementing Signature Version 4.
2.1.0
6.3K downloads/mo
#3525 most downloaded on pub.dev
Zsmerritt/Flutter_AWS_Request
What this package is like to depend on
Last release 5 months ago
23 Mar 2026
Release timing varies
gaps range from 2 weeks to 13 months
Nearly every release is documented
notes for 27 of 28 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
28 releases · first in 2021
2 releases in the last 12 months
see the full history below
Release timeline
28 releases · Feb 2021 to Mar 2026Releases
latest 28-
2.1.023 Mar 2026Release notes
Open source →Changes:
- SigV4 correctness: Canonical query string matches the wire request — parameters sorted by name then value, encoding aligned with how the request
Uriis built (avoids signing/query mismatches from ad hoc encoding) - SigV4 correctness: Region and service names are lowercased in credential scope and in signing-key derivation (fixes invalid signatures when callers pass mixed-case region or service)
- New request options on
AwsRequest.send/staticSendandMockAwsRequest:queryStringPairsfor duplicate query parameter names (not expressible withMap);hashedPayloadIsUnsignedfor S3-styleUNSIGNED-PAYLOAD;useNonS3DoubleEncodedCanonicalPathfor non-S3 path double-encoding rules signedHeadersentries are resolved case-insensitively against merged request headers- Signing uses the same normalized canonical path as the outbound
Uri(url.path) AwsRequestException.toString()includesstackTraceAwsHttpRequest.sendrejects emptyawsAccessKey/awsSecretKey- Clearer error when
mockRequestis true butmockFunctionis null - README: STS / temporary credentials (
X-Amz-Security-Tokenand signing it); retries and HTTP client lifecycle; duplicate query keys withMap; corrected JSON body examples - API docs updated for mutable credential fields, default signed headers, and the new options
- Stricter
analysis_options.yaml(extendspackage:lints/recommended.yaml) - Test suite expanded (SigV4 vector/conformance coverage; optional live AWS tests behind environment configuration)
- SigV4 correctness: Canonical query string matches the wire request — parameters sorted by name then value, encoding aligned with how the request
-
2.0.021 Mar 2026Release notes
Open source →Breaking Changes:
MockAwsRequestconstructor now uses named parameters to matchAwsRequestAPIAwsRequestExceptionfields (message,stackTrace) are nowfinal
Changes:
- Removed
intldependency — date formatting is now handled internally - Fixed HTTP client resource leak in
getRequest(client now always closed viatry/finally) - Fixed SigV4 timestamp race condition —
getAuthnow derives dateStamp from amzDate instead of a separateDateTime.now()call - Added optional
endpointparameter for custom/non-standard AWS hostnames (S3 virtual-hosted-style, VPC endpoints, LocalStack, etc.) sign()return type changed fromdynamictoDigestvalidateRequestnow throws directly instead of returning a validation map- Removed unused parameters (
host,requestBody,timeout) fromgetHeaders getSignedHeadersno longer throws when default keys (e.g.host) are passed insignedHeaders- Replaced
type.toString().toUpperCase().split('.').lastwithtype.name.toUpperCase() - All tests now use mock HTTP clients instead of external network calls
- Updated CI pipeline actions (
checkout@v4,codecov-action@v5) - Updated README with SDK requirements,
MockAwsRequestdocumentation, custom endpoints, and corrected examples - Updated example project to current SDK and package versions
-
1.1.021 Jun 2025Release notes
Open source →Increased minimum intl version for 3.32 compatiblity
Removed outdated lint ruleRelease notes
Open source →- Increased minimum
intlversion for 3.32 compatibility - Removed outdated lint rule
- Increased minimum
-
1.0.121 May 2024 -
1.0.031 May 2023 -
0.5.031 May 2023Release notes
Open source →- Updated
intlto new version - Fixed test broken by update
Full Changelog: 0.4.0...0.5.0
- Updated
-
0.4.025 Jan 2022Release notes
Open source →[0.4.0] - 2022/01/24
Breaking Changes:
- AwsRequestTypes have been lower cased to conform with dart conventions
Changes:
- Added stricter analysis options
- Refactored AwsRequest and MockAwsRequest
- Removed argument
targetbecause it should just be a header
Release notes
Open source →Breaking Changes:
- AwsRequestTypes have been lower cased to conform with dart conventions
Changes:
- Added stricter analysis options
- Refactored AwsRequest and MockAwsRequest
- Removed argument
targetbecause it should just be a header
-
0.4.0+126 Jan 2022 -
0.4.0+210 Feb 2023Release notes
Open source →[0.4.0+2] - 2023/02/09
- Minor housekeeping to fix running tests & lint deprecations
- Fixed typo in description
- Updated example
- Fixed test case for modern dart
Release notes
Open source →- Minor housekeeping to fix running tests & lint deprecations
- Fixed typo in description
- Updated example
- Fixed test case for modern dart
-
0.3.009 Jan 2022Release notes
Open source →[0.3.0] - 2022/01/09
- Migrated from
universal_iotohttp - Refactored project into discrete testable modules
- Added unit tests for each piece
- Added MockAwsRequest to mock requests for easier testing
- Added AUTHORS file
- Added static version of primary method
- Updated documentation to illustrate new static call method
- Added coverage
- Fixed bug with allowing non String values in queryString
Full Changelog: 0.2.1...0.3.0
Release notes
Open source →- Migrated from
universal_iotohttp - Refactored project into discrete testable modules
- Added unit tests for each piece
- Added MockAwsRequest to mock requests for easier testing
- Added AUTHORS file
- Added static version of primary method
- Updated documentation to illustrate new static call method
- Added coverage
- Fixed bug with allowing non String values in queryString
- Migrated from
-
0.3.0+110 Jan 2022Release notes
Open source →- Added more unit tests
- Added note about Android permissions to readme
- Incremented mid version for github
- Added optional timeout argument to
AwsRequest.sendthat overrides constructor timeout
-
0.2.109 Jan 2022 -
0.2.017 Sep 2021Release notes
Open source →- Removed unneeded flutter dependency to allow native and js compatibility
- Refactored some code for better readability
- Added AwsRequestType enum to replace String request type
- Removed deprecated
causefrom AwsRequestException - Updated license to MIT
-
0.2.0+117 Sep 2021 -
0.1.912 Sep 2021Release notes
Open source →- Added stack trace to AwsRequestException
- Added optional timeout parameter with a default value of
Duration(seconds: 10)
-
0.1.825 Aug 2021 -
0.1.731 Jul 2021Release notes
Open source →- Fixed bug limiting calls to POST requests
- Fixed bug limiting requests to
logsservice - Fixed bug with static signed headers
- Reformatted files
- Added QoL service and target values to constructor
-
0.1.602 Jul 2021 -
0.1.509 Jun 2021 -
0.1.419 May 2021 -
0.1.325 Mar 2021 -
0.1.224 Mar 2021 -
0.1.124 Mar 2021 -
0.1.024 Mar 2021Release notes
Open source →- Added support for null safety
- Updated dependencies for null safety compatibility
-
0.0.426 Mar 2021Nothing published for this version
-
0.0.311 Feb 2021Release notes
Open source →- Reverted issue with null safety. This will be fixed later
- Added files to example to help it execute
-
0.0.211 Feb 2021 -
0.0.110 Feb 2021