Skip to content

Releases: basecamp/fizzy-cli

v4.0.1

Choose a tag to compare

@github-actions github-actions released this 31 Jul 20:05
3834efe

What's Changed

Features

  • Bare pin comments: let Dependabot maintain action version comments by @jeremy in #192
  • Rebuild comment sync as a post-merge repair caller by @jeremy in #195

Bug Fixes

  • Fix v4.0.0 release fallout: install.sh assets, AUR key fail-fast, docs by @jeremy in #194
  • Re-pin dependabot-sync past the bot-author fix by @jeremy in #196
  • Correct the --board scope and document the surface gate by @jeremy in #198

Documentation

Other Changes

  • Remove the AI labeler: GitHub Models is retired by @jeremy in #199
  • Support profile aliases for shared Fizzy accounts by @robzolkos in #201

Full Changelog: v4.0.0...v4.0.1

v4.0.0

Choose a tag to compare

@github-actions github-actions released this 27 Jul 21:08
7cf05b3

Fizzy CLI 4.0.0

Fizzy 4 is a major expansion of the CLI. It brings a much broader command surface, polished terminal output, strong machine-readable modes, multi-account profiles, built-in JSON filtering, guided signup, better diagnostics, and first-class support for coding agents.

⬆️ Upgrading from Fizzy 3.x

Homebrew: Fizzy 3.x was the fizzy-cli formula in the robzolkos/fizzy-cli tap. Fizzy 4 ships as the fizzy cask in basecamp/tap. Running brew update points the old tap at the new cask, but Homebrew will not tap a third-party tap on your behalf, so finish the move yourself:

brew tap basecamp/tap
brew unlink fizzy-cli
brew install --cask basecamp/tap/fizzy
brew uninstall --formula --force fizzy-cli
brew untap robzolkos/fizzy-cli

Then confirm with fizzy --version.

Two things to know about Homebrew's own migration output:

  • brew migrate fizzy-cli does nothing here. Homebrew suggests it, but it is a no-op for a formula-to-cask move — it warns Treating fizzy-cli as a formula and exits without migrating. Use the commands above instead.
  • brew unlink fizzy-cli first is not optional. A cask will not overwrite a bin/fizzy symlink owned by the formula, so installing the cask while the formula is still linked silently skips the binary — and the later uninstall then leaves you with no fizzy on your PATH at all. If you already hit this, brew reinstall --cask fizzy restores the link.

Everything else: re-run the install script, or upgrade through your package manager as usual.

curl -fsSL https://raw.githubusercontent.com/basecamp/fizzy-cli/master/scripts/install.sh | bash

✨ What’s new

A much larger Fizzy command surface

Fizzy now covers substantially more of the SDK, with new commands for account settings and exports, join codes, board streams and involvement, card publication and read state, column movement, steps, user administration, notification settings, activity, board access, webhook deliveries, email changes, and more.

Card column filtering also happens server-side, making filtered lists faster and more consistent.

