aws-sdk-js-v3

Modularized AWS SDK for JavaScript.

APACHE-2.0 License

Downloads
192.6M
Stars
3.1K
Committers
147
aws-sdk-js-v3 - https://github.com/aws/aws-sdk-js-v3/releases/tag/v3.7.0

Published by aws-sdk-js-automation over 3 years ago

3.7.0 (2021-02-26)

Chores
New Features
  • credential-provider-sso: support resolving credentials from SSO token (#2055) (1429ad1f)
Bug Fixes

Updated packages:

aws-sdk-js-v3 - https://github.com/aws/aws-sdk-js-v3/releases/tag/v3.6.1

Published by aws-sdk-js-automation over 3 years ago

3.6.1 (2021-02-22)

Bug Fixes
  • update references of default branch from master to main (#2057) (59b8b58c)

Updated packages:

aws-sdk-js-v3 - https://github.com/aws/aws-sdk-js-v3/releases/tag/v3.6.0

Published by aws-sdk-js-automation over 3 years ago

3.6.0 (2021-02-20)

Chores
  • lib-storage: move lib-storage to lib-storage folder (#2054) (6ffbbaa8)
  • protocol_tests: regenerate protocol test clients (#2049) (4a520761)
  • docs: fix typos in issues/PR templates (#2034) (76a9bd3c)
Documentation Changes
New Features
  • lib-storage: rewrite lib-storage upload (#2039) (2bd8f6a1)
  • client-sso:* remove auth dependencies if client doesn't need (#2037) (f1e190cd)
Bug Fixes
  • revert publish v3.5.1-0 (#2058) (af25697a)
  • credential-provider-ini: refactor provider options interfaces (#2048) (34cecf1e)
  • middleware-sdk-ec2: add undeclared dependency @aws-sdk/protocol-http (#2043) (6e562ba1)
  • credential-provider-node: read config and credentials files only once (#2045) (7db14b16)
  • clients: remove unsupported CORS retry headers in new services (#2041) (82df9d3a)
  • deps: add @aws-sdk/middleware-sdk-rds in DocDB and Neptune (#2042) (a0068f34)
  • lib-storage: fix typo in Upload.intialize (initialize) (#2025) (16214beb)
  • client-kinesis-video-signaling: remove retry headers (#1963) (8b35943f)

Updated packages:

aws-sdk-js-v3 - https://github.com/aws/aws-sdk-js-v3/releases/tag/v3.5.0

Published by aws-sdk-js-automation over 3 years ago

3.5.0 (2021-02-12)

Chores
  • clients: support cross-region-copying in DocDB and Neptune (#1985) (db87eef0)
  • codegen: move CrossRegionCopying to separate plugin (#1984) (7fa4eaf4)
Documentation Changes
New Features
  • util-dynamodb:
  • s3-request-presigner: automatically add host header (#1988) (cd50eeb5)
  • add S3 and S3Control customizations for custom endpoints (#1993) (96c1b995)
Bug Fixes
  • util-dynamodb:
    • unmarshall small numbers or those in scientific notation (#2017) (80a80941)
    • state options.wrapNumbers on BigInt error in unmarshall (#2015) (d1c548ed)
  • util-user-agent-browser: use default import from bowser (#1991) (d2e8d4f4)

Updated packages:

aws-sdk-js-v3 - https://github.com/aws/aws-sdk-js-v3/releases/tag/v3.4.1

Published by aws-sdk-js-automation over 3 years ago

3.4.1 (2021-01-29)

Chores
  • merge remote-tracking branch 'origin/master' into master (df957082)
New Features
  • use git-sync action to sync with private mirror (#1965) (10ab6a1d)
Bug Fixes

Updated packages:

aws-sdk-js-v3 - https://github.com/aws/aws-sdk-js-v3/releases/tag/v3.4.0

Published by aws-sdk-js-automation over 3 years ago

3.4.0 (2021-01-29)

Chores
Documentation Changes
  • credential-provider-imds:
New Features
  • util-dynamodb: add option to convert class instance to map (#1969) (1783c690)
  • middleware-stack: allow adding middleware to override an existing one (#1964) (9c21f144)
  • use downlevel-dts to generate TS 3.4 compatible types (#1943) (63ad2151)
  • run prettier in parallel in generate-clients (#1949) (878617a9)
Bug Fixes
  • allow packages/types in gitignore (#1942) (b4b6fad2)
  • credential-provider-cognito-identity: remove duplicate declarationDir (#1944) (d75488a7)
  • generate-clients: call mergeManifest when constructor.name is Object (#1937) (601c03bb)

Updated packages:

aws-sdk-js-v3 -

Published by trivikr almost 4 years ago

3.3.0 (2021-01-15)

Chores
  • clients: update yarn lock with types from @aws-crypto (#1914) (f41e199b)
New Features
  • clients: update README with documentation, usage and more (#1907) (03be111a)
Bug Fixes
  • util-waiters: waiters should call operation once before entering waiting (#1915) (2a6ac11c)
  • url-parser: merge browser and node url parser, add rn url parser (#1903) (99be092f)
  • clients:
Tests

Updated packages:

aws-sdk-js-v3 -

Published by AllanZhengYP almost 4 years ago

3.2.0 (2021-01-08)

Chores
Documentation Changes
  • call out @deprecated in comments for shapes/members (#1876) (b99e5271)
New Features
  • use lock-threads GH action for inactive issues/PRs (#1881) (fc226825)
  • util-dynamodb: enable undefined values removal in marshall (#1840) (314d3b37)
Bug Fixes
  • lib-storage: chunk from readable only when defined (#1886) (4cdc08ae)
  • s3-request-presigner: not to throw when get signed urls concurrently (#1884) (741bb99e)
  • stop adding command mw repeatedly in resolveMiddleware() (#1883) (d4c302b8)
  • readme:
  • util-user-agent-*: move @aws-sdk/types to devDependencies (#1879) (ea39ca6e)
  • util-waiter: expose minDelay and maxDelay for waiters (#1839) (25cb359e)
Tests

Updated packages:

aws-sdk-js-v3 - https://github.com/aws/aws-sdk-js-v3/releases/tag/v3.1.0

Published by aws-sdk-js-automation almost 4 years ago

3.1.0 (2020-12-24)

Chores
  • clients:
    • retain structure members' iteration order (#1838) (aa396a00)
    • remove clientName and commandName logging from Command (#1787) (04d9cf26)
  • docs: use bug and needs-triage labels (#1818) (dd04fa37)
  • deps: [security] bump node-notifier from 8.0.0 to 8.0.1 (#1815) (d4cb977c)
  • remove httpHeaders from metadata (#1811) (960c89e2)
Documentation Changes
New Features
  • credential-provider-node: use credential_process from profile (#1773) (842e2a01)
  • standardize user agent value (#1775) (388b1807)
  • cucumber: use waiters in integration tests (#1792) (e151aee1)
  • middleware-logger: log clientName, commandName, input, output (#1788) (4f9e56f1)
Bug Fixes
  • clients:
  • util-waiter: fix compiling error with waiter (#1812) (ca1f0d6f)
  • middleware-user-agent: add middleware to final step of build (#1833) (e7dce39e)
  • codegen: strip names from enums (#1837) (0711503c)
  • log requestId, extendedRequestId, cfId in $metadata (#1819) (f2a47e80)
  • lib-storage: cleanup stream listeners to prevent memory leak (3d366825)
  • signature-v4: add secrets to signing key cache key (#1776) (8785ad47)

Updated packages:

aws-sdk-js-v3 -

Published by aws-sdk-js-automation almost 4 years ago

3.0.0 (2020-12-15)

What’s New

Modular Packages

AWS SDK for Javascript v2 publishes a single npm package that supports all the AWS services. This makes it easy to use multiple services in a project at the cost of a large dependency when only using a handful of services or operations. In resource constrained environment such as mobile devices, having separate packages for each service client allows optimizing the dependency. The AWS SDK for Javascript v3 provides such modular packages. We have also split up the core parts of the SDK so that service clients only pull in what they need. For example, a service that sends responses in JSON will no longer need to also have an XML parser as a dependency.

Here’s a quick example comparing v2 and v3 of the AWS SDK for Javascript. In v2, the S3 client can be created using single monolithic package:

const AWS = require("aws-sdk");

const s3Client = new AWS.S3({});
await s3Client.createBucket(params);

In v3, the service clients are prefixed with client- followed by service name. So you can create the modular S3 client by importing @aws-sdk/client-s3:

const { S3 } = require("@aws-sdk/client-s3");

const s3Client = new S3({});
await s3Client.createBucket(params);

The blog post on modular packages in AWS SDK for JavaScript provides details on other modular packages in the SDK and shows an example of performance improvement due to bundle size reduction.

Middleware Stack

Version 2 of the SDK allows modifying a request throughout multiple stages of a request’s lifecycle by attaching event listeners to a request. It can be difficult to debug what went wrong during a request’s lifecycle using event listeners.

In version 3, we’ve switched to using a middleware stack to control the lifecycle of an operation call. This gives us several benefits: each middleware in the stack calls the next middleware after making any changes to the request object. This makes debugging issues in the stack much easier since you can see exactly which middleware was called leading up to an error.

Here’s an example of adding a custom header using middleware:

const { S3 } = require("@aws-sdk/client-s3");
const client = new S3({ region: "us-west-2" });`

client.middlewareStack.add(
  (next, context) => async (args) => {
    args.request.headers["x-amz-meta-foo"] = "bar";
    const result = next(args);
    // result.response contains data returned from next middleware.
    return result;
  },
  {
    step: "build",
    name: "addFooMetadataMiddleware",
    tags: ["METADATA", "FOO"],
  }
);

await client.putObject(params);

The blog post on Middleware Stack in Modular AWS SDK for JavaScript does a deep dive on writing middleware and plugins.

First-class TypeScript support

Version 2 of the SDK is written in vanilla JavaScript. Typescript definition files were added in late 2016, when our customers requested type support after Angular 2 started recommending TypeScript as a primary language for application development. The internal components of the SDK are still written in vanilla JavaScript, and type definitions can go out of date.

The TypeScript programming language extends JavaScript by adding types, and saves you time catching errors and providing fixes before you run your code. We used TypeScript in the JavaScript SDK to benefit from its static type definitions, latest ECMAScript features, IDE support like Intellisense and improved documentation support. The blog post on first-class TypeScript support covers the benefits of TypeScript in the SDK in detail. Although the SDK is written in TypeScript, you can use vanilla JavaScript in your code.

Additional features

We also added many other features, which we are planning to cover in detail in future blog posts:

  • New retry behavior with congestion control to accommodate throttling responses, and retry quotas to limit the number of failed retries.
  • Pagination using async generators.
  • Extensive logging support to record API input/output and corresponding metadata.
  • Utility functions to operate with JavaScript objects in DynamoDB.
  • Higher order operation for multipart upload.
  • Bi-directional transcribe streaming over WebSockets.
  • Support for HTTP/2.
  • AbortController interface to abort requests as and when desired.
  • Keep Node.js HTTP connections alive by default.

Platform Support

The modular AWS SDK for JavaScript officially supports Node.js, browser and React Native environments.

Minimum supported version for Node.js is 10.x

On December 31st, 2019 Node.js 8.x reached End of Life (EOL). We have therefore updated the minimum requirements for AWS SDK for JavaScript version 3 to Node.js 10.x. If you are currently using earlier versions of Node.js, please upgrade and refer to the Node.js 10.x release announcement for notable changes.

Minimum supported version for browsers is ECMAScript version 5 (ES5)

We continue to support ECMAScript version 5 (ES5) on browsers, including these minimum versions.

Browser Version
Internet Explorer 10+
Microsoft Edge 12+
Mozilla Firefox 21+
Google Chrome 23+
Apple Safari 6+
Opera 15+
Android browser 4.4+

Minimum supported version for React Native is 0.59.0

The React Native support in the SDK is added to assist AWS Amplify – a high level library built on top of the SDK. We support React Native versions 0.59.0 and above.

What’s missing in v3

The following features are not available in version 3 yet, we are working to add support for them::

Further reading

To get started with JavaScript SDK version 3, visit our Developer Guide or API Reference.

You can also visit our self-guided workshop, which builds a simple note taking application using JavaScript SDK version 2 and provides step-by-step migration instructions to version 3.

To test your universal JavaScript code in Node.js, browser and react-native environments, visit our code samples repo.

Updated packages:

aws-sdk-js-v3 - https://github.com/aws/aws-sdk-js-v3/releases/tag/v1.0.0-rc.10

Published by aws-sdk-js-automation almost 4 years ago

1.0.0-rc.10 (2020-12-15)

Chores
  • protocol_tests: updates for latest protocol tests (#1770) (e22d9ef7)
New Features
Bug Fixes

Updated packages:

aws-sdk-js-v3 - https://github.com/aws/aws-sdk-js-v3/releases/tag/v1.0.0-rc.9

Published by aws-sdk-js-automation almost 4 years ago

1.0.0-rc.9 (2020-12-12)

Chores
  • url-parser-node: use WHATWG URL instead of url.parse (#1766) (7e7feb16)
  • deps:
    • [security] bump ini from 1.3.5 to 1.3.7 (#1762) (bfbc78b3)
    • [security] bump highlight.js from 10.4.0 to 10.4.1 (#1743) (56c36395)
  • deps-dev:
  • merge remote-tracking branch 'origin/master' into master (fab1c1f3)
New Features
Bug Fixes
  • shared-ini-file-loader: ignore prohibited profile name (#1764) (a209082d)
  • codegen: import SENSITIVE_STRING only when used (#1761) (92962836)
  • middleware-sdk-sqs: call next() exactly once in sendMessageMiddleware (#1752) (dc63e375)

Updated packages:

aws-sdk-js-v3 - https://github.com/aws/aws-sdk-js-v3/releases/tag/v1.0.0-rc.8

Published by aws-sdk-js-automation almost 4 years ago

1.0.0-rc.8 (2020-12-05)

Chores
Documentation Changes
New Features
Bug Fixes
  • codegen: checkstyle errors in AddBuiltinPlugins.java (#1731) (48c02f48)
  • client-s3: fix union serialization (#1730) (6437e242)
  • client-sts: disable auth for public assumeRole commands (#1706) (891eae20)
  • s3-request-presigner: skip hoisting SSE headers (#1701) (1ec70ff0)
  • middleware-sdk-sqs: Fix MD5 verification on SendMessageBatch. (#1666) (049f45e4)
Tests
  • client-iam: check for IAM.getUser instead of listUsers (#1710) (4e02fbd9)
  • client-cloudwatch-logs: pass logGroupNamePrefix in describeLogGroups (#1708) (2fe5d142)

Updated packages:

aws-sdk-js-v3 - https://github.com/aws/aws-sdk-js-v3/releases/tag/v1.0.0-rc.7

Published by aws-sdk-js-automation almost 4 years ago

1.0.0-rc.7 (2020-11-20)

Chores
  • service-error-classification: alphabetically order THROTTLING_ERROR_CODES (#1689) (75cd258f)
New Features
  • update clients as of 11/18/2020 (#1700) (8adfed16)
  • api-reference: add typedoc plugins for api reference (#1694) (2cb016f2)
  • node-http-handler: update timeout code and tests (#1691) (9e58bbb9)
  • service-error-classification: add 429 response as Throttling (#1690) (9a62c0a1)
  • ci: add GitHub Action to test codegen (#1684) (41e9359f)
Bug Fixes
  • fetch-http-handler: omit body for HEAD/GET methods (#1698) (778b3051)
  • abort-controller: make AbortSignal WHATWG Spec compliant (#1699) (723ec4df)
  • node-http-handler: throw TimeoutError for Node.js timeouts (#1693) (96f61bbe)
  • change paginators to export paginateOperationName (#1692) (6d029356)
  • codegen: add aws-iam-traits dependency (#1686) (d6fb1f61)

Updated packages:

aws-sdk-js-v3 - https://github.com/aws/aws-sdk-js-v3/releases/tag/v1.0.0-rc.6

Published by aws-sdk-js-automation almost 4 years ago

1.0.0-rc.6 (2020-11-13)

Chores
  • deps-dev: bump @commitlint/config-conventional to 11.0.0 (#1673) (a3fab9fa)
New Features
Bug Fixes

Updated packages:

aws-sdk-js-v3 - https://github.com/aws/aws-sdk-js-v3/releases/tag/v1.0.0-rc.5

Published by aws-sdk-js-automation almost 4 years ago

1.0.0-rc.5 (2020-11-09)

Chores
  • codegen: refactor S3 customizations to own class (#1656) (1f46eac9)
Documentation Changes
New Features
Bug Fixes
  • codegen for paginator send commands (#1667) (13f33477)
  • migrate dev types for packages and lib into package.json devDeps (#1654) (16d7030a)
  • node-http-handler: set maxSockets above 0 in test (#1660) (706768d5)
  • package.json: migrate @aws-sdk/types into devDependencies codegen (#1658) (eb509629)

Updated packages:

aws-sdk-js-v3 - https://github.com/aws/aws-sdk-js-v3/releases/tag/v1.0.0-rc.4

Published by aws-sdk-js-automation almost 4 years ago

1.0.0-rc.4 (2020-10-31)

Documentation Changes
  • middleware-stack: remove outdated README content (#1641) (1ee5119a)
New Features
Bug Fixes
  • log requestId, extendedRequestId, cfId in metadata (#1640) (3a2f617d)
  • util-format-url: remove headers or path from input (#1639) (db7aa08b)
  • client-timestream-*: use correct endpoint prefix (#1643) (f329821b)
  • credential-provider-cognito-identity: return identityId as part of cognitoIdentityPool (#1635) (de75f7e8)
Tests

Updated packages:

aws-sdk-js-v3 - https://github.com/aws/aws-sdk-js-v3/releases/tag/v1.0.0-rc.3

Published by aws-sdk-js-automation almost 4 years ago

1.0.0-rc.3 (2020-10-28)

Chores
New Features
  • polly-request-presigner: add presigned getSynthesizeSpeechUrl() (#1612) (2c9fd947)
  • update client description to add keywords (#1631) (93fc5866)
Bug Fixes
  • codegen: skip awsAuthPlugin when optionalAuth trait is set (#1622) (785272b1)
  • client-cognito-identity: remove auth for UnlinkIdentity (#1621) (c32e5f39)
  • generate-clients: Invoke prettier relative to client-generation (#1614) (a4136abc)

Updated packages:

aws-sdk-js-v3 - https://github.com/aws/aws-sdk-js-v3/releases/tag/v1.0.0-rc.2

Published by aws-sdk-js-automation about 4 years ago

1.0.0-rc.2 (2020-10-22)

Chores
Bug Fixes

Updated packages:

aws-sdk-js-v3 - v1.0.0-rc.1

Published by AllanZhengYP about 4 years ago

1.0.0-rc.1 (2020-10-19)

Chores
New Features
Bug Fixes
  • node-http-handler: fix type error sending Uint8Array as payload (#1561) (7bf03fcd)

Updated packages: