Skip to content

v0.6.0

Latest

Choose a tag to compare

@github-actions github-actions released this 27 Aug 16:50
4026dcc

What's Changed

  • test: refresh card fixtures from live captures; fix(cli): empty Properties block for {} by @dsociative in #25
  • feat(client)!: non_exhaustive API types with request initializers; Card.external_links and CardFile.uid; external links without a second request; cargo-semver-checks in CI by @dsociative in #27

Full Changelog: v0.5.0...v0.6.0

Breaking changes in kaiten-client (the CLI and MCP contracts are unchanged)

  • All response models and KaitenError are now #[non_exhaustive]. Struct literals such as Card { .. } and match on KaitenError without a _ arm no longer compile outside the crate; read fields as before, build values by deserializing. From now on new fields and variants are compatible (minor) changes.
  • Request types: CreateCard { board_id, title, ..Default::default() }let mut req = CreateCard::new(board_id, title); req.description = ..; (CreateCard::default() is gone — it produced an invalid request). UpdateCard { .. } / CardFilter { .. }::default() + field assignment.
  • New fields: Card.external_links, CardFile.uid; FileRef::Uid now comes from uid (url parsing is the fallback) and FileRef::matches accepts the wire uid.

Behaviour

  • card view prints the card's external links from the card response — no extra request; --include external_links / MCP include: ["external_links"] still work but are deprecated no-ops (one stderr line in the CLI).
  • card view no longer prints an empty Properties: block for a card without custom properties.
  • card file list --json and MCP FileView carry uid for classic-storage files too.
  • CI: cargo semver-checks on every pull request (the breaking label declares an intentional major bump).