Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
README.md | 2025-07-31 | 21.9 kB | |
v4.7.0 source code.tar.gz | 2025-07-31 | 10.9 MB | |
v4.7.0 source code.zip | 2025-07-31 | 12.8 MB | |
Totals: 3 Items | 23.8 MB | 3 |
Summary
LocalStack 4.7 is now available! This release introduces native Organizations support for multi-account setups, Valkey engine support as a Redis alternative in ElastiCache/MemoryDB, AppSync Events API for real-time WebSocket subscriptions, and significant enhancements across CodeBuild, CloudTrail, EKS, and DynamoDB providers with improved AWS parity throughout.
AWS Features
- LocalStack now supports the Valkey engine as an alternative to Redis in ElastiCache (🌟 base) and MemoryDB (🌟 ultimate). To enable Valkey, you need to use the
REDIS_CONTAINER_MODE=1
configuration variable while starting the LocalStack container. - LocalStack now includes a native Organizations provider, replacing the legacy Moto-based implementation. This new provider introduces improved AWS parity and expands support for managing multi-account and multi-organization setups in a local environment. (🌟 ultimate)
- LocalStack now supports the AppSync Events API for real-time event subscriptions, featuring channel namespaces, API Key/IAM authentication, and Direct Lambda integration. It provides both domain-based and path-based endpoints for local development, as well as HTTP interfaces for backend event publishing. (🌟 ultimate)
Enhancements
- Kinesis provider has been upgraded to use
kinesis-mock
version0.4.13
. - DynamoDB provider has been upgraded to use DynamoDB Local
3.0.0
. - Hive version
3.1.3
is now the default for Big Data services, such as EMR, Glue, and Athena. (🌟 ultimate) - CodeBuild provider now includes the following enhancements: (🌟 base)
- CodeBuild now assumes the configured IAM service role during builds, enabling use of AWS CLI commands without manual credential setup.
- Additionally, CodeBuild automatically sets environment variables for region, and endpoint URL into the build container. The endpoint URL is configured to point to the LocalStack container, allowing jobs to access other emulated AWS services.
- CloudTrail provider now includes the following enhancements: (🌟 ultimate)
- CloudTrail now delivers log delivery notifications to SNS after logs are written to S3.
- CloudTrail events now contain the populated
requestParameters
andresponseElements
fields for most events.
- EKS provider now includes the following enhancements: (🌟 ultimate)
- Support for k8s version
1.33
is now available. The default version also changed to1.33
- EKS Load Balancer Controller with
target-mode
set toip
is now supported. - Support for
DescribeClusterVersions
API for improved compatibility with IaC tooling.
- Support for k8s version
- Support for the
cognito-identity.amazonaws.com:sub
IAM policy variable has been added. (🌟 base) - Role ARN and session name parameters are now validated in STS operations.
- The
UpdateKinesisStreamingDestination
API is now supported in DynamoDB. - Proper validation errors are now returned for malformed AVP policies instead of internal server errors. (🌟 ultimate)
- The
GetTokensFromRefreshToken
API is now supported in Cognito. (🌟 base) - The
RSA_AES_KEY_WRAP_SHA_256
algorithm is now supported in the KMSImportKeyMaterial
API. - Route53 provider now correctly maps FQDNs with trailing dots for ELB routing.
- Proper error responses are now returned for Lambda functions with invalid S3 code locations.
- The
DeploymentCanarySettings
property is now supported forAWS::ApiGateway::Deployment
resources. - Multiple VPCs are now supported for
AWS::Route53::HostedZone
during initial creation. - MySQL RDS containers now run as non-root by default, with support for configurable user and group IDs via
RDS_CONTAINER_USER_GROUP_ID
environment variable (default:1000:1000
). (🌟 base) - Improved parity for EFS
AccessPoint
API with enhanced validation and error handling. (🌟 ultimate) - The
ipAddressType
field is now supported in API Gateway REST & HTTP APIs, where the field can be set toipv4
ordualstack
, via theCreateRestApi
, andCreateApi
APIs. - Updates to the
AWS::SNS::Topic
resource are now supported, including support for changes toDisplayName
,TopicName
, andTags
properties. DomainProcessingStatus
is now returned and user-provided values are preserved when creating Elasticsearch domains via theCreateElasticsearchDomain
API.- The
Name
andOpenTableFormatInput
parameters are now supported in the GlueCreateTable
API, andTableInput
is treated as optional in parity with AWS behaviour. (🌟 ultimate) - Improved support for non-default account IDs in API Gateway v2, AppSync, CodePipeline, Cognito, ELBv2, IoT, and Route53.
- Improved
appsync-utils
JS package management. The library will now stay up to date by default. It was previously required to useAPPSYNC_JS_LIBS_VERSION=refresh
to update the library. (🌟 ultimate)
Deprecations
- MWAA support for Airflow versions v2.4.3, v2.5.1, and v2.6.3 is deprecated and will be retired after December 30, 2025. (🌟 ultimate)
APPSYNC_JS_LIBS_VERSION=latest
andAPPSYNC_JS_LIBS_VERSION=refresh
are no longer supported. Use a tagged version or commit fromappsync-utils
instead. Or leave empty to stay up to date. (🌟 ultimate)- Lambda Debug Mode (Preview) has moved from the
localstack/localstack
image to thelocalstack/localstack-pro
image. This change requires users to use thelocalstack/localstack-pro
image with an authenticated account instead. You can register for free at https://app.localstack.cloud/sign-up - EKS state created in version 4.6 or earlier using Cloud Pods or standard persistence will not be compatible with the EKS provider in version 4.7. Recreating the EKS state is necessary for compatibility. (🌟 ultimate)
What's Changed
Exciting New Features 🎉
- CFn: implement language extensions transform by @simonrw in https://github.com/localstack/localstack/pull/12813
- Rename master to main, localstack-ext to localstack-pro by @dfangl in https://github.com/localstack/localstack/pull/12847
- LDM as provisioner of debug-enabled containers by @MEPalma in https://github.com/localstack/localstack/pull/12851
- Step Functions: variable-reference parsing to skip string and regex literals by @MEPalma in https://github.com/localstack/localstack/pull/12891
- add implementation of DeleteChangeSet for CFnV2 by @pinzon in https://github.com/localstack/localstack/pull/12876
- feat: add the pro activation to the tracked environment variables by @kittylon in https://github.com/localstack/localstack/pull/12902
- handle unsupported resources in CFn v2 by @pinzon in https://github.com/localstack/localstack/pull/12905
- CFNv2: minor parity assessment and triaging by @simonrw in https://github.com/localstack/localstack/pull/12871
- DynamoDB: Implement UpdateKinesisStreamingDestination by @viren-nadkarni in https://github.com/localstack/localstack/pull/12897
- KMS: Add support for
RSA_AES_KEY_WRAP_SHA_256
in import key material by @sannya-singal in https://github.com/localstack/localstack/pull/12888 - LDM Migration by @MEPalma in https://github.com/localstack/localstack/pull/12852
Other Changes
- Update Extension API by @bentsku in https://github.com/localstack/localstack/pull/12805
- Update action names for AWS prefix by @alexrashed in https://github.com/localstack/localstack/pull/12832
- fix delete method of AWS::SNS::TopicPolicy CFn resource by @thrau in https://github.com/localstack/localstack/pull/12831
- CI: archive raw metrics by @k-a-il in https://github.com/localstack/localstack/pull/12837
- Update version in README by @alexrashed in https://github.com/localstack/localstack/pull/12838
- Sns topic update functionality by @michalisfot in https://github.com/localstack/localstack/pull/12777
- CI: put parity metrics to separate artifact by @k-a-il in https://github.com/localstack/localstack/pull/12839
- S3: fix Checksum behavior for GetObject with PartNumber by @bentsku in https://github.com/localstack/localstack/pull/12842
- S3: fix Access-Control-Allow-Headers handling in S3 CORS by @bentsku in https://github.com/localstack/localstack/pull/12841
- Es/fix Terraform domain deploy by @cloutierMat in https://github.com/localstack/localstack/pull/12843
- Docker: Add 'log_handler'-argument to pull() by @bblommers in https://github.com/localstack/localstack/pull/12848
- update social shield by @alexrashed in https://github.com/localstack/localstack/pull/12856
- S3: fix CORS handler + GZIP handling by @bentsku in https://github.com/localstack/localstack/pull/12855
- Increase AWS CLI lower bound version to shorten resolution time by @silv-io in https://github.com/localstack/localstack/pull/12857
- Update CODEOWNERS by @localstack-bot in https://github.com/localstack/localstack/pull/12860
- [Testing] Update test durations by @localstack-bot in https://github.com/localstack/localstack/pull/12858
- fix: correct recognition of lambda path by @thetric in https://github.com/localstack/localstack/pull/12629
- Add tag push trigger to main workflow by @silv-io in https://github.com/localstack/localstack/pull/12829
- APIGW: add support for new endpoint configuration by @ArthurAkh in https://github.com/localstack/localstack/pull/12826
- APIGW: update CFN related snapshots by @bentsku in https://github.com/localstack/localstack/pull/12866
- Pin aws cli version instead of having a lower bound by @silv-io in https://github.com/localstack/localstack/pull/12867
- cleanup missed references to old naming by @alexrashed in https://github.com/localstack/localstack/pull/12869
- add ELB service principal by @bentsku in https://github.com/localstack/localstack/pull/12872
- Handle file not found case for chmod_r utility by @dfangl in https://github.com/localstack/localstack/pull/12861
- KMS [#12530]: Error handling for invalid blob issue by @pbansal2 in https://github.com/localstack/localstack/pull/12809
- DynamoDB: skip failing test test_more_than_20_global_secondary_indexes by @k-a-il in https://github.com/localstack/localstack/pull/12874
- update kinesis-mock from 0.4.12 to 0.4.13 by @alexrashed in https://github.com/localstack/localstack/pull/12878
- add IoT and AppSync ServicePrincipal by @bentsku in https://github.com/localstack/localstack/pull/12884
- DynamoDB: Bump DDB Local to v3 by @giograno in https://github.com/localstack/localstack/pull/12879
- Lambda: Proper error handling for code in S3 by @dfangl in https://github.com/localstack/localstack/pull/12883
- Add proper validation for STS role arn and session name parameters by @dfangl in https://github.com/localstack/localstack/pull/12885
- add python project section to CODEOWNERS by @alexrashed in https://github.com/localstack/localstack/pull/12887
- SSM: add dependency on secretsmanager used by GetParameter by @dmacvicar in https://github.com/localstack/localstack/pull/12896
- CFn: correctly set physical resource id for VpnGatewayAttachment by @simonrw in https://github.com/localstack/localstack/pull/12870
- CFNv2: support validation of CAPABILITY_AUTO_EXPAND by @simonrw in https://github.com/localstack/localstack/pull/12864
- APIGW: support
DeploymentCanarySettings
forAWS::ApiGateway::Deployment
by @bentsku in https://github.com/localstack/localstack/pull/12899 - S3: fix Expires header behavior by @bentsku in https://github.com/localstack/localstack/pull/12894
- DynamoDB: fix persistence on manual save by @giograno in https://github.com/localstack/localstack/pull/12882
- Ignore all type errors from mypy when debugpy is installed by @simonrw in https://github.com/localstack/localstack/pull/12893
- CFNv2: Implement get_template by @simonrw in https://github.com/localstack/localstack/pull/12865
- CFnV2: add stack events when there are errors during preprocessing by @simonrw in https://github.com/localstack/localstack/pull/12892
- CFNv2: Support the list parameter type by @simonrw in https://github.com/localstack/localstack/pull/12904
- CFnV2: implement list-stacks by @simonrw in https://github.com/localstack/localstack/pull/12903
- bug fix: add missing proxies to the http request for the GitHub Installer by @plafond in https://github.com/localstack/localstack/pull/12900
- Update CODEOWNERS by @localstack-bot in https://github.com/localstack/localstack/pull/12917
- [Testing] Update test durations by @localstack-bot in https://github.com/localstack/localstack/pull/12915
- remove thrau from CODEOWNERS codeowners by @thrau in https://github.com/localstack/localstack/pull/12918
- fix coveralls upload by @alexrashed in https://github.com/localstack/localstack/pull/12923
- CFNv2: Support stack sets by @simonrw in https://github.com/localstack/localstack/pull/12909
- avoid coverage reporting when only executing test subset by @alexrashed in https://github.com/localstack/localstack/pull/12924
- CFNv2: implement describe-stack-resource by @simonrw in https://github.com/localstack/localstack/pull/12912
- pre-commit: validate json files on commit by @simonrw in https://github.com/localstack/localstack/pull/12925
- Introduce jsonpickle serialization backend by @giograno in https://github.com/localstack/localstack/pull/12875
- remove copy-pasta in parity testing guide by @alexrashed in https://github.com/localstack/localstack/pull/12929
- KMS: return
NotImplementedError
for rotation of imported keys by @sannya-singal in https://github.com/localstack/localstack/pull/12932 - SQS: Allow usage of message-group-id param when using a Fair Queue by @nik-localstack in https://github.com/localstack/localstack/pull/12930
New Contributors
- @michalisfot made their first contribution in https://github.com/localstack/localstack/pull/12777
- @thetric made their first contribution in https://github.com/localstack/localstack/pull/12629
- @pbansal2 made their first contribution in https://github.com/localstack/localstack/pull/12809
- @dmacvicar made their first contribution in https://github.com/localstack/localstack/pull/12896
- @kittylon made their first contribution in https://github.com/localstack/localstack/pull/12902
- @plafond made their first contribution in https://github.com/localstack/localstack/pull/12900
Full Changelog: https://github.com/localstack/localstack/compare/v4.6.0...v4.7.0