Release and Version History¶
x.y.z (Backlog)¶
Features and Improvements
Minor Improvements
Bugfixes
Miscellaneous
0.1.4 (2027-04-27)¶
Features and Improvements
Added
LayerDeploymentWorkflow— a single class that orchestrates the complete Build → Package → Upload → Publish pipeline. Accepts a duck-typed builder via theT_BUILDERprotocol (any object with.run()and.path_layout), so sub-packages no longer need to wire the 4 steps together manually.
0.1.3 (2027-04-27)¶
Breaking Changes
Removed
BaseLambdaLayerLocalBuilder— downstream packages should define their own local build workflow instead of inheriting a rigid 4-step orchestration.Removed the fixed 4-step orchestration (
run(),step_1…step_4) fromBaseLambdaLayerContainerBuilder; the class now only provides computed Docker properties (image_uri,platform,container_name,docker_run_args).Removed
path_scriptandcredentialsfields fromBaseLambdaLayerContainerBuilder— sub-packages manage these themselves.Docker mount source changed from
dir_project_roottodir_build_lambda_layer(build/lambda/layer), so all build artifacts live under the layer workspace directory.path_build_lambda_layer_in_container_script_in_localandpath_private_repository_credentials_in_localnow resolve insidedir_build_lambda_layerinstead of the project root ordir_build_lambda.get_path_in_container()computes paths relative todir_build_lambda_layerinstead ofdir_project_root.
Features and Improvements
Added
log_header(),log_sub_header(), andlog_detail()methods toBaseLoggerfor structured, human-readable build output.
Minor Improvements
Added
Example:annotations to allLayerPathLayoutproperty docstrings for easier discovery.
0.1.2 (2026-04-26)¶
Breaking Changes
Removed
LambdaLayerZipperclass — replaced by direct functionscreate_layer_zip_file()andmove_to_dir_python(). Sub-packages now call these functions directly instead of dispatching through an enum-based class.Renamed
BasedLambdaLayerLocalBuilder→BaseLambdaLayerLocalBuilderandBasedLambdaLayerContainerBuilder→BaseLambdaLayerContainerBuilder(fixed spelling).Removed
layer_build_tool: LayerBuildToolEnumparameter fromupload_layer_zip_to_s3()andLambdaLayerVersionPublisher— replaced by genericpath_manifest: Pathso core never needs to know which tool built the layer.Removed tool-specific properties and methods from
LayerPathLayout(path_requirements_txt,path_poetry_toml,path_poetry_lock,path_uv_lock,copy_poetry_toml,copy_poetry_lock,copy_uv_lock,get_path_manifest). Sub-packages should manage their own tool-specific file paths.Restructured
api.py— source and layer sub-module APIs are now exposed assource_apiandlayer_apinamespace objects instead of flat re-exports.Drop Python3.10 support.
Features and Improvements
Refactored
sourcemodule from a single file into a proper package (source/foundation.py,source/builder.py,source/upload.py,source/api.py).Added
BaseMockAwsTesttest base class using moto for mock S3/Lambda services, enabling unit-level testing of AWS-calling code.Added
source/upload.pywithbuild_and_upload_source_using_pip()andbuild_and_upload_source_using_uv()convenience functions.Added
layer/api.pyas centralized public API module for the layer sub-package.Added Sub-Package Extension Guide (
docs/source/99-Maintainer-Guide/03-Sub-Package-Extension-Guide/) documenting how tool-specific packages should extend core.
Minor Improvements
Made
LayerManifestManageraccept genericpath_manifest: Pathinstead ofLayerBuildToolEnum, making manifest handling fully tool-agnostic.Added
LayerPathLayout.copy_file()andLayerPathLayout.copy_build_script()utility methods for sub-package use.Updated Code Architecture Design doc to reflect all refactored class names, removed classes, and new test file structure.
Comprehensive test suite for all layer sub-modules (foundation, builder, package, upload, publish) achieving 99% coverage.
0.1.1 (2026-04-25) (YANKED)¶
Features and Improvements
Initial release of
aws_lbd_art_builder_core, the shared base in the 1+N Lambda artifact builder package family.Implemented the 4-step Lambda layer workflow: package (Step 2), upload (Step 3), publish (Step 4). Step 1 (dependency installation) is delegated to tool-specific sub-packages (
uv,pip,poetry).Implemented Lambda source artifact deployment workflow: copy/filter source,
pip install --no-deps, zip, upload to S3 with SHA256 in the path for CDK/CloudFormation change detection.Added
LayerPathLayoutandLayerS3Layoutfor deterministic local and S3 path management.Added
Credentialsfrozen dataclass supporting private PyPI index authentication for pip, poetry, and uv.Added
LambdaLayerVersionPublisherwith three-stage preflight: zip existence check, manifest MD5 consistency check, and dependency change detection to skip unnecessary layer publishes.Added
BasedLambdaLayerLocalBuilderandBasedLambdaLayerContainerBuilderabstract base classes for sub-package authors.Added
LambdaLayerZipper(Step 2) with configurable ignore list (excludes boto3, botocore, setuptools, pytest, etc.).