69 lines
2.7 KiB
Markdown
69 lines
2.7 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to this project will be documented in this file.
|
|
|
|
## v0.5.0 - 2026-01-19
|
|
### Added
|
|
- `ToughSwitch` consolidated type combining Device, System, Interfaces, VLANs, Services, Statistics, and Neighbors
|
|
- `GetToughSwitch(ctx, host)` method to fetch all data for a single ToughSwitch device in parallel
|
|
- `GetAllToughSwitches(ctx)` method to fetch consolidated data for all ToughSwitch devices
|
|
- `EdgeOS` consolidated type combining AuthInfo and Config
|
|
- `GetEdgeOS(ctx, host)` method to fetch all data for a single EdgeOS device in parallel
|
|
- `GetAllEdgeOS(ctx)` method to fetch consolidated data for all EdgeOS devices
|
|
|
|
### Changed
|
|
- CLI `get device` and `get devices` commands now return full consolidated data for both device types
|
|
- EdgeOS CLI output now includes device model, ports, PoE capability, and features from AuthInfo
|
|
|
|
### Fixed
|
|
- Typo in ToughSwitch struct field name (`Statistucs` → `Statistics`)
|
|
|
|
## v0.4.0 - 2026-01-18
|
|
### Added
|
|
- CLI tool (`cmd/`) for quick device queries using cobra
|
|
- `get device <name>` - fetch info from a single device
|
|
- `get devices` - fetch info from all configured devices in parallel
|
|
- YAML/JSON config file support with environment variable overlay
|
|
- Pretty print and colorized YAML output options
|
|
- `Login(ctx, host)` method to both toughswitch and edgeos clients for explicit pre-authentication
|
|
- Context helpers for storing/retrieving clients (`ToughSwitchClientFromContext`, `EdgeOSClientFromContext`)
|
|
|
|
### Changed
|
|
- CLI uses zerolog's built-in context methods for logger storage
|
|
- CLI prerun creates shared clients from config and stores in context
|
|
- Updated documentation (README.md, CLAUDE.md) with CLI usage and new Login method
|
|
|
|
### Fixed
|
|
- Config default flag handling in CLI
|
|
|
|
## v0.3.0 - 2026-01-14
|
|
### Changed
|
|
- Renamed project from toughswitch to ubiquiti-clients
|
|
- Added EdgeOS support
|
|
|
|
## v0.2.1 - 2026-01-05
|
|
### Changed
|
|
- Minor LSP improvements to tests
|
|
- Refactor entire project edgeos -> toughswitch
|
|
|
|
## [v0.2.0] - 2026-01-04
|
|
### Added
|
|
- Thread-safe `Add` and `Del` methods to `Client` for dynamic host management.
|
|
- `RWMutex` to `Client` struct to protect `devices` map.
|
|
- `Transport` field to `Config` to allow mocking HTTP transport in tests.
|
|
- `getDeviceByHost` helper to centralize device lookup locking.
|
|
- Tests for thread safety and Add/Del functionality.
|
|
|
|
### Changed
|
|
- Refactored `GetAll*` methods to snapshot host keys before iteration to avoid concurrent map read/write panic.
|
|
- Improved concurrent `GetAll` operations.
|
|
|
|
## [v0.1.1] - 2026-01-04
|
|
### Fixed
|
|
- CI pipeline configuration.
|
|
|
|
## [v0.1.0] - 2026-01-04
|
|
### Added
|
|
- Initial CI pipeline setup.
|
|
- Initial release of Ubiquiti toughswitch Go Client.
|