pypi localstack 1.0.0
v1.0.0

latest releases: 1.3.2.dev20230104092258, 1.3.2.dev20221219124041, 1.3.1...
2 years 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 #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

Don't miss a new localstack release

NewReleases is sending notifications on new releases.