cavctl
cavctl is the standalone Go CLI client for Cavaliba, versioned independently of the Cavaliba
server itself (see the cavctl_supported_version field in /api/version/, which the server uses
to warn on a client/server mismatch).
Version Numbering (X.Y.Z)
cavctl uses the same semantic versioning scheme as Cavaliba:
- X (Major): breaking changes to command syntax, output shape, or config file format.
- Y (Minor): new commands or flags, or a behavior change to an existing one.
- Z (Patch): bug fixes and minor improvements.
Release
2.5.0
- FIX: option --delimiter check if load/rawfile and csv, error if missing
- FIX: local detect BOM utf-8 (instead of requiring a utf-8-sig encoding)
- REFACTOR: --verbose option cleaner output (before/after)
- REFACTOR: --page, --size client-side only
- REFACTOR: pass --schema server side, no local processing
- REFACTOR: pass --action server-side only
2.4.0
- new conf command: GET/POST /api/conf/ (read/write DB-persisted configuration entries)
- new --confprofile/-c flag: named config profile resolving to ~/.cavaliba/<name>.yaml
(mutually exclusive with --conf)
2.3.0
- load: CSV cells containing "^" between values are auto-split into JSON arrays
(cavctl has no access to the remote schema, so this is a plain string heuristic)
- load: new --no-multi (disable the auto-split above) and --multi-field (force specific
fields to arrays regardless, even under --no-multi)
2.2.0
- rawfile command (renamed from "import"): POST a whole YAML/JSON/CSV file to
/api/rawfile/ in a single request, server-side parsing, no client-side batching
- new load command: convert a YAML/JSON/CSV file (or inline --data-json/--data-yaml)
into a JSON object list client-side, POST to /api/load/ in --batch-sized chunks,
aggregate the results
2.1.0
- get -o csv: id/classname are always dropped from CSV output
2.0.0 (ALPHA)
- version subcommand renamed to remote (remote instance version/info)
- asset/instance commands merged into get (aliases removed - get is the only name now)
- new permission command
- new query/schema/key/id options for get
1.8.0
- launch pipeline tasks from the CLI, poll long-running tasks
- new --outfile option
- CSV reader accepts abnormal column counts and bare quotes without a full stop
1.7.0
- new group, role, permission subcommands (later merged into get at v2.0.0)
- check max supported cavctl version against the server ; displays a NOTICE on mismatch
1.6.1
- new --refs option (inline referenced assets) and --rev option (revision history)
1.5.0
- default config file renamed to default.yaml
- chunked CSV imports (--batch-size) - the precursor to the v2.2.0 load command
1.0 - init
- first golang cavctl CLI client, included alongside the Cavaliba server source