LocalStack Release v3.3.0

LocalStack 3.3 is here with a host of new features and enhancements. This release includes support for running ECS tasks on Kubernetes, improved performance for DynamoDB Streams and Kinesis, and a new experimental web server implementation for high-throughput scenarios.

We have also shipped for a new experimental web server implementation that has improved performance for high-throughput scenarios. You can activate it using GATEWAY_SERVER=twisted .

You can get started with LocalStack 3.3 using the localstack CLI:

localstack update docker-images

Community Release

The release features new enhancements and additions to support our community-edition users.

New Step Functions features & enhancements

We have shipped several new features & enhancements to our Step Functions provider, to support better parity with AWS. These include:

  • Support for ECS Optimized Service.
  • Support for StepFunctions Activities.
  • Monitoring for state size quota limits and handling of States.DataLimitExceeded errors
  • Support for MaxItem and MaxItemPath.
  • Validations for API actions (InvalidArn, StateMachineDoesNotExist, ExecutionDoesNotExist)
  • Improved Map states, resolving issues with ItemSelector and Parameters definitions in Iteration Components, and introducing distributed mode for legacy Iterator declarations.
  • Enhanced JsonPath extraction for accurate SecondsPath retrieval, now raising runtime errors on invalid inputs.

Performance improvements for DynamoDB & Kinesis streams

We have shipped several performance improvements for DynamoDB & Kinesis streams. Through this re-work, we have achieved nearly 15x more throughput for BatchWriteItem API. You can refer to the table below for a more comprehensive benchmark:

DynamoDB Streams 3.2 3.3
PutItem throughput item/s 123.14 233.97
TransactWriteItems (25) throughput item/s 82.77 2746
BatchWriteItem (25) throughput item/s 171.77 4574.19
Kinesis Streams 3.2 3.3
PutItem throughput item/s 122.19 237.03
TransactWriteItems (25) throughput item/s 85.54 3251.62
BatchWriteItem (25) throughput item/s 171.51 5116.76

Other changes and enhancements

  • Lambda now supports the new Dotnet8 runtime.
  • Support for wildcards in CORS config (eg: http://*.example.com ) is now available in the S3 service.
  • ARM-based Lambda functions now feature improved test coverage covering all AWS-supported Lambda runtimes.

Pro Release

The Pro release features a lot of new enhancements and additions to support our licensed users.

Kubernetes support for Elastic Container Service

ECS tasks can now be run when LocalStack is deployed on Kubernetes. To enable this feature you must be part of our Enterprise plan, and set ECS_TASK_EXECUTOR=kubernetes. Tasks can be added to ELB load balancer target groups. This is part of our ongoing initiative to expand our support to Kubernetes.

New ECR endpoint strategy

The default endpoint returned by ECR has been changed to include the account id and region, for compatibility & better parity. This can be configured using the new configuration variable: ECR_ENDPOINT_STRATEGY . You can set it to domain for the new default, or off for the old format.

Filters for Service Discovery

Filters for list operations and parameters for discover operations is now available in ECS service discovery. Filters can be used to narrow down the results of a list operation in Service Discovery. Filters are now supported for the following operations:

Know more about them on our docs.

Other changes and enhancements

  • Multi-label support is now available for Neptune service.
  • GraphQL APIs created locally by CloudFormation can now be created with tags.
  • Support for routing of CloudFront aliases to the correct CloudFront distribution is now available.
  • Support for using external SAML providers (e.g., Auth0) as an identity pool IdP in the Cognito service.
  • LocalStack now stops and removes underlying EC2 containers while shutting down. You can opt to skip the removal by setting the EC2_REMOVE_CONTAINERS flag.
  • IoT Device Shadow Service now supports DeleteThingShadow API.
  • MWAA Airflow runners now come with Java Corretto pre-installed.
  • Significant performance improvements when sending large INSERT or COPY queries for PostgreSQL database in the RDS service.

SaaS Release

The LocalStack Web Application features new components and improvements to manage your LocalStack subscriptions and local AWS resources via our intuitive user-interface.

New Resource Browser for CodeCommit

The LocalStack Web Application now provides a Resource Browser for managing CodeCommit repositories.

You can access the Resource Browser by opening the LocalStack Web Application in your browser, navigating to the Resource Browser section, and then clicking on CodeCommit under the Developer Tools section.

The Resource Browser allows you to perform the following actions:

  • Create Repository: Create a new CodeCommit repository by specifying the repository name and description, along with optional tags and KMS key ID.
  • View Repository: View the details of a CodeCommit repository, including the repository name, description, ARN, and clone URLs.
  • Delete Repository: Delete a CodeCommit repository by selecting the repository from the list and clicking the Actions dropdown menu followed by Delete.

Deprecations

  • Deprecated six Lambda runtimes including :

    • python3.7
    • nodejs14.x
    • ruby2.7
    • provided
    • go1.x
    • java8

    LocalStack prints a deprecation warning but you can still use deprecated runtime

2 Likes