8000 Release v4.5.0 Β· localstack/localstack Β· GitHub
[go: up one dir, main page]

Skip to content

v4.5.0

Latest
Compare
Choose a tag to compare
@localstack-bot localstack-bot released this 05 Jun 08:27
· 26 commits to master since this release

Summary

LocalStack 4.5 introduces support for the AWS Developer Tools suite (CodePipeline, CodeBuild, and CodeDeploy), enhanced AppSync WebSocket behavior, and advanced features for API Gateway REST APIs, including Canary Deployments and VTL improvements. This release also brings deeper parity in core services like RDS, EC2, EKS, EventBridge, CloudFormation, and more, continuing our mission to enable high-fidelity local development with production-like AWS behavior.

AWS Features

  • LocalStack now supports AWS CodeBuild, enabling you to build and test applications locally with a build process that mirrors real AWS environments. Refer to our documentation to learn more. (🌟 pro)
  • LocalStack now supports AWS CodePipeline, enabling you to emulate end-to-end CI/CD workflows locally using real AWS-style declarations and resources. Refer to our documentation to learn more. (🌟 pro)
  • LocalStack now supports AWS CodeDeploy, allowing you to mock deployment flows to targets like EC2, Lambda, and ECS locally. Refer to our documentation to learn more. (🌟 pro)
  • PostgreSQL 17 is now supported in LocalStack's RDS provider, with the default engine version updated to 17.5. (🌟 pro)
  • LocalStack's RDS provider now supports DB Proxy Endpoints, allowing you to create, describe, and delete DB proxy endpoints with our mock operations. (🌟 pro)

Enhancements

  • AppSync’s WebSocket behavior has been enhanced to better align with AWS. This includes: (🌟 pro)
    • Full support for AWS-style payload shapes
    • Improved lifecycle handling of GraphQL subscriptions
  • LocalStack’s API Gateway provider now includes the following enhancements for REST APIs:
    • Emulation of Canary Deployments, allowing staged traffic shifting strategies for safer releases and A/B testing.
    • Support for Response Overrides from Request Templates, enabling more flexible response handling.
    • Improved VTL (Velocity Template Language) support, including bracketed expressions and variable assignments in #set operations, increasing compatibility with complex mapping templates.
  • LocalStack’s RDS provider now includes the following enhancements: (🌟 pro)
    • Support for the ManageMasterPassword API, enabling automated credential management and secure DB credential flows.
    • Engine Parameter Introspection using DescribeEngineDefaultParameters and DescribeEngineDefaultClusterParameters, allowing you to examine default settings for supported RDS engines.
    • Introduction of RDS_PG_MAX_CONNECTIONS environment variable to control the maximum number of connections for PostgreSQL instances.
  • LocalStack’s EC2 provider now includes the following enhancements:
    • Support for the GetSecurityGroupsForVpc API, allowing you to retrieve security groups associated with a specific VPC.
    • Improved filtering behavior in EC2's DescribeAvailabilityZones, aligning more closely with AWS behavior.
  • Partial support for the UpdatePipe API is now available in EventBridge Pipes. Currently, only source parameters of an existing pipe can be updated. (🌟 pro)
  • DynamoDB Streams now properly redirects requests for global table replicas to the original region, ensuring consistent stream behavior across all replicas.
  • EKS provider now integrates with autoscaling and security groups, allowing you to emulate Kubernetes clusters with more realistic networking and scaling behavior. (🌟 pro)
  • CloudFormation resource AWS::Lambda::Version now supports the ProvisionedConcurrencyConfig property to enable emulation of cold start mitigation strategies.
  • Enhanced Lambda GetFunction API parity by returning the reserved_concurrent_executions parameter in responses, allowing you to inspect and manage reserved concurrency settings for Lambda functions.
  • Support for the ListRuleNamesByTarget API in EventBridge, allowing you to inspect which rules are targeting a given resource.
  • Support for pagination and filtering parameters when listing S3 buckets, improving performance and aligning with AWS behavior in larger S3 environments.
  • Support for DeleteDistribution API in CloudFront Lambda@Edge to achieve better parity with AWS. (🌟 pro)
  • Support for DescribeCapacityReservation API in Elastic Load Balancing, allowing you to inspect capacity reservations for load balancers. (🌟 pro)
  • Support for selecting the Scala-based Kinesis mock engine via the KINESIS_MOCK_PROVIDER_ENGINE environment variable (node or scala) for improved performance with large or high-throughput requests.

