github localstack/localstack v3.5.0

4 days ago

Summary

LocalStack 3.5 introduces significant enhancements including support for the Database Migration Service (DMS), an all-new EC2 Libvirt VM manager for emulating virtual machines, a new EventBridge provider, and much more. Other notable updates include enhanced support for container Lambda via the Kubernetes executor, custom model support for Sagemaker, several Step Functions enhancements, and new CloudFormation resource providers.

AWS Features

  • LocalStack now supports Database Migration Service (DMS) and you need to set the environment variable ENABLE_DMS=1 in order to activate it. (🌟 enterprise)
  • EC2 now supports Libvirt VM manager. This VM manager allows EC2 instances to be emulated as virtual machines using the KVM/QEMU on Linux via the Libvirt API. (🌟 pro)
  • LocalStack now includes a native EventBridge provider accessible through the feature flag: PROVIDER_OVERRIDE_EVENTS=v2. Learn more about it in our Discuss post.

Enhancements

  • LocalStack has added support for container lambdas using the Kubernetes executor. The configuration option LAMBDA_K8S_INIT_IMAGE lets you specify the image used to download the init binary from LocalStack. (🌟 pro)

  • Support for DELETE operation for Device Shadow Service over MQTT in the IoT provider. (🌟 pro)

  • Support for publishing MQTT messages with non-JSON payloads in the IoT provider. (🌟 pro)

  • Support for Apache Airflow 2.8.1 in the Managed Workflows for Apache Airflow (MWAA). (🌟 pro)

  • Support for SageMaker custom-built model inference deployment. (🌟 pro)

  • Support for named shadows in the IoT provider. (🌟 pro)

  • Custom DNS support for API Gateway REST APIs. (🌟 pro)

  • Support for ListPipes operation in the EventBridge Pipes provider. (🌟 pro)

  • Support for CloudWatch Logs logging and monitoring in Step Functions.

  • LocalStack now includes additional SNS filter operators:

    Improvements have also been made to the Anything-but matching. Furthermore, support for the $or operator now enables more complex filter policies.

  • AWS has deprecated the SQS attribute-names parameter for the receive-message operation and replaced it with message-system-attribute-names. LocalStack has implemented this update.

  • Previously, the Step Functions interpreter could not execute reentrant distributed map states because it did not perform necessary cleanups at the end of evaluations, preventing the activation of new workers. These issues have now been addressed.

  • Support for CommaDelimitedList in CloudFormation macro.

  • Support for Glue optimised integrations for Step Functions.

  • Support for S3 Multipart Uploads object integrity checks.

  • Support for GZIP and bzip2 decompression for S3 Select.

  • Previously, the Step Functions interpreter did not normalize the output values of service responses when the response type was not directly inferrable as JSON, such as with StreamingBody data types. This issue has now been addressed, and normalization steps are in place for such data types.

  • Neptune default Cardinality for Vertex property changed from Single to Set for better Gremlin query parity with AWS (🌟 pro)

  • In CloudFormation, the deployment order now better accounts for dependencies among resources during both creation and deletion. This update should resolve issues in larger stacks with many dependent resources. To revert to the previous behavior, set CFN_LEGACY_TEMPLATE_DEPLOYER=1.

  • The following CloudFormation resource providers are now supported:

    Operation Create Update Delete
    AWS::ACMPCA::Certificate
    AWS::ACMPCA::CertificateAuthority
    AWS::ACMPCA::CertificateAuthorityActivation
    AWS::ACMPCA::Permission
    AWS::EC2::PrefixList
    AWS::EC2::VpcEndpoint
    AWS::Batch::ComputeEnvironment
    AWS::Batch::JobQueue
    AWS::Batch::JobDefinition
    AWS::Glue::Registry
    AWS::Glue::Schema
    AWS::Glue::SchemaVersion
    AWS::Glue::SchemaVersionMetadata
    AWS::Glue::Connection
    AWS::Cloudfront::ResponseHeadersPolicy
    AWS::EFS::AccessPoint
    AWS::EFS::MountTarget
    AWS::SageMaker::Model
    AWS::SageMaker::Endpoint
    AWS::SageMaker::EndpointConfig
    AWS::WAFv2::WebACL
    AWS::WAFv2::WebACLAssociation
    AWS::WAFv2::IPSet
    AWS::WAFv2::LoggingConfiguration

