Skip to content

Releases: localstack/localstack

v1.0.4

08 Aug 21:20
Compare
Choose a tag to compare

What's Changed

  • move tests out to community by @calvernaz in #6542
  • remove region lookup by @calvernaz in #6560
  • update Docker base image (python:3.10.5-slim-buster) digest to e7fce98 by @renovate in #6561
  • use multiprocessing for scaffold.upgrade by @thrau in #6559
  • add gateway response handler to set connection close header by @thrau in #6558
  • add snapshot examples by @steffyP in #6569
  • fix sns duplicated tags + validate against AWS by @bentsku in #6571
  • Enhance parity for SSM logic and integration tests by @whummer in #6564
  • add sqs snapshot tests for queue attributes and SSE by @thrau in #6572
  • Parity metrics report by @steffyP in #6441
  • Minor: add unit test for Velocity map.put function inside $util.qr by @whummer in #6581
  • Make lambda states reflect internal state by @dfangl in #6575
  • mark sqs test for issue #4287 as working by @thrau in #6578
  • fix error serialization for default error members by @alexrashed in #6583
  • refactored LogsAwsApiListener for subclassing by @steffyP in #6582
  • add streaming types to ASF scaffold and APIs by @thrau in #6552
  • Enhance parity for basic CloudFormation stack attributes by @whummer in #6584
  • refactor sns tests and fifo topic validations by @bentsku in #6586
  • Pin flask to 2.1.3 for compatibility with werkzeug version pin by @whummer in #6593
  • rework SQS message delaying to calculate approximate number of messages delayed by @thrau in #6591
  • fix SQS ChangeVisibilityTimeout operation by @thrau in #6573
  • Resetting store bundles must clear all keys by @viren-nadkarni in #6594
  • [SecretsManager] Fixed raising of incorrect error message when creating a secret staged for deletion. by @MEPalma in #6547
  • Change error message for missing endpoints to reference PRO by @silv-io in #6579
  • Using Stores in DynamoDB by @giograno in #6554
  • Return stream name for CFn Firehose stream Ref, add snapshot test by @whummer in #6580
  • fix create_queue to raise QueueAlreadyExists correctly by @thrau in #6117
  • added subnet test cases by @macnev2013 in #6541
  • Bump moto-ext to latest upstream changes by @whummer in #6517
  • Fix idempotent calls for transaction writes by @giograno in #6596
  • remove publish_invocation decorator from localstack status commands by @thrau in #6616
  • Update ASF APIs by @localstack-bot in #6609
  • update Docker base image (python:3.10.5-slim-buster) digest to e72f92b by @renovate in #6607

Full Changelog: v1.0.3...v1.0.4

v1.0.3

30 Jul 11:59
Compare
Choose a tag to compare

What's Changed

  • fix pypi release of localstack not including entrypoints
  • fix Kinesis CreateStream without shardCount by @alexrashed in #6543
  • fix MixedCase Boolean conversion when tranforming to XML by @merowinger92 in #6525
  • fix structure of S3 ASF serialized errors by @alexrashed in #6548

Full Changelog: v1.0.2...v1.0.3

v1.0.2

30 Jul 00:23
Compare
Choose a tag to compare

What's Changed

New Contributors

  • @taras-kobernyk-localstack made their first contribution in #6479
  • @hans-d made their first contribution in #6508
  • @bish0polis made their first contribution in #6510

Full Changelog: v1.0.1...v1.0.2

v1.0.1

20 Jul 18:25
Compare
Choose a tag to compare

