Files
ubiquiti-clients/CHANGELOG.md
Ryan McGuire 227656e28e
All checks were successful
Publish / release (push) Successful in 32s
update changelog and readme
2026-01-19 11:53:30 -05:00

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.