Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
README.md | 2025-03-27 | 14.7 kB | |
v4.3.0 source code.tar.gz | 2025-03-27 | 10.6 MB | |
v4.3.0 source code.zip | 2025-03-27 | 12.3 MB | |
Totals: 3 Items | 22.9 MB | 0 |
Summary
LocalStack 4.3 is packed with major enhancements! We’ve introduced experimental support for CloudFront Lambda@Edge, added new languages and improved models in Transcribe, and switched Flink to application mode for better AWS parity. Step Functions, SQS, IAM, KMS, and Timestream received significant feature upgrades, and the Web Application now supports stack outputs and graph rendering for Step Functions.
AWS Features
- Experimental support for AWS CloudFront Lambda@Edge emulation, which can be enabled by setting
CLOUDFRONT_LAMBDA_EDGE=1
in your LocalStack configuration. Learn more about the current features & limitations in our documentation. (🌟 pro)
Enhancements
- Support for resource tagging in the EKS provider. (🌟 pro)
- Expanded language support in the Transcribe provider with the addition of Catalan, Czech, Gujarati, Kazakh, Korean, Polish, Telugu, Uzbek, and Ukrainian. Additionally, updated language models are now used for Chinese, Farsi, Spanish, Italian, Russian, and Vietnamese, improving transcription accuracy across these languages.
- Managed Service for Apache Flink (MSF) now runs in application mode instead of the previous session mode for a better parity with how Flink clusters run on AWS. (🌟 pro)
- Step Functions nested MapRun execution now works correctly by making map run components stateless and ensuring proper worker creation for all nested map runs.
- Support for AWS Step Functions aliasing features are now available.
- Step Functions interpreter now supports JSONata object templates as ItemSelector declaration bodies, ensuring correct evaluation in both JSONPath and JSONata modes.
- SQS Messages with an empty body are now rejected, ensuring that only valid messages are processed.
- Support for pagination in SQS ListQueues API, implementing
MaxResults
parameter functionality andNextToken
generation. - Basic CRUD functionality for IAM service-specific credentials is now supported.
- Service linked role naming to match AWS pattern (
AWSServiceRoleFor<service>
) has been improved with added proper policy attachment for greater parity with AWS. - LocalStack’s Event Source Mapping (ESM) implementation now validates the existence of different event source resources.
- LocalStack now supports on-demand key rotation for KMS symmetric keys without imported key material, allowing up to 10 rotations per key that don’t affect automatic rotation schedules.
- Support for
EKS_K3S_FLAGS
configuration variable to customize thek3s
cluster created by LocalStack to emulate EKS clusters. (🌟 pro) - Support for
ListTagsForResource
API in the SSO Admin provider. (🌟 pro) - Support for filters in the
DescribeInstanceInformation
API in the SSM provider. - Support for AppSync Lambda data source batch processing is now available to reduce cold starts by combining queries based on batch size or time window. (🌟 pro)
- Support for schema enforcement to the Timestream service in LocalStack, requiring dimensions marked as REQUIRED for record insertion. Records will be rejected if they’re missing required dimension keys, ensuring compliance with Timestream schema rules. (🌟 pro)
- Support for batching of records in Stream Pollers (DynamoDB Streams/Kinesis) based on
BatchSize
andMaximumBatchingWindowInSeconds
.
LocalStack Features
- You can now view the stack outputs in the CloudFormation Resource Browser. This feature allows you to view the outputs of a stack in the LocalStack Web Application.
- Step Functions Resource Browser now supports rendering graphs with auto-layouting along with improved StateFunction parsing, and has replaced the previous mermaid renderer.
- Replication support for
AWS::ECR::Repository
is now available for the AWS Replicator tool. (🌟 teams)
What's Changed
Exciting New Features 🎉
- TaggingService: Allow key value field names to be overridden by @viren-nadkarni in https://github.com/localstack/localstack/pull/12306
- Add structured metrics instrumentation by @vittoriopolverino in https://github.com/localstack/localstack/pull/12230
- [ESM] Validate event sources existence by @eLRuLL in https://github.com/localstack/localstack/pull/12297
- Step Functions: Improve Nested Map Run Stability by @MEPalma in https://github.com/localstack/localstack/pull/12343
- [ESM] Correctly enable exponential backoff inside stream poller by @gregfurman in https://github.com/localstack/localstack/pull/12312
- Step Functions: Support for Aliasing by @MEPalma in https://github.com/localstack/localstack/pull/12326
- Fix Invalid noqa Usage in Step Functions TestState Preprocessor by @MEPalma in https://github.com/localstack/localstack/pull/12368
- Cloud Formation: [POC] Modeling Stack Operations and Evaluating ChangeSet Descriptions by @MEPalma in https://github.com/localstack/localstack/pull/12355
- CFn updates: create new v2 provider for new engine by @simonrw in https://github.com/localstack/localstack/pull/12375
- Implement IAM service specific credentials CRUD by @dfangl in https://github.com/localstack/localstack/pull/12351
- Transcribe: New language models by @viren-nadkarni in https://github.com/localstack/localstack/pull/12336
- KMS: on-demand key rotation by @agseco in https://github.com/localstack/localstack/pull/12342
- Step Functions: Allow JSONata Object Templates in ItemSelector Declarations by @MEPalma in https://github.com/localstack/localstack/pull/12327
- Match IAM service linked role naming with AWS by @dfangl in https://github.com/localstack/localstack/pull/12387
- cleanup ServiceNameParser rules by @bentsku in https://github.com/localstack/localstack/pull/12358
- Step Functions: Lazy Initialization of JVM for JSONata Evaluation by @MEPalma in https://github.com/localstack/localstack/pull/12369
- Step Functions: Migrate Usage Metrics to New Counter Standards by @MEPalma in https://github.com/localstack/localstack/pull/12389
- Cloud Formation: [POC] Update Graph with Template Traversal & Intrinsic Function Resolution by @MEPalma in https://github.com/localstack/localstack/pull/12378
- [ESM] Add configurable poll frequency and log shard info by @gregfurman in https://github.com/localstack/localstack/pull/12415
- Cloud Formation: [POC] Scoping Mechanism, Base Support for Parameters, Dynamic Parameters, Conditions, Intrinsic Functions, and Type Divergence by @MEPalma in https://github.com/localstack/localstack/pull/12405
- [Utils] Add a batch policy utility by @gregfurman in https://github.com/localstack/localstack/pull/12430
- [ESM] Support Stream Poller batching by @gregfurman in https://github.com/localstack/localstack/pull/12437
- CloudFormation: Fix LoggingConfiguration Parameter Handling in StepFunctions Resource Provider by @MEPalma in https://github.com/localstack/localstack/pull/12433
Other Changes
- Add Lambda@Edge service principal by @joe4dev in https://github.com/localstack/localstack/pull/12313
- Util: support building in place for ECR docker images by @simonrw in https://github.com/localstack/localstack/pull/11806
- Add CodeStarConnections to the client types by @giograno in https://github.com/localstack/localstack/pull/12308
- Fix vulnerabilities in lambda runtime init by @dfangl in https://github.com/localstack/localstack/pull/12316
- [ESM] Fix flaky SQS ReportBatchItemFailures test with proper visiblity timeouts by @gregfurman in https://github.com/localstack/localstack/pull/12323
- [ESM] Fix constantly triggering SQS back-off by @gregfurman in https://github.com/localstack/localstack/pull/12319
- Skip flaky Kinesis Lambda test by @joe4dev in https://github.com/localstack/localstack/pull/12328
- APIGW: add validation for AWS ARN in PutIntegration by @bentsku in https://github.com/localstack/localstack/pull/12324
- [ESM] Fix validation of StartingPosition streams parameter by @gregfurman in https://github.com/localstack/localstack/pull/12329
- CFn: populate APIGW regional* properties by @simonrw in https://github.com/localstack/localstack/pull/12320
- ESM: fix CreateESM SQS validation by @bentsku in https://github.com/localstack/localstack/pull/12338
- fix kms api call response on method get-key-rotation-status by @pureiboi in https://github.com/localstack/localstack/pull/12103
- add service catalog cache loading from static var by @alexrashed in https://github.com/localstack/localstack/pull/12314
- add build time service catalog cache generation to s3 image by @alexrashed in https://github.com/localstack/localstack/pull/12341
- fix flaky transcribe tests by @sannya-singal in https://github.com/localstack/localstack/pull/12262
- Makes docker healthcheck more robust by @crystalin in https://github.com/localstack/localstack/pull/12344
- migrate healthcheck enhancements to S3 image by @alexrashed in https://github.com/localstack/localstack/pull/12347
- move parse_service_name after serve_edge_router_rules by @bentsku in https://github.com/localstack/localstack/pull/11800
- remove APIGW CORS handler and update global CORS logic by @bentsku in https://github.com/localstack/localstack/pull/11801
- fix redshift tests if not in docker by @alexrashed in https://github.com/localstack/localstack/pull/12352
- Remove version attribute from docker compose files by @dfangl in https://github.com/localstack/localstack/pull/12354
- CI/CD: More informative linter output by @agseco in https://github.com/localstack/localstack/pull/12353
- Update CODEOWNERS by @localstack-bot in https://github.com/localstack/localstack/pull/12359
- [ESM] Reset shards in StreamPoller for DDB Local errors by @gregfurman in https://github.com/localstack/localstack/pull/12360
- Use per-file-target-version to define Python 3.9 for CLI code by @silv-io in https://github.com/localstack/localstack/pull/12362
- add resource provider utility to convert LowerCamelCase to Pascal by @pinzon in https://github.com/localstack/localstack/pull/12192
- chore: improve test snapshot by @giograno in https://github.com/localstack/localstack/pull/12367
- chore: improve remaining tests snapshots by @giograno in https://github.com/localstack/localstack/pull/12373
- fix APIGW binary media types by @bentsku in https://github.com/localstack/localstack/pull/12371
- SNS: migrate to new Counter type for analytics by @bentsku in https://github.com/localstack/localstack/pull/12380
- Fix apigw input path formatting by @cloutierMat in https://github.com/localstack/localstack/pull/12379
- make counter classes public by @vittoriopolverino in https://github.com/localstack/localstack/pull/12386
- Docker Utils: Expose the build logs by @bblommers in https://github.com/localstack/localstack/pull/12376
- Update CODEOWNERS by @localstack-bot in https://github.com/localstack/localstack/pull/12393
- events: fix Event Ruler to not evaluate the full payload by @bentsku in https://github.com/localstack/localstack/pull/12394
- SNS: fix Filter Policy engine to not evaluate full complex payload by @bentsku in https://github.com/localstack/localstack/pull/12395
- DDBStreams: skip flaky test by @bentsku in https://github.com/localstack/localstack/pull/12402
- CFn: switch to new usage counters by @simonrw in https://github.com/localstack/localstack/pull/12382
- Track Lambda runtime environment timeout by @joe4dev in https://github.com/localstack/localstack/pull/12340
- APIGW: migrate to new Counter type for REST API analytics by @bentsku in https://github.com/localstack/localstack/pull/12383
- Make SQS reject messages with empty body (#12317) by @juanrh in https://github.com/localstack/localstack/pull/12322
- Bump moto-ext to 5.1.1.post1 by @viren-nadkarni in https://github.com/localstack/localstack/pull/12404
- add tags to cfn read security groups by @cloutierMat in https://github.com/localstack/localstack/pull/12408
- Events: migrate to new Counter type for Event Rule invocation analytics by @bentsku in https://github.com/localstack/localstack/pull/12388
- APIGW: fix rendering of $input.body when empty by @bentsku in https://github.com/localstack/localstack/pull/12413
- S3: fix checksum behavior and add new AWS behavior by @bentsku in https://github.com/localstack/localstack/pull/12401
- transcribe: add speaker diarization test by @sannya-singal in https://github.com/localstack/localstack/pull/12410
- Run tests on PRs against all branches by @nik-localstack in https://github.com/localstack/localstack/pull/12418
- fix cfn security group read by @cloutierMat in https://github.com/localstack/localstack/pull/12414
- S3: fix MA/MR test by @bentsku in https://github.com/localstack/localstack/pull/12417
- Implement pagination to localstacks SQS list_queues method by @DrisDary in https://github.com/localstack/localstack/pull/12397
- Update CODEOWNERS by @localstack-bot in https://github.com/localstack/localstack/pull/12426
- Better logging for ReflectionStateLocator by @giograno in https://github.com/localstack/localstack/pull/12037
- SNS: fix Subscribe idempotency due to RawMessageDelivery casing by @bentsku in https://github.com/localstack/localstack/pull/12420
- Migrate legacy usage counters to new analytic counters by @joe4dev in https://github.com/localstack/localstack/pull/12412
- Make Lambda reusable for CloudFront Lambda@Edge by @joe4dev in https://github.com/localstack/localstack/pull/12409
- update kinesis-mock from 0.4.8 to 0.4.9 by @alexrashed in https://github.com/localstack/localstack/pull/12440
New Contributors
- @vittoriopolverino made their first contribution in https://github.com/localstack/localstack/pull/12230
- @eLRuLL made their first contribution in https://github.com/localstack/localstack/pull/12297
- @pureiboi made their first contribution in https://github.com/localstack/localstack/pull/12103
- @crystalin made their first contribution in https://github.com/localstack/localstack/pull/12344
- @agseco made their first contribution in https://github.com/localstack/localstack/pull/12353
- @juanrh made their first contribution in https://github.com/localstack/localstack/pull/12322
- @DrisDary made their first contribution in https://github.com/localstack/localstack/pull/12397
Full Changelog: https://github.com/localstack/localstack/compare/v4.2.0...v4.3.0