What's Changed

  • Remove python 3.6 compatibility mention from README, minor readme updates by @dfangl in #6452
  • fix moto fallback dispatching on 404 errors by @alexrashed in #6449
  • fix content based message deduplication with sqs fifo queues by @thrau in #6460
  • fix integration tests against pro by @alexrashed in #6461
  • remove fix_return_consumed_capacity, fixes #6437 by @brandonstubbs in #6439
  • fix authorizer object for rest api by @calvernaz in #6436
  • update Docker base image (python:3.10.5-slim-buster) digest to 1839c4f by @renovate in #6469
  • Update ASF APIs by @localstack-bot in #6470
  • added support for route53resolver group association by @macnev2013 in #6423
  • fix CLA allowlist (renamve renovate-bot to renovate) by @alexrashed in #6472
  • Fix volume dir path replacement for windows paths, use docker cmd client if not in docker by @dfangl in #6474
  • add ec2 vpc terraform test cases by @macnev2013 in #6478
  • Fix windows volume mount path for CLI localstack start by @dfangl in #6482
  • Remove API_REGIONS cache, replace with in-memory lookup by @whummer in #6487
  • Canonicalize Lambda policy name, initialize service provider in run_lambda(..) by @whummer in #6485
  • fix ASF error serialization for shapes w/ members by @alexrashed in #6246

New Contributors

Full Changelog: v1.0.0...v1.0.1

v1.0.0

13 Jul 13:59
Compare
Choose a tag to compare

This major release of LocalStack marks the first milestone of LocalStack's mission to become the standard platform for local cloud development. We have spent the last year significantly re-shaping the codebase to make it easier to introduce and extend AWS services, improving parity with AWS and introducing mechanisms to monitor parity, as well as adding new pro features.

Several of these changes require a migration, and we have done our best to make the migration as smooth as possible. Please find more in the How to Migrate section.

Summary

Community Features and Major Changes

  • New filesystem hierarchy with simplified configuration
  • Full rollout of the AWS Server Framework (ASF)
  • A framework for testing and reporting parity with AWS
  • All new logging output and error reporting
  • Remove deprecated persistence provider

Pro Features

  • Cloud Pods experience
  • Revamp of multi-account setups (experimental)
  • Introducing Extensions (experimental)
  • IAM enforcement for all services
  • Detailed stack analytics

Further Reading

For more details of how things are changing, feel free to continue reading:

How to Migrate

  • Update your startup configurations to the new LocalStack volume directory. Find out more about the concept in our docs.
    • Starting with docker-compose:
      Update your volumes mounts from

           volumes:
            - "${TMPDIR:-/tmp}/localstack:/tmp/localstack"

      to

           volumes:
            - "${LOCALSTACK_VOLUME_DIR:-./volume}:/var/lib/localstack"
    • Starting with docker directly:
      Update your volume mounts from
      docker run -p 4566:4566 -v /tmp/localstack:/tmp/localstack ...
      to
      docker run -p 4566:4566 -v /path/to/volume:/var/lib/localstack ...
      where /path/to/volume should be something outside your host鈥檚 temp folder. We encourage the cache directory of your system, which is what the LocalStack CLI does.

    • Starting with the CLI:
      Just update to the latest version of the CLI with pip install --upgrade localstack. The latest version of the CLI already uses the new LocalStack volume directory.
      *The volume directory can be configured via the LOCALSTACK_VOLUME_DIR, which defaults to:

      • Mac: ~/Library/Caches/localstack/volume
      • Linux: ~/.cache/localstack/volume
      • Windows: %LOCALAPPDATA%/localstack/cache/volume
  • The old filesystem hierarchy (including /tmp/localstack mounts,DATA_DIRand HOST_TMP_PATH) can be enabled using LEGACY_DIRECTORIES=1
  • If you mount a volume into /tmp/localstack instead of /var/lib/localstack, then LocalStack will automatically enable LEGACY_DIRECTORIES=1, and print a deprecation warning.
  • You currently cannot set the configure the new filesystem hierarchy with the CLI version 0.14.x, in order to use the development version of the CLI, please run pip install --upgrade "localstack>=1.0.0.dev"
  • Remove DATA_DIR which has been deprecated and will be ignored. Use PERSISTENCE=1 and find your state files in your LocalStack volume in state/
  • Remove HOST_TMP_PATH, which was previously necessary for LAMBDA_EXECUTOR=docker or docker-reuse. We now detect automatically the host path that is mounted into Lambda containers from your LocalStack volume mount.
  • When using docker-compose, remove the network_mode: bridge configuration unless you are sure that you need it. We now automatically detect the network mode for Lambda networking.
  • We鈥檝e rolled out a completely new framework for handling AWS requests, the AWS Server Framework (ASF). This has replaced the edge proxy, which was previously handling all HTTP requests. If you are experiencing problems, as a workaround you can try to enable the old edge proxy with LEGACY_EDGE_PROXY=1 but this is deprecated and will be removed in the future.
  • Enable the experimental multi-accounts feature by setting MULTI_ACCOUNTS=1 as part of your LocalStack config. New AWS accounts will be allocated based on configuration from the client side. See our docs for details
  • Replay-based persistence as been removed. To use our more mature persistence mechanism, please consider upgrading to LocalStack Pro.

