# Changelog

All notable changes to the `dsh` tool project will be documented in this file.

## [Unreleased]

## [0.10.0] - 2026-05-29

### Added

* Proxy capabilities
    * Capability to create proxy certificate bundle.
    * Delete resource when undeploying proxy.
    * Proxy example code generation.
    * Kafka proxy ACL groups.
    * Include certificate and secrets with proxy details.
* Robot capabilities
    * Capability to store robot secrets in keyring.
    * Capability to copy robot secret from secret store to keyring
    * Capability to renew the robot secret.
* Descriptions for publish and release steps.
* Task capabilities.
* Open monitoring for specific task.
* Dependency check when deleting or updating buckets, secrets, topics and volumes.
* Capability to list `GitHub` releases.
* Option to set number of days for upcoming expiration check.
* Warning that volume content will not be preserved when restarting a service that uses volumes.
* Output directory can be specified.
* License check.
* Alias `d` for `delete` capability.
* `README.md` file to `tests` directory.

### Changed

* Empty fields are hidden.
* Show allocation status for secrets.
* Updated `dsh-api` dependency to version `0.10.0`.
* Removed the `target` capabilities.
* Improved `GitHub` documentation
* Directory structure for docs.
* Changed configuration for robot authentication.
* Resolved some technical debt.
* Moved task capabilities to separate subject.
* Restricted permissions on local files.
* Default verbosity level set to `medium`.
* Default warning color to `Magenta`.
* Login still possible when dry-run is enabled.
* Platform list shows public and private domains.
* Some columns are right aligned.
* Removed `examples` directory.

## [0.9.0] - 2026-03-05

### Added

* Node pool capabilities.
* Capability to copy secret to clipboard.
* Added `debug` and `trace` logging to the generated code.
* Capability to check secrets and certificates for potential issues or errors.
* Added Trifonius services as a separate entity.
* Proper rendering of notifications.

### Changed

* Updated open api specification to version `1.11.1`.
* Updated `dsh-api` dependency to version `0.9.0`.
* Show platform parameters in different categories.
* Improved error handling and logging.
* Improved rendering of timestamps.
* Changed Rust version to `1.86`.
* Set dependencies to latest versions.

## [0.8.1] - 2026-01-15

### Added

* Secrets list shows information about the secrets.
* Details about certificates or keys in secrets are shown.
* Capability to execute commands for multiple tenants.
* Added default values to explanation of environment variables.
* Set color and styling for logging information.
* Capability to set environment variables from file.
* Notification when a newer version is available.

### Changed

* Structure of dsh tool directories and files.
* All `show` capabilities also show the allocation status.
* Upgraded dependency `dsh_api` to version `0.8.1`.
* Improved rendering of token payload.
* Improved error handling.
* Improved handling of environment variables.
* Improved rendering of secrets used in services.
* Improved styling of tables.
* Added whitelists to vhosts capability.
* Removed `--no-headers` option.

### Fixes

* Fixed bug with `dsh bucket show`.
* Fixed bug with `dsh platform show` command for json output.
* Fixed bug with `dsh service list --tasks` command for json output.
* Resolved some known issues.

## [0.8.0] - 2025-11-20

### Added

* Single sign on authentication.
* Deploy and undeploy app catalog apps.
* Show manual pages for apps from the app catalog manifest.
* Environment variables can be set/overridden with command line arguments.
* Added `k8s-dev-aws-lz-dsh` (development platform for Klarrio) to default platform list.
* Capability to open app and service web applications.
* Show token content.
* Option to disable opening of browser.

### Changed

* Capability to list images improved.
* Upgraded dependency `dsh_api` to version `0.8.0` and open api specification `1.10.0`.
* Upgraded dependencies from `crates.io`.
* Removed `prod-aws-lz-laas` from default platform list.
* Improved error messages when illegal arguments are provided.
* Confirmation doesn't require the enter key to be pressed.
* Show latest versions for manifests or all with a flag.

## [0.7.3] - 2025-05-09

### Added

* Capability to create, delete, list and show managed tenants.
* Capability to set limits and enable services for managed tenants.
* Capability to create, delete, list and show managed streams.
* Additional properties when creating topics/streams (`compression.type`,
  `delete.retention.ms`, `message.timestamp.type`, `retention.bytes`,
  `retention.ms` and `segment.bytes`).
* Capability to export service configuration file.
* Capability to update service from configuration file.
* Capability to fetch a token and copy it directly to the clipboard.
* Capability to list and explain the used environment variables.
* Some more colors.
* Pre-built release version for Ubuntu.

### Changed

* Capability to list vhosts improved.
* Change to `service update` capability so it can also update from a configuration file.
* Added styling for error messages.
* Upgraded dependency `dsh_api` to version `0.7.1`,
  for patch on error in open api specification and smaller package size.
* Added kafka properties to show topic command.

### Fixes

