# Changelog ## [0.3.0] - 2026-03-18 Added: - `dcr gen` command for IDE integration and build tool support - `dcr gen project-info`: Output project metadata as JSON - `dcr gen compile-commands`: Generate `compile_commands.json` for clangd and clang-tidy - `dcr gen vscode`: Generate VS Code `.vscode/` integration (launch.json, tasks.json, settings.json) - `dcr gen clion`: Generate JetBrains CLion `.idea/` integration (run configurations, build targets) - Full workspace support for all `gen` subcommands ## [0.2.10] - 2026-03-16 Added: - `build.steps` for pre-build generators (e.g., `moc`/`uic`/`rcc`) - `build.pkg_config` for `pkg-config`-driven cflags/ldflags resolution - `[toolchain]` support for `uic`, `moc`, `rcc` - Step command variables (`{uic}`, `{moc}`, `{rcc}`, `{cflags}`, `{stem}`, `{in}`, `{out}`) - `{profile}` placeholder support for dependency paths ## [0.2.9] - 2026-03-14 Added: - Header dependency tracking for fine-grained incremental builds (rebuilds when `#include` files change) - Complete internal rewrite of the builder module: merged duplicate compilation backends Changed: - `cflags` and `default_flags` no longer incorrectly leak to the linker stage in GCC/Clang - Reduced builder codebase size by over 20% while increasing reliability - Greatly expanded test suite with 34 new tests covering configuration, CLI errors, and path operations ## [0.2.8] - 2026-03-06 Added: - Workspace support (`[workspace]` with deps ordering) - `clean --all` for workspace members Changed: - Project root discovery for `build/run/clean` (searches parent dirs) - Workspace paths are excluded from root source scan - Build output now uses a Cargo-style `Compiling v` line - Build time now reports total time for the whole build stage (workspace included) - Cache hits are silent (no compile line when nothing is rebuilt) - Safer build cache: fingerprints include headers and resolved library files ## [0.2.7] - 2026-03-03 Added: - Toolchain overrides via `[toolchain]` and env (`DCR_*`) - ASM `.S` preprocessing via GCC/Clang (`-x assembler-with-cpp`) ## [0.2.6] - 2026-03-01 Added: - `sharedlib` build kind (shared library output) - ASM projects (`build.language = "asm"`) - NASM and GAS backends - `build.platform` architecture hint for `-march` / `/arch` - Basic CLI integration tests ## [0.2.5] - 2026-02-26 Added: - Incremental builds (object caching by mtime) - `build.kind` with `staticlib` support - Custom output directory via `build.target` ## [0.2.4] - 2026-02-22 Added: - Custom build flags: `build.cflags` and `build.ldflags` - Recursive source discovery inside `src/` - Path dependencies with auto include/lib resolution and `dcr.lock` generation (experimental) - Add docs/index.md and docs/dcr-toml.md ## [0.2.3] - 2026-02-21 Added: - Modular builders for `gcc`, `clang`, `msvc` - Platform-specific binary path generation (Linux/macOS/Windows) Changed: - Build configuration moved to `[build]` (`language`, `standard`, `compiler`) - `dcr.toml` formatting now includes the `[build]` section - Build uses built-in `debug/release` flags per compiler - Build compiles all `*.c/*.cpp` files in `src/` into a single binary (no incremental build) - Updated `dcr.toml` examples in documentation ## [0.2.2] - 2026-02-20 Changed: - Reworked `dcr.toml` handling: added read, validation, and edit through `core::config` - `new` and `init` use the new config creation logic - `build` and `run` now require `dcr.toml` and read `compiler` and `name` from it ## [0.2.1] - 2026-02-18 Changed: - Translated user-facing CLI messages to English - Unified error and warning output via `utils::log::{error, warn}` - Updated `--help` output: translated headers and examples to English, used `printc`, and applied `BOLD_*` styles - Translated installer script messages in `install.sh` and `install.ps1` to English ## [0.2.0] - 2026-02-17 Changed: - Project migrated from Python to Rust - CLI and commands (`new`, `init`, `build`, `run`, `clean`, `--help`, `--version`, `--update`) ported to Rust - Updated `--update` flag: added support for GNU/Linux, Windows, macOS - Updated `README.md`, `CONTRIBUTING.md`, and `install.sh` for the Rust implementation - Added `install.ps1` for Windows - Updated `install.sh` for GNU/Linux and macOS Added: - Added `install.ps1` for Windows - Support for GNU/Linux, Windows, macOS (x86_64/arm) Important: - Code was ported with neural networks; future versions will include bug fixes and logic changes ## [0.1.2] - 2026-02-12 Added: - Update command - `install.sh` install script and README instructions - `--version` flag Changed: - Improved CLI output, added colors, and updated `--help` - Updated project run/build handling in `run.py`/`build.py` ## [0.1.1] - 2026-02-11 Changed: - Updated `--help` - `main.py` now runs correctly when executed directly ## [0.1.0] - 2026-02-11 First public release. Added: - Base commands `new`, `init`, `build`, `run`, `clean` - Build profiles `debug` and `release` - `dcr.toml` and `src/main.c` templates