# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] ### Added - Comprehensive `LESSONS-LEARNED.md` documenting best practices and insights - Complete `CHANGELOG.md` tracking all project changes - Enhanced documentation with production-ready examples ## [0.3.0] - 2025-01-09 ### Added - **Testing Infrastructure Enhancements** - `pytest-xdist[psutil]` for parallel test execution with auto-detected workers - `bandit[toml]` for security vulnerability scanning - New hatch scripts for enhanced development workflow: - `test-parallel`: Run tests with auto-detected worker count - `test-parallel-cov`: Parallel tests with coverage reporting - `security`: Bandit security audit - `ci`: Complete CI pipeline (format → lint → type-check → security → tests) - **Pre-commit Enhancements** - Parallel pytest execution on push stage (`-n auto` with 80% coverage requirement) - Quick pytest check on commit stage (`-x` fast-fail for rapid feedback) - Bandit security scanning with pyproject.toml configuration - CI skip configuration for pytest hook (SKIP=1 for local development) ### Changed - Enhanced `.pre-commit-config.yaml` with two-stage validation strategy - Optimized `pyproject.toml` with additional development dependencies ### Security - **Zero vulnerabilities** detected by Bandit across 546 lines of code - Automated security scanning in pre-commit hooks and CI pipeline ### Performance - Parallel test execution: 16 workers on modern CPUs - Sequential: 62 tests in 0.50s - Parallel: 62 tests in 5.30s (overhead for small suite, benefits at scale) ### Validation - 62/62 tests passing (100%) - Code coverage: 81.76% (exceeds 80% threshold) - Zero linting errors (50+ Ruff rules) - Zero type errors (Mypy strict mode) ## [0.2.0] - 2025-01-08 ### Added - **Complete Development Infrastructure** - `DEVELOPMENT.md` with comprehensive development guidelines - Example GitHub Actions CI workflow (`.github/workflows/ci.yml.example`) - Complete pre-commit hook configuration with 15+ hooks - Hatch build system with development scripts - **Modern Python Project Setup** - `pyproject.toml` as single source of truth for all configurations - Hatch build system replacing traditional setuptools - Source layout (`src/ai_edge_tinyml/`) for proper package structure - PEP 561 compliance with `py.typed` marker - **Quality Assurance Tools** - Ruff for ultra-fast linting (replaces flake8, isort, pyupgrade) - Black for code formatting (line-length=100) - Mypy for strict type checking - Pytest with comprehensive test suite (62 tests) - Coverage reporting (HTML, XML, terminal) with 80% threshold - **Complete Source Code** - `src/ai_edge_tinyml/quantization.py`: Quantization with 6 modes (INT8, INT4, FP16, etc.) - `src/ai_edge_tinyml/model_optimizer.py`: Model optimization pipeline - `src/ai_edge_tinyml/utils.py`: Utility functions for model analysis - Full type annotations with `numpy.typing` support - Google-style docstrings throughout - **Comprehensive Test Suite** - `tests/test_quantization.py`: 21 tests covering all quantization modes - `tests/test_model_optimizer.py`: 19 tests for optimization pipeline - `tests/test_utils.py`: 22 tests for utility functions - Parametrized tests for comprehensive coverage - Fixtures for reusable test data ### Changed - Migrated from setup.py to pyproject.toml - Adopted src/ layout for better import hygiene - Enabled mypy strict mode for maximum type safety ### Fixed - **34 Ruff linting errors:** - F401: Removed unused imports (`Any`, `Literal`) - I001: Fixed import organization (auto-sorted) - RUF022: Sorted `__all__` exports alphabetically - RUF059: Fixed unused variables (replaced with `_`) - E501: Fixed line-too-long by splitting function signatures - TC003: Moved `Path` imports to TYPE_CHECKING blocks - **Mypy type errors:** - Fixed type narrowing in quantization modes with explicit casts - Added `py.typed` marker for PEP 561 compliance - Resolved numpy dtype compatibility issues - **Black formatting:** - Reformatted 1 file (`utils.py`) to comply with Black style ### Security - Configured Bandit for security vulnerability scanning - Zero security issues detected in codebase ### Performance - Ruff: 0.05s (100x faster than flake8+isort+pyupgrade) - Black: 0.08s for all files - Mypy: 2.31s with incremental caching - Pytest: 0.50s for 62 tests ## [0.1.0] - 2025-01-07 ### Added - **Ultra-Modern README.md** - Animated typing SVG header with project tagline - 100+ shields.io badges for visual appeal - Mermaid diagrams for architecture visualization - Collapsible sections for better organization - Rich emoji usage throughout - Modern gradient styling with HTML/CSS - Comprehensive feature documentation - Installation and quick start guides - Performance benchmarks table - Supported hardware platforms section - License and contribution guidelines - **Visual Enhancements** - Custom animated header using readme-typing-svg - Color-coded badges (blue, green, orange, red schemes) - Mermaid flowchart showing AI pipeline - Structured sections with emoji headers - Code examples with syntax highlighting ### Changed - Completely overhauled README.md from basic to ultra-modern format - Improved project presentation and documentation structure ## [0.0.1] - 2025-01-06 ### Added - Initial project structure - Basic TinyML and edge computing concepts - Placeholder for quantization implementation - MIT License - Initial README.md with project overview --- ## Version History Summary - **v0.3.0** (2025-01-09): Enhanced testing with parallel execution and security audits - **v0.2.0** (2025-01-08): Complete production-ready Python project setup - **v0.1.0** (2025-01-07): Ultra-modern README with animations and rich visuals - **v0.0.1** (2025-01-06): Initial project creation --- ## Categories This changelog tracks changes in the following categories: - **Added**: New features or capabilities - **Changed**: Changes to existing functionality - **Deprecated**: Soon-to-be removed features - **Removed**: Removed features - **Fixed**: Bug fixes - **Security**: Security improvements or vulnerability fixes - **Performance**: Performance improvements --- ## Links - [Repository](https://github.com/umitkacar/ai-edge-computing-tiny-embedded) - [Issues](https://github.com/umitkacar/ai-edge-computing-tiny-embedded/issues) - [Releases](https://github.com/umitkacar/ai-edge-computing-tiny-embedded/releases) --- **Note:** This changelog is automatically maintained and follows [Keep a Changelog](https://keepachangelog.com/) conventions. Each release is tagged in git for easy reference.