Changelog

  • docs: add v1 release banner by @HarshCasper in #6427
  • add new log output formatting and asf trace logging by @thrau in #6424
  • set analytics api version to v1 by @thrau in #6431
  • collect parity metrics by @steffyP in #6305
  • fix logging for CLI by @thrau in #6432
  • set analytics api version to v1 by @thrau in #6431
  • add new log output formatting and asf trace logging by @thrau in #6424
  • fix parse_response to handle streaming responses by @thrau in #6415
  • add response parser to handler chain by @thrau in #6406
  • add deprecation path for LEGACY_DIRECTORIES=1 by @thrau in #6400
  • update .dockerignore to new filesystem hierarchy by @thrau in #6399
  • Remove deprecated docker-compose defaults by @dfangl in #6397
  • implement localstack python extensions framework by @thrau in #6387
  • implement HTTP proxy framework by @thrau in #6386
  • fix None check in AccountIdEnricher by @thrau in #6385
  • Fix host path replacement for lambda volume mounts by @dfangl in #6378
  • fix apigw LambdaResponse with async invocation to return empty body by @thrau in #6349
  • fix s3 delete_bucket compatibility with ASF gateway by @thrau in #6348
  • fix pickling in multi-account region backend by @thrau in #6346
  • Multi accounts feature flag by @viren-nadkarni in #6331
  • Setting LS default user to root, support user permission boundary by @dfangl in #6324
  • Default access key for legacy gateway by @viren-nadkarni in #6322
  • collect parity metrics by @steffyP in #6305
  • add new localstack filesystem hierarchy by @thrau in #6302
  • fix access key id auth header extraction for different signature versions by @viren-nadkarni in #6292
  • fix ASF integration of to_invocation_context by @thrau in #6284
  • fix s3 VirtualHostRewriter to also restore RAW_URI by @thrau in #6276
  • periodically emit analytcs events containing aggregated HTTP response metrics by @SwatsonCodes in #6269
  • use asf gateway as default by @thrau in #6206
  • make asf apigateway provider the default by @thrau in #6177
  • Use Moto account ID resolver by @viren-nadkarni in #6104
  • Cleanup replay-based persistence by @giograno in #6041
  • fix python 3.7 compat of setup_hypercorn_logger for cli by @thrau in #6433
  • fix aws header list parsing by @thrau in #6435
  • Make SERVICES act as preload-list for EAGER_SERVICE_LOADING by @dfangl in #6438
  • Fixes #6405 Kms import key material ignores requested wrapping algo by @srgg in #6407
  • update readme header to new theme by @thrau in #6446

New Contributors

Full Changelog: v0.14.5...v1.0.0

LocalStack release v0.14.5

13 Jul 15:05
Compare
Choose a tag to compare

Summary

This release contains a number of improvements and fixes, as well as some new feature highlights:

  • add initial support for nodejs16.x runtime by @pksunkara in #6200
  • support binary content in DynamoDB Streams @giograno in #6371
  • add plugin installation for OpenSearch 1.1+ by @alexrashed in #6395
  • add validation of API Gateway Lambda integration responses by @pinzon in #6170
  • enhance parity for SNS MessageAttributes consumed by AWS Java SDK by @bentsku in #6373

This is the last planned patch release before our upcoming major release 1.0.

What's Changed

New Contributors

Full Changelog: v0.14.4...v0.14.5

LocalStack release v0.14.4

26 Jun 20:24
Compare
Choose a tag to compare

Summary

