Skip to content

Releases: localstack/localstack

LocalStack release 0.12.10

24 Apr 08:47
Compare
Choose a tag to compare

Change Log:

LocalStack release 0.12.10

1. New Features

  • add initial support for CloudFormation stack sets and stack instances
  • initial support for AWS Support API
  • add support for iterator types on Kinesis SubscribeToShard requests
  • support Kinesis streaming destinations for DynamoDB
  • initial support for put_metric_filter for CloudWatch log events
  • add support for HttpEndpoint destinations in Firehose API
  • add health check status for init scripts and persistence initialization

2. Enhancements

  • replace AWS CLI commands with boto3 calls for /graph endpoint
  • remove obsolete code for S3 bucket encryptions
  • add CloudFormation support for EC2::NatGateway, KMS::Key, KMS::Alias, SecretsManager resources
  • return PhysicalResourceId for S3::BucketPolicy CloudFormation model
  • add edge mapping for EC2 requests with missing Auth headers
  • remove deprecated USE_MOTO_CF config switch
  • resolve refs in ExportName of CF stacks
  • add missing attributes in Kinesis SubscribeToShard response
  • minor refactoring and adding missing path in Dockerfile
  • cache cfn-response module in local infra folder instead of re-downloading each time
  • support JSON message structure with raw delivery in SNS
  • add CloudFormation support for additional EC2 resources
  • refactor logic for CF stack set instances
  • add support for getting SSM parameters by path and filtering by labels
  • remove "content-encoding: identity" header in S3 responses to fix compatibility with PHP/Guzzle 6
  • add SNS XRay propagation to SQS using ElasticMQ
  • add Circle-CI project setup and build badge
  • move CI build commands into Makefile for easier migration
  • refactor utils for resource tagging
  • refactor logic for proxy listener, fix edge forward headers
  • update S3 regex to support HOSTNAME_EXTERNAL in bucket hostnames
  • add missing aws_request_id and context attributes for Python Lambdas with local executor
  • add support for SES GetIdentityVerificationAttributes
  • add LS_LOG=trace option to print detailed request/response messages
  • add CloudFormation support for EC2::VPC, EC2::RouteTable, EC2::Route
  • add Location response header on S3 bucket creation
  • minor refactorings for "config validate" command

3. Bug Fixes

  • fix API Gateway integration to allow binary payload data
  • fix reprocessing of SQS messages in case multiple Lambda event source mappings are defined
  • fix API GW integrations with no uri/integrationUri attribute (for mock integrations)
  • fix StreamViewType in DynamoDB Streams event records
  • fix stack status filter in CloudFormation API
  • fix CF dependency resolution to avoid unresolved/nil resource refs
  • fix Events API logic for recent upstream changes
  • fix API Gateway when applying JSON patch with empty patch value
  • fix passing region when constructing resource graph
  • fix CloudFormation GetAtt intrinsic function for attr string refs
  • fix proper stream view type of DynamoDB stream records
  • fix error logs on subscribe_to_shard for deleted Kinesis streams
  • fix build script to detect git:// repo URLs
  • fix compatibility of S3 API with Cyberduck
  • fix local URLs for nested CFN stacks
  • fix Kinesis DescribeStreamConsumer to return consumer correctly
  • fix content-type for requests forwarded to Lambda fallback URL
  • fix returning None value on TransactWrite DynamoDB operation
  • fix incorrect URL modification when sending S3 requests to backend
  • fix encoding and timestamp format for Kinesis SubscribeToShard from Java SDK
  • fix returning code 200 for S3 HEAD range requests
  • fix S3 notifications for URLs with "x-id" query parameters
  • minor fix for missing Lambda attributes on legacy persistence states
  • minor fix in util function for parsing URL-encoded request payloads
  • minor fix for is_port_open(..) util function to parse port parameters
  • minor fix for extracting region from auth headers

LocalStack release 0.12.9

28 Mar 12:38
Compare
Choose a tag to compare

Change Log:

LocalStack release 0.12.9

1. New Features

  • major: add support for virtual host based addressing in S3 requests
  • add support for signature authentication for S3 host addressing based presigned URLs
  • add support for IAM service linked roles
  • add ability to import REST APIs for APIGateway

