All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Documented that the card create and update
--bodyoption accepts raw HTML.
- Thor
ask()returns nil in non-TTY environments (CI, piped input) causing NoMethodError oninitcommand - Init test uses basic line editor to avoid Readline bypassing
$stdinin CI
- Custom URL support for self-hosted Fizzy instances
fizzy auth login --url URLstores instance URL per-account in tokens.ymlurlkey in.fizzy.ymlfor per-project instance URLFIZZY_URLenvironment variable for instance URL override- URL resolution priority:
FIZZY_URLenv >.fizzy.yml> tokens.yml per-account > default - URL validation in Client rejects non-http(s) URLs with clear error message
auth statusdisplays URL when using a non-default instance- HTTP scheme detection for SSL (supports
http://for local development)
- Cache boards in
.fizzy.ymlasboards: { id: name }hash for quick lookups without API calls fizzy boards synccommand to refresh the cached boards list from the APIfizzy initnow automatically fetches and caches all boards during setupProjectConfig#boardsaccessor for reading cached board data
- Card create and update sent
bodyinstead ofdescription, causing API 400 errors (field silently dropped by Rails strong params) - Card create with
--columnnow triages via separate API call instead of sending unpermittedcolumn_idparam - HTTP 400 responses now get parsed error messages (like 422) instead of raw JSON dump
- Cards, steps, and users update commands validate at least one option is provided before sending empty request
BadRequestErrorclass for explicit HTTP 400 handling
- Per-project
.fizzy.ymlconfig file for account and board defaults fizzy initinteractive command to create.fizzy.ymlProjectConfigclass that walks up directories to find nearest.fizzy.yml- Resolution priority: CLI flag >
.fizzy.yml> global tokens.yml default Auth.token_dataclass method to centralize token file reading--boardis now optional for columns and card create when set in.fizzy.yml
- Client follows Location header on any 2xx with empty body, not just 201
- All update commands handle nil response body instead of crashing with NoMethodError
- Skill file incorrectly documented
fizzy identityinstead offizzy auth identity - Guard against empty string in
--boardand--accountflag values ProjectConfigrescuesPsych::SyntaxErrorwith user-friendly error message- Blank or non-hash
.fizzy.ymlfiles treated as empty config instead of crashing
- Moved AI Agent Skill section in README to immediately follow Install
- Client auto-prepends account slug to API paths; CLI subcommands pass relative paths instead of manually building
/slug/resourcestrings - Removed
slughelper from CLI::Base andaccount_slugaccessor from Client
fizzy skill installcommand to install AI skill files for Claude Code and Codexfizzy skill uninstallcommand to remove installed skill files--targetoption (claude, codex, all) and--scopeoption (user, project)
- Auth login output displays account slugs from normalized stored data instead of raw API response
- Normalize account slugs at storage time during login (strip leading
/from API response)
- Token storage migrated from JSON (
tokens.json) to YAML (tokens.yml) - Auth file parsing uses
YAML.safe_load_fileinstead ofJSON.parse
- Formatter table column alignment with CJK characters, emoji, and other wide Unicode
- Formatter handles nil cell values without error
- ValidationError now shows human-readable output (
- field: message) instead of raw JSON identitycommand documented asfizzy auth identityin README- HTTP connection auto-closes on process exit via
at_exithook
--account SLUGusage example in README- CLI integration tests for boards, cards, auth, and error handling (10 tests)
- Unused
patchHTTP method from Client
- Initial release
- Board, card, column, step, comment, reaction, tag, user, notification, and pin management
- Thor-based CLI with subcommands
- Token auth with multi-account support (
--account) - JSON output mode (
--json) for all commands - Link-header pagination support
- Table, detail, and JSON output formatters