Summary
LocalStack 4.2 is here! This release brings powerful new features and enhancements, including support for AWS Shield, IAM enforcement for Neptune Gremlin queries, and PostgreSQL as a source in DMS. The Bedrock provider now allows on-demand model switching and preloading multiple models at startup. Additionally, we introduce a new AWS Replicator tool to seamlessly copy AWS resources into LocalStack and enhance Cloud Pods with auto-loading from registered remotes. Other improvements span Step Functions, EKS ELB, MWAA, API Gateway, and Apache Flink, making local cloud development even more robust! 🚀
AWS Features
- LocalStack now supports AWS Shield, which allows you to create, read, update, and delete Shield protections and subscriptions in your local environment with a mock provider. (🌟 pro)
Enhancements
- Neptune will now enforce IAM permission over data for Gremlin queries. When creating a cluster with
IAMDatabaseAuthenticationEnabled
set to true, your Gremlin queries will need to be signed to performREAD
,WRITE
, and/orDELETE
operations. This only affects users usingENFORCE_IAM
andIAM_SOFT_MODE
configuration variables. (🌟 pro) - ELB listeners now support any port matching the
GATEWAY_LISTEN
configuration variable instead of only the first port. (🌟 pro) - You can now use the
MWAA_DOCKER_FLAGS
configuration variable while starting the LocalStack container to pass extra flags when starting an Airflow container with MWAA. (🌟 pro) - Managed Service for Apache Flink now supports forwarding application logs created with Log4j or SLF4J to CloudWatch Logs. (🌟 pro)
- Step Functions provider now features optimized service integration for Glue.
- Step Functions interpreter now validates unsupported API actions in optimized service integrations at creation time instead of only at runtime. It also adds logging for missing request/return types and reports errors for unsupported service tasks.
- LocalStack now supports PostgreSQL as a source in the Database Migration Service (DMS) provider. (🌟 enterprise)
- The Bedrock provider now supports on-demand model switching by specifying a model ID prefixed with
ollama.
for each request. (🌟 enterprise) - The Bedrock provider now supports pulling multiple models on LocalStack startup with a new
BEDROCK_PULL_MODELS
configuration option. This option allows you to specify a comma-separated list of model IDs to pull from the Ollama models library on startup. (🌟 enterprise) - Ollama logs from the Bedrock provider are now streamed directly to LocalStack logs. (🌟 enterprise)
- EKS now supports Kubernetes versions 1.31 and 1.32. The default version is set to 1.31, in parity with the latest supported version in AWS. (🌟 pro)
- LocalStack now supports Binary media for API Gateway REST APIs, allowing payloads to be passed as-is, converted to UTF-8, or base64 encoded/decoded.
LocalStack Features
- LocalStack now offers a new AWS Replicator tool that copies AWS resources into a running LocalStack instance. It helps when deploying applications that rely on existing resources like SSM parameters or VPCs, ensuring they are available before deploying the main stack. Read more about this in our documentation. (🌟 teams)
- LocalStack now supports auto-loading Cloud Pods from registered remotes. (🌟 teams)
What's Changed
Exciting New Features 🎉
- APIGW: binary support for non-proxy integration by @bentsku in #12215
- Step Functions: Improve Logging and Error Detection for Unsupported Service Integrations by @MEPalma in #12223
- [SQS] Add custom header for overriding WaitTimeSeconds by @gregfurman in #12172
- Step Functions: Add Supported Integrations For Glue by @MEPalma in #12248
- Update README.md by @hassansuhaib in #12242
- add read method to IAM::Role resource provider by @pinzon in #12180
- [Utils] Create exponential backoff utility class by @gregfurman in #12264
- [ESM] Add backoff between Stream Poller retries by @gregfurman in #12281
- Logging mask credentials by @cloutierMat in #12292
- fix SNS FIFO ordering by @bentsku in #12285
- [ESM] Improve SQS batch collection and flushing by @gregfurman in #12002
- [ESM] Add backoff between poll events calls by @gregfurman in #12304
Other Changes
- Fix kubernetes dev run script by @dfangl in #12229
- [ESM] Dynamically set SQS message override count by @gregfurman in #12233
- add product and edition to session analytics by @ackdav in #12198
- [ESM] Provide SqsPoller with default parameters by @gregfurman in #12240
- [SQS] Cancel pending and future tasks on shutdown by @gregfurman in #12228
- Add fixture for creating an IAM role and attaching existing policy by @viren-nadkarni in #12251
- [SQS] Improve shutdown capabilities of SqsProvider by @gregfurman in #12252
- skip flaky transcribe tests by @alexrashed in #12260
- fix ListObjectVersions pagination when version id marker is deleted by @bentsku in #12259
- fix ListObjectVersions pagination comparison by @bentsku in #12270
- [Events] Skip flaky test against SQS target by @gregfurman in #12273
- fix readme run integration individual tests cmd by @alvertogit in #12113
- Bump moto-ext to 5.0.28.post6 by @viren-nadkarni in #12245
- Lamba: fix unhandled error when SubnetIds is invalid by @bentsku in #12293
- APIGW: fix AWS_PROXY payload with Custom Domains by @bentsku in #12296
- ElasticSearch: Fix missing JRE in 5.x and 6.x by @viren-nadkarni in #12286
- Add test for EBS volume creation without size by @nik-localstack in #12227
- Fix failing lambda error reporting test by @dfangl in #12300
- refactoring of removal of AWS::NoValue in reference list for CFn by @pinzon in #12288
- [ESM] Remove warning when worker shutdown is graceful by @gregfurman in #12307
New Contributors
- @hassansuhaib made their first contribution in #12242
- @nik-localstack made their first contribution in #12227
Full Changelog: v4.1.1...v4.2.0