|
1 | 1 | # Changelog |
2 | 2 |
|
3 | | -All notable changes to this project will be documented in this file. |
| 3 | +All notable changes to this project are documented in this file. |
4 | 4 |
|
5 | 5 | The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), |
6 | 6 | and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
7 | 7 |
|
8 | 8 | ## [Unreleased] |
9 | 9 |
|
10 | | -### Added |
11 | | -- Initial project structure and repository setup |
12 | | -- Basic GDB Remote Serial Protocol (RSP) packet parser |
13 | | -- Module structure for proxy, protocol, breakpoints, state, logger, backends, recorder, and UI |
14 | | -- CLI interface with clap |
15 | | -- Comprehensive documentation (README, CONTRIBUTING) |
16 | | -- CI/CD pipeline with GitHub Actions |
17 | | -- Dual MIT/Apache-2.0 licensing |
18 | | -- Unit tests for protocol parsing |
19 | | -- **Priority 1 Enhancements:** |
20 | | - - Complete GDB command parsing (query, set, memory, breakpoints, execution control) |
21 | | - - Tokio codec for packet streaming with ACK/NACK support |
22 | | - - Comprehensive configuration system with TOML support |
23 | | - - Enhanced error handling with specific error types |
24 | | - - Configuration validation and environment variable support |
25 | | - - Example configuration file (rsgdb.toml.example) |
26 | | - - 22 passing unit tests |
| 10 | +Nothing yet. |
27 | 11 |
|
28 | | -### Changed |
29 | | -- N/A |
| 12 | +## [0.2.0-dev.1] - 2026-03-27 |
30 | 13 |
|
31 | | -### Deprecated |
32 | | -- N/A |
| 14 | +First **development** release: the proxy is usable end-to-end for TCP, managed local stubs, and **remote Linux targets** over SSH. Pre-release semver (`-dev.N`) signals API and CLI may still evolve before **0.2.0**. |
33 | 15 |
|
34 | | -### Removed |
35 | | -- N/A |
| 16 | +### Added |
36 | 17 |
|
37 | | -### Fixed |
38 | | -- N/A |
| 18 | +- **`transport = remote_ssh`**: run `gdbserver` on a remote host via OpenSSH; optional **`upload_local` / `upload_remote`** to **`scp`** the ELF before connect; optional **`RSGDB_SSH_PASSWORD`** + **`sshpass`** for non-interactive password auth. |
| 19 | +- **Example** [`examples/board_test_app/`](examples/board_test_app/README.md): tiny aarch64 Linux smoke binary, [`rsgdb.remote.toml`](examples/board_test_app/rsgdb.remote.toml), [`install_ssh_key.sh`](examples/board_test_app/install_ssh_key.sh), [`debug_remote.sh`](examples/board_test_app/debug_remote.sh) (SSH key preflight + GDB batch smoke). |
| 20 | +- **Design principles** (README): ease, automation, reliability for embedded remote debugging. |
| 21 | +- **Documentation**: Linux target SSH setup, CONTRIBUTING cross-links, config examples for `remote_ssh`. |
39 | 22 |
|
40 | | -### Security |
41 | | -- N/A |
| 23 | +### Changed |
42 | 24 |
|
43 | | -## [0.1.0] - 2026-03-27 |
| 25 | +- **Configuration** (`[backend.remote_ssh]`, validation): user, optional host override, SSH port, identity, upload paths, gdbserver argv with `{port}` placeholder. |
| 26 | +- **Proxy**: backend connect path supports remote SSH session lifecycle alongside TCP and native spawn. |
44 | 27 |
|
45 | | -### Added |
46 | | -- Initial release |
47 | | -- Project foundation and structure |
| 28 | +### Notes |
| 29 | + |
| 30 | +- **Stability**: Suitable for daily development and field trials; treat semver pre-releases as **unstable** for automation that pins exact versions. |
| 31 | +- **Validation**: `./scripts/validate_local.sh` matches CI (fmt, `cargo test --all-features`, clippy `-D warnings`, `cargo doc`). |
| 32 | + |
| 33 | +[Unreleased]: https://github.com/DynamicDevices/rsgdb/compare/v0.2.0-dev.1...HEAD |
| 34 | +[0.2.0-dev.1]: https://github.com/DynamicDevices/rsgdb/releases/tag/v0.2.0-dev.1 |
0 commit comments