diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..3c142b5 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,61 @@ +# Changelog + +All notable changes to the DeployHQ CLI are documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +While the CLI is pre-1.0, minor versions may carry breaking changes to the public +`pkg/sdk` surface; these are always called out under **Breaking (SDK)**. + +## [0.20.0] - 2026-07-14 + +Broad expansion of API coverage (DHQ-639): account-level resources, template +sub-resources, managed hosting, and project/server actions. See #31, #32, #33. + +### Breaking (SDK) + +These affect external importers of `github.com/deployhq/deployhq-cli/pkg/sdk` and +scripts that parse the JSON output of existing commands. They correct types that +never matched the live API (the old fields were populated from a response shape +the backend does not return), so end-user behaviour of `dhq launch` is fixed +rather than regressed. + +- **`ManagedHostingSize`**: renamed `Description` → `Label` and + `PriceMonthly` → `MonthlyCost`; removed `PriceHourly`, `Memory`, `VCPUs`, + `Disk`; added `Currency`. Matches the `{ "sizes": [...] }` envelope from + `GET /managed_hosting/sizes`. +- **`ManagedHostingRegion`**: removed `Available`; added `Flag` and `Country`. + Regions are now served grouped (`{ "grouped_regions": {...} }`). +- **`Client.UpdateConfigFile`**: now takes `ConfigFileUpdateRequest` (all-pointer + fields for partial updates) instead of `ConfigFileCreateRequest`. +- **`dhq launch --dry-run --json`**: `monthly_cost` is now currency-aware + (e.g. `£12.00`, `12.00 SEK`) instead of always `$X.XX`. Update any parser that + assumes a leading `$`. + +### Added + +- **Account resources**: `dhq folders`, `dhq users`, `dhq account`, + `dhq profile`, `dhq api-keys`, `dhq teams` (account-level permission groups), + and `dhq ssh-keys download` (writes with secure `0600` permissions). +- **Project actions**: `dhq projects regenerate-key`, + `dhq projects undeployed-changes`, `dhq projects ai-overview`. +- **Server actions**: `dhq servers from-global`, `dhq servers metrics` (beta). +- **Global links**: `dhq config-files link-global|unlink-global` and + `dhq ssh-commands link-global|unlink-global`. +- **Managed hosting**: `dhq hosted-resources list|show|sync|retry-provision` and + `dhq managed-hosting regions|sizes`. +- **Template sub-resources**: `dhq templates {config-files, excluded-files, + integrations, commands, build-commands, build-cache-files, build-known-hosts, + build-languages, build-configuration, servers, server-groups}`. +- **Utilities**: `dhq ip-ranges`, `dhq plans`, `dhq invoices list|download`, + `dhq detect`, `dhq beta enroll`. +- **SDK**: `NewPublic(account, …)` client path for public, no-auth endpoints + (`ip-ranges`, `plans`). + +### Changed + +- `dhq config-files update` now performs partial updates — unset `--path`/`--body` + flags are no longer sent, so they are left untouched server-side instead of + being cleared. + +[0.20.0]: https://github.com/deployhq/deployhq-cli/releases/tag/v0.20.0