* Fixed bug when printing lists with some output formats.

### Removed

* Removed `token show` command.
* Short flag (`-V`) to show the tools version number.
* Settings for `dsh_sdk` logging level.

## [0.7.2] - 2025-04-11

### Fixes

* Fixed bug where target configuration was checked while it shouldn't.
* Fixed bug with verbosity level.

## [0.7.1] - 2025-04-07

### Added

* Export app catalog manifest.
* Show settings and environment variables in help text.
* Configurable coloring and styling.
* Flag to suppress exit status for subject functions.

### Changed

* Ask for confirmation on service duplicate and edit capabilities.
* Code simplifications.

### Fixes

* Fixed bug with default output format.

## [0.7.0] - 2025-03-06

### Added

* Capability to edit service configurations.
* Capability to duplicate service configurations.
* Capability to create topics.

### Changed

* Renamed new and deploy subcommands to create.
* Display help when no commands or arguments are provided.
* Api selector commands sorted alphabetically.
* Improved help text for api commands.
* Dependency to `dsh_api` crate to version `0.6.0`.
* Deleted feature `appcatalog`, which is now always enabled.

## [0.6.0] - 2025-02-28

### Added

* Dedicated functions to delete, deploy, restart, start, stop and update DSH services.
* Single command to set default platform and tenant.

### Changed

* Renamed subject `application` to `service`. This results in changed commands and options.
* Simplified json output.
* Better rendering of empty results.
* Dependency to `dsh_api` crate to version `0.5.2`.

### Fixes

* Fixed bug with duplicate ids in json output.
* Lists of identifiers and lists derived from them are sorted again.

## [0.5.0] - 2025-02-20

### Fixes

* Saving targets works properly again.

### Added

* Improved error handling for bad requests.
* Improved documentation.
* Features (disabled by default):
    * `appcatalog` - Controls availability of app catalog operations.
    * `manage` - Controls availability of manage operations.
    * `robot` - Controls availability of robot operation.
* Set and unset default target.
* Set and unset all settings via the tool.
* Added csv output format.
* Added flag to hide headers.
* Added basic token capability.

### Removed

* Group and user id are not needed anymore.
* Feature `actual` is removed. Its capabilities are now all enabled.

### Changed

* Upgraded `dsh_api` dependency to 0.5.1.
* Autocomplete flag now hidden.
* Improved logging.
* Renamed create capabilities to new.

## [0.4.0] - 2025-01-31

### Added

* Support for Windows.
* Support DSH open api specification version 1.9.0.
* Added generic api calls.
* Added capabilities for piping and redirecting.
* Added logging.
* Secret update capability.
* Token capabilities.
* Capability to open platform web applications.

### Changed

* Improved user interface.
* Re-organized documentation.
* Embedded logo and favicon in generated docs.

## [0.3.0] - 2024-12-20

### Added

* User can specify the format of the output (csv, json, table, toml, yaml).
* Output will now be printed to stdout, while logging, error messages and metadata
  will be printed to stderr.
* More control over the generated output.
* Capability to do a dry-run, without actually changing anything on the DSH.
* Flag to enforce changes.
* Capability to print the open-api specification.
* Capability to list and use platform parameters.

### Changed

* Renamed the binary/executable from `dcli` to `dsh`.
* Changed environment variables.
* Changed dsp_api dependency from `git` to `crates.io`.

## [0.2.0] - 2024-11-29

### Added

* New subject for exposed metrics.
* Save settings and targets in application directory.
* Capability to manage settings and targets from within the tool.
* Capability to generate autocomplete files.

### Changed

* Credentials are now stored in the keyring (only supported for OsX).
* Added prompts for user input.
* System secrets no longer listed by default.

### Removed

* The dsh-api subproject is removed and is now in its own repo at
  [github.com/kpn-dsh/dsh-api](https://github.com/kpn-dsh/dsh-api).
* Removed redundant flags.

## [0.1.0] - 2024-10-29

### Added

* Capabilities for app catalog manifests.
* Capabilities for application tasks.
* Capabilities for certificates (including reversed look-up).
* Capabilities for Kafka proxies.
* Capabilities for secrets (including reversed lookup, creating and deleting).
* Capabilities for stream topics (disabled by default).
* Capabilities for volumes (including reversed lookup).
* Capabilities for images (including reversed lookup).
* Support for regular expressions for (reversed) lookup functions.

### Changed

* Renamed tool to `dcli` (**D**SH **C**ommand **L**ine **I**nterface).
* New naming schema in API.
* Added number of instances to usage tables.
* Improved support for reversed lookup of certificates, secrets and volumes.
* Improved support for manifests.

### Fixes

* Support DSH open api specification version 1.8.0.
* Added [tabled](https://github.com/zhiburt/tabled) crate for better presentation of the output.
* Improved internal application design.

### Removed

All capabilities, code and dependencies for Trifonius are removed.
