Repository navigation
Releases: bardisty/ficha
Releases · bardisty/ficha
Release list
v0.78.3
What's Changed
Changes
- statusline: print amounts under a cent with four decimals, not $0.00 by @bardisty in #422
- summary, list: stop counting every project as nested in a directory above ~ by @bardisty in #424
- watch, breakdown: give the reason when the session file can't be read, without its path by @bardisty in #423
- cli: say what's wrong with a second session ID, an unknown shell or --project-dir name, and complete --since and --until by @bardisty in #421
- watch, breakdown, statusline: leave -f out of help, and name the show command to run for json or csv by @bardisty in #425
- cli: keep every help line within 80 columns by @bardisty in #426
- cli: name the directory you're in when a project matches by name by @bardisty in #427
- cli: wrap errors on a terminal like notes, with paths under home as ~ by @bardisty in #429
- watch, show, summary: clean a workflow's status, cap its heading by width, and keep statuses all or none by @bardisty in #428
- list: drop the space before a cut title's ellipsis by @bardisty in #430
- breakdown: shorten the accounting note to fit the stats line, and keep your row in place at midnight by @bardisty in #431
- watch: widen the panel on terminals past 80 columns, so the cost chart shows up to 110 minutes by @bardisty in #432
- cli: lighten the dark theme's red, purple and separator gray so they read on gray backgrounds by @bardisty in #433
- show, summary, watch: call your own transcript the main conversation everywhere by @bardisty in #434
- cli: put a comma in dollar amounts and counts from 1,000 up, in every view by @bardisty in #435
Full Changelog: v0.77.1...v0.78.3
v0.77.1
For scripts
No json key, csv column, flag or command was removed or renamed. Two changes can still show up in a script's output:
- On Opus 4.6 and Sonnet 4.6, a context reading of 200K or less now reads against a 200K window, the one they run on without
[1m]..context.windowgoes from1000000to200000and.context.percentrises to match: 150K tokens read75, not15. Readings past 200K still read against 1M (#405). summary --nestedandlist --nestedexit 2 when ficha found the project by its name rather than by the directory you ran in. Before, they exited 0 and quietly added nothing (#417).
What's Changed
Changes
- list, json: show a session's /rename title instead of its generated one by @bardisty in #403
- pricing: read Opus 4.6 and Sonnet 4.6 context against 200K until a request passes it by @bardisty in #405
- summary, show: keep a short project in the header when the box has room for it by @bardisty in #404
- breakdown: keep a reply with no timestamp where its transcript puts it by @bardisty in #406
- summary: show a dash, not $0.0000, for a session with no replies by @bardisty in #407
- summary, list: report a repo root whose sessions are all in its worktrees by @bardisty in #409
- show, summary: cut agent tasks the way watch does by @bardisty in #408
- breakdown: date a week-old session's times, and keep your line when it turns dated by @bardisty in #412
- breakdown: shorten the fallback-pricing note by whole words, and keep the run-tag key in run order by @bardisty in #411
- list: keep LENGTH at 80 columns when titles are short or missing by @bardisty in #410
- list: count unreadable sessions apart in the header, as summary does by @bardisty in #413
- list, show, summary, global: keep bidi overrides and emoji from throwing off rows by @bardisty in #416
- summary, list: exit 2 for --nested after a name match, and say the nested note's cost is an upper bound by @bardisty in #417
- watch, breakdown: show the session's title in the header by @bardisty in #414
- breakdown: say which columns a narrow terminal hides by @bardisty in #415
Full Changelog: v0.76.3...v0.77.1
v0.76.3
What's Changed
Changes
- statusline: print the model and $0.00 before the session's transcript exists by @bardisty in #384
- watch: list agents above the model list and the chart by @bardisty in #385
- breakdown: p splits the selected row's cost by component, in dollars by @bardisty in #386
- cli: point a directory given to show, watch, breakdown, list or summary at -p by @bardisty in #387
- list, summary: date and order sessions by their last message, not the file's mtime by @bardisty in #389
- breakdown: keep p's selection while you scroll, and mark it without color by @bardisty in #390
- watch: keep the costliest finished agent out of the fold by @bardisty in #388
- breakdown: show which day a row is from when the session isn't all from today by @bardisty in #391
- list: take --since and --until, keeping the sessions with messages in the window by @bardisty in #392
- watch: plot COST TREND as spend per minute, parent and agents by @bardisty in #394
- cli: name the commands that take a flag given to one that doesn't by @bardisty in #393
- summary, list: note the projects under this directory, and count them in with --nested by @bardisty in #395
- watch, breakdown: keep the switch notice until a key press, and let a new session's hint replace it by @bardisty in #397
- ci: pin setup-go to v6.4.0 while GitHub can't serve v7.0.0's archive by @bardisty in #399
- watch, breakdown: keep your line when the window grows and shrinks back by @bardisty in #398
- docs: refresh the README screenshots for watch's new layout by @bardisty in #400
- watch, breakdown: count a session's prompt as a write when switching away from it by @bardisty in #402
Full Changelog: v0.73.1...v0.76.3
v0.73.1
Breaking changes
- json, unknown context window. When ficha doesn't know a model's context window,
contextkeepstokensand leaves outwindowandpercent. That covers a model missing from ficha's price list, and a request larger than any window ficha knows for its model. Before, those readings hadwindow: 200000and apercentthat could pass 100. This applies to.contextonshow, to.sessions[].contextonsummary -d, and to.agents[].contexton both..context.percentnow readsnullfor these readings, and.context.percent // emptyskips them. A known 200K model whose request went past 200K now reportswindow: 1000000, withpercentagainst 1M. (#375) - statusline color.
ficha statuslinenow colors the context percentage in the warning band and past the ~compaction mark, though its output is a pipe. A script that reads the line sees the escape codes.--no-color,NO_COLOR=1orCLICOLOR=0turns them off. (#379)
What's Changed
Breaking changes
- show, watch, statusline, json: show tokens, not a percentage, when the model's window is unknown by @bardisty in #375
Changes
- docs: update the README's example status line to current prices by @bardisty in #328
- statusline: refuse a transcript_path that isn't a .jsonl file by @bardisty in #327
- show, watch: put the ~compaction mark where Claude Code compacts each model by @bardisty in #371
- watch, breakdown: wait for this directory's first session even when another project shares its name by @bardisty in #372
- watch, breakdown: keep following new sessions by polling when the session watcher can't start by @bardisty in #374
- show, summary: name each agent's task beside its ID by @bardisty in #373
- watch: name a running agent that's nearer compaction than the main session by @bardisty in #378
- statusline: say how far ~compaction is, in words and color by @bardisty in #379
- watch, breakdown: show each agent's task beside its ID by @bardisty in #380
- cli: explain breakdown's columns and watch's rate, mark and chart in ficha help output by @bardisty in #381
- docs: refresh the README screenshots and the fixture behind them by @bardisty in #383
Full Changelog: v0.68.1...v0.73.1
v0.68.1
What's Changed
Model pricing
- pricing: add Haiku 5.5, with its over-100K-token prompt rates by @bardisty in #323
- pricing: bill Sonnet 5.5 cache reads at $0.10/MTok, not $0.20 by @bardisty in #324
Changes
- watch, show: show each agent's context use by @bardisty in #319
- docs: regenerate the watch screenshot for the agents' context column by @bardisty in #320
- docs: improve the screenshot fixture data by @bardisty in #321
- docs: give the screenshot fixture's long-running agents longer transcripts by @bardisty in #322
Full Changelog: v0.66.0...v0.68.1
v0.66.0
v0.65.20
What's Changed
Changes
- watch, breakdown: the --ascii loading spinner no longer draws the header's separator by @bardisty in #307
- docs: mkhistory.py says its history goes stale for --since today at midnight by @bardisty in #308
- tests: pin that --since skips a transcript whose clock stepped back to more than an hour before it by @bardisty in #312
Full Changelog: v0.65.19...v0.65.20
v0.65.19
What's Changed
Changes
- tests: the wrap tests use a warning ficha prints by @bardisty in #302
- watch, breakdown: the loading status has one space after its spinner, and a 40-column header no longer cuts it to "loadin" by @bardisty in #303
- docs: mkhistory.py --skew gives each session ending today a project of its own, and both generators refuse an empty root by @bardisty in #305
- global: a sessions-index.json that can't be used gets the warning show, list and summary print by @bardisty in #304
Full Changelog: v0.65.17...v0.65.19
v0.65.17
What's Changed
Changes
- deps: building ficha from source needs go 1.26.8, up from 1.25.6 by @bardisty in #294
- tests: no-color tests stop pinning a color profile by @bardisty in #295
- styles: the palette picks its light or dark values once per run by @bardisty in #297
- deps: bump the indirect modules the v2 terminal libraries share with v1 by @bardisty in #298
- tests: the live views' tests press keys and read frames through shared helpers by @bardisty in #299
- cli: commands that print no color no longer ask the terminal for its background, and a pty that never answers costs at most one wait by @bardisty in #300
Full Changelog: v0.65.15...v0.65.17
v0.65.15
What's Changed
Changes
- cli: the sessions-index.json warning gives the file's full path by @bardisty in #289
- docs: mkfixture.py refuses a root that looks like a flag, and mkhistory.py --skew ends some files on a long line by @bardisty in #290
- watch, breakdown: the header keeps the project when a session is empty or loading, and loading is lower case by @bardisty in #291
- parser: discovery takes no countMessages flag, which every caller passed false by @bardisty in #292
Full Changelog: v0.65.13...v0.65.15