Releases: quantcli/crono-export-cli
Releases · quantcli/crono-export-cli
v1.0.0
First stable release.
Highlights
- MIT-clean. Zero transitive GPL dependencies — the Cronometer wire client (
internal/cronoapi) is a clean-room rewrite, replacing the GPL-2.0gocronometerpackage end to end. - Session caching. After your first login, the session lives at
$XDG_CACHE_HOME/crono-export/session.json(mode 0600). Consecutive commands reuse it — no more tripping Cronometer's rate limit after five back-to-back calls.CRONOMETER_NO_CACHE=1opts out;crono-export auth logoutclears it. - Typed JSON across the board.
nutritionandnotesnow emit typed values (numeric → number, true/false → bool, empty → null), matching the existing typed output ofservings,biometrics, andexercises. No morejq tonumberper cell. - Contract-compliant exit codes & streams. Empty results keep stdout clean (note goes to stderr), inverted date ranges exit 0 with empty output + a stderr warning,
--untilalone now defaults--sinceto a 7-day window ending at--until. - Fail-fast validation. Bad
--formator stray positional args are rejected before the network login, so typos don't burn against Cronometer's rate limit. - Vitamin D markdown fix. Was rendering as
VitaminDIU: 123with no unit; now correctly splits toVitaminD: 123 IU. - E2E test coverage for the full client + CLI binary against a faked Cronometer server (
internal/cronotest).
Install
brew install --cask quantcli/tap/crono-exportOr grab a binary from the assets below.
Breaking changes (vs. 0.1.x)
nutritionandnotesJSON values are now typed numbers/bools/nulls instead of strings. Pipelines that didjq '.[].Calories | tonumber'should drop thetonumber.