LocalStack Features

  • LocalStack's new web server implementation, which enhances performance in high-throughput scenarios and was initially enabled by a feature flag, is now the default setting.
  • LocalStack CLI does not publish port 53 anymore by default. You can use the CLI flag --host-dns to expose the port on the host.
  • Support for CFN_PER_RESOURCE_TIMEOUT environment variable, defaulting to 300 seconds. This extends LocalStack's CloudFormation deployment limit for a single resource beyond the previous 2.5-minute hard cap, accommodating larger deployments such as nested stacks.
  • Support for --env-file flag in the DOCKER_FLAGS environment variable when using the LocalStack Docker Container, allowing you to pass the path to an environment file.
  • Support for environment variable placeholders in hot-reloading paths for Lambda functions.
  • New Resource Browser for Database Migration Service (DMS) is now available. (🌟 enterprise)
  • You can now select Athena databases and S3 paths directly from the Athena SQL editor. (🌟 pro)
  • Neptune Resource Browser is now easier to use, featuring a graph browser on the main page and a dropdown menu for selecting instances. (🌟 pro)

What's Changed

Exciting New Features 🎉

  • add resource providers for vpc endpoint and prefix list by @pinzon in #10735
  • switch default gateway server from hypercorn to twisted by @alexrashed in #10703
  • Fix: Firehose: Drop keys in destinations description not in respective return types by @maxhoheiser in #10758
  • Feat: Eventbridge v2: Add pattern matching by @maxhoheiser in #10664
  • Refactor: Events v2: Move existing provider code to v1 folder by @maxhoheiser in #10730
  • Feature: Eventbridge v2: Add input path by @maxhoheiser in #10733
  • Bump moto-ext to 5.0.6.post2 by @viren-nadkarni in #10742
  • Feature/eventbridge v2 add input transformer by @maxhoheiser in #10789
  • implement SNS Filter/operators $or, suffix, equals-ignore-case, anything-but by @bentsku in #10691
  • Feature: Eventbridge v2: add schedule executor by @maxhoheiser in #10817
  • Feature: Eventbridge v2: Add tagging by @maxhoheiser in #10840
  • Add endpoint to expose lambda init binary, increase fidelity of the kubernetes dev script by @dfangl in #10828
  • Add support for environment variable placeholders in hot-reloading paths by @dfangl in #10857
  • add cdk utility to import docker images to ecr by @pinzon in #10861
  • move source code into localstack-core by @thrau in #10800
  • extract docker build / push make targets to helper script by @alexrashed in #10872
  • Add support for the --env-file flag in docker flags by @dfangl in #10880
  • implement S3 checksum for Multipart uploads by @bentsku in #10917
  • move aws-specific patches into localstack.aws.patches by @thrau in #10958
  • add DaemonAwareThreadPool for thread pools to block shutdown by @thrau in #10959
  • remove remaining (transitive) usages of Quart by @alexrashed in #9754
  • CFn: DAG based deploy order by @simonrw in #10849
  • remove deprecated HttpRequest type alias by @alexrashed in #9757
  • [SFN] Support for CloudWatch Logging and Monitoring by @MEPalma in #10975
  • Step Functions: Allow describing ARNs that contain periods by @northvankiwiguy in #10985
  • [SFN] Normalise Upload Values by @MEPalma in #10999
  • introduce handler chain (next gen) in apigateway v1 invocation by @bentsku in #10982
  • [SFN] Multi-account and Multi-region Logging by @MEPalma in #11007
  • Add new option to manually expose the DNS port to the host, remove binding by default by @dfangl in #11011
  • implement new runtime framework for bootstrapping localstack by @thrau in #10942

Other Changes

New Contributors

Full Changelog: v3.4.0...v3.5.0

Don't miss a new localstack release

NewReleases is sending notifications on new releases.