All Versions
23
Latest Version
Avg Release Cycle
71 days
Latest Release
684 days ago

Changelog History
Page 1

  • v0.12.2 Changes

    November 11, 2020

    Change Log:

    🚀 LocalStack release 0.12.2

    1. New Features

    • 🔦 expose SecretsManager secrets via SSM parameter references
    • ➕ add proper CORS headers to S3 responses
    • ➕ add support for custom CI build commands via $CUSTOM_CMD
    • 👍 allow adding multiple permission statements to Lambda function policy

    2. Enhancements

    • ⬆️ upgrade base image and local Lambda executor to Java 11
    • ➕ add carriage return to SQS message payload validation regex
    • ➕ add support for SQS queue names containing slashes
    • ➕ add support for resource policies in SecretsManager
    • ➕ add README instructions for test credentials required for presigned URLs
    • 👉 use distinct values for missing CloudFormation resource props
    • ➕ add util function to create API GW Lambda event request context
    • ➕ add test for S3 precondition check
    • ➕ add test for Terraform API Gateway resources
    • 🔨 refactor CloudFormation integration tests

    🛠 3. Bug Fixes

    • 🛠 fix parsing of Content-Disposition header in S3 multipart uploads
    • 🛠 fix Content-Length mismatch issue for HTTP server responses
    • 🛠 fix hypercorn response body on 412 status code
    • 🛠 fix logic for missing authorizerId in API GW authorizers
    • 🖐 handle non-zero ReceiveMessageWaitTimeSeconds for SQS
  • v0.12.1 Changes

    November 11, 2020

    Change Log:

    🚀 LocalStack release 0.12.1

    1. New Features

    • ➕ add CloudFormation support for Lambda::Permission
    • 👌 support filtering of events by pattern using eventPattern
    • enable setting custom authorizers on API GW resource methods

    2. Enhancements

    • set correct Id attribute in S3 notification messages
    • ➕ add log output listener for shell command thread
    • ➕ add docs about using AWS CLI v2 from Docker image
    • 📚 updates in developer documentation and README (e.g., docker-compose version)
    • 🔨 refactor StepFunctions integration tests
    • pass $EDGE_PORT to Lambdas
    • ➕ add Terraform test for several resources (Lambdas, S3 bucket CORS integration)
    • ➕ add test for creating SFN State Machine with Choice operator
    • ➕ add test for creating SQS queue with attributes via CloudFormation

    🛠 3. Bug Fixes

    • 🛠 fix missing module import for Windows
    • 🛠 fix DynamoDB streams sequence number mismatch on GetRecords
    • 🛠 fix date format in CloudWatch responses
    • 🛠 fix service name and NS URLs for XML service responses
    • 🛠 fix gzip encoding for empty response content
  • v0.12.0 Changes

    November 11, 2020

    Change Log:

    🚀 LocalStack release 0.12.0

    1. New Features

    • single edge port now stable for all APIs
    • ➕ add CBOR encoding support for Kinesis API
    • 0️⃣ disable custom Java Lambda executor and replace with default lambci mechanism

    2. Enhancements

    • publish SNS messages asynchronously
    • create env INIT_SCRIPTS_PATH to specify path for init files in Docker
    • extract InputPath expression for notification messages to EventBus targets
    • ➕ add signature and expiry validation for S3 presigned URLs
    • ➕ add simple integration test for Terraform resources
    • ➕ add CloudWatch as a static dependency for Lambda API
    • ➕ add more fine-grained DynamoDB error injection with read/write error probabilities
    • ⚡️ raise error when attempting to update CF stack with unmodified template
    • 🔨 minor refactoring of /graph endpoint

    🛠 3. Bug Fixes

    • 🛠 fix edge route mapping for S3 HEAD requests
    • 🛠 fix invalid account ID in CloudWatch logs listener ARNs
    • minor fix of XML root tag for S3 error responses
    • 🛠 fix issue with blocking sockets in HTTP2 server
    • 🛠 fix numeric timestamp format in Kinesis records required by Go SDK
    • 🛠 fix missing attributes when adding IAM permission to Lambda function
    • 🛠 fix case sensitivity for bucket names in S3 bucket notifications
    • 🛠 fix debug port parser for Java Lambda executor to support different formats
  • v0.11.6 Changes

    October 02, 2020

    Change Log:

    🚀 LocalStack release 0.11.6

    0. !! Breaking Changes !!

    • 🚀 Starting with this release, all services are now exposed via the edge service (port 4566) only! Please update your client configurations to use this new endpoint.

    1. New Features

    • 👉 use edge service as single entry point, forward requests in-memory instead of opening port per service
    • ➕ add download URLs for Elasticsearch 7.7 (new default version)
    • 🐳 add LAMBDA_DOCKER_DNS config to utilise custom DNS server for Lambda containers
    • ➕ add switch to disable Lambda handler validation

    2. Enhancements

    • 🔨 minor refactoring in SFN test code
    • ➕ add integration test to verify MAP tasks in SFN state machines
    • 🔨 refactor CF logic for API GW resources and empty/Null values
    • 🔨 refactor API Gateway utils and test code
    • 🔨 refactor Lambda context handling
    • 🔨 refactor startup logs to print correct ports in output
    • ✅ extend Serverless tests with SQS and API Gateway resources
    • 👉 use S3 path addressing when host starts with localhost IP or hostname
    • ➕ add test to assert event deletion for SQS Lambda event source
    • ➕ add localhost.localstack.cloud as alias to SSL cert
    • ➕ add Serverless integration tests to cover DynamoDB and Kinesis resources
    • ➕ add Lambda request body length check
    • 🐎 performance improvements in plugin loading

    🛠 3. Bug Fixes

    • 🛠 fix boolean values in IAM responses
    • 🛠 fix PutEvents API call with no source specified
    • 🛠 fix endless loop when S3 error document is missing
    • 🛠 fix Python path when running Lambdas using local executor
    • 🛠 fix "TypeName" as optional param for Elasticsearch v7
    • 🛠 fix error response for requests to non-activated APIs
    • 🛠 fix network_mode:bridge in docker-compose.yml
  • v0.11.5 Changes

    September 16, 2020

    Change Log:

    🚀 LocalStack release 0.11.5

    0. !! Breaking Changes !!

    • Starting with releases after v0.11.5 (i.e., latest and all future release tags), all services are now exposed via the edge service (port 4566) only! Please update your client configurations to use this new endpoint.

    1. New Features

    • ➕ add support for importing REST APIs from Swagger docs in API Gateway
    • ➕ add config variable to customize the main Docker container name
    • ➕ add missing attributes in Lambda events triggered from Kinesis
    • concatenate Firehose batch records and combine them into single S3 objects
    • return 304 if If-None-Match header is specified and S3 object ETag has not changed

    2. Enhancements

    • 🔨 refactor util functions for AWS responses
    • ⚡️ update Lambda environment variables on CF stack update
    • allow setting MAX_POOL_CONNECTIONS via environment variable
    • 🔨 refactor logic to forward requests to S3_BACKEND
    • 🐳 read name of main Docker container dynamically based on hostname
    • 👌 support gzipped S3 responses when requested via Accept-Encoding header
    • 🚀 refactor CloudFormation deployments for API Gateway
    • 🐳 use random available port for Lambda container server in Docker "host" network mode
    • ➕ add DynamoDB error handling for query type ALL_ATTRIBUTES and projection type != ALL
    • 👉 use paginator for DynamoDB list tables
    • ➕ add adaptive, unbounded thread pool to avoid deadlocks on concurrent requests
    • adjust timestamp format for JSON-safe object conversion
    • cut out None from Delimiter tag in S3 responses
    • 🐳 use a mock client to prevent moto Lambda objects from talking to Docker
    • ➕ add default values for DDB ProvisionedThroughput in CF
    • ➕ add test to trigger Java Lambda from SNS event source
    • ➕ add test for DynamoDB stream triggering Lambda event source
    • ➕ add test to assert exception for DDB query on non-existing table

    🛠 3. Bug Fixes

    • 🛠 fix Lambda event to match SNS message ID
    • 🛠 fix default region in edge service to avoid region mismatches
    • 🛠 fix EC2 creationTimestamp format
    • 🛠 fix edge route for /graph endpoint
    • 🛠 fix URL encoding of S3 object key names in SQS notification messages
    • 🛠 fix edge route for S3 bucket HEAD requests
    • ➕ add several retries to make integration tests more resilient
    • 🛠 fix posting to SQS on queue URL with trailing slash
    • 🛠 fix CF/Serverless deployment for ApiGw APIs with missing root resource
    • 🛠 fix JSON serialization of event details on eventBridge put_events
    • 🛠 fix edge mapping for S3 PutObject requests
    • 🛠 fix CF deploy for API GW RestApi resource
    • 🛠 fix Lambda event from API Gateway to send HTTP method it was called with
    • 🛠 fix mismatch of crc32 hashes for patched SQS responses
    • 🛠 fix S3 compression for non-bytes string response body
    • 🛠 fix CF deployment of API Gateway integration and integration URI with empty path
  • v0.11.4 Changes

    August 12, 2020

    Change Log:

    🚀 LocalStack release 0.11.4

    1. New Features

    • ➕ add initial support for ACM API
    • 👌 support custom Lambda integration in API GW
    • ➕ add config option for DynamoDB Java heap size
    • ➕ add support for DynamoDB Global Tables
    • ➕ add basic string functions in VLT templates

    2. Enhancements

    • 🏗 build and push localstack-full image in CI, make light image the default
    • 👌 support "sms" as SNS subscriber protocol
    • 👌 support platform endpoints in SNS
    • 👌 support client context passed to Node.js Lambda handler
    • increase max threads in thread pool to improve concurrency
    • ✨ enhance implementation and tests for API GW HTTP/HTTP_PROXY support
    • 👌 support CF deletion of Lambda functions and IAM roles with inline policies
    • ➕ add dummy AWS credentials to Lambda Docker containers
    • ➕ add test for VPN Gateway attachment.vpc-id filter
    • properly convert between Kinesis stream names and ARNs
    • ➕ add support for pathPrefix in IAM list_users
    • ✨ enhance command line ports parsing
    • ✨ enhance CF support for ApiGateway::RestApi
    • ➕ add option to use default Lambda endpoint for StepFunctions
    • ➕ add tests to tag/untag SQS queues
    • ➕ add tests for SQS FIFO queue with group/deduplication ID on multiple messages
    • ➕ add test for SQS DLQ when maxReceiveCount is reached
    • ➕ add missing region to EC2 getAccepterVpcInfo response
    • 👉 make DDB stream creation asynchronous
    • extend Java Lambda classpath
    • ➕ add test to trigger multiple SNS subscriptions in the presence of handler errors
    • replace ${filename} variable references in S3 presigned responses
    • increase Quart server max content length
    • ➕ add SQS as target in EventBridge

    🛠 3. Bug Fixes

    • 🛠 fix HOSTNAME_EXTERNAL extraction to determine path-style addressing in S3
    • 🛠 fix RedrivePolicy for new SQS backend
    • 🛠 fix triple logs in debug mode
    • 🛠 fix format of Kinesis stream ARNs in CF
    • 🛠 fix DynamoDB TransactWriteItems with ConditionCheck
    • 🛠 fix DynamoDB stream MODIFY/INSERT event on UpdateItem for new item
    • fix DynamoDbStreams get-shardId-iterator with AT_SEQUENCE_NUMBER
    • 🛠 fix proxy CORS headers
    • ➕ add retries to fix intermittent SSL cert generation errors
    • 🛠 fix generation of random password in SSM
    • 🛠 fix API key checks for API GW paths with path params
    • 🛠 fix content-type in presigned S3 URLs
    • 🛠 fix SSL context creation error for multiple threads
    • 🛠 fix invocation of destination Lambda for Logs subscription filters
    • return raw response in edge proxy to fix gzip encoded S3 content
    • 🛠 fix adding multiple permissions to single Lambda function
    • return table name for DynamoDB table Ref in CF
    • 🌐 fix Docker port mapping for PORT_WEB_UI
    • 🛠 fix HTML escaping of SQS message attributes
    • 🛠 fix shardId format for DDB Streams
    • 🛠 fix S3 Content-MD5 base64 checks
  • v0.11.3 Changes

    June 28, 2020

    Change Log:

    🚀 LocalStack release 0.11.3

    1. New Features

    • 👍 switch to Quart Server for initial version of HTTP/2 support for API endpoints
    • ➕ add support for IAM SimulatePrincipalPolicy
    • ➕ add persistence support for SNS
    • ➕ add API Key validation in API GW
    • 👌 support expiry in S3 multipart POST
    • 👌 support Elasticsearch snapshot repo
    • 👌 support StepFunctions targets in scheduled event rules
    • 🚚 move /health check endpoint to edge port
    • 0️⃣ use moto instead of ElasticMQ as default backend for SQS

    2. Enhancements

    • ➕ add thread synchronization to Lambda config initialization
    • point Lambda LOCALSTACK_HOSTNAME to main container directly
    • ➕ add CORS headers to all OPTIONS responses by default
    • ⬆️ upgrade DynamoDB to latest backend version
    • encode account ID in SQS queue URLs
    • ➕ add handling of query parameters in SNS requests
    • determine proper external port in SQS URLs
    • ➕ add missing Record values to Kinesis stream listener response
    • 👌 support CF condition based on AccountId
    • ✂ delete event source mappings on deletion of DynamoDB table
    • return proper response details on Lambda invocation error
    • store SSL certs to random tmp files in case of permission issues
    • ✨ enhance path matching for API Gateway invocations
    • 🔧 pass HTTP_PROXY to Lambda if configured
    • skip Lambda invocation if event source mapping is in state Disabled
    • cleanup asyncio thread pool on shutdown
    • 🔧 make sync/async Lambda event sources configurable
    • ➕ add Firehose support for EventBridge targets
    • pass multivalue headers from API GW to Lambda
    • filter out Lambdas by region in ListFunctions
    • ✂ remove Python 2 tests in CI
    • ➕ add EventBridge schedule expression for HTTP subscribers
    • ➕ add UnsubscribeURL to SNS notification message

    🛠 3. Bug Fixes

    • 🛠 fix binary MessageAttribute for SNS->SQS
    • 🛠 fix CF deploy issue with SNS resources, IAM role policy document
    • 🛠 fix direct access to queue URLs with new SQS backend
    • 🛠 fix handling of S3 multipart form upload via edge port
    • 🛠 fix API GW response on DELETE Lambda integration
    • 🛠 fix Terraform deletion of EC2 NAT Gateways
    • 🛠 fix Windows host path for Lambda volume mounting
    • 🛠 fix error responses for S3 Content-MD5 header
    • 🛠 fix S3 bucket creation date for Java SDK v2
    • 🛠 fix handling of S3 LocationConstraint on bucket creation
    • 🛠 fix DynamoDB DeleteEventSourceMappings in case tableARN is None
    • 🛠 fix format of S3 InvalidRange error response
    • 🛠 fix edge mapping for CloudWatch, S3 HEAD requests, SQS requests
    • 🛠 fix DynamoDB shard IDs
    • 🛠 fix lower case for SQS->Lambda message attributes
    • 🛠 fix S3 CORS policy with single origin
    • 🛠 fix S3 storage class on multipart upload
    • 🛠 fix S3 timestamp format
    • 🛠 fix chunked encoding in S3 responses
    • 🛠 fix passed parameters on API Gateway proxy resource method call
    • 🛠 fix JSON safe dumping of bytes in API Gateway
  • v0.11.2 Changes

    May 26, 2020

    Change Log:

    🚀 LocalStack release 0.11.2

    1. New Features

    • ➕ add API Gateway integration with DynamoDB
    • ➕ add Lambda support for the dotnetcore3.1 runtime
    • ➕ add persistence support to SQS API

    2. Enhancements

    • 👉 use dynamic instead of hardcoded backend service ports
    • 👉 use random port for multiserver
    • handle kms_key_arn/vpc_config in Lambda models
    • ➕ add bucket existence checks for S3 operations
    • 🔨 refactor CLI and infra startup
    • ✂ remove obsolete subprocess32 dependency
    • ⚡️ optimize travis build for light image
    • add name for non-existent Lambda in calls to LAMBDA_FALLBACK_URL
    • ➕ add tests for CW getMetricData, API GW CreateModels, S3 listing 1000+ objects
    • add tests for EC2 create_vpc_endpoint, S3 put/get bucket versioning
    • ➕ add integration test for CloudWatch put_metric data
    • ➕ add test case for SQS queue RedrivePolicy attribute

    🛠 3. Bug Fixes

    • 🛠 fix mapping of CloudFormation account IDs
    • 🛠 fix health check for HTTPS endpoints with self-signed certs
    • 🤡 mock simple response for EC2 reserved instance APIs
    • 🛠 fix error handling on SQS sending of empty message batch
  • v0.11.1 Changes

    May 04, 2020

    Change Log:

    🚀 LocalStack release 0.11.1

    1. New Features

    • ➕ add support for Lambdas triggered by scheduled event rules
    • lazily install and allow selection of specific Elasticsearch versions
    • ➕ add ability to return multi valued headers from Lambda - API GW integration
    • 👌 support S3 expiry for pre-signed URLs and objects
    • ➕ add persistence for SSM and SecretsManager, introduce PersistingProxyListener
    • 🐳 create stripped-down light version of Docker image with lazy loading of ES libs (reduces image size by 33%)

    2. Enhancements

    • ➕ add CF support to update instances of IAM::Role
    • ➕ add support for tags on IAM CreateUser calls
    • implement Events put_events with SQS and Lambda targets
    • ✂ delete notification configurations on S3 bucket deletion
    • ➕ add metadata headers in S3 GET responses
    • ➕ add missing S3 response headers for bytes ranges and request IDs
    • ➕ add util class to fix account IDs in STS listener
    • 👌 support "exists" operator for SNS filter policy
    • 🖨 print version number when starting up
    • ⚡️ update startup log messages with new edge port
    • add test cases for STS get_federation_token
    • ➕ add CF test for empty event rules names
    • 👌 support deletion of SFN state machines via CloudFormation
    • 👌 support custom Lambda endpoint for StepFunctions
    • ➕ add simple integration test for Serverless deployment
    • check BatchSize in Lambda event source mappings
    • ➕ add CFN support for Events::Rule, S3::BucketPolicy, Logs::LogGroup, and ElasticSearch/SecretsManager/KinesisFirehose resources
    • put util jars at end of classpath for local Java Lambdas
    • skip persistence replay if an API is disabled
    • optimize image size, add documentation for USE_LIGHT_IMAGE
    • add checks for HOST_TMP_FOLDER when running in Docker

    🛠 3. Bug Fixes

    • 🛠 fix CF deployment for EventPattern attribute in Events::Rule
    • 🛠 fix default RoleName in CF dependent IAM roles
    • 🛠 fix edge request forwarding for public S3 URLs
    • fix IAM detach_role_policy and add missing managed policies
    • 🛠 fix tagging support for ES domains
    • 🛠 fix response content for IAM error messages
    • 🛠 fix requesting SSM params with leading slashes
    • 🛠 fix resolving CloudFormation refs when updating resource IDs
    • 🛠 fix data type conversions in SNS->SQS message attributes
    • 🛠 fix API Gateway put_integration to avoid responseTemplates containing null values
    • 🛠 fix Docker port mapping conflicts by avoiding overlaps
    • 🛠 fix skipping None data when stripping chunk signatures in S3 requests
    • 🛠 fix DynamoDB behavior for ReturnValues on PutItem
    • 🛠 fix case sensitivity for Connection keep-alive header
  • v0.11.0 Changes

    April 04, 2020

    Change Log:

    🚀 LocalStack release 0.11.0

    1. New Features

    • ➕ add Edge service as central API entry point (may become a breaking change in the future)
    • implement tagging for DynamoDB tables
    • ➕ add support for Lambda FunctionEventInvokeConfig

    2. Enhancements

    • allow setting static debug port in LAMBDA_JAVA_OPTS
    • ➕ add test to assert EntityAlreadyExistsException when recreating IAM role
    • ➕ add tests for deletion/re-creation of CloudFormation resources
    • ➕ add missing API Gateway template util functions
    • ➕ add test to assert DelaySeconds for Lambda SQS event source
    • ➕ add tests for S3 uploads with special content and large file sizes
    • ➕ add debug logs for publishing SNS messages
    • ✨ enhance integration tests for Secrets Manager API

    🛠 3. Bug Fixes

    • 🛠 fix content-type header for CloudWatch logs responses
    • 🛠 fix message attributes in SQS-Lambda integration
    • 🛠 fix Lambda deployment for mountCode=true
    • 🛠 fix Lambda SQS event source for SendMessageBatch
    • ➕ add LastUpdateStatus to Lambda response to fix terraform deployment