Skip to content

v0.10.0

Choose a tag to compare

@odesenfans odesenfans released this 21 May 17:06
· 63 commits to main since this release
3dc1585

This is a major release that completes the CLI's parity sweep with the Python client: new command groups for programs, websites, domains, aggregates and credits, authenticated IPFS uploads (single file and directories), network-scoped config, plus a round of CLI ergonomics and breaking flag changes.

Highlights

  • Programs: full aleph program group with create, list, show, delete (#192, #196).
  • Websites and domains: new aleph website and aleph domain command groups (#159).
  • Aggregates: aleph aggregate get / list / forget (#189, #190).
  • Credits: aleph credit history, aleph credit transfer, aleph credit buy (ERC20) (#191, #158, #113).
  • Authenticated IPFS uploads: both single files (#183) and directories via CARv1 (#200), with local CID verification (#170).
  • Network-scoped config: CCNs are now nested under networks (#153).
  • Instance UX: aleph instance list with scheduler placement / status (#150, #193), aleph instance ssh for one-shot SSH into a dispatched VM (#209), interactive -i create flow (#149), GPU listing on instance price (#172).

Breaking changes

CLI flag and command surface changed; existing scripts will need updates.

  • account delete renamed to account remove (#184).
  • --ccn and --ccn-url merged into a single --ccn flag (#176).
  • account create / import now take name as a positional argument (#173).
  • CRN endpoint flag --address renamed to --url (#171).
  • --chain no longer has a default value in SigningArgs (#168).
  • Per-command --network renamed to --network-tag and now defaults to the active network (#166).
  • SigningArgs split: read-only commands no longer accept --dry-run (#169).
  • aleph crn subcommands moved under aleph instance (#151).
  • SDK: authenticated single-file and directory IPFS upload APIs (#183, #200) replace the previous unauthenticated paths.

CLI: new commands and features

  • aleph program create / list / show / delete (#192, #196).
  • aleph website and aleph domain command groups (#159).
  • aleph aggregate get / list / forget with type validation (#189, #190).
  • aleph credit history, aleph credit transfer, aleph credit buy via ERC20 (#191, #158, #113).
  • aleph instance list with scheduler placement and status enrichment (#150, #193).
  • aleph instance ssh <vm-hash> discovers the dispatched CRN via the scheduler and execs ssh to the VM; supports --user, --port, --identity, --crn-url, and pass-through args after -- (#209).
  • aleph file pin <item_hash> (#152).
  • aleph completions for shell completion scripts (#174).
  • aleph --version now shows git commit and build date (#188).
  • IPFS folder upload (#155) and --payment-type on file upload (#157).
  • Interactive -i flag for instance create (#149).
  • --list-gpus flag on instance price (#172).
  • --owners filter on aleph message list (#203).
  • aleph message sync and message list switched to cursor pagination (#197, #204).
  • Alias resolution in account balance and in message/post list address filters (#154, #207).
  • Confirmation prompts on destructive commands (#167).
  • Network-scoped config: CCNs nested under networks (#153).

SDK improvements

  • Authenticated single-file IPFS upload (#183).
  • Authenticated IPFS directory upload via CARv1 (#200).
  • Local CID verification for IPFS folders before upload (#170).
  • Unsigned messages surfaced as a distinct verification outcome (#205).
  • Typed error variants for the credit module and tighter String-payload error variants (#186, #187).
  • SortBy serialized as kebab-case, SortOrder as signed int (#206).
  • Deserialize pending message responses correctly (#198).
  • ExecutionInfo / ExecutionNetworking types and an unauthenticated fetch_executions helper for querying a CRN's running VMs (#209).

Bug fixes

  • Handle null signatures on read-path messages (#202).
  • Validate --hashes / --content-hashes at parse time (#165).
  • Type instance create --crn-hash as NodeHash (#175).
  • Validate ledger account name before connecting to the device (#163).
  • Restore terminal mode on SIGINT during interactive prompts (#160).
  • Document message forget scope (messages vs aggregates) (#177).
  • Remove leftover debug println in parse_timestamp (#164).

Internals and docs

  • Merge compatible authorization entries on add (#162).
  • Unify command dispatchers on anyhow::Result (#178).
  • README rewritten with the full CLI surface (#185).
  • long_about examples added to high-traffic commands (#181).

Full Changelog: v0.9.2...v0.10.0


Published to crates.io