Releases: marcoarnulfo/notion-cli
Release list
v0.8.0
Changelog
- e643384: Merge pull request #36 from harasuke/feat/page-content (@marcoarnulfo)
- 20663ca: Merge pull request #38 from marcoarnulfo/fix/body-file-bom-wipe (@marcoarnulfo)
- 8949753: feat(cli): read a page body back, and append to one without destroying it (@harasuke)
- 1f0967a: fix(cli): cap --append-file at Notion's real payload limit, not the body's (@harasuke)
- 46b0106: fix(cli): measure the append request, not the file it came from (@harasuke)
- cfaa477: fix(cli): name a size the pre-gate measured, and treat a BOM-only file as empty (@harasuke)
- a67e142: fix(cli): stop a body file with no content from wiping the page (@marcoarnulfo)
- c765f25: fix(notion): stop reporting a landed append as failed, and as re-runnable (@harasuke)
Verify a download against checksums.txt before running it. Checking the
whole file at once with --ignore-missing can exit 0 having verified
nothing, if your archive's name doesn't match any line in it — pull out
that one line first, so a missing line fails loudly instead:
archive=notion-track_0.8.0_linux_amd64.tar.gz # swap in the file you downloaded
grep -E " ${archive}\$" checksums.txt > expected.txt
sha256sum --check expected.txt # no sha256sum? use: shasum -a 256 --check expected.txtv0.7.1
Changelog
- 05501f6: Merge pull request #28 from marcoarnulfo/ci/verify-releases (@marcoarnulfo)
- 8410974: Merge pull request #29 from marcoarnulfo/docs/release-procedure (@marcoarnulfo)
- ac33123: Merge pull request #31 from marcoarnulfo/docs/post-release-tidy (@marcoarnulfo)
- 9d4087a: Merge pull request #33 from harasuke/fix/wizard-resize-nil-lists (@marcoarnulfo)
- f97eef0: Merge pull request #34 from marcoarnulfo/docs/skill-accuracy (@marcoarnulfo)
- b633eda: Merge pull request #35 from marcoarnulfo/docs/skill-update-path (@marcoarnulfo)
- 327fdb1: fix(skill): correct every claim the code contradicts, and pin them with tests (@marcoarnulfo)
- d10710e: fix(tui): build every list before the terminal reports its size (@harasuke)
Verify a download against checksums.txt before running it. Checking the
whole file at once with --ignore-missing can exit 0 having verified
nothing, if your archive's name doesn't match any line in it — pull out
that one line first, so a missing line fails loudly instead:
archive=notion-track_0.7.1_linux_amd64.tar.gz # swap in the file you downloaded
grep -E " ${archive}\$" checksums.txt > expected.txt
sha256sum --check expected.txt # no sha256sum? use: shasum -a 256 --check expected.txtv0.7.0
Changelog
- 5572021: Merge pull request #26 from marcoarnulfo/ci/action-smoke (@marcoarnulfo)
- 00a4232: Merge pull request #27 from marcoarnulfo/feat/identity-in-credentials (@marcoarnulfo)
- fbac0b8: feat(cli): resolve the identity for every command (@marcoarnulfo)
- 4791e06: feat(config): resolve the identity in one place, with a source (@marcoarnulfo)
- 1cfb60f: feat(config): store the personal identity in credentials.yml (@marcoarnulfo)
- 0cfff29: feat(doctor): report where the identity came from (@marcoarnulfo)
- 3a31253: feat(init): persist the identity the wizard collected (@marcoarnulfo)
- 700336c: feat(init): save the identity to credentials.yml and drop the warning (@marcoarnulfo)
- 73c84c3: feat(tui): ask for the identity when an assignee column is mapped (@marcoarnulfo)
- 276bb7f: fix(cli): stop a broken credentials file from breaking every command (@marcoarnulfo)
- 3b236c4: fix(doctor): the unresolvable-identity fix names init --me, not the override (@marcoarnulfo)
- 38fa9fe: fix(init): let 'notion-track init --me ' run on its own (@marcoarnulfo)
- f72c0e4: fix(skill): exit 5 has two causes, and the agent must tell them apart (@marcoarnulfo)
Verify a download against checksums.txt before running it. Checking the
whole file at once with --ignore-missing can exit 0 having verified
nothing, if your archive's name doesn't match any line in it — pull out
that one line first, so a missing line fails loudly instead:
archive=notion-track_0.7.0_linux_amd64.tar.gz # swap in the file you downloaded
grep -E " ${archive}\$" checksums.txt > expected.txt
sha256sum --check expected.txt # no sha256sum? use: shasum -a 256 --check expected.txtv0.6.1
Changelog
- c32bb62: Merge branch 'feat/version-from-build-info' (@marcoarnulfo)
- 55683a7: fix(cli): resolve --version from build info when unstamped (@marcoarnulfo)
- a01ab29: fix(release): template the version in the footer's verify example (@marcoarnulfo)
Verify a download against checksums.txt before running it. Checking the
whole file at once with --ignore-missing can exit 0 having verified
nothing, if your archive's name doesn't match any line in it — pull out
that one line first, so a missing line fails loudly instead:
archive=notion-track_0.6.1_linux_amd64.tar.gz # swap in the file you downloaded
grep -E " ${archive}\$" checksums.txt > expected.txt
sha256sum --check expected.txt # no sha256sum? use: shasum -a 256 --check expected.txtv0.6.0
Changelog
- cb5086b: Merge branch 'docs/generic-examples' (Marco Arnulfo marcoarnulfo1@gmail.com)
- 288d018: Merge branch 'feat-agent-skill' (Marco Arnulfo marcoarnulfo1@gmail.com)
- f8bc344: Merge branch 'feat-page-id-addressing' (Marco Arnulfo marcoarnulfo1@gmail.com)
- 0a156d7: Merge branch 'feat-token-persistence' (Marco Arnulfo marcoarnulfo1@gmail.com)
- 8992c43: Merge branch 'feat/unique-id-addressing' (Marco Arnulfo marcoarnulfo1@gmail.com)
- 3c4ce02: Merge branch 'fix/unique-id-loose-ends' (Marco Arnulfo marcoarnulfo1@gmail.com)
- c8106ed: Merge branch 'v0.1-foundations' (Marco Arnulfo marcoarnulfo1@gmail.com)
- 752fe38: Merge pull request #13 from marcoarnulfo/v0.3-markdown-body (Marco Arnulfo 103679419+marcoarnulfo@users.noreply.github.com)
- ea99f58: Merge pull request #14 from marcoarnulfo/fix/ticket-title-duplicate (Marco Arnulfo 103679419+marcoarnulfo@users.noreply.github.com)
- 3ad9c70: Merge pull request #15 from marcoarnulfo/fix/list-empty-result (Marco Arnulfo 103679419+marcoarnulfo@users.noreply.github.com)
- 5263676: Merge pull request #16 from marcoarnulfo/feat/doctor-token-scan (Marco Arnulfo 103679419+marcoarnulfo@users.noreply.github.com)
- 0af4d63: Merge pull request #17 from marcoarnulfo/v0.3-init-wizard (Marco Arnulfo 103679419+marcoarnulfo@users.noreply.github.com)
- 452e922: Merge pull request #18 from marcoarnulfo/v0.3-browsing-tui (Marco Arnulfo 103679419+marcoarnulfo@users.noreply.github.com)
- 296a628: Merge pull request #19 from marcoarnulfo/v0.4-body-templating (Marco Arnulfo 103679419+marcoarnulfo@users.noreply.github.com)
- 7be401b: Merge pull request #20 from marcoarnulfo/v0.4-dry-run (Marco Arnulfo 103679419+marcoarnulfo@users.noreply.github.com)
- 28f0620: Merge pull request #21 from marcoarnulfo/v0.4-bulk-apply (Marco Arnulfo 103679419+marcoarnulfo@users.noreply.github.com)
- 43b9330: Merge pull request #22 from marcoarnulfo/v0.5-mcp-server (Marco Arnulfo 103679419+marcoarnulfo@users.noreply.github.com)
- df23ea5: Merge pull request #23 from marcoarnulfo/docs/skill-catch-up (Marco Arnulfo 103679419+marcoarnulfo@users.noreply.github.com)
- 2305c4a: chore(deps): mark golang.org/x/term as a direct dependency (Marco Arnulfo marcoarnulfo1@gmail.com)
- 3234539: feat(apply): bulk writes from a JSON or CSV manifest (Marco Arnulfo marcoarnulfo1@gmail.com)
- 0adb2ad: feat(body): --expand fills {{ticket}} and {{date}} placeholders (Marco Arnulfo marcoarnulfo1@gmail.com)
- c3c3f76: feat(cli): --body-file on upsert and set with additive --json and partial-failure exit (Marco Arnulfo marcoarnulfo1@gmail.com)
- 17a570e: feat(cli): add --assignee and --unassign to upsert and set (Marco Arnulfo marcoarnulfo1@gmail.com)
- 682d933: feat(cli): add --page-id to get and set, mutually exclusive with --ticket (Marco Arnulfo marcoarnulfo1@gmail.com)
- b63d94c: feat(cli): add --priority, and show it in get and list (Marco Arnulfo marcoarnulfo1@gmail.com)
- 51b6869: feat(cli): add JSON output, exit code mapping and service wiring (Marco Arnulfo marcoarnulfo1@gmail.com)
- 3f38e10: feat(cli): add doctor and headless init commands (Marco Arnulfo marcoarnulfo1@gmail.com)
- dc928f1: feat(cli): add get and list commands with stable JSON output (Marco Arnulfo marcoarnulfo1@gmail.com)
- dda208c: feat(cli): add upsert and set commands (Marco Arnulfo marcoarnulfo1@gmail.com)
- ea99567: feat(cli): filter and display the assignee in list (Marco Arnulfo marcoarnulfo1@gmail.com)
- 7442188: feat(cli): have doctor name the token's source (Marco Arnulfo marcoarnulfo1@gmail.com)
- bd9ac60: feat(cli): let every command read the token from credentials.yml (Marco Arnulfo marcoarnulfo1@gmail.com)
- 7d61afc: feat(cli): map the assignee column and the me identity in init (Marco Arnulfo marcoarnulfo1@gmail.com)
- 8f20362: feat(cli): map the id addressing errors onto exit code 2 (Marco Arnulfo marcoarnulfo1@gmail.com)
- 03f37a1: feat(cli): prompt for and offer to save the token in init (Marco Arnulfo marcoarnulfo1@gmail.com)
- 7885609: feat(cli): read the assignee in get, in both output forms (Marco Arnulfo marcoarnulfo1@gmail.com)
- 501a03c: feat(config): add YAML profile config with schema versioning (Marco Arnulfo marcoarnulfo1@gmail.com)
- ca28ddc: feat(config): add the assignee property and the me identity (Marco Arnulfo marcoarnulfo1@gmail.com)
- 5ec2b89: feat(config): add the optional id role and guess it from the schema (Marco Arnulfo marcoarnulfo1@gmail.com)
- 97bdb7e: feat(config): add the priority property (Marco Arnulfo marcoarnulfo1@gmail.com)
- d4a358e: feat(config): persist the token in a separate credentials.yml (Marco Arnulfo marcoarnulfo1@gmail.com)
- 672fa95: feat(doctor): validate the optional id property (Marco Arnulfo marcoarnulfo1@gmail.com)
- db22f96: feat(doctor): warn when a tracked file carries an integration token (Marco Arnulfo marcoarnulfo1@gmail.com)
- bc41877: feat(get): address a row by its board id (Marco Arnulfo marcoarnulfo1@gmail.com)
- 133e5c9: feat(init): interactive wizard when run bare at a terminal (Marco Arnulfo marcoarnulfo1@gmail.com)
- a2c9279: feat(init): map the id property from flags and from the wizard (Marco Arnulfo marcoarnulfo1@gmail.com)
- 787a457: feat(json): expose the board id in every row, in the CLI and over MCP (Marco Arnulfo marcoarnulfo1@gmail.com)
- 9e7af75: feat(list): report an empty human-readable result on stderr (Marco Arnulfo marcoarnulfo1@gmail.com)
- 86505a6: feat(manifest): carry the assignee and unassign through apply (Marco Arnulfo marcoarnulfo1@gmail.com)
- 679b25d: feat(markdown): ToBlocks walker with GFM, nesting cap, and degradation (Marco Arnulfo marcoarnulfo1@gmail.com)
- cea038c: feat(markdown): inline formatting (bold, italic, code, strike, link) (Marco Arnulfo marcoarnulfo1@gmail.com)
- 051fc7a: feat(markdown): language whitelist and rich-text/span splitting (Marco Arnulfo marcoarnulfo1@gmail.com)
- 5a74187: feat(mcp): expose the assignee to agents (Marco Arnulfo marcoarnulfo1@gmail.com)
- 29c8d23: feat(mcp): serve the same operations as MCP tools over stdio (Marco Arnulfo marcoarnulfo1@gmail.com)
- 034db4c: feat(notion): Block and Span types with Notion append MarshalJSON (Marco Arnulfo marcoarnulfo1@gmail.com)
- 704dfdd: feat(notion): ListBlockChildren, AppendBlockChildren, DeleteBlock (Marco Arnulfo marcoarnulfo1@gmail.com)
- c9d6d8c: feat(notion): add GetPage and expose a page's parent data source id (Marco Arnulfo marcoarnulfo1@gmail.com)
- 8ec9f8c: feat(notion): add HTTP client with typed errors and token redaction (Marco Arnulfo marcoarnulfo1@gmail.com)
- 474f6c3: feat(notion): add a numeric unique_id equality filter (Marco Arnulfo marcoarnulfo1@gmail.com)
- 6c5b4c5: feat(notion): add the is_empty and compound and filters (Marco Arnulfo marcoarnulfo1@gmail.com)
- 4e6dbf5: feat(notion): create and update pages, add token identity check (Marco Arnulfo marcoarnulfo1@gmail.com)
- 6fe3672: feat(notion): decode unique_id values as the board renders them (Marco Arnulfo marcoarnulfo1@gmail.com)
- 408f703: feat(notion): list data sources shared with the integration (Marco Arnulfo marcoarnulfo1@gmail.com)
- f922d5a: feat(notion): normalize a pasted page id to the canonical UUID form (Marco Arnulfo marcoarnulfo1@gmail.com)
- 32d5e7c: feat(notion): pre-flight ValidateAppendable and request chunking (Marco Arnulfo marcoarnulfo1@gmail.com)
- e5e1ca9: feat(notion): query data source rows with pagination (Marco Arnulfo marcoarnulfo1@gmail.com)
- 7514da3: feat(notion): read a unique_id column's prefix from the schema (Marco Arnulfo marcoarnulfo1@gmail.com)
- 007a3d4: feat(notion): read data source schema with se...