- Fixed issue when evaluating MSBuild properties like 'PublishAot' to include settings made in the aws-lambda-tools-defaults.json
- Include user specified MSBuild parameters when evaluating MSBuild properties
- Updated message related to self-contained runtimes with lambda functions
- Update logic for finding project properties to use MSBuild instead of parsing the project file directly. See https://learn.microsoft.com/en-us/visualstudio/msbuild/customize-your-build?view=vs-2022 for more details.
- Fix 'SelfContained' property reading logic to actually read the value from the properties. Previously we were only checking that the value could be parsed and not reading the actual value.
- Added
--snap-start-apply-on
switch to enable Lambda SnapStart
- Fixed an issue causing 'lambda package' to hang when ran in CI/CD.
- Fixed an issue where primitive values in payload for InvokeFunctionCommand were not working.
- Fixed issue detecting if log parameters have changed since previous deployment.
- Add the
--log-format
,--log-application-level
,--log-system-level
and--log-group
switches to the deploy-function command for configuring logging for the Lambda function.
- Fixed an issue where
CodeUri
set inGlobals
section is ignored forAWS::Serverless::Function
resource.
- Added support for new command line parameter
--disable-imds-v1
to disable IMDSv1 for Elastic BeanStalk environments.
- Update the dependencies for the embedded zipping utility used to set file permissions correctly when creating deployment bundles on Windows
- Update User-Agent string
- Update User-Agent string
- Update User-Agent string
- Fixed an issue where deploying .NET 8 Native AOT Web Apps fails because of a check that looks for the OutputType property explicitly in the .csproj.
- Fixed issue not correctly identifying running on Amazon Linux 2023 forcing a container build for Native AOT.
- Fixed incorrectly using "JSON Data" as the architecture value from CloudFormation template
- Fixed issue with the configured architecture of the Lambda function not being used when building the container image. This caused images to be built for X64 when the function was configured for ARM64.
- Added the default .NET 8 build image when using container builds. Container builds are most often used when building for Native AOT.
- For Amazon Linux 2023 when building for Native AOT container build defaults to false. This is the same behavior as Amazon Linux 2.
- Update AWSSDK dependencies. This is primarily to pull in a fix to support sso_session in the config file when using SSO credentials.
- Update AWSSDK dependencies. This is primarily to pull in a fix to support sso_session in the config file when using SSO credentials.
- Update AWSSDK dependencies. This is primarily to pull in a fix to support sso_session in the config file when using SSO credentials.
- Pull Request #224 Fix task-definition-volumes and container-mount-points not work issue. Thanks Gary zhurongbo111
- Pull Request #286 to improve error reporting with ECS workflows. Thanks Shruti Sinha
- Pull Request #287 adding a new
--stack-polling-delay
switch to control polling interval to CloudFormation. This is useful for environments that are seeing CloudFormation throttling issues. Thanks Alex Gausman.
- fix: ensure net6.0 runtimes are copied with the publish artifacts
- Improve error reporting back for AWS Toolkit for Visual Studio integration.
- Enabled support for using container builds for .NET 7 ARM. This includes support for producing .NET 7 ARM AOT Lambda functions.
- Fixed issue reading self contained property from project file.
- Allow self contained in csproj.
- Fixed an issue where lambda deploy-serverless command tries to build image when ImageUri is set in template without any Metadata.
- Fixed an issue which caused upgrading from an End-of-Life .NET version to a supported version to fail.
- Pull Request #257 supporting non-root users when doing container based builds. Thanks Jason T
- Pull Request #260 fixed typo in Security Groups option name. Thanks Mohammad Sadegh Shad
- Fixed regression in 5.6.0 that prevented the package command for non managed .NET runtime like .NET 5 and 7. This feature is required for SAM container image builds.
- Fixed regression in 5.6.0 that excluded pdb files from being packaged in deployment bundle breaking SAM debugger experience.
- Added support for deploying Native AOT .NET 7 Lambda functions. To enable Native AOT set the PublishAot property in project file to true.
- Added support for container builds when creating deployment bundle.
- Add new --resolve-s3 switch that can replace the --s3-bucket switch. When --resolve-s3 is set true the tool will ensure a default bucket exists and use that bucket for storing deployment bundles.
- Fixes an issue where exception could occur while expanding null policy name and attaching it to a role.
- Fixes an issue where Lambda deploy-function fails when choosing option to add permissions later.
- Updated to reference the latest version of Amazon.Common.DotNetCli.Tools.
- Updated to reference the latest version of Amazon.Common.DotNetCli.Tools.
- Bump Newtonsoft.Json to 13.0.1
- Added ability to use DockerBuildArgs in Amazon.Lambda.Tools serverless template.
- Only modify Function Url if
--function-url-enable
flag is set. - Fixed an issue where lambda push-image command was ignoring Docker options.
- Fixed issue when
--function-url-enable
is absent the function url config was unintendedly removed.
- Added
--function-url-enable
and--function-url-auth
switches to configure Lambda Function Url. - Added
--ephemerals-storage-size
switch to configure the size of writable the/tmp
folder. - Fixed issue with removing all values from the following collection properties: Environment Variables, Layers and VPC subnets and security groups.
- Package the tool targeting .NET 6 as well as the previous .NET Core 3.1 to support Mac M1 developers.
- Add .NET 6 target framework moniker to .NET 6 Lambda runtime enum mapping.
- Package the tool targeting .NET 6 as well as the previous .NET Core 3.1 to support Mac M1 developers.
- Package the tool targeting .NET 6 as well as the previous .NET Core 3.1 to support Mac M1 developers.
- Added support for deploying ARM based Lambda functions with the new
--function-architecture
switch.
- Fixed an issue where ECS log configuration argument is overwritten with awslogs defaults.
- Added reference to AWSSDK.SSO and AWSSDK.SSOOIDC for SSO flow.
- Added reference to AWSSDK.SSO and AWSSDK.SSOOIDC for SSO flow.
- Added reference to AWSSDK.SSO and AWSSDK.SSOOIDC for SSO flow.
- Updated to version 3.7.0.27 of AWSSDK.Core
- Updated to version 3.7.1.15 of AWSSDK.SecurityToken
- Updated to version 3.7.0.27 of AWSSDK.Core
- Updated to version 3.7.1.15 of AWSSDK.SecurityToken
- Updated to version 3.7.0.27 of AWSSDK.Core
- Updated to version 3.7.1.15 of AWSSDK.SecurityToken
- Pull request #170 Fixed issue with unnecessary function config update when using VPC settings. Thanks Abubaker Bashir
- Pull request #169 Fixed issue with runtime and handler fields not being updated. Thanks Abubaker Bashir
- Fixed an issue where relative paths in package-ci command were not working.
- Update to latest version of the AWS SDK for .NET.
- Update to latest version of the AWS SDK for .NET.
- Update to latest version of the AWS SDK for .NET.
- Updated to version 3.7 of the AWS SDK for .NET
- Updated to version 3.7 of the AWS SDK for .NET
- Updated to version 3.7 of the AWS SDK for .NET
- Updated version of the AWS SDK for .NET used to include support for SSO.
- Pull request #163 Fixed random manifest names causing zip package hash refresh on every build. Thanks aohotnik
- Pull request #152 Pass OriginalCommandLineArguments to Command constructor. Thanks Vickram Ravichandran
- Updated version of the AWS SDK for .NET used to include support for SSO.
- Updated version of the AWS SDK for .NET used to include support for SSO.
- Fixed issue with handling Lambda projects that were multi targeting .NET versions
- Added support for deploying scheduled tasks using AWS Fargate.
- The docker image tag will be used from either the newer
--image-tag
switch or the deprecated--tag
switch.
- Updated deploy-function to have the following switches to support Lambda functions packaged as container images.
--package-type
: Determines the format for packaging Lambda function. Valid values arezip
andimage
. Default iszip
.--image-entrypoint
: Overrides the image's ENTRYPOINT when package type is setimage
--image-command
: Overrides the image's CMD when package type is setimage
--image-working-directory
: Overrides the image's working directory when package type is setimage
--image-tag
: Name and optionally a tag in the 'name:tag' format--local-docker-image
: If set the docker build command is skipped and the indicated local image is pushed to ECR--dockerfile
: The docker file used build image. Default value is "Dockerfile"--docker-build-options
: Additional options passed to the "docker build" command--docker-build-working-dir
: The directory to execute the "docker build" command from--docker-host-build-output-dir
: If set a "dotnet publish" command is executed on the host machine before executing "docker build". The output can be copied into image being built.
- Updated
deploy-serverless
command to build and push Lambda functions as container images if CloudFormation resource hasPackageType
set toimage
- Updated
package
command to build container image if--package-type
is set toimage
. The image can later be used withdeploy-function
using the--local-docker-image
- Added push-image command to build .NET Lambda project and push to ECR
- Update to latest version of the AWS SDK for .NET.
- Update to latest version of the AWS SDK for .NET.
- Update to latest version of the AWS SDK for .NET.
- Add support for creating .NET Lambda layers for .NET Core 3.1.
- Pull Request $120: Echo the full
dotnet publish
command using during lambda deployment. Thanks Tom Makin - Fixed issue when publish PowerShell Lambda functions with PowerShell unable to find system modules folder when deployed to Lambda.
- Added support to to deploy to the new Beanstalk ".NET Core for Linux" platform.
- Added ability to enable sticky sessions.
- Added switch to do a self contained publish
- Added support to deploy to .NET Core 3.1 Lambda runtime
- Switch RID to linux-x64 when packaging runtimes on Amazon Linux 2. Currently that is only .NET Core 3.1.
- If
--runtime
is set by the user via--msbuild-parameters
switch then Amazon.Lambda.Tools will not set the--runtime
switch itself when callingdotnet package
. - Disable creating of Lambda layers for .NET Core 3.1 due to an issue in
dotnet store
command. Read here on the issue. dotnet/sdk#10973
- Fixed issue #90: Error parsing layer description while listing layers
- Fixed issue #30: Parsed yaml CloudFormaion template failure if there was no Properties node.
- Pull request #89 Fixed typo warning how to set the DOTNET_SHARED_STORE environment varaible. Thanks Oleg Kosmakov
- Added MFA support
- Add runtime config setting to roll forward to major versions of .NET Core if 2.X is not installed.
- Added MFA support
- Add runtime config setting to roll forward to major versions of .NET Core if 2.X is not installed.
- Added MFA support
- Add runtime config setting to roll forward to major versions of .NET Core if 2.X is not installed.
- Fixed issue filename or extension is too long when passing a large number of file arguments to the zip utility.
- Fixed issue with package not being able to installed on non-windows platforms.
- Removed ASP.NET Core version check. This is no longer needed now that the .NET Core SDK no longer sets the runtime version to the latest patched version that is installed on the machine that is creating the deployment package.
- Fixed issue of not handling embedded node.js or python code in CloudFormation template.
- Added support for using .NET Core runtime package stores as Lambda layers. For a full description checkout the .NET Lambda Layer docs.
- Fixed issue with Windows line ending when deploy a Custom Runtime Lambda function.
- Make
--framework
switch optional. If it is not set then the project file will be inspected to determine framework. - Add deprecation warning message when using .NET Core 2.0 Lambda runtime.
- Pull request #55 add package command to package an application as a zip file to later be deployed to Beanstalk. Thanks Anthony Abate
- Pull Request #57 allows string parameters to point to environment variables. Thanks Anthony Abate
- For example the in the following aws-beanstalk-tools-defaults.json file the Beanstalk application name will come from the EB_APP environment variable and the environment name will come from EB_ENV.
{
"application" : "$(EN_APP)",
"environment" : "$(EB_ENV)"
}
- Changes to get this tool ready for the upcoming ability to use a custom .NET Core runtimes.
Follow #405 GitHub issue for the upcoming Amazon.Lambda.RuntimeSupport library.
- Zipping the deployment bundle on Windows was switch to use a new Go executable to allow setting linux file permisisons. The Go executable is distributed with this tool so this change should be transparent to users.
- Fixed issue with config files specified with the
--config-file
not being found when the--project-location
switch was used.
- Fixed issue with failed deployments when CloudFormation template was greater then 50,000 .
- Added support for CAPABILITY_AUTO_EXPAND for deploy-serverless command.
- Fix issue looking for Lambda runtime from CloudFormation template when runtime specified in the Globals section.
- Pull request #43, fixing issue with wrong directory separater when creating zip file. Thanks bartoszsiekanski
- Updated the
deploy-serverless
andpackage-ci
command to support deploying multiple projects. EachAWS::Lambda::Function
orAWS::Serverless::Function
can now point to different .NET projects locally using the CloudFormation resource's code properties. If the code property is not set then the current directory assumed. - Pull request #39, fixing issue related to yaml templates containing intrinsic functions in the short form. Thanks to Albert Szilvasy
- Added
--tags
property todeploy-serverless
command to apply AWS Tags to the CloudFormation stack and the resources the stack creates.
- Fixed issue incorrectly checking if deployment command was being executed in a project directory when using a precompiled package zip file.
- Switch to Global Tool.
- Made the --apply-defaults switch obsolete. Defaults from config file are now always applied.
- Added new --append-environment-variables switch to add new environment variables without overwriting existing environment variables.
- Added validation that if a config file is explicitly set and the file can not be found then throw an exception
- Improve error reporting when failed to parse command line arguments.
- Pull request #29 changing publishing RID to rhel.7.2-x64 the closest match to Amazon Linux.
- PreserveCompilationContext in the --msbuild-parameters switch overrides this tool's default behavior of setting /p:PreserveCompilationContext=false.
- Fixed bug incorrectly executing chmod on a file with spaces in the name.
- Add ability to pass AWS credentials using the switches --aws-access-key-id, --aws-secret-key and --aws-session-token
- Switch to Global Tool.
- Switch to Global Tool.
- Added support for the .NET Core 2.1 AWS Lambda runtime.
- Fixed issue with not correct determining CloudFormation parameters when using YAML.
- Fixed issue handling CloudFormation parameter renames.
- Improve detection for when the
docker build
command should run from the solution folder. - Added new switch
--docker-build-working-dir
to set the directory wheredocker build
should run. This is useful when this tool can't detect whether the build should run from the project or the solution. - Added new switch
--docker-build-options
to pass additional options to thedocker build
command.
- Change AWS credential lookup logic to continue searching if the profile specified cannot be found. This allows easier switching between development environment and CI/CD environments.
- Pull request #11. Fixed issue with
deploy-serverless
breaking Swagger definitions in yaml. - Fixed issue when validating version of Microsoft.AspNetCore.All for F# project files.
- Switch to warning when validating S3 bucket in same region as target deployment region if the region can not be determined. This is commonly due to lack of S3 permission to get the region for a bucket.
- Change AWS credential lookup logic to continue searching if the profile specified cannot be found. This allows easier switching between development environment and CI/CD environments.
- Add
--publish-options
switch to allow passing additional parameters to thedotnet publish
command.
- Change AWS credential lookup logic to continue searching if the profile specified cannot be found. This allows easier switching between development environment and CI/CD environments.
- Add
--publish-options
switch to allow passing additional parameters to thedotnet publish
command. - Fixed issue with instance profile not being persisted when the flat to save configuration is set.
- If a CloudFormation parameter's NoEcho property is to true then output **** when displaying the template parameters set for the deployment.
- Stop persisting --stack-wait switch when saving config file because it will always be set to false when called from Visual Studio.
- Moved here from the AWS Lambda for .NET Core repository
- Fixed issue with setting the IAM service role for new Beanstalk environments
- Fixed issue with Beanstalk Solution Stack not being persisted in defaults file.
- All commands can now persist the settings used with the -pcfg true flag.
- All commands can now persist the settings used with the -pcfg true flag.
- Fixed issue detecting docker build working directory for latest VS 2017 created Dockerfile.
- Fixed issue not detected when a cluster should be created because of inactive cluster with the same name.
- Pull request #8. Add --version-label switch to set a version label when deploying. Thanks to kalexii.
- Fixed issue with docker tag incorrectly being written out to the aws-beanstalk-tools-defaults.json.
- Fixed error handling when searching for the solution file for the project being deployed.
- Added dependency to AWSSDK.SecurityToken to support profiles that use assume role features of Security Token Service.
- Allow task defintion cpu and memory to be read from aws-ecs-tools-defaults.json either as a string or number. Previously only string was supported.
- Fixed issue with reading desired count from aws-ecs-tools-defaults.json.
- Fixed issue persisting last settings for scheduled task to aws-ecs-tools-defaults.json.
- Added dependency to AWSSDK.SecurityToken to support profiles that use assume role features of Security Token Service.
- Add --enable-xray switch to enable the AWS X-Ray daemon in the environment
- Use default subnets if no subnets provided for Fargate deployments
- Inspect Docker file to see if dotnet publish needs to run before docker build
- If redeploying to an existing Fargate service reuse network configuration if one is not provided
- Fix issue with docker image name being asked for multiple times
- Set description for NuGet package
- Added command deploy-service
- Added command deploy-task
- Added command deploy-task
- Added command deploy-scheduled-task
- Added command push-image
- Added command deploy-environment
- Added command delete-environment
- Added command list-environments