(#99, #100, #129@robzolkos)

Output that works for people and programs

Fizzy now selects polished styled output in an interactive terminal and JSON when piped. Explicit output modes include:

  • --json
  • --quiet
  • --ids-only
  • --count
  • --styled
  • --markdown
  • --agent
  • --limit

Human output includes clearer summaries and suggested next steps. For agents and scripts, fizzy commands --json exposes the complete command catalog, while --help --agent provides structured command help.

(#75, #76@jeremy; #117, #120@robzolkos)

Built-in jq-compatible filtering

Use --jq to transform command results without installing an external jq binary:

fizzy board list --jq '.data[0].name'
fizzy board list --quiet --jq '.[0].name'
fizzy card list --jq '[.data[] | {number, title}]'

Expressions are compiled before the command runs, so an invalid expression cannot accidentally allow a mutation to proceed.

(#101@robzolkos)

Profiles for multi-account authentication

Each Fizzy account can now have its own saved profile, including its base URL, board context, and credential.

Use fizzy auth list, fizzy auth switch, and --profile to move between accounts. Existing credentials are migrated into profile-scoped keyring storage or a protected fallback file.

(#78@robzolkos)

Sign up without leaving the terminal

fizzy signup provides a guided interactive signup flow, while signup start, signup verify, and signup complete expose safe programmatic steps for agents and automation.

New users can move directly from setup into signup, complete account configuration, and then install agent integration.

(#71, #80, #81@robzolkos; #87@jeremy)

First-class support for coding agents

Fizzy now ships its agent skill inside the binary. The skill installer can install or refresh shared, Claude, OpenCode, and Codex skill locations, including project-scoped installations.

fizzy setup claude installs the Claude Code plugin and connects the embedded Fizzy skill.

(#64, #85, #119@robzolkos; #106@invzhi)

A real troubleshooting toolbox

fizzy doctor performs a read-only check of the installation, configuration, profiles, credentials, API connectivity, authentication, board context, shell completions, and agent setup. It reports concrete remediation steps without changing anything.

Configuration is easier to understand too:

fizzy config show
fizzy config explain
fizzy doctor --all-profiles

(#123@robzolkos)

One-step inline attachments

Card descriptions and comment bodies now accept repeatable --attach PATH flags:

fizzy card create --board ID --title "Bug report" \
  --description "See attached" \
  --attach screenshot.png

fizzy comment create --card 42 \
  --body "Logs attached" \
  --attach app.log \
  --attach trace.txt

Files are uploaded and appended in flag order. The manual upload-and-markup workflow remains available when exact placement is required.

(#128@robzolkos)

Webhooks, publishing, and access-token management

Fizzy can now:

  • Create, inspect, update, activate, deactivate, and delete board webhooks
  • Inspect webhook delivery history
  • Publish and unpublish boards
  • Publish cards
  • List, create, and delete personal access tokens

New access-token secrets are displayed once, when created.

(#83, #96, #129, #157@robzolkos)

Search is now real full-text search

fizzy search now uses Fizzy’s dedicated full-text endpoint for ranked, cross-board results and exact card-ID lookup.

For board, tag, assignee, status, sorting, or pagination filters, use fizzy card list --search.

(#114@waynemsmith; #160@robzolkos)

Quiet update notifications

Release builds check for newer stable versions during interactive sessions. Results are cached for 24 hours and stay out of CI and machine-readable output.

Set FIZZY_NO_UPDATE_NOTIFIER=1 to disable the check.

(#175@robzolkos)

🐛 Bug fixes and polish

  • Paginated-command breadcrumbs now point to the correct next page, and webhook list --all --page N begins at the requested page. (#96, #159@robzolkos)
  • Invalid column colors are rejected before an API request, with friendly aliases normalized to Fizzy’s API values. (#174@robzolkos)
  • Temporary server and network failures now retry with exponential backoff and Retry-After support. Oversized Retry-After values can no longer overflow. (#76, #94@jeremy)
  • Root help no longer prints duplicate usage lines. (#97@jeremy)
  • Styled lists have clearer and more consistent column spacing. (#98@robzolkos)
  • Stable Homebrew, Scoop, and AUR channels no longer receive release candidates. (#155@robzolkos)
  • Setup is no longer launched automatically by the installer, avoiding configuration being written under the installer’s environment. Run fizzy setup explicitly after installation. (#131@dheerapat)

⚠️ Breaking changes

Fizzy 4 includes several intentional interface changes. Scripts written against Fizzy 3 should be reviewed before upgrading.

Output contract

  • Interactive terminal output is styled by default. Use --json for the stable JSON envelope.
  • JSON responses use ok instead of success.
  • Error responses now expose a top-level error string and code.
  • Pagination and location metadata now live under context.
  • Automatic timestamp metadata is no longer included.
  • --pretty...
Read more

v4.0.0-rc.6

v4.0.0-rc.6 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 24 Jul 19:16
941003b

What's Changed

Other Changes

Full Changelog: v4.0.0-rc.5...v4.0.0-rc.6

v4.0.0-rc.5

v4.0.0-rc.5 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 25 Jun 00:28
c78aaf7

What's Changed

Features

Bug Fixes

  • fix: auto setup after install is broken, let user run it manually by @dheerapat in #131

Documentation

Other Changes

New Contributors

Full Changelog: v4.0.0-rc.4...v4.0.0-rc.5

v4.0.0-rc.4

v4.0.0-rc.4 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 04 Jun 17:53
6a3ae59

What's Changed

Bug Fixes

Full Changelog: v4.0.0-rc.3...v4.0.0-rc.4

v4.0.0-rc.3

v4.0.0-rc.3 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 04 Jun 17:43
341f75e

What's Changed

Features

  • Use cosign bundle for release checksum signing by @robzolkos in #169

Full Changelog: v4.0.0-rc.2...v4.0.0-rc.3

v3.0.3

Choose a tag to compare

@robzolkos robzolkos released this 02 Mar 21:19
ef32358

What's Changed

Full Changelog: v3.0.2...v3.0.3

v3.0.2

Choose a tag to compare

@robzolkos robzolkos released this 02 Mar 16:24
a822e05

What's Changed

  • Fix spurious mentions from literal action-text-attachment tags in CLI content by @robzolkos in #57

Full Changelog: v3.0.1...v3.0.2

v3.0.1

Choose a tag to compare

@robzolkos robzolkos released this 11 Feb 15:37

What's New

  • has_attachments field — Cards now include a has_attachments boolean so you can tell at a glance which cards have file attachments without fetching them individually. Quickly spot cards with attachments in a list:
    fizzy card list | jq '[.data[] | select(.has_attachments) | {number, title}]'
  • Documentation & test coverage — Updated SKILL.md card schema and README with has_attachments usage tips. Added e2e tests to keep it honest. (#56)

v3.0.0

Choose a tag to compare

@robzolkos robzolkos released this 10 Feb 17:55

What's New

  • Comment attachments — List and download attachments embedded in comments (#55 by @ardavis)
    • fizzy comment attachments show --card NUMBER
    • fizzy comment attachments download --card NUMBER [INDEX]
  • --include-comments flag on existing card attachment commands to include comment attachments alongside description attachments
    • fizzy card attachments show CARD_NUMBER --include-comments
    • fizzy card attachments download CARD_NUMBER --include-comments
  • -o prefix mode for multi-file downloads (e.g. -o test produces test_1.png, test_2.png)

Breaking Changes

  • Attachment indices may shiftparseAttachments now filters out non-downloadable entries (e.g. @mentions). If a card description contained mentions alongside real attachments, the 1-based indices will change. Scripts referencing attachments by index on affected cards will need updating.
  • -o flag behavior changed for multi-file downloads — Previously -o only applied when downloading a single attachment. Now when downloading multiple files, -o acts as a prefix (-o testtest_1.png, test_2.png).