# Changelog
All notable changes to caxe will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased] - v0.3.8
### Added
- **Dual licensing**: MIT OR Apache-2.0 (Rust ecosystem standard)
- **License files**: LICENSE-MIT and LICENSE-APACHE
- **Funding infrastructure**: GitHub Sponsors, Ko-fi, Open Collective, crypto wallets
- **CONTRIBUTING.md**: Development workflow and guidelines
- **SECURITY.md**: Security vulnerability reporting policy
- **CODE_OF_CONDUCT.md**: Contributor Covenant
- **GitHub templates**: Issue and PR templates
- **.editorconfig**: Consistent code style
- **SHA256 hash verification** for prebuilt binary downloads
- **47 unit tests** (from 6): templates, config, registry, stats, lock
- **4 integration tests** for build commands
- **100% module documentation** (39/39 modules)
- **README badges**: License, Docs, Sponsor
### Changed
- **Extracted CLI handlers** to `src/commands/` module (main.rs reduced 40%)
- **Enhanced progress bars** with unique styles per operation
### Fixed
- Removed unsafe `unwrap()` call in `commands/target.rs`
- All `ProgressStyle::template().unwrap()` calls now have fallbacks
---
## [0.3.7] - Faster Builds with Prebuilt Cache ⚡
- Prebuilt binary cache for faster dependency builds
- SDL3 project template
- Fix: Script mode binary path handling
## [0.3.6] - Cross-Compilation Profiles & Enhanced Formatting 🎯
- Cross-compilation profile support with `--profile` flag
- Enhanced code formatting options
## [0.3.5] - Arduino & Cross-Platform Support 🤖
- Arduino CLI integration (`cx build --arduino`, `cx upload`)
- Cross-platform target management (`cx target`)
- Toolchain enhancements
## [0.3.4] - Toolchain Management 🔋
- Interactive toolchain installer (`cx toolchain install`)
- Renamed `cx build --profile` to `cx build --trace`
## [0.3.3] - Script Mode & Polish 📜
- Script mode for running single C/C++ files directly
## [0.3.2] - Polish & Registry Expansion ✨
- Expanded library registry
## [0.3.1] - Speed, Safety, and Polish 🚀
- Advanced optimizations (LTO, sanitizers)
## [0.3.0] - Parallel Builds & TDD 🚀
- Lock-free parallel compilation with rayon
- Test-driven development support
- Modern CLI with colors and Unicode
## [0.2.10] - Symmetric Box Styling 🎨
- Fix: Box styling symmetry issues
## [0.2.9] - Dry-Run Mode & Modern Styling 🔍
- Dry-run mode (`cx build --dry-run`)
- Modern CLI styling
## [0.2.8] - Verbose Mode & Philosophy 🔍
- Verbose mode (`-v`, `--verbose`)
- PHILOSOPHY.md
## [0.2.7] - Doctor Command & Toolchain Improvements 🩺
- `cx doctor` command
- Toolchain improvements
## [0.2.6] - Toolchain Discovery System 🔧
- Automatic toolchain discovery
- Interactive toolchain selection
- Enhanced `cx info`
## [0.2.5] - Graphics Ready (SDL2 & OpenGL) 🎨
- SDL2 and OpenGL support
## [0.2.4] - Documentation Made Easy 📚
- `cx doc` command (Doxygen)
## [0.2.3] - Scriptable Builds with Rhai 📜
- Rhai scripting support
## [0.2.2] - Windows Native Support 🖥️
- Native Windows/MSVC support
## [0.2.1] - Smart Header Tracking 🧠
- Header dependency tracking
## [0.2.0] - Parallel Builds, Rich Progress Bars & Linting 🚀
- Parallel build engine
- Rich progress interface
- Static analysis (`cx check`)
## [0.1.9] - Init & Cache Management 📦
- Project initialization (`cx init`)
- Cache management
## [0.1.8] - Search & Lockfiles 🔐
- Registry search
- Lockfile support (`cx.lock`)
## [0.1.7] - Remote Registry & Self-Upgrades 📡
- Remote registry
- Self-update (`cx upgrade`)
## [0.1.6] - Registry Aliases & Easy Installers 📦
- Registry aliases
- Automatic installers
## [0.1.5] - Stability & Smart Linking 🚀
- Smart linking
## [0.1.4] - Distribution, Formatting & System Packages 🚀
- `cx package` command
- `cx fmt` command
- System package support
## [0.1.3] - Scripts & C Support 📜
- Pre/post build scripts
- C language support
## [0.1.2] - Better Build Artifacts 🏗️
- Improved build artifacts
## [0.1.1] - Compiler Selection & System Info
- Compiler selection
- System info display
## [0.1.0] - Initial Release 🚀
- Zero-config C/C++ project creation
- Automatic toolchain detection
- Basic build and run commands
---
[Unreleased]: https://github.com/dhimasardinata/caxe/compare/v0.3.7...HEAD
[0.3.7]: https://github.com/dhimasardinata/caxe/compare/v0.3.6...v0.3.7
[0.3.6]: https://github.com/dhimasardinata/caxe/compare/v0.3.5...v0.3.6
[0.3.5]: https://github.com/dhimasardinata/caxe/compare/v0.3.4...v0.3.5
[0.3.4]: https://github.com/dhimasardinata/caxe/compare/v0.3.3...v0.3.4
[0.3.3]: https://github.com/dhimasardinata/caxe/compare/v0.3.2...v0.3.3
[0.3.2]: https://github.com/dhimasardinata/caxe/compare/v0.3.1...v0.3.2
[0.3.1]: https://github.com/dhimasardinata/caxe/compare/v0.3.0...v0.3.1
[0.3.0]: https://github.com/dhimasardinata/caxe/compare/v0.2.10...v0.3.0
[0.2.10]: https://github.com/dhimasardinata/caxe/compare/v0.2.9...v0.2.10
[0.2.9]: https://github.com/dhimasardinata/caxe/compare/v0.2.8...v0.2.9
[0.2.8]: https://github.com/dhimasardinata/caxe/compare/v0.2.7...v0.2.8
[0.2.7]: https://github.com/dhimasardinata/caxe/compare/v0.2.6...v0.2.7
[0.2.6]: https://github.com/dhimasardinata/caxe/compare/v0.2.5...v0.2.6
[0.2.5]: https://github.com/dhimasardinata/caxe/compare/v0.2.4...v0.2.5
[0.2.4]: https://github.com/dhimasardinata/caxe/compare/v0.2.3...v0.2.4
[0.2.3]: https://github.com/dhimasardinata/caxe/compare/v0.2.2...v0.2.3
[0.2.2]: https://github.com/dhimasardinata/caxe/compare/v0.2.1...v0.2.2
[0.2.1]: https://github.com/dhimasardinata/caxe/compare/v0.2.0...v0.2.1
[0.2.0]: https://github.com/dhimasardinata/caxe/compare/v0.1.9...v0.2.0
[0.1.9]: https://github.com/dhimasardinata/caxe/compare/v0.1.8...v0.1.9
[0.1.8]: https://github.com/dhimasardinata/caxe/compare/v0.1.7...v0.1.8
[0.1.7]: https://github.com/dhimasardinata/caxe/compare/v0.1.6...v0.1.7
[0.1.6]: https://github.com/dhimasardinata/caxe/compare/v0.1.5...v0.1.6
[0.1.5]: https://github.com/dhimasardinata/caxe/compare/v0.1.4...v0.1.5
[0.1.4]: https://github.com/dhimasardinata/caxe/compare/v0.1.3...v0.1.4
[0.1.3]: https://github.com/dhimasardinata/caxe/compare/v0.1.2...v0.1.3
[0.1.2]: https://github.com/dhimasardinata/caxe/compare/v0.1.1...v0.1.2
[0.1.1]: https://github.com/dhimasardinata/caxe/compare/v0.1.0...v0.1.1
[0.1.0]: https://github.com/dhimasardinata/caxe/releases/tag/v0.1.0