Changelog
Release notes of the cademi CLI, newest first. Check your version with cademi version; cademi update installs the latest. API release notes: API changelog.
0.1.11 - 2026-09-27
- Requests are validated against the API contract embedded in the CLI before they are sent. A query parameter or body field that the operation does not accept, including nested fields and fields passed with
--data, exits with code2without calling the API. The message names the field or parameter, its JSON path, and what the operation accepts. This applies tocademi api, when the path matches a known operation, and to the resource commands. cademi api --skip-validationsends the request as is, for endpoints newer than the embedded API release.cademi api -H 'Idempotency-Key: ...'works like--idempotency-key. Operations that require anIdempotency-Keyalways get one.- A
503from the API without aRetry-Afterheader, such asstorage_unavailable, is not retried: the command returns right away with exit code8. A503withRetry-After, and a503without an API error envelope, are retried.
0.1.10 - 2026-09-26
- Internal improvements. No changes to commands, flags, exit codes, installation, or updates.
0.1.9 - 2026-09-26
- Internal improvements. No changes to commands, flags, exit codes, installation, or updates.
0.1.8 - 2026-09-26
cademi envshowsmax_retriesandmax_retry_wait, andclient_request_idwhenCADEMI_CLIENT_REQUEST_IDis set, each with where its value comes from.- The
--outputhelp of the commands that print text by default (auth status,env,profiles list,commands,doctor,config validate, andconfig plan) says so.
0.1.7 - 2026-09-26
CADEMI_CLIENT_REQUEST_IDsends your own identifier in theX-Client-Request-Idheader of every request: up to 64 letters, digits,.,_, or-. The API returns it in the response and records it in the request log. An invalid value exits with code2.CADEMI_MAX_RETRIES(default3;0turns retries off) andCADEMI_MAX_RETRY_WAIT(default60s) control automatic retries. A429that asks for a longer wait thanCADEMI_MAX_RETRY_WAITfails right away.cademi profiles listshows the API URL and your account's platform address in separate columns,APIandPLATFORM, and--jsonincludesplatform.
0.1.6 - 2026-09-26
cademi bugno longer puts your account's platform address, the credential ID, or the profile name in the public issue.- In
cademi env, the operating system and architecture are reported asos_arch;platformis only your account's platform address. - The browser page after sign-in says "Cademí CLI authorized" only for a valid response. A rejected
issshows "Authorization rejected", andaccount_not_eligiblehas its own page. cademi auth logout --helpexplains how to revoke the credential, and the--base-urlhelp describes it as the Cademí API URL.
0.1.5 - 2026-09-26
cademi auth login --platform <address>goes straight to your account's platform instead of the platform selector in the browser. The address is saved in the profile, reused on the next login, and shown bycademi auth statusandcademi env.- Human login checks the
issparameter returned by the authorization (RFC 9207). It rejects a response whoseissdoes not match the issuer, or that has noisswhen the server announces support for it. - Choosing Deny in the browser ends the login right away, without saving anything.
- When the platform refuses the administrator, the login ends right away with the reason:
mfa_required(two-factor authentication is not turned on),account_not_eligible(the account cannot authorize the CLI), orplatform_mismatch(the administrator belongs to another platform; the message suggests--platform). - The base URL prompt is now "Cademí API URL". Clearer messages while waiting for the browser and for credentials that require human mode.
- Built for API release 3.4.7.
0.1.4 - 2026-09-25
cademi bug --apiopens the API bug report instead of the CLI one, with--endpointand--request-idfilled in.--request-idalso works for CLI bugs.- Issues now go to this repository,
minhacademi/developers, which takes reports for both the API and the CLI. - Built for API release 3.4.5.
- Mutually exclusive flags exit with code
2.
0.1.3 - 2026-09-25
cademi commandslists every command in one call, with the API route, permission, arguments, and flags.--jsonfor scripts and AI agents,--brieffor a small index, and a prefix narrows the list (cademi commands products).
0.1.2 - 2026-09-25
cademi bugopens a new issue in this repository with your CLI version, platform, and settings filled in. Nothing is sent until you submit it in the browser.--printprints the URL instead.--allnow works on every paginated list, including users, enrollments, access schedules, comments, and questions.cademi apikeeps query parameter names as written, such astag_id[].- A missing credential exits with code
3, like other authentication errors.
0.1.1 - 2026-09-25
cademi envshows the effective settings and where each value comes from (flag, environment variable, config file, profile, keychain, or default).cademi env <name>prints a single value.
0.1.0 - 2026-09-25
First release.
- Every API v3 operation as a command, with the API route, permission, and body fields in
--help. - Human sign-in (OAuth in the browser plus a credential) and autonomous mode (credential only), with profiles and secrets in the operating system keychain.
cademi api,cademi listen(with signed forwarding to a local endpoint),cademi config validate/plan/apply,cademi sandbox reset/run,cademi upload,cademi download,cademi operations wait, andcademi doctor.- Output as a table, JSON, YAML, or filtered with
--jq, and stable exit codes. - Installers for macOS, Linux, and Windows, and signed automatic updates.