This project follows semantic versioning.
Possible header types:
Features
for any new features added, or for backwards-compatible changes to existing functionality.Bug Fixes
for any bug fixes.Breaking Changes
for any backwards-incompatible changes.
- Fix:
Settings.SKIP_BUILD
should not default totrue
RustFunction
should not executecargo lambda
when certaincdk
sub-commands are invoked, such as:destroy
list
- etc.
- Potential bug-fix (unconfirmed): The library should not execute
cargo lambda
when a project has multiple stacks, and the stack being deployed doesn't include anyRustFunction
constructs.
- Add parameters to
Settings
:SKIP_BUILD
- Update docs to mention how to skip the build step by passing in the
build
context flag when invoking acdk
command. For example:cdk synth -c build=0
- Update developer docs used for local testing, as I determined a newish approach with
npm link
can be used, as outlined in this article. - Enable
swc
in all sample CDK apps, in order to improve the overall performance ofts-node
whencdk
is run.
- Switch to use
cargo-lambda
-- which abstracts awaycargo-zigbuild
-- for building Rust code; technically this is not a breaking change, but it will require the package to be installed withcargo
.
- zig can now be installed via the
--save-optional
flag when installing this package:npm i rust.aws-cdk-lambda --save-optional
- The size of the release binaries deployed to AWS Lambda should now be smaller, since
cargo-lambda
passes the-C strip
argument assymbols
. - Remove existing logic to copy over binaries to the build directory, as this should now be handled by
cargo-lambda
instead.
- Switch to use
cargo-zigbuild
-- instead ofcross
-- for building Rust code. - Switch the default build architecture from
x86_64
toarm64
; this package now uses aarch64-unknown-linux-gnu as the default build target for AWS Lambda functions, mainly as I've found this architecture to be slightly more performant in general use cases. - Do not run
cargo check
, as it appears cargo-zigbuild automatically runs this check. - Update
cdk-examples/
with an example of how to conditionally run a code block (more than one statement) when a feature is enabled.
- Rename
Settings
parameterworkspace_dir
->WORKSPACE_DIR
. - Add support for Rust features and compile-time environment variables.
- Add parameters to
Settings
:FEATURES
BUILD_ENVIRONMENT
EXTRA_BUILD_ARGS
- Add parameters to
RustFunctionProps
:features
buildEnvironment
extraBuildArgs
- Updated default target from
x86_64-unknown-linux-musl
->x86_64-unknown-linux-gnu
; technically this is not a breaking change, but it will require the target to be added viarustup
.
- Ensure that the Lambda architecture is correctly set based on the
target
to cross-compile to. - Do not pass
--target
when runningcargo check
, as this can result in errors in some cases.
- Add support to run
cargo check
by default before building Rust code. - Clean up console log messages that get printed out so they are a bit nicer.
- Change the value that is set for the
RUST_LOG
environment variable whensetupLogging
is enabled.- The format is now
warn,module_name=debug
instead ofmodule_name=trace
.
- The format is now
- Add below global Settings:
RUN_CARGO_CHECK
DEFAULT_LOG_LEVEL
MODULE_LOG_LEVEL
- Add docs on Rust Function Properties and Settings.
- Add new Rust Function Properties such as
setupLogging
. - Update Readme docs.
- Add
cdk-examples/
. - Reduce overall package size when publishing to
npm
. - Some other stuff that I don't remember.
- Initial Release on npmjs.com 🎉