This release contains a wealth of parity improvements and fixes. It also includes a number of new features:

  • Swagger and OpenAPI export for API Gateway REST APis #5935
  • Cloudformation EC2::Subnet support #6162
  • Cloudformation AWS::OpenSearchService::Domain support #6199
  • A healthcheck for the Docker container #6297
  • S3 TagObject notifications #6099
  • A new HTTP gateway that we will roll out for 1.0 (can be enabled with LEGACY_EDGE_PROXY=0) #5243

This will potentially be the last release before our next major release.

What's Changed

Read more

LocalStack release 0.14.3

19 May 18:46
Compare
Choose a tag to compare

LocalStack release v0.14.3

Summary

This LocalStack release features several improvements and new features in AWS services, a new CLI command, Python 3.10 support, and 10 new open source contributors!

AWS Services

CLI command to update LocalStack

We have introduced a new CLI command that automatically updates LocalStack and its requirements to the latest version:

 % localstack update --help
Usage: localstack update [OPTIONS] COMMAND [ARGS]...

  Update LocalStack components

Options:
  --help  Show this message and exit.

Commands:
  all             Update all LocalStack components
  docker-images   Update container images LocalStack depends on
  localstack-cli  Update LocalStack CLI tools

Other notable updates

  • LocalStack now runs on Python 3.10!
  • Many services have now been successfully migrated to our new framework that handles AWS service requests, this dramatically improves parity and stability of services
  • Deprecation note: The legacy record&replay based persistence mechanism (currently still available via LEGACY_PERSISTENCE) be entirely removed in the next release (as already previously announced in the 0.13.1 release).

What's Changed

Features

Enhancement

Read more

LocalStack release 0.14.2

01 Apr 12:30
3d8b283
Compare
Choose a tag to compare

LocalStack release 0.14.2

Change log

1. New Features

  • add ability to import keys into KMS
  • enable and refactor rotation logic and version stages in SecretsManager
  • support "Accept" header to switch response format
  • add provider for S3Control service

2. Enhancements

  • migrate services to ASF: EC2, KMS, Route53, STS
  • skip installing -ext dependencies in CI tests
  • lazily load subclasses for instance manager to enable plugin loading at runtime
  • add missing UpdateDomainConfig for OpenSearch and Elasticsearch
  • pin werkzeug version to fix Transfer-Encoding "chunked" on empty responses
  • apply filter pattern for log subscriptions
  • skip "online-only" tests, fix some tests
  • use valid references for EC2 resources to fix CloudFormation tests
  • enhance handling of KMS key pairs for SIGN_VERIFY keys
  • add CloudFormation support for IAM::ServiceLinkedRole
  • reintroduce Lambda log output str casting
  • source API Gateway domain name and prefix from invocation context
  • pin airspeed version and remove patch code
  • add CloudFormation support for AWS::CDK::Metadata
  • remove SERVICES from default docker-compose.yaml
  • round DynamoDB ApproximateCreationDateTime to seconds
  • add GetAtt support for AWS::EC2::VPC DefaultSecurityGroup and DefaultNetworkAcl
  • minor update in patch decorator to allow multiple/composite patches of methods

3. Bug Fixes

  • fix PaginatedList nextToken generation
  • fix MessageGroupId for publish batch to SQS fifo queue
  • fix elliptic curve key specs for KMS keys
  • fix broken transitive imports of quart from jinja
  • fix Terraform creation of EC2 Security Groups with default egress
  • fix eager deserialization for 404 responses returned from Lambda
  • fix CloudFormation Route53 deployment without ResourceRecords
  • fix ACM DomainValidationOptions to support waiters
  • fix Flask app routes for Lambda API
  • fix broken patch for moto S3 is_delete_keys(..)
  • fix CFn name autogeneration for SQS fifo queues
  • fix CFn Route53 deployment
  • fix CFn default name for Kinesis streams
  • fix logs subscription filter
  • fix query request parser for operations without input shape
  • fix nested stack outputs in CloudFormation
  • fix handling encoded $ for default stage in API Gateway path regex
  • fix redirect to index file in S3 website

LocalStack release 0.14.1

11 Mar 13:56
b2fd863
Compare
Choose a tag to compare

LocalStack release 0.14.1

Change log

