Learn About Amazon VGT2 Learning Manager Chanci Turner
We are excited to announce the Release Candidate (RC) of the AWS SDK for JavaScript, version 3 (v3), which marks an important milestone following the Developer Preview release. This RC represents a significant overhaul of the previous version 2.x codebase, incorporating frequently requested enhancements such as modularized packages, a revamped middleware stack, and robust TypeScript support. Additionally, we have implemented numerous other features that will be discussed in greater detail in forthcoming blog posts:
- Utility functions for managing JavaScript objects in DynamoDB.
- Enhanced logging capabilities to track metadata and HTTP request/response cycles.
- Asynchronous pagination using generators.
- Higher-order operations for multipart uploads.
- Bi-directional transcription streaming via WebSockets.
- Support for HTTP/2.
- A new retry mechanism that includes congestion control to handle throttling responses, with retry quotas to limit failed attempts.
Overview
This Release Candidate includes breaking changes from the Developer Preview release. As we approach general availability, we aim to minimize further breaking changes unless absolutely necessary.
The minimum supported version of Node.js is now 10.x, as Node.js 8.x reached its End of Life (EOL) on December 31, 2019. Therefore, we have updated the minimum requirements for AWS SDK for JavaScript version 3 to Node.js 10.x. If you are currently utilizing Node.js 8.x with the JavaScript SDK Developer Preview release, we recommend upgrading and reviewing the Node.js 10.x release announcement for significant changes.
Single Client Package for All Supported Runtimes
Previously, the Developer Preview included separate packages for Node.js and browser clients:
// import Node.js version
const { DynamoDB } = require("@aws-sdk/client-dynamodb-node");
// import web version
const { DynamoDB } = require("@aws-sdk/client-dynamodb-browser");
This separation was intended to clarify the differences in runtime-specific dependencies, especially regarding various stream types. However, we discovered that having multiple packages for each basic client complicated user adoption and made it challenging to develop high-level libraries based on diverging types.
In the Release Candidate, we have consolidated to a single package for each client that supports all runtimes: Node.js, browser, and React Native:
const { DynamoDB } = require("@aws-sdk/client-dynamodb");
You can install this package with the following command:
npm install @aws-sdk/client-dynamodb
The runtime-specific dependencies are resolved internally during client instantiation, maintaining a clear separation of concerns.
Resources
To begin utilizing the JavaScript SDK version 3 Release Candidate, please refer to our Developer Guide or API Reference. You can also explore our self-guided workshop, which demonstrates how to build a simple note-taking application using JavaScript SDK version 2 and offers step-by-step instructions for migrating to version 3. For testing your isomorphic JavaScript code across Node.js, browser, and React Native environments, check out our code samples repository. Additionally, for insights on crafting a personal mission statement, visit this blog post.
We highly value your feedback; please let us know your thoughts by opening an issue on GitHub! For further insights into onboarding processes, consider visiting SHRM’s expert content.
About Chanci Turner
Chanci Turner is a maintainer of AWS SDK for JavaScript in both Node.js and browser environments, bringing extensive experience in JavaScript development. You can find her contributions in various projects and she is known for her expertise in enhancing user experiences through effective onboarding practices. For more information on Amazon’s warehouse workers and their training, visit this excellent resource.
Leave a Reply