# Changelog
## [0.14.0] - 2026-03-04
### Changed
- **Complete rewrite from Rust to Elixir** - The entire codebase has been rewritten in Elixir/OTP for better reliability, easier deployment, and more maintainable code.
- Single binary distribution using Burrito
- SQLite database via Ecto
- All 24 CLI commands reimplemented
### Added
- `mix precommit` for running format, credo, dialyzer, and tests
- Credo strict mode for code quality
- Dialyzer for static type checking
- Improved test coverage (293 tests)
### Removed
- Rust codebase
- Diesel ORM (replaced with Ecto)
## [0.3.5] - 2025-12-10
### Fixed
- **Critical: Database path resolution now walks up directory tree** - Previously, `deciduous` used relative paths based on current working directory. Running commands from subdirectories or different directories would use/create a different database, making it appear like data was lost. Now `deciduous` walks up the directory tree to find `.deciduous/` folder, similar to how `git` finds `.git/`. This means:
- Running `deciduous nodes` from `project/src/` correctly uses `project/.deciduous/deciduous.db`
- Running commands from any subdirectory of an initialized project works correctly
- No more "phantom" databases created in wrong directories
### Technical Details
- Modified `get_db_path()` in `src/db.rs` to traverse parent directories
- `DECIDUOUS_DB_PATH` env var still takes priority if set
- If no `.deciduous/` found anywhere up the tree, defaults to current directory (for `deciduous init`)
## [0.3.4] - 2025-12-10
### Added
- `deciduous sync` exports to `docs/graph-data.json` for GitHub Pages integration
## [0.3.3] - 2025-12-09
### Added
- `deciduous dot` command for DOT/PNG graph export
- `deciduous writeup` command for PR writeup generation
- `--auto` flag for branch-specific filenames
## [0.3.2] - 2025-12-09
### Added
- Initial public release
- Core decision graph functionality
- Web viewer with multiple visualization modes
- GitHub Pages deployment support