1. New Features

  • push Docker images to public ECR registry on CI build
  • add internal endpoint to output diagnostics data
  • add ability to build, tag, and push images using Docker client
  • add API Gateway SNS integration
  • add OpenSearch destination to Firehose
  • add support for CloudWatch set_alarm_state and trigger actions

2. Enhancements

  • implement in-memory request dispatching to moto
  • implement generic HTTP route dispatching
  • migrate several services to ASF (ACM, CloudWatch, CloudWatch Logs, ConfigService, DynamoDB Streams, Redshift, ResourceGroups, SecretsManager, SSM, Support, SWF)
  • migrate from requirements.txt/setup.py to setup.cfg
  • CircleCI pipeline parallelization
  • add GitHub action to automatically update ASF APIs
  • migrate resourcegroupstagging API to ASF
  • split up Docker client, remove obsolete docker client binary from image
  • refactor handling of API Gateway request/response templates
  • introduce CODEOWNERS file for code ownership
  • add timeout to status services cli command
  • add DynamoDB Streams integration for PartiQL query updates
  • add ability to extract cookies from API Gateway invocation context
  • update generated ASF APIs to latest version
  • add ability to specify timeout and max content length for HTTP server
  • improve cli startup performance
  • refactor utils imports in utils and services packages
  • patch moto Lambda backend to access LocalStack Lambdas directly
  • add ability to extract tgz archives via download_and_extract utility
  • allow specifying working directory when running Docker exec
  • implement regex rules for the http Router
  • migrate from localstack-plugin-loader to plux
  • add support for #define function in API Gateway velocity templates
  • add a GHA workflow to track first-time pull request and issue creators
  • rework docker capabilities, remove intermediate containers after building images in docker-sdk client
  • add optimizing and sorting of imports to ASF scaffold
  • add support for response templates in API Gateway MOCK responses
  • add mock ECR CFN resource and integration test for CDK bootstrap template v10
  • add flag to call_moto to exclude the ResponseMetadata
  • upgrade airspeed dependency and remove custom patches
  • add helpers to unpause Docker containers
  • reorganize utility package
  • add deep copy of handler results to avoid unwanted mutations in parser
  • add error check for fifo attribute when creating SQS fifo queues
  • update renovatebot config to ignore Dockerfile.rh
  • add ApiGateway S3 integration using action name
  • add method to allow calling moto with a new request in request dispatcher
  • add resolve_hostname(..) util function, refactor some utils into sub-modules
  • improve performance of localstack status command
  • remove six library from dependencies
  • add failsafe with try/except for creating log streams to guard against potential duplicates
  • add the ability to snapshot running Docker containers
  • make autocreating log groups optional
  • allow service restart in ServiceContainer from STOPPED state
  • add support for DefinitionS3Location in StepFunctions::StateMachine model
  • remove superfluous CloudWatch response processing
  • add PaginatedList for paginating and filtering response lists
  • add default entries in CloudFormation stack template dict to avoid KeyError
  • docs: refactor third party software tools docs and remove announcements in README
  • refactor some tests to pytest (e.g., Lambda, EC2)
  • configure test coverage exclusions
  • make Lambda output truncation configurable

3. Bug Fixes

  • fix ASF parser and serializer issues
  • fix custom error responses from lambda when handler throws an exception
  • fix moto dispatching for trailing slashes and response headers
  • fix OpenSearch data dir issue that would block startup in pro
  • fix encoding problem for AlarmDescription in put-metric-alarm
  • fix making typing_extensions import dependent on python version
  • fix ApiGateway v2 path-base style requests without stages
  • fix several ASF parser, serializer, and scaffold issues
  • fix replacement of AWS::NoValue, add default props for Elasticsearch::Domain resources
  • fix service provider configuration override
  • fix edge route mapping for STS AssumeRole
  • fix API Gateway integration with Kinesis
  • fix linting issues by pinning flake8-black
  • fix python 3.7 compatibility with TypedDict for cli
  • fix ASF xml-rest parser location- and payload-trait handling
  • fix CloudFormation stack class to return latest raw template if change sets are present
  • fix OpenSearch cluster shutdown in tests
  • fix parameter for StateMachine type in CFN model
  • fix uncapped recursion bug in parser