# 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]
## [0.7.1](https://gitlab.com/phpboyscout/rust/cli/compare/rtb-cli-v0.7.0...rtb-cli-v0.7.1) - 2026-07-23
### Added
- extract the rtb-cli runtime family from the rust-tool-base monorepo
## [0.7.0](https://gitlab.com/phpboyscout/rust-tool-base/compare/rtb-cli-v0.6.0...rtb-cli-v0.7.0) - 2026-07-23
### Added
- *(app)* [**breaking**] extend CommandSpec with short/long_about + DEFAULT
- *(cli)* deliver trailing args at dispatch + add parse_passthrough
- *(app)* add BUILTIN_PRERUN_HOOKS pre-run hook extension point
- *(error)* add process exit-code attachment, honoured at the run edge
- *(cli)* add browser::open_url with scheme allowlist + hygiene
### Fixed
- *(workspace)* require rtb-tui 0.6.1
- *(deps)* update cargo-weekly
### Other
- *(workspace)* consume the five Wave-2 leaf crates from crates.io
- *(deps)* update cargo-weekly (safe bumps; reqwest + genai held)
## [0.5.1](https://gitlab.com/phpboyscout/rust-tool-base/releases/tag/v0.5.1) - 2026-05-27
### Added
- *(minimal)* wire .config(...) demo + typed-config smoke cases
- *(cli)* Application::builder().config<C> + typed-aware config_cmd
- *(app)* App::typed_config / config_as + ErasedConfig storage
- *(cli)* rtb-cli ops subtree v0.1 — credentials / telemetry / config / --output (slice 2 of v0.4)
- *(mcp)* rtb-mcp v0.1 — register Commands as MCP tools
- *(docs)* real CLI dispatch — list / show / browse / serve / ask ([#17](https://gitlab.com/phpboyscout/rust-tool-base/pulls/17))
- *(docs)* ship rtb-docs v0.1 — browser, server, search, AI seam ([#11](https://gitlab.com/phpboyscout/rust-tool-base/pulls/11))
- *(update)* ship rtb-update v0.1 ([#10](https://gitlab.com/phpboyscout/rust-tool-base/pulls/10))
- *(cli)* implement v0.1 — Application scaffolding, built-ins, closes 0.1 milestone
### Fixed
- *(ci)* second-round fixes — rustfmt, nextest for coverage, advisory waivers
- *(ci)* unblock GitHub CI — dbus headers, cucumber CLI, deny waivers
- *(cli)* dedup BUILTIN_COMMANDS, return Ok for --help/--version, rewrite example
### Other
- rename umbrella to rust-tool-base, reconcile versions, add release-plz
- 0.3.0 — operator surface (rtb-ai / rtb-mcp / rtb-tui / rtb-cli ops)
- 0.2.0 — v0.2 mandatory crates + post-v0.2 follow-ups ([#27](https://gitlab.com/phpboyscout/rust-tool-base/pulls/27))
- [**breaking**] 0.1.1 — rename rtb-core → rtb-app + SecretString clone fix ([#3](https://gitlab.com/phpboyscout/rust-tool-base/pulls/3))
- *(credentials)* default Linux backend to pure-Rust keyutils
- *(workspace)* inherit common metadata and stabilise rustfmt config
- *(workspace)* bootstrap rust-tool-base framework