2. Enhancements

  • enable and fix asynchronous CF stack deployments
  • add small util function to list local Docker images
  • configure KMS to use $DATA_DIR as persistence folder
  • support PutRecord Kinesis endpoint in API Gateway integrations
  • minor refactoring in download util functions
  • add small util function to create Lambda API Gateway integration
  • remove duplicated CFN integration test
  • add test to validate export names for CFN deployment
  • add LastUpdatedTimestamp for CF resources
  • minor refactoring in configs and S3 presigned URL tests
  • add missing get_physical_resource_id for IAM::InstanceProfile CF model

3. Bug Fixes

  • fix missing parameters in download utils function
  • fixed slash prefixes for path in S3 static website hosting
  • fix addressing style by setting "auto" in default S3 clients
  • fix incorrect date format for policy expiration date on S3 signing
  • fix S3 Location Constraint for access with Node.js AWS SDK
  • fix key name with special char and multipart upload in S3 presigned URL
  • fix ARN format for IAM service roles
  • fix encoding and strip off quotes for kinesis bytes input
  • fix S3 bucket location constraint value for us-east-1 region
  • fix error response for S3 get-bucket-cors in case no CORS config exists
  • fix EC2 responses for compatibility with Terraform VPC module
  • fix using regexes to match and extract RSA private keys
  • fix determining ID for deletion of ApiGateway::RestApi resources
  • fix failing tests for S3 presign URLs using incorrect bucket host
  • fix lookup of CF resource ID for IAM::InstanceProfile model
  • fix determining state for EC2::SecurityGroup CF resources
  • fix Serverless tests and run CF deployments asynchronously
  • fix presigned GET requests with querystring auth parameters
  • minor fix for API GW patch operations on non-existing attributes
  • minor fix for accessing IAM role attributes
  • minor fix: make Lambda handler file executable in test utils
  • minor fix for SNS topic deletion in CloudFormation

LocalStack release 0.12.8

28 Mar 11:29
Compare
Choose a tag to compare

Change Log:

LocalStack release 0.12.8

1. New Features

  • add support for v4 signature calculations in S3 presigned URLs
  • add support for nodejs14.x Lambda runtimes
  • add CF support for EC2::Subnet, EC2::VPC, Events::EventBus, ApiGateway::Model

2. Enhancements

  • add auto_restart option to ShellCommandThread to restart DynamoDB process on error
  • run CF deployments asynchronously in the background
  • extract auth details from query parameters in edge service
  • add test for Java Lambda archive built from Gradle
  • check existence of KinesisConsumer and add missing Header to binary Kinesis messages
  • add small util function to get or create S3 bucket
  • automatically confirm SNS subscriptions to fix TF deployments
  • extend TF tests with EC2 resources
  • add logs with build info when process starts up
  • add support for deletion of SES templates
  • refactor tests and logic for EventBridge targets

3. Bug Fixes

  • fix extraction of SQS QueueArn in CloudFormation models
  • fix mechanism to determine whether LocalStack is running inside Docker for Github Actions compatibility
  • fix extracting list of changes in CloudFormation change sets
  • fix result processing of external Lambda invocations via LAMBDA_FORWARD_URL
  • fix edge route mapping logic to identify EventBridge API calls
  • fix incorrect region parameter in EventBridge tests
  • fix SQS redrive policy tests failing after recent upgrade
  • fix tests for new SNS subscription attributes
  • fix missing 'detail' field when putting EventBridge events with empty details
  • fix resource path in event sent to Lambda from API Gateway
  • fix log output for "localstack config" CLI commands
  • minor fix in API GW request routing
  • minor fix for SES response parsing

LocalStack release 0.12.7

28 Feb 18:29
Compare
Choose a tag to compare

Change Log:

LocalStack release 0.12.7

1. New Features

  • initial support for Kinesis consumers and SubscribeToShard via HTTP2 push events
  • add LS_LOG option to customize the default log level
  • add CloudFormation support for Lambda::EventInvokeConfig
  • add support and tests for StepFunctions intrinsic functions
  • add support for LAMBDA_FORWARD_URL to forward Lambda invocations
  • add support for accounts management in API Gateway
  • add support for API Gateway validators
  • add initial support for SWF API
  • add CloudFormation support for Route53::RecordSet
  • add "events" target for EventBus to forward messages between different event bus instances
  • add support for Lambda event source mapping with self-managed kafka cluster as event source

