DHI.Platform.Cli 3.3.2

Prefix Reserved
dotnet tool install --global DHI.Platform.Cli --version 3.3.2
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local DHI.Platform.Cli --version 3.3.2
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=DHI.Platform.Cli&version=3.3.2
                    
nuke :add-package DHI.Platform.Cli --version 3.3.2
                    

Package Description

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
3.3.2 208 6/23/2026
3.3.1 120 6/10/2026
3.2.3 168 3/24/2026
3.2.2 137 3/10/2026
3.2.1 149 2/4/2026
3.2.0 162 1/13/2026
3.1.6 349 4/1/2025
3.1.5 307 3/12/2025
3.1.4 265 1/22/2025
3.1.3 256 11/27/2024
3.1.2 284 9/18/2024
3.1.1 271 7/24/2024
3.1.0 272 6/4/2024
3.0.1 385 5/4/2023
3.0.0 445 3/29/2023
2.3.4 671 9/23/2022
2.3.3 647 6/23/2022
2.3.2 692 3/25/2022
2.3.1 690 3/22/2022
Loading failed

___________________________________________________________
June 23, 2026 Release 3.3.2

- Reorganize CLI into hierarchical command groups (`plt <group> <command>`): `cfg`, `usr`, `prj`, `ds`, `sync`, `gis`, `eng`, `job`, `ts`, `gw`, `md`, `prjm`, `raw`, `rb`, `sharing`, `tiles`, `tr`, `reader`, `writer`
- Add `--format` option to all commands: output as `json` (default), `yaml`, `plain`, or `table`
- Add `eng` command group: engine/compute operations — list engine definitions, configurations, list/query executions, view execution input/diagnostics, run (sync and parallel), cancel, delete, read service-bus messages
- Add `job` command group: containerized job operations — list node sizes, run jobs, view status/logs, cancel, schedule cron jobs, list/get/delete cron schedules
- Add `ts` command group: time series operations — create TS datasets, list/describe time series, add series, add/get/query/delete values, update properties
- Add `md` command group: multidimensional (grid/mesh) dataset operations — describe dataset, query timesteps/timeseries/3D values
- Add `prjm` command group: project member operations — list, add, remove members
- Add `raw` command group: raw storage operations — block checksums, file checksums, download URLs, staging URLs, copy status, bulk upload registration
- Add `rb` command group: recycle-bin operations — list soft-deleted items, restore, permanently delete projects/datasets
- Add `sharing` command group: sharing catalog/publication/subscription management — create catalogs, publish/unpublish/update/search publications, list subscriptions, get SAS tokens
- Add `tiles` command group: tiling operations — get dataset tiling metadata (schemes, tile matrices, extent)
- Add `tr` command group: transfer (import/export) job operations — list and get transfer job details
- Add `reader` / `writer` command groups: list and inspect available import/export converters
- Add `gw` command group: gateway operations — resolve platform service base URLs by id
- Add additional `prj` subcommands: `update`, `rm`, `rm-hard`, `restore`, `path`, `lsr` (recursive listing), `prepare`, `sas`
- Add additional `ds` subcommands: `update`, `rm`, `rm-hard`, `restore`, `append`, `upload-staged`, `lsh` (list with checksums)
- Register spatial clients (`AddPlatformSpatialClients`) for GIS/tiling support
- Rename flat command names to grouped short names (e.g. `copy-dataset` → `ds cp`, `move-dataset` → `ds mv`)
- Update login gate to require `plt cfg login` (previously `login` / `logout` at root level)
- Add `--tenant-id` (`-tid`) option to `login` command: scope the issued token to a specific tenant (applies to pkce, device-code, and client-credentials flows)

___________________________________________________________
June 10, 2026 Release 3.3.1

- Add `sync-push` command: synchronize (upload) a local folder to a platform project/folder recursively, with checksum-based incremental sync
- Add `sync-pull` command: synchronize (download) a platform project/folder to a local folder recursively, with checksum-based incremental sync
- Add `get-me` command: retrieve information about the currently authenticated principal
- Add `list-my-tenants` command: list the tenants the currently authenticated principal belongs to (backed by new `IUserClient.GetMyTenantsAsync` in the SDK)
- Add `copy-dataset` / `move-dataset` commands: copy or move a dataset to a project in another tenant, waiting for the transfer to finish (via job-event subscription)
- Add `copy-project` / `move-project` commands: recursively copy or move an entire project (all subfolders and datasets) to another tenant; `move-project` deletes the source project once complete. The command aborts if a folder of the same name already exists in the target tenant; pass `--rewrite` to reuse existing folders and overwrite (replace) any datasets that already exist there
- Cross-tenant copy/move requires an interactive (OAuth) login with the Owner role on both the source and destination tenants; API key authentication is rejected for these commands. `copy-project`/`move-project` mint the destination-tenant token silently from your login refresh token (no extra browser sign-in) when you are a member of the target tenant, falling back to a one-time interactive sign-in otherwise.
- Add `logout` command: clear the locally stored credentials and tokens
- Sessions now renew silently using a stored refresh token (captured at `login`), so commands no longer fail ~1h after signing in. On Windows the refresh token is protected with DPAPI; on Linux/macOS it is persisted only with `--store-refresh-token` and stored with file-permission protection only (a warning is shown)
- Add `list-subprojects` command: list direct subprojects of a project
- Fix `list-projects` and `list-subprojects` to return all pages instead of only the first page
- Update `list-datasets` to use the paginated API endpoint for complete and consistent result sets
- Add `--offset` / `-o` and `--limit` / `-l` options to `list-projects`, `list-subprojects`, and `list-datasets` for result window control
- Add `--name-prefix` / `-np` filter option to `list-projects` and `list-subprojects`
- Add `ClientCredentialsAccessTokenProvider` to the SDK: non-interactive OAuth2 client credentials flow for unattended scenarios (K8S CronJobs, CI/CD pipelines)
- Remove PreProd environment support from the CLI
- Switch interactive login from MSAL to OAuth2 PKCE loopback flow against the mike-platform OAuth server (device code flow also available via `DeviceCodeAccessTokenProvider` in the SDK)
- Harden credential storage: stored credentials are now protected with Windows DPAPI (current-user scope) instead of a fixed embedded key, both the access token and API key are protected at rest, and the profile file is restricted to the current user (owner-only ACL on Windows, chmod 600 on Linux/macOS). NOTE: existing saved profiles cannot be read after upgrading — run `login` again
- Add `--flow api-key` to `login` so an API key can be entered at a secure prompt instead of on the command line; `login` now warns when `--api-key` or `--client-secret` are passed inline (they leak into shell history and the process list)

___________________________________________________________
September 2, 2020 Release 1.0.0

- `login` command: authenticate with the platform using username/password or API key
- `list-projects` command: list all projects
- `get-project` command: retrieve a project by ID
- `create-project` command: create a root project
- `create-subproject` command: create a subproject under an existing project
- `upload` command: upload a single local file to a project
- `download` command: download a single dataset to a local file path
- `get-dataset` command: retrieve dataset metadata
- `list-datasets` command: list datasets in a project
- `search-shared-datasets` command: search for shared datasets