Thanks to visit codestin.com
Credit goes to github.com

Skip to content

v4.8.0

Latest
Compare
Choose a tag to compare
@localstack-bot localstack-bot released this 11 Sep 18:49
· 16 commits to main since this release

Summary

LocalStack v4.8 brings one-click Lambda debugging with the AWS Toolkit for VS Code, a new CloudFormation engine, and an ECS-based Batch provider. The release also adds Kubernetes support for Redis, Route 53 β†’ S3 website routing, and several enhancements to other AWS services like RDS Data, CloudFront, EKS, SQS, and CodeBuild, alongside major upgrades to the LocalStack Toolkit for VS Code.

AWS Features

  • LocalStack integrates with the AWS Toolkit for VS Code, enabling one-click remote debugging of Lambda functions. You can set breakpoints, step through code, and inspect variables directly in your IDE. Debugger instrumentation is now automatic for Python, Node.js, and Java runtimes, eliminating the need for manual setup or boilerplate code. Check out our blog for more information.
  • LocalStack introduces a new CloudFormation engine with improved parity for UPDATE operations and closer alignment with AWS. The legacy engine remains available (PROVIDER_OVERRIDE_CLOUDFORMATION=engine-legacy) for backwards compatibility, but all new features and fixes will target the new engine. Learn more in the documentation.
  • LocalStack now ships with a new Batch provider built on top of the ECS runtime, replacing the previous custom implementation. Kubernetes execution is available via ECS_TASK_EXECUTOR=kubernetes. The legacy provider can still be used with PROVIDER_OVERRIDE_BATCH=legacy. Learn more in the documentation. (🌟 ultimate)

Enhancements

  • LocalStack now supports running Redis in ElastiCache & MemoryDB as Kubernetes pods, providing consistent behaviour across local and cluster environments and removing the need for separate Docker-based execution. Enable it by setting REDIS_CONTAINER_MODE=1 and CONTAINER_RUNTIME=kubernetes. (🌟 enterprise)
  • LocalStack now offers CRUD support for EKS Addons. The following API calls are now supported: (🌟 ultimate)
  • LocalStack now supports routing Route 53 domains to S3 static website endpoints, enabling custom domains to resolve directly to S3-hosted websites and improving parity with AWS. (🌟 base)
  • LocalStack's RDS Data provider now includes the following enhancements: (🌟 base)
    • Added support for oid type in Postgres via the RDS Data API.
    • Added support for array types in Postgres via the RDS Data API, with fixes for array handling in Redshift Data.
    • Added support for returning numberOfRecordsUpdated in Postgres databases, improving parity with AWS responses.
  • LocalStack's CloudFront provider now includes the following enhancements: (🌟 base)
    • Improved parity for header propagation in Lambda@Edge.
    • Improved parity by propagating status code changes for request event types (viewer-request, origin-request) in Lambda@Edge.
    • Proper handling of 3XX redirects for request events, ensuring responses like 302 are correctly propagated in Lambda@Edge.
    • CustomOriginConfig.HTTPPort and CustomOriginConfig.HTTPSPort are now properly set, ensuring requests correctly use configured custom ports instead of defaulting to port 80/443, with fallbacks to LocalStack’s edge port (4566) when necessary.
  • Enhanced Lambda hot-reload to returnΒ file://Β URIs for code locations instead of arbitrary strings, making them easier to parse and understand.
  • Support for customΒ SSM DocumentsΒ withΒ SendCommandΒ is now available, including parameter substitution. Only theΒ aws:runShellScriptΒ plugin is supported. (🌟 base)
  • ImplementedΒ FISΒ actionΒ aws:ecs:stop-task, enabling fault injection experiments to stop running ECS tasks. (🌟 ultimate)
  • EnabledΒ API GatewayΒ VPC endpoint routing, allowing API invocation viaΒ .vpce.execute-apiΒ URLs using theΒ x-apigw-api-idΒ header.
  • SNSΒ now supports passingΒ MessageGroupIdΒ to non-FIFO topics, aligning with SQS Fair Queues behavior and ensuring the attribute is propagated correctly to SQS messages.
  • ImplementedΒ SESΒ SetIdentityHeadersInNotificationsEnabledΒ API, enabling configuration of header inclusion in bounce, complaint, and delivery notifications.
  • Added support forΒ Lambda Function URLsΒ withΒ ResponseStreamΒ invoke mode, enabling streaming responses via theΒ InvokeModeΒ parameter.
  • Added Java 24 support in the Trino installer, enabling upgrades from Trino 389 to 476 and improving module installation command generation. (🌟 ultimate)
  • IncreasedΒ SQSΒ message and batch size limit to 1 MiB, matching the recent AWS update.
  • Added support forΒ EFSΒ DeleteFileSystemPolicyΒ operation. (🌟 ultimate)
  • Added support inΒ CodePipelineΒ for theΒ CODEBUILD_RESOLVED_SOURCE_VERSIONΒ environment variable, ensuring CodeBuild actions receive the correct commit ID or S3 version ID for the source. (🌟 ultimate)
  • Added support forΒ IcebergΒ table metadata format v2 andΒ s3a://Β filesystem support in Hive, improving compatibility with Iceberg tables created using theΒ iceberg-goΒ SDK. (🌟 ultimate)
  • Added Kubernetes owner references toΒ GlueΒ pods, enabling proper cleanup of child containers when the LocalStack pod is terminated. (🌟 enterprise)
  • Added support inΒ CodeBuildΒ for resolving environment variables from Secrets Manager and SSM Parameter Store using ARNs, in addition to names. (🌟 base)
  • Added tagging support for theΒ CodeConnectionsΒ service, enabling resource tag operations. (🌟 base)
  • ImprovedΒ EKSΒ CloudFormation support forΒ AWS::EKS::FargateProfileΒ with idempotency handling, improved parameter validation, and proper support for profiles created without subnets. (🌟 ultimate)
  • Updated DNS handling to allowΒ checkip.amazonaws.comΒ to resolve upstream by default by adding it toΒ DEFAULT_SKIP_PATTERNS.
  • The Traefik ingress controller and k3d load balancer are no longer started automatically when creating anΒ EKSΒ cluster. SetΒ EKS_START_K3D_LB_INGRESS=1Β to restore the previous behavior. (🌟 ultimate)