LocalStack Features

  • LocalStack Replicator now supports cross-account VPC replication scenarios using AWS Resource Access Manager (RAM), enabling more realistic testing of multi-account network setups. (🌟 Ultimate)

What's Changed

Exciting New Features πŸŽ‰

Other Changes

  • Add CloudFormation Lambda Version Provisioned Concurrency by @joe4dev in #12594
  • CFn v2: Skip media type assertion by @simonrw in #12597
  • Update README.md with 4.4 release by @tiurin in #12596
  • ASF: Ignore optional-ness when comparing argument types by @bblommers in #12605
  • CFn v2: better handle deploy errors by @simonrw in #12601
  • Improve security group fixture for EC2 by @giograno in #12607
  • fix put-metric-alarm test failure rate by @pinzon in #12598
  • ASF: Mark optional params as such (X | None) by @bblommers in #12614
  • Added pagination and filtering for s3 list buckets operation by @bryansan-local in #12609
  • Add Github Action job to publish test results to coveralls and uploading test results to artifacts by @k-a-il in #12608
  • DDB Global Tables: add failing test to expose the missing stream on replicas by @giograno in #12622
  • S3: fix IfMatch/IfNoneMatch in pre-signed URLs by @bentsku in #12624
  • Add reporting to Tinybird for new GitHub Actions pipelines by @silv-io in #12610
  • Restrict tinybird reporting to master branch only by @silv-io in #12627
  • Disable/fix docker tests failing after migration to GH Actions by @k-a-il in #12625
  • GithubActions: skip tinybird, docker push and docker login in forks by @k-a-il in #12639
  • Core: Add type hints to aws/core.py by @bblommers in #12617
  • Add Workflow Summaries by @silv-io in #12619
  • Fix names of steps for workflow summary publishing by @silv-io in #12646
  • Fix acceptance test workflow name for Tinybird workflow push by @silv-io in #12647
  • Added retries to the container state check in TestDocker by @k-a-il in #12640
  • Activate new GHA pipeline on PRs by @silv-io in #12648
  • Include reserved_concurrent_executions in get_function response by @k-a-il in #12654
  • APIGW: add SQS X-Amz-JSON test by @bentsku in #12649
  • DDB Global table: add logic for streams by @giograno in #12641
  • EC2: fix describe-availability-zones filtering by @anisaoshafi in #12661
  • Fix MA/MR pipeline for EC2 tests by @anisaoshafi in #12672
  • fix CloudFormation SNS Subscribe with Region parameter by @bentsku in #12676
  • test(esm/sqs): Skip resource intensive flaky SQS message override test by @gregfurman in #12681
  • GH Actions: fix order of path filters for push and pull-request events by @k-a-il in #12686
  • GithubActions: update CFn v2 test name by @simonrw in #12683
  • GitHub Actions: correct test durations handling for integration tests & update test durations file by @k-a-il in #12682
  • Stop handling help parsing with argparse by @silv-io in #12691
  • SNS: validate cross-region behavior by @bentsku in #12673
  • APIGW: implement Canary Deployments CRUD logic by @bentsku in #12694
  • Resolve non-subdomain host prefixes to LocalStack by @joe4dev in #12653
  • Change cleanup job condition in main pipeline in Github Actions by @k-a-il in #12693
  • refactor: reduce max number of allowed labels in counters from 8 to 6 [DAT-146] by @vittoriopolverino in #12704
  • Add missing switch for forcing ARM tests on workflow dispatch by @silv-io in #12709
  • re-introduce eager service loading by @bentsku in #12657
  • test(esm/sqs): Skip flaky test_report_batch_item_failures test by @gregfurman in #12713

New Contributors

Full Changelog: v4.4.0...v4.5.0

0