All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Updated Cloudformation find API id error message
- Added filtering by stage for removing API mappings. That filter is skipped in case
allowPathMatching
is enabled. - Added throwing an error for a non-existing custom domain during base path mappings setup.
- Updated ACM get certificate error message for the endpoint type
EDGE
. More info https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-edge-optimized-custom-domain-name.html
- Hardcoded
$default
stage for the HTTP API and default base path. More info here
- Fixed bathPathMapping filtering with the
allowPathMatching
enabled.
- Switched from
tslint
toeslint
- Code refactoring and reformat
- Fixed hosted zone filtering, when the domain
api.mydomain.com
equals the host nameapi.mydomain.com
.
- Fixed hosted zone filtering, when the domain
serverlessdevapi.mydomain.com
contains the host nameapi.mydomain.com
.
- Fixed deprecated packages warnings
- Fixed log is undefined when plugin is added programatically
- Updated packages
- Fixed support for proxy. Thank you @ertanden (597)
- Updated packages
- Fixed not getting all paginated results from AWS clients calls. Thank you @sromic (592)
- Fixed compiledCloudFormationTemplate export names for the custom stages.
- Support for the custom stages.
- Support for the AWS V2 getCredentials function.
- Managing of the Serverless options
aws-profile
parameter andprovider.profile
parameter from the serverless.yml.
- Managing of the Serverless
provider.region
parameter from the serverless.yml.
- Managing of the Serverless options
region
parameter.
- Switched to the AWS SDK V3. Small improvements related to it.
- Test refactoring.
- Fixed multi-level base path validation. Thank you @scrampin (561)
- Used
ApiGatewayV2
for the multi-level base path mapping.
- Changed the logic to use
APIGateway
for therest
API type andApiGatewayV2
for thehttp
andwebsocket
.
- Disable custom stage for the base path mappings.
- Added support for the CloudFormation
Ref
intrinsic function.
- Fixed stage for the cloudFormation getId method.
- Fixed stackName for the cloudFormation getId method.
- Used
provider.stage
for the websocket API with the EDGE endpoint and tls_1_2.
- Divided a mixed SDK API Gateway versions usage. Now for the EDGE endpoint type or TLS 1.0 will be used only APIGateway V1 and APIGateway V2 for other cases.
- Disabled support for the custom stage for HTTP API as it's not working properly.
- Added support for the custom stage for HTTP API.
- Improved certificate searching. Thank you @tomsaleeba (529)
- Updated the README.md and cloudformation config example with the proper permissions. Thank you @delenamalan (541)
- Fixed getCustomDomainInfo function to different APIGateway versions. Thank you @aalongkott (537)
- Fixed hostedZonePrivate parameter is not honoured.
- Added node 18.x check
- Added support for split horizon dns support. Thank you @overbit (518)
- Added support for mutual TLS authentication for regional APIs. Thank you @cjuega (505)
- Dropped Node v12 support
- Fixed get paged result for listHostedZones
- Refactoring
- Enabled
declaration
option in tsconfig.json. Thank you @estahn (506) - Use uppercase consistently for endpoint type. Thank you @dnicolson (511)
- ACM permission. Thank you @kevinle-1 (508)
- Removed
peerDependencies
- Replaced
-
with\n
for the printing summary
- Added AWS certificate check for expiry date before trying to use it. Thank you @tomsaleeba (493)
- Fixed compiledCloudFormationTemplate output creation.
- Fixed issue with printing a summary with empty summary list.
- Updated dependency to work with Serverless V3. Releasing a new major version in case there are any issues that weren't caught in our testing.
- Logging improvements
- Added an option to disable IPv6. Thank you @davehensley (365)
- Added tagging of apiGateway custom domain. Thank you @fdobrovolny (328)
- Refactoring of the code
- Added config option to avoid automatically deleting an APIGW domain when other base path mappings exist. Thank you @straticJeff (389)
- Added proxy support. Thank you @mscharp (405)
- Enabled dependabot
- Fixed issue with disabling createRoute53Record. Thank you @albinlundmark (476)
- Cleaned up getRoute53HostedZoneId. Thatnk you @codyseibert (261)
- Fixed route53 resource creation.
- Added custom route53 profile options. Thank you @CodeVision (393)
- Added logs for Serverless Framework v3. Thank you @medikoo (448)
- Updated output for
compiledCloudFormationTemplate
. Thank you @nalbion (442)
- Fixed Route53 creation for
create_domain
action.
- Added support of Serverless version 3. Thank you @medikoo (449)
- Integration test refactoring
- Added support latency and weighted routing. Thank you @clintadams-sg (#439)
- Updated CHANGELOG.md and README files
- Added error logging for getDomainName API fail. Thank you @adamrhunter (#434)
- Fixed filtering of stacks by the given stackName and check by the nested stack RootId. Thank you @matteobattista (#427)
- Refactoring. Packages updating
- Fixed package publishing
- Registered serverless as peer dependency. Thank you @medikoo (#424)
- Replaced Travis with Github Actions
- Disabled insensitive error logging for SLS_DEBUG off
- Fixed getting an api id for different types of the API gateway (#366)
- Added support for Multiple domains. Thank you @ConradKurth (#327). Support for multiple domains led to lots of refactoring. Releasing a new major version in case there are any issues that weren't caught in our testing.
- Added support for using CloudFormation nested stacks. Thank you @Katafalkas (#235)
- Fix for package build. Thank you @michaelgmcd (#382)
- Added support for using CloudFormation Fn::ImportValue. Thank you @sampsasaarela (#220)
- Added support for automatically creating/destroying custom domains on deploy/remove via the autoDomain option. Thank you @bryan-hunter (#356)
- Fix support for TLS 1.0 regional domains which were broken in the 4.0.0 release. Discovered by @jufemaiz (#348)
- Fixed issue when there are multiple pages of base path mappings. Also refactored how paging is handled throughout the code. Thanks @kzhou57 for discovering this (#345)
- Fix issue updating domains that use a blank base path. Thanks @fabiancook (#337)
- Regional domains with TLS 1.0 no longer work. Fixed in 4.1.1
- Add support for WebSocket and HTTP APIs. A domain name can be created for each API type (Rest, WebSocket, HTTP) for up to 3 domain names in a single Serverless config. Thanks @TehNrd (#319)
- Fix CloudFormation stack's Outputs. Thanks @davidrosson (#320)
- Use pagination when there are too many certificates. Thanks @cbm-gplassard (#315)
- Fix AWS SDK initialization after internal change in serverless. Thanks @medikoo (#307)
- Add ability to choose TLS version. Thanks @drexler (#240)
- Add our own configuration for AWS SDK's built in retry mechanism, increasing it from per service default retries to 20 so that this plugin is more easily used in an automated environment.
- Add hosted zone to domain summary
- Add
iam:CreateServiceLinkedRole
to CloudFormation template
- Update the minimum required permissions to run the serverless domain manager plugin to include `apigateway:PATCH
- Fixed npm package security vulnerabilities
- Move chai-spies and node types to dev dependencies
- Display error messages from AWS if SLS_DEBUG is set
- Updated README with behavior change and required permissions
- Create AAAA Alias for IPv6 Support
- Add Issue Templates
- Add PR Templates
- Fixed issue where creating a domain was no longer idempotent in 3.0.4
- Fixed issue where deploying was no longer idempotent in 3.0.4 due to basepath mapping creation
- Fixed issue where deploying would break on occasion if more than 100 CloudFormation resources existed
- Fix Travis configuration
- Version bump to fix NPM versioning issue that occured while testing.
- Refactored from Javascript into Typescript
- Created BasePathMapping through API rather than through CloudFormation
- Support for migrating CNAMEs to A Alias Records
- In 1.0, we only created CNAME records. In 2.0 we deprecated CNAME creation and started creating A Alias records and migrated CNAME records to A Alias records. Now in 3.0, we only create A Alias records.
- Created integration test for custom API field being set.
- Implemented a better hosted zone matching algorithm to break domain into parts.
- Fixes bug where having any custom data defined in provider data will trigger a ValidationError because the existing API id is null or undefined.
- Integration test to replicate issue where basepath mapping is not set when recreating a domain.
- Separated out
sls
commands in utility functions for integration tests.
- Check to ensure plugin configuration exists and throw an error if it does not.
- Updated unit tests.
- Added integration tests.
- Updated certificate selection to only use unexpired certificates.
- Fixed security vulnerability by updated [email protected].
- Allowed
enabled
option to accept strings as well as booleans. - Updated unit tests.
- Updated README to reflect changes made to the
enabled
option.
- Updated README to reflect the current behavior of creating A Alias records instead of CNAMEs.
- This CHANGELOG file to make it easier for future updates to be documented. Sadly, will not be going back to document changes made for previous versions.
- Added single quotes to
certificateName
in README