This project follows semantic versioning.
Possible header types:
Featuresfor any new features added, or for backwards-compatible changes to existing functionality.Bug Fixesfor any bug fixes.Breaking Changesfor any backwards-incompatible changes.
- Fix:
Settings.SKIP_BUILDshould not default totrue
RustFunctionshould not executecargo lambdawhen certaincdksub-commands are invoked, such as:destroylist- etc.
- Potential bug-fix (unconfirmed): The library should not execute
cargo lambdawhen a project has multiple stacks, and the stack being deployed doesn't include anyRustFunctionconstructs.
- Add parameters to
Settings:SKIP_BUILD
- Update docs to mention how to skip the build step by passing in the
buildcontext flag when invoking acdkcommand. For example:cdk synth -c build=0
- Update developer docs used for local testing, as I determined a newish approach with
npm linkcan be used, as outlined in this article. - Enable
swcin all sample CDK apps, in order to improve the overall performance ofts-nodewhencdkis 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-optionalflag 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-lambdapasses the-C stripargument assymbols. - Remove existing logic to copy over binaries to the build directory, as this should now be handled by
cargo-lambdainstead.
- Switch to use
cargo-zigbuild-- instead ofcross-- for building Rust code. - Switch the default build architecture from
x86_64toarm64; 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
Settingsparameterworkspace_dir->WORKSPACE_DIR. - Add support for Rust features and compile-time environment variables.
- Add parameters to
Settings:FEATURESBUILD_ENVIRONMENTEXTRA_BUILD_ARGS
- Add parameters to
RustFunctionProps:featuresbuildEnvironmentextraBuildArgs
- 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
targetto cross-compile to. - Do not pass
--targetwhen runningcargo check, as this can result in errors in some cases.
- Add support to run
cargo checkby 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_LOGenvironment variable whensetupLoggingis enabled.- The format is now
warn,module_name=debuginstead ofmodule_name=trace.
- The format is now
- Add below global Settings:
RUN_CARGO_CHECKDEFAULT_LOG_LEVELMODULE_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 🎉