===============================================================================
Changelog
===============================================================================
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 `_.
Version 2.0.0 (2025-10-18)
===============================================================================
Added
---------------------------------------
* **Comprehensive Documentation**: Complete rewrite of README in reStructuredText format for Sphinx.
* **Lambda Packaging Testing**: Added documentation and examples for testing Lambda ZIP packages locally.
* **Functional Tests**: Real AWS integration tests that deploy and verify infrastructure:
* ``test_lambda_creation.py``: Tests Lambda function deployment with inline code and ZIP assets.
* ``test_sns_sqs_lambda_s3_integration.py``: Complete SNS → SQS → Lambda → S3 pipeline integration test.
* ``test_zip_asset_code.py``: Comprehensive tests for Lambda packaging with dependencies.
* **Parallel Test Execution**: Added pytest-xdist support for faster test runs.
* **Type Annotations**: Added proper type hints for ``package_path`` attribute.
* **Module Documentation**: Added docstrings to all modules for better code documentation.
* **py.typed**: Added PEP 561 marker for type checking support.
Changed
---------------------------------------
* **Breaking**: Restructured Lambda stack to modular design:
* Moved Lambda functionality to ``core_aws_cdk.stacks.lambdas`` package.
* Split ``lambdas.py`` into ``lambdas/base.py`` and ``lambdas/assets.py``.
* **Security**: Fixed 4 HIGH severity shell injection vulnerabilities in ``assets.py``:
* Replaced ``os.system()`` calls with safe ``subprocess.run()`` and ``shutil`` operations.
* Eliminated shell command injection risks (Bandit B605, B607).
* **Code Quality**: Improved pylint score from 7.18/10 to 10/10:
* Fixed all linting issues across the codebase.
* Improved code structure and readability.
* Added proper docstrings and type annotations.
* **Testing Infrastructure**: Enhanced test configuration:
* Added test markers (unit, functional, integration, slow).
* Configured logging for better test debugging.
* Added CI/CD examples (GitHub Actions, GitLab CI).
* **Documentation Structure**: Reorganized and expanded documentation:
* Installation and setup instructions.
* Quick start guide with examples.
* Comprehensive testing guide.
* Architecture examples and best practices.
* Troubleshooting section.
* Performance optimization tips.
* Updated all stack classes with improved docstrings and type hints:
* ``base.py``: Enhanced base stack functionality.
* ``network.py``: Improved VPC stack documentation.
* ``s3.py``: Enhanced S3 bucket stack.
* ``sns.py``: Improved SNS topic stack.
* ``sqs.py``: Enhanced SQS queue stack with better error handling.
Removed
---------------------------------------
* **Breaking**: Removed old ``core_aws_cdk/stacks/assets.py`` (replaced by ``lambdas/assets.py``).
* **Breaking**: Removed ``README.md`` (replaced by ``README.rst``).
Security
---------------------------------------
* Eliminated all shell injection vulnerabilities (4 HIGH severity issues).
* Implemented secure subprocess execution without shell=True.
* Added safe file operations using shutil instead of shell commands.
Testing
---------------------------------------
* Added 20+ comprehensive test files with 2,607+ lines of test code.
* Functional tests deploy real AWS resources for verification.
* Tests include automatic cleanup and proper error handling.
* Added support for parallel test execution with ``-n auto``.
* All tests include DEBUG level logging for troubleshooting.
Developer Experience
---------------------------------------
* Complete Sphinx-compatible documentation in reStructuredText.
* Lambda packaging testing guide with examples.
* Troubleshooting section for common issues.
* CI/CD integration examples.
* Performance optimization tips.
Version 1.1.2 (2025-05-10)
===============================================================================
Added
---------------------------------------
* Added Sphinx documentation.
Version 1.1.1 (2024-12-29)
===============================================================================
Added
---------------------------------------
* Added network stack to contain VPC creation.
* Added changelog.md.
Changed
---------------------------------------
* Updated structure.
* Improved Lambda package generation.
* Updated dependencies.
Version 1.1.0 (2024-04-26)
===============================================================================
Added
---------------------------------------
* Migrated mechanism to create the Lambda Function.
* Improved structure.
Changed
---------------------------------------
* Updated dependencies.
Removed
---------------------------------------
* Removed useless files.
Version 1.0.0 (2023-12-25)
===============================================================================
First release - Repository was migrated from GitHub.