LocalStack Features

  • The LocalStack Toolkit for VS Code now features a guided setup wizard, status bar integration, and improved logging, making it easier to install, configure, and run LocalStack seamlessly within your IDE. Learn more in the documentation.

  • LocalStack AWS Replicator can now describe KMS keys using their alias ARN. When an alias ARN is provided, the key_id is returned as alias/<alias_name>, improving compatibility in cross-account replication scenarios. (🌟 ultimate)

  • LocalStack AWS Replicator now provides initial support for replicating groups of resources. For example, you can now replicate all SSM parameters under a given path (e.g., /dev/front-end/*) with a single command: (🌟 ultimate)

    localstack replicator start \
    	--replication-type BATCH \
    	--resource-type AWS::SSM::Parameter \
    	--resource-identifier /dev/front-end/

    Batch replication is currently limited to a max concurrency of 10 to prevent issues with large sets of resources.

  • Improved Cloud Pod persistence handling by streaming pod data and state instead of loading entire files into memory, and by writing large pod files (>64 MiB) to the host file system. These changes prevent memory exhaustion and container storage issues when importing or loading large pods. (🌟 base)

  • Enabled automatic state restoration whenΒ EAGER_SERVICE_LOADINGΒ is set, ensuring the persisted state is loaded at startup instead of only on request. (🌟 base)

Deprecations

  • The new CloudFormation engine will soon fail deployments containing unsupported resource types by default. The legacy engine is unaffected. Users can setΒ CFN_IGNORE_UNSUPPORTED_RESOURCE_TYPESΒ to maintain the current behavior where unsupported resources are ignored.
  • Starting with LocalStack 4.9, the base image will upgrade from Debian Bookworm / Python 3.11 to Debian Trixie / Python 3.13. This may impact custom extensions or init scripts that rely on specific OS packages or Python 3.11.

What's Changed

Exciting New Features πŸŽ‰

Other Changes

New Contributors

Full Changelog: v4.7.0...v4.8.0