Localstack Versions Save

💻 A fully functional local AWS cloud stack. Develop and test your cloud & Serverless apps offline

v1.0.4

1 year ago

What's Changed

Full Changelog: https://github.com/localstack/localstack/compare/v1.0.3...v1.0.4

v1.0.3

1 year ago

What's Changed

Full Changelog: https://github.com/localstack/localstack/compare/v1.0.2...v1.0.3

v1.0.2

1 year ago

What's Changed

New Contributors

Full Changelog: https://github.com/localstack/localstack/compare/v1.0.1...v1.0.2

v1.0.1

1 year ago

What's Changed

New Contributors

Full Changelog: https://github.com/localstack/localstack/compare/v1.0.0...v1.0.1

v0.14.5

1 year ago

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: https://github.com/localstack/localstack/compare/v0.14.4...v0.14.5

v1.0.0

1 year ago

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’s 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’ve 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 https://github.com/localstack/localstack/pull/6427
  • add new log output formatting and asf trace logging by @thrau in https://github.com/localstack/localstack/pull/6424
  • set analytics api version to v1 by @thrau in https://github.com/localstack/localstack/pull/6431
  • collect parity metrics by @steffyP in https://github.com/localstack/localstack/pull/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 https://github.com/localstack/localstack/pull/6433
  • fix aws header list parsing by @thrau in https://github.com/localstack/localstack/pull/6435
  • Make SERVICES act as preload-list for EAGER_SERVICE_LOADING by @dfangl in https://github.com/localstack/localstack/pull/6438
  • Fixes #6405 Kms import key material ignores requested wrapping algo by @srgg in https://github.com/localstack/localstack/pull/6407
  • update readme header to new theme by @thrau in https://github.com/localstack/localstack/pull/6446

New Contributors

Full Changelog: https://github.com/localstack/localstack/compare/v0.14.5...v1.0.0

v0.14.4

1 year ago

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

New Contributors

Full Changelog: https://github.com/localstack/localstack/compare/v0.14.3...v0.14.4

v0.14.3

1 year ago

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

Fixes

New Contributors

Full Changelog: https://github.com/localstack/localstack/compare/v0.14.2...v0.14.3

v0.14.2

2 years ago

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

v0.14.1

2 years ago

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