2. Enhancements

  • add support for deleting S3 bucket lifecycle configurations
  • add CLI command for validating configurations defined in docker-compose files
  • merge stack outputs on CloudFormation UpdateStack
  • avoid sending MessageGroupId to SQS when using ElasticMQ
  • add test for Kinesis stream consumer Lambda event mapping
  • add a TLDR-style docker run command in the README
  • add AWS_REGION to environment when launching Lambda functions
  • add support for base path mappings in API Gateway
  • add missing endpoint/domain for ES call from Firehose
  • add .NET client library info to README
  • add module jdk.zipfs to custom JDK to fix JAR loading issues
  • add missing attributes for ACM certificates to avoid Terraform crashes
  • add support for Route53 ListHostedZonesByVPC
  • update S3 event version from 2.0 to 2.1
  • skip returning groupName in IP permissions for non-default VPCs
  • enhance support for ACM domain validation
  • add API to list Elasticsearch versions
  • support Route53 matching for domain names ending with a dot
  • make unzip(..) util function more resilient to errors inside Alpine/Docker
  • minor refactoring of CloudFormation model base class
  • add SES email delivery for SNS notifications
  • refactor IAM to incorporate upstream changes
  • minor refactoring of API GW stage variables
  • fall back to Python unzipping if native "unzip" command fails
  • add support for Route53 AssociateVPCWithHostedZone
  • pin version of cryptography<3.4 to avoid issue with new Rust dependency
  • handle empty marker in S3 list objects
  • add CloudFormation support for deletion of SNS subscriptions
  • support attribute TreatMissingData in CloudWatch metrics
  • add test cases for CloudWatch Logs subscriptions
  • remove persistence for SNS APIs that cause issues with generated IDs
  • ensure case-insensitive dict for headers to fix gzip encoding issue with TF

3. Bug Fixes

  • fix evaluating conditions to skip resource deployment in CloudFormation
  • fix extraction of tags from URL-encoded request payload
  • fix list_hosted_zones_by_vpc API for Route53
  • fix Lambda handler in Serverless tests for local executor
  • fix adjusting CloudFormation stack status when running ExecuteChangeSet
  • fix API Gateway response for base path mapping with empty path
  • fix setting of default region from environment variables
  • fix tests to accommodate min length of API GW API keys
  • fix disabling of rules in EventBus API
  • fix Kinesis GetRecords output with bytearray data for consumption with AWS Java SDK v2
  • fix API Key validation for API Gateway for multiple keys configured
  • fix response for ACM certificate verification status
  • fix update of HOSTNAME_EXTERNAL in SQS via backdoor config API
  • fix startup of Elasticsearch process on ES domain creation
  • fix error response for non-existent keys in S3 range requests
  • fix tests for ACM certificates created via Terraform
  • minor fixes for tagging CloudWatch alarms
  • minor fix in SecretsManager to accept secret ARN as SecretId

LocalStack release 0.12.6

01 Feb 22:59
Compare
Choose a tag to compare

Change Log:

LocalStack release 0.12.6

1. New Features

  • support Lambda/Kinesis/Firehose targets for CloudWatch Log subscription filters
  • add backdoor API to receive raw CloudWatch metrics
  • add tagging support for CloudWatch metrics

2. Enhancements

  • convert Content-Length headers to upper-case as required by some S3 libs
  • enhance CloudFormation support for EC2::SecurityGroup, IAM::InstanceProfile, EC2:Instance, KMS:Key
  • enhance CloudFormation support for API Gateway resources
  • enhance CloudFormation logic for managed and inline IAM policies
  • add SES listener to add missing xmlns for error responses
  • modify timestamp format of CloudWatch GetMetricData entries
  • perform deletion of DynamoDB streams only if table exists
  • add support for tags in CloudFormation stacks
  • add support for Fn:GetAZs intrinsic function in CloudFormation
  • include change set params when resolving stack parameters
  • refactor Lambda API to use RegionBackend base class
  • add messageGroupId parameter for SQS targets in events rules
  • minor: add util method to initialize REGIONS for RegionBackend
  • minor refactoring of API Gateway invocation logic for better extensibility
  • minor: add util function to kill process trees for cleanup/shutdown
  • minor refactoring of startup log messages
  • minor refactoring of Lambda API for better extensibility

3. Bug Fixes

  • fix logic for restoring DEEP_ARCHIVE objects in S3 API
  • fix incorrect response tags for Redshift ClusterSubnetGroups
  • fix Java Lambda containers to listen on debug_port if specified in LAMBDA_JAVA_OPTS
  • fix millisecond conversion of ApproximateArrivalTimestamp in Kinesis GetRecords
  • fix test credentials in DynamoDB request headers
  • fix region lookup for API Gateway REST API invocations
  • fix patching of API GW REST API attributes
  • fix CF attribute lookup for LambdaPermission
  • fix Kinesis proxy listener to skip base64 decoding for byte message contents
  • fixed gzip encoding of payload on Lambda trigger from log subscription event
  • fix DynamoDB listener to properly look up throttling configuration
  • fix edge path routing for S3 PutObject with nested key name when using Java SDK
  • fix string format of SecretsManager secret value when referencing from SSM
  • fix LastModified value for Lambda API to support Terraform 0.13 and 0.14
  • fix date format in SES for AWS Java SDK v2 compatibility
  • fix deployment of CloudFormation templates with IAM::InstanceProfile
  • fix logic and integration test for Lambda destinations
  • fix JSON encoding of payload from Lambda fallback invocation
  • fix error response on Firehose PutRecord for non-existing stream
  • minor fix for local Lambda mounts
  • minor CloudFormation fixes for S3 buckets
  • minor fixes for CloudFormation and handling AWS auth headers

LocalStack release 0.12.5

11 Jan 21:55
Compare
Choose a tag to compare

Change Log:

LocalStack release 0.12.5

1. New Features

  • major change: rewrite CloudFormation to use an independent deployment mechanism
  • recursively return all outputs for nested CloudFormation stacks
  • add gzip decoding to edge service to support zipped request payloads
  • add support for CF functions select/split/base64
  • add missing CF APIs: GetTemplate, GetTemplateSummary, ListImports
  • add message group id for events in SNS->SQS integration
  • add basic persistence for SecretsManager

2. Enhancements

  • refactor CloudFormation implementation to use resource model classes
  • add missing CF resource props for DDB/SQS resources
  • add proper signal handling in supervisord to support kubernetes deployment
  • add util functions to determine disk usage of files/folders
  • add SET_TERM_HANDLER config for Docker entrypoint
  • add default config for StepFunctions port to avoid clash with PORT env variable
  • add support for Lambda destinations to forward results to SQS
  • add missing edge route mapping for SNS ConfirmSubscription
  • add integration test for StepFunction try/catch functionality
  • add small util function to determine whether a local port can be bound
  • enhance DynamoDB performance by skipping item lookups if no streams enabled
  • minor refactoring of region backend base class
  • support S3 key names containing hashes
  • add method to configure CF deploy templates in resource class
  • add ability to get an AppSync DataSource's physical id in CF
  • extend create_zip_file util function to allow specifying target zip file
  • pass environment variables to Lambdas with "provided" runtime
  • run Lambda set_function_code in background to avoid network timeouts
  • sort S3 object versions by creation date

3. Bug Fixes

  • fix SNS message format for .NET SDK by removing null values
  • fix returning LogResult from synchronous Lambda invocations
  • fix assertions for machine creation/deletion in StepFunction tests
  • fix fetching Arn attribute on SFN state machine updates via CF
  • fix broken tests related to util function change
  • fix escaping of policy JSON in ApiGateway resources using Terraform
  • fix whitespaces in SQS redrive policy JSON
  • fix date format in SSM & SecretsManager for Java SDK compatibility
  • fix removal of deleted resources from CF stack template
  • fix infinite recursion when loading stack exports that reference other imports
  • fix response format for CloudFormation ListExports
  • fix returning log output on Lambda errors
  • fix yaml to JSON parsing of CF templates
  • minor fixes for CF resource updates for IAM roles and SFN state machines
  • minor fix in date format parsing for S3 policy expiration dates
  • minor fix when cloning CF stack template metadata
  • minor CF fixes for use with CDK

LocalStack release 0.12.4

26 Dec 21:31
Compare
Choose a tag to compare

Change Log:

LocalStack release 0.12.4

1. New Features

  • add integration for StepFunctions state machine executions in API Gateway
  • add gzip encoding of response payloads to edge service
  • add backdoor API to restart all processes inside the main container
  • add SNS target type for EventBridge API
  • use locking to run Lambdas with docker-reuse executor in sequence
  • make TEST_*_URL endpoints configurable in the environment

2. Enhancements

  • use locking to fix concurrency during persistence restoration
  • hardcode local hostname instead of using $HOSTNAME from the environment
  • skip MD5 checks on S3 multipart uploads
  • log content of outgoing emails in SES
  • use .Config.Entrypoint for more robust Docker entrypoint lookup
  • refactor and enhance CF resolution of placeholders in Sub expressions
  • extract Ref attribute for CloudFormation Sub attributes with "${resource}" syntax
  • migrate Helm charts into separate repo
  • minor: add util function to run async coroutine in given event loop
  • minor: add util function to construct XML response messages
  • minor refactoring in edge routing and CF FN::ImportValue resolution

3. Bug Fixes

  • fix absolute path for DATA_DIR when starting up DynamoDB process
  • fix broken S3 test related to date format of Expires header
  • fix parsing of host name to determine path based addressing in S3 requests
  • fix processing of EventBridge events on multiple targets and inputPath
  • fix logic to update Lambda function version based on content hash
  • fix CF issue updating state machine with FN ref in definition string
  • fix resolving name refs when querying CF resource deployment state
  • remove encryptionType:NONE attribute in Kinesis records to avoid breaking .NET lambdas
  • fix stdin I/O issues when passing events to provided Lambda runtimes (e.g., for Rust)
  • fix CF export name uniqueness checks prior to stack deployment
  • fix issue when updating CF template with StateMachine
  • fix default account ID in SecretsManager ARN responses
  • minor fix in startup command for provided Lambda runtimes
  • minor fix in CloudFormation related to missing set_exports method in moto-ext

LocalStack release 0.12.3

11 Dec 21:24
de360b5
Compare
Choose a tag to compare

Change Log:

LocalStack release 0.12.3

1. New Features

  • release initial version of Helm chart
  • add support for API Gateway update-rest-api via JSON patch operations
  • add content based filtering in Events API
  • add support for Lambda code signing APIs
  • add support for Lambda concurrency API

2. Enhancements

  • add Vagrant configuration for reproducible CentOS dev environments
  • minor: reduce log verbosity for chunk-based file downloads
  • enhance CloudFormation logic to load state of existing resources
  • add required workdir to supervisord configuration
  • enhance SSM / SecretsManager integration to get secret parameters
  • disable moto instance tracking to avoid memory leak
  • add support for Route53 get-change
  • handle IAM::Policy resource in CloudFormation
  • add integration test to deploy CF template generated by CDK
  • refactor and stabilize CloudFormation dependency resolution mechanism
  • add edge forwarding rule for AWS AssumeRoleWithSAML action
  • ensure using correct test credentials for generating S3 presigned URLs
  • add missing Access-Control-Allow-Credentials CORS header to S3 responses
  • improve Terraform tests
  • add PackageType property for Lambda functions
  • add test cases for Lambda code signing config
  • minor refactoring in DynamoDB test utils
  • minor refactoring of AWS test credentials
  • enhance support for FN::ImportValue and FN::Sub in CloudFormation templates
  • support KCL 2.x timestamps and ARN replacements in Kinesis CBOR payloads
  • consider $REQUESTS_CA_BUNDLE for SSL verification in download utils
  • add missing CachingClusterStatus in API GW to fix Terraform crash issue
  • add Thai segmentation support to JRE as required by Elasticsearch 7+
  • create custom, compressed JRE via jlink in base image

3. Bug Fixes

  • fix /etc/hosts and Quart dependency for Centos 8
  • fix edge route mapping for EventBridge requests from Go SDK
  • fix response structure for API GW Integration/Response
  • fix passing of stack parameters/resources to CloudFormation changesets
  • fix default account ID in SecretsManager ARN responses
  • fix issue with resolving FN::Sub references in CF templates
  • fix recreation of SNS topic with same name and different tags
  • fix missing attributes in Lambda update-function-config
  • fix timeoutInMillis attribute missing from API Gateway integrations
  • fix edge route mapping for STS AssumeRoleWithWebIdentity
  • fix SSM & SecretsManager integration for secrets names with slashes
  • fix URL host name and credentials when generating presigned URL
  • fix non-zero content length for gzipped 204 status

LocalStack release 0.12.2

11 Nov 21:59
fbbea71
Compare
Choose a tag to compare

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

LocalStack release 0.12.1

11 Nov 21:52
Compare
Choose a tag to compare

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