{
"generatedAt": "2026-10-26T05:22:37.418Z",
"repository": "debanjanbasu/grr-cli",
"releases": [
{
"version": "Unreleased",
"date": null,
"unreleased": true,
"sections": []
},
{
"version": "2.2.0",
"date": "2026-10-26",
"unreleased": false,
"sections": [
{
"key": "added",
"heading": "Added",
"items": [
{
"description": "enrich tool descriptions with returns, body flow, and siblings",
"scope": "mcp",
"type": "feat",
"note": null
}
]
},
{
"key": "internal",
"heading": "Internal",
"items": [
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "grr v2.2.0",
"scope": "release",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
}
]
},
{
"key": "other",
"heading": "Other",
"items": [
{
"description": "refresh daily benchmark snapshot",
"scope": "compare",
"type": "bench",
"note": null
}
]
}
]
},
{
"version": "2.1.5",
"date": "2026-10-26",
"unreleased": false,
"sections": [
{
"key": "fixed",
"heading": "Fixed",
"items": [
{
"description": "negotiate the client's requested revision in initialize",
"scope": "mcp",
"type": "fix",
"note": null
}
]
},
{
"key": "internal",
"heading": "Internal",
"items": [
{
"description": "bump undici from 8.11.2 to 8.12.3 in /site",
"scope": "deps-dev",
"type": "chore",
"note": null
},
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "grr v2.1.5",
"scope": "release",
"type": "chore",
"note": null
}
]
},
{
"key": "other",
"heading": "Other",
"items": [
{
"description": "refresh daily benchmark snapshot",
"scope": "compare",
"type": "bench",
"note": null
}
]
}
]
},
{
"version": "2.1.4",
"date": "2026-10-26",
"unreleased": false,
"sections": [
{
"key": "fixed",
"heading": "Fixed",
"items": [
{
"description": "answer the legacy initialize handshake so standard clients connect",
"scope": "mcp",
"type": "fix",
"note": null
}
]
},
{
"key": "documentation",
"heading": "Documentation",
"items": [
{
"description": "update winget status and validation war story for v2.1.3",
"scope": "winget",
"type": "docs",
"note": null
}
]
},
{
"key": "internal",
"heading": "Internal",
"items": [
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "refresh Google Discovery index",
"scope": "discovery",
"type": "chore",
"note": null
},
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "refresh Google Discovery index",
"scope": "discovery",
"type": "chore",
"note": null
},
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "refresh Google Discovery index",
"scope": "discovery",
"type": "chore",
"note": null
},
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "refresh Google Discovery index",
"scope": "discovery",
"type": "chore",
"note": null
},
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "grr v2.1.4",
"scope": "release",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
}
]
},
{
"key": "other",
"heading": "Other",
"items": [
{
"description": "refresh daily benchmark snapshot",
"scope": "compare",
"type": "bench",
"note": null
},
{
"description": "refresh daily benchmark snapshot",
"scope": "compare",
"type": "bench",
"note": null
},
{
"description": "refresh daily benchmark snapshot",
"scope": "compare",
"type": "bench",
"note": null
}
]
}
]
},
{
"version": "2.1.3",
"date": "2026-10-20",
"unreleased": false,
"sections": [
{
"key": "fixed",
"heading": "Fixed",
"items": [
{
"description": "use generic ARMv8 baseline for windows-aarch64",
"scope": "winget",
"type": "fix",
"note": null
}
]
},
{
"key": "internal",
"heading": "Internal",
"items": [
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "refresh Google Discovery index",
"scope": "discovery",
"type": "chore",
"note": null
},
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "grr v2.1.3",
"scope": "release",
"type": "chore",
"note": null
}
]
},
{
"key": "other",
"heading": "Other",
"items": [
{
"description": "refresh daily benchmark snapshot",
"scope": "compare",
"type": "bench",
"note": null
}
]
}
]
},
{
"version": "2.1.2",
"date": "2026-10-20",
"unreleased": false,
"sections": [
{
"key": "changed",
"heading": "Changed",
"items": [
{
"description": "remove unused transport wrappers, builder, and error variants",
"scope": "core",
"type": "refactor",
"note": null
}
]
},
{
"key": "fixed",
"heading": "Fixed",
"items": [
{
"description": "print help and exit 0 on bare invocation for winget validator",
"scope": "cli",
"type": "fix",
"note": null
}
]
},
{
"key": "internal",
"heading": "Internal",
"items": [
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "refresh Google Discovery index",
"scope": "discovery",
"type": "chore",
"note": null
},
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "refresh Google Discovery index",
"scope": "discovery",
"type": "chore",
"note": null
},
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "refresh Google Discovery index",
"scope": "discovery",
"type": "chore",
"note": null
},
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "refresh Google Discovery index",
"scope": "discovery",
"type": "chore",
"note": null
},
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "grr v2.1.2",
"scope": "release",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
}
]
},
{
"key": "other",
"heading": "Other",
"items": [
{
"description": "refresh daily benchmark snapshot",
"scope": "compare",
"type": "bench",
"note": null
}
]
}
]
},
{
"version": "2.1.1",
"date": "2026-10-16",
"unreleased": false,
"sections": [
{
"key": "fixed",
"heading": "Fixed",
"items": [
{
"description": "feed the komac checksum the real filename",
"scope": "winget",
"type": "fix",
"note": null
},
{
"description": "name the komac tarball what checksums.txt expects",
"scope": "winget",
"type": "fix",
"note": null
}
]
},
{
"key": "internal",
"heading": "Internal",
"items": [
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "grr v2.1.1",
"scope": "release",
"type": "chore",
"note": null
},
{
"description": "move the environment guard to job level",
"scope": "winget",
"type": "ci",
"note": null
},
{
"description": "let workflow\\_dispatch name the tag it serves",
"scope": "release",
"type": "ci",
"note": null
}
]
},
{
"key": "other",
"heading": "Other",
"items": [
{
"description": "refresh daily benchmark snapshot",
"scope": "compare",
"type": "bench",
"note": null
}
]
}
]
},
{
"version": "2.1.0",
"date": "2026-10-16",
"unreleased": false,
"sections": [
{
"key": "added",
"heading": "Added",
"items": [
{
"description": "route the data plane through the probed engine, publish winget manifests",
"scope": "http",
"type": "feat",
"note": null
}
]
},
{
"key": "internal",
"heading": "Internal",
"items": [
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "grr v2.1.0",
"scope": "release",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "refresh stats values under the new shape",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "scope the winget token to the winget-publishing environment",
"scope": "winget",
"type": "ci",
"note": null
}
]
},
{
"key": "other",
"heading": "Other",
"items": [
{
"description": "refresh daily benchmark snapshot",
"scope": "compare",
"type": "bench",
"note": null
},
{
"description": "refresh daily benchmark snapshot",
"scope": "compare",
"type": "bench",
"note": null
}
]
}
]
},
{
"version": "2.0.1",
"date": "2026-10-15",
"unreleased": false,
"sections": [
{
"key": "fixed",
"heading": "Fixed",
"items": [
{
"description": "trim the login set, keep the stored grant on refresh",
"scope": "auth",
"type": "fix",
"note": null
}
]
},
{
"key": "internal",
"heading": "Internal",
"items": [
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "refresh Google Discovery index",
"scope": "discovery",
"type": "chore",
"note": null
},
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "grr v2.0.1",
"scope": "release",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
}
]
},
{
"key": "other",
"heading": "Other",
"items": [
{
"description": "refresh daily benchmark snapshot",
"scope": "compare",
"type": "bench",
"note": null
},
{
"description": "refresh daily benchmark snapshot",
"scope": "compare",
"type": "bench",
"note": null
}
]
}
]
},
{
"version": "2.0.0",
"date": "2026-10-15",
"unreleased": false,
"sections": [
{
"key": "breaking",
"heading": "Breaking changes",
"items": [
{
"description": "request a small default scope set, widened per service",
"scope": "auth",
"type": "feat",
"note": null
}
]
},
{
"key": "fixed",
"heading": "Fixed",
"items": [
{
"description": "satisfy clippy::panic and expect\\_used in the scope tests",
"scope": "tests",
"type": "fix",
"note": null
}
]
},
{
"key": "documentation",
"heading": "Documentation",
"items": [
{
"description": "a scope declaration takes minutes to apply, and the consent needs ticking",
"scope": "auth",
"type": "docs",
"note": null
},
{
"description": "correct the multi-account claim, cover a fresh account first grant",
"scope": "auth",
"type": "docs",
"note": null
}
]
},
{
"key": "internal",
"heading": "Internal",
"items": [
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "refresh Google Discovery index",
"scope": "discovery",
"type": "chore",
"note": null
},
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "grr v2.0.0",
"scope": "release",
"type": "chore",
"note": null
}
]
},
{
"key": "other",
"heading": "Other",
"items": [
{
"description": "refresh daily benchmark snapshot",
"scope": "compare",
"type": "bench",
"note": null
}
]
}
]
},
{
"version": "1.0.1",
"date": "2026-10-14",
"unreleased": false,
"sections": [
{
"key": "fixed",
"heading": "Fixed",
"items": [
{
"description": "name both consent-screen traps in the login timeout",
"scope": "auth",
"type": "fix",
"note": null
}
]
},
{
"key": "internal",
"heading": "Internal",
"items": [
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "grr v1.0.1",
"scope": "release",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
}
]
},
{
"key": "other",
"heading": "Other",
"items": [
{
"description": "refresh daily benchmark snapshot",
"scope": "compare",
"type": "bench",
"note": null
}
]
}
]
},
{
"version": "1.0.0",
"date": "2026-10-14",
"unreleased": false,
"sections": [
{
"key": "breaking",
"heading": "Breaking changes",
"items": [
{
"description": "serve only the stateless 2026-07-28 revision",
"scope": "mcp",
"type": "feat",
"note": null
}
]
},
{
"key": "internal",
"heading": "Internal",
"items": [
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "refresh Google Discovery index",
"scope": "discovery",
"type": "chore",
"note": null
},
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "grr v1.0.0",
"scope": "release",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
}
]
},
{
"key": "other",
"heading": "Other",
"items": [
{
"description": "refresh daily benchmark snapshot",
"scope": "compare",
"type": "bench",
"note": null
}
]
}
]
},
{
"version": "0.15.0",
"date": "2026-10-13",
"unreleased": false,
"sections": [
{
"key": "added",
"heading": "Added",
"items": [
{
"description": "GRR\\_TOKEN\\_STORE=file - the keyring-free token store",
"scope": "auth",
"type": "feat",
"note": null
}
]
},
{
"key": "internal",
"heading": "Internal",
"items": [
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "grr v0.15.0",
"scope": "release",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
}
]
},
{
"key": "other",
"heading": "Other",
"items": [
{
"description": "refresh daily benchmark snapshot",
"scope": "compare",
"type": "bench",
"note": null
}
]
}
]
},
{
"version": "0.14.0",
"date": "2026-10-13",
"unreleased": false,
"sections": [
{
"key": "added",
"heading": "Added",
"items": [
{
"description": "speak the stateless 2026-07-28 revision",
"scope": "mcp",
"type": "feat",
"note": null
}
]
},
{
"key": "internal",
"heading": "Internal",
"items": [
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "grr v0.14.0",
"scope": "release",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
}
]
},
{
"key": "other",
"heading": "Other",
"items": [
{
"description": "refresh daily benchmark snapshot",
"scope": "compare",
"type": "bench",
"note": null
}
]
}
]
},
{
"version": "0.13.5",
"date": "2026-10-13",
"unreleased": false,
"sections": [
{
"key": "fixed",
"heading": "Fixed",
"items": [
{
"description": "store the granted scopes, not the requested ones",
"scope": "auth",
"type": "fix",
"note": null
}
]
},
{
"key": "internal",
"heading": "Internal",
"items": [
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "grr v0.13.5",
"scope": "release",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "serde\\_json 1.0.154, sha2 0.11.1",
"scope": "deps",
"type": "chore",
"note": null
}
]
},
{
"key": "other",
"heading": "Other",
"items": [
{
"description": "refresh daily benchmark snapshot",
"scope": "compare",
"type": "bench",
"note": null
}
]
}
]
},
{
"version": "0.13.4",
"date": "2026-10-12",
"unreleased": false,
"sections": [
{
"key": "fixed",
"heading": "Fixed",
"items": [
{
"description": "give the browser login five minutes, not two",
"scope": "auth",
"type": "fix",
"note": null
}
]
},
{
"key": "internal",
"heading": "Internal",
"items": [
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "grr v0.13.4",
"scope": "release",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
}
]
},
{
"key": "other",
"heading": "Other",
"items": [
{
"description": "refresh daily benchmark snapshot",
"scope": "compare",
"type": "bench",
"note": null
}
]
}
]
},
{
"version": "0.13.3",
"date": "2026-10-13",
"unreleased": false,
"sections": [
{
"key": "fixed",
"heading": "Fixed",
"items": [
{
"description": "drop the trim-paths gate Cargo stabilized in 1.101",
"scope": "build",
"type": "fix",
"note": null
},
{
"description": "make grr auth login --device actually work",
"scope": "auth",
"type": "fix",
"note": null
}
]
},
{
"key": "internal",
"heading": "Internal",
"items": [
{
"description": "refresh Google Discovery index",
"scope": "discovery",
"type": "chore",
"note": null
},
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "grr v0.13.3",
"scope": "release",
"type": "chore",
"note": null
},
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
}
]
},
{
"key": "other",
"heading": "Other",
"items": [
{
"description": "refresh daily benchmark snapshot",
"scope": "compare",
"type": "bench",
"note": null
}
]
}
]
},
{
"version": "0.13.2",
"date": "2026-10-12",
"unreleased": false,
"sections": [
{
"key": "fixed",
"heading": "Fixed",
"items": [
{
"description": "drop Chat app-authentication scopes from the consent set",
"scope": "auth",
"type": "fix",
"note": null
}
]
},
{
"key": "internal",
"heading": "Internal",
"items": [
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "grr v0.13.2",
"scope": "release",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
}
]
},
{
"key": "other",
"heading": "Other",
"items": [
{
"description": "refresh daily benchmark snapshot",
"scope": "compare",
"type": "bench",
"note": null
},
{
"description": "refresh daily benchmark snapshot",
"scope": "compare",
"type": "bench",
"note": null
}
]
}
]
},
{
"version": "0.13.1",
"date": "2026-10-12",
"unreleased": false,
"sections": [
{
"key": "fixed",
"heading": "Fixed",
"items": [
{
"description": "preserve search UI and correctly merge patch updates",
"scope": null,
"type": "fix",
"note": null
},
{
"description": "set owner identity for generated commits",
"scope": "automation",
"type": "fix",
"note": null
},
{
"description": "update vulnerable transitive dependencies",
"scope": "site",
"type": "fix",
"note": null
},
{
"description": "use public registry URLs in lockfile",
"scope": "site",
"type": "fix",
"note": null
}
]
},
{
"key": "internal",
"heading": "Internal",
"items": [
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "refresh Google Discovery index",
"scope": "discovery",
"type": "chore",
"note": null
},
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "refresh Google Discovery index",
"scope": "discovery",
"type": "chore",
"note": null
},
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "refresh Google Discovery index",
"scope": "discovery",
"type": "chore",
"note": null
},
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "grr v0.13.1",
"scope": "release",
"type": "chore",
"note": null
}
]
},
{
"key": "other",
"heading": "Other",
"items": [
{
"description": "refresh daily benchmark snapshot",
"scope": "compare",
"type": "bench",
"note": null
},
{
"description": "refresh daily benchmark snapshot",
"scope": "compare",
"type": "bench",
"note": null
}
]
}
]
},
{
"version": "0.13.0",
"date": "2026-10-09",
"unreleased": false,
"sections": [
{
"key": "added",
"heading": "Added",
"items": [
{
"description": "shell completions for bash, zsh, powershell and elvish",
"scope": "cli",
"type": "feat",
"note": null
}
]
},
{
"key": "internal",
"heading": "Internal",
"items": [
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "refresh Google Discovery index",
"scope": "discovery",
"type": "chore",
"note": null
},
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "refresh Google Discovery index",
"scope": "discovery",
"type": "chore",
"note": null
},
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "grr v0.13.0",
"scope": "release",
"type": "chore",
"note": null
},
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
}
]
},
{
"key": "other",
"heading": "Other",
"items": [
{
"description": "refresh daily benchmark snapshot",
"scope": "compare",
"type": "bench",
"note": null
}
]
}
]
},
{
"version": "0.12.0",
"date": "2026-10-06",
"unreleased": false,
"sections": [
{
"key": "added",
"heading": "Added",
"items": [
{
"description": "consent to every scope the embedded index names",
"scope": "auth",
"type": "feat",
"note": null
}
]
},
{
"key": "internal",
"heading": "Internal",
"items": [
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "grr v0.12.0",
"scope": "release",
"type": "chore",
"note": null
}
]
},
{
"key": "other",
"heading": "Other",
"items": [
{
"description": "refresh daily benchmark snapshot",
"scope": "compare",
"type": "bench",
"note": null
},
{
"description": "refresh daily benchmark snapshot",
"scope": "compare",
"type": "bench",
"note": null
}
]
}
]
},
{
"version": "0.11.3",
"date": "2026-10-06",
"unreleased": false,
"sections": [
{
"key": "fixed",
"heading": "Fixed",
"items": [
{
"description": "keep --json stdout parseable, annotations go to stderr",
"scope": "verify",
"type": "fix",
"note": null
}
]
},
{
"key": "internal",
"heading": "Internal",
"items": [
{
"description": "bump sharp from 0.35.4 to 0.35.5 in /site",
"scope": "deps-dev",
"type": "chore",
"note": null
},
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "grr v0.11.3",
"scope": "release",
"type": "chore",
"note": null
}
]
},
{
"key": "other",
"heading": "Other",
"items": [
{
"description": "refresh daily benchmark snapshot",
"scope": "compare",
"type": "bench",
"note": null
}
]
}
]
},
{
"version": "0.11.2",
"date": "2026-10-07",
"unreleased": false,
"sections": [
{
"key": "fixed",
"heading": "Fixed",
"items": [
{
"description": "run the rustsec audit on a resolved lockfile, re-aim the release changelog check",
"scope": "ci",
"type": "fix",
"note": null
},
{
"description": "assert benchmarks.json drift and protocol instead of a calendar age",
"scope": "verify",
"type": "fix",
"note": null
}
]
},
{
"key": "internal",
"heading": "Internal",
"items": [
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "refresh Google Discovery index",
"scope": "discovery",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "refresh Google Discovery index",
"scope": "discovery",
"type": "chore",
"note": null
},
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "bump source-map-js from 1.2.1 to 1.2.2 in /site",
"scope": "deps",
"type": "chore",
"note": null
},
{
"description": "grr v0.11.2",
"scope": "release",
"type": "chore",
"note": null
}
]
},
{
"key": "other",
"heading": "Other",
"items": [
{
"description": "refresh daily benchmark snapshot",
"scope": "compare",
"type": "bench",
"note": null
}
]
}
]
},
{
"version": "0.11.1",
"date": "2026-10-05",
"unreleased": false,
"sections": [
{
"key": "fixed",
"heading": "Fixed",
"items": [
{
"description": "v2 CPU baseline and no UPX — portability over the last percent",
"scope": "windows",
"type": "fix",
"note": null
},
{
"description": "keep v3 and UPX — the label's cause is the invocation, not the artifact",
"scope": "windows",
"type": "fix",
"note": null
}
]
},
{
"key": "internal",
"heading": "Internal",
"items": [
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "grr v0.11.1",
"scope": "release",
"type": "chore",
"note": null
}
]
},
{
"key": "other",
"heading": "Other",
"items": [
{
"description": "refresh daily benchmark snapshot",
"scope": "compare",
"type": "bench",
"note": null
},
{
"description": "refresh daily benchmark snapshot",
"scope": "compare",
"type": "bench",
"note": null
}
]
}
]
},
{
"version": "0.11.0",
"date": "2026-10-04",
"unreleased": false,
"sections": [
{
"key": "added",
"heading": "Added",
"items": [
{
"description": "the essay gets BlogPosting structured data",
"scope": "site",
"type": "feat",
"note": null
}
]
},
{
"key": "internal",
"heading": "Internal",
"items": [
{
"description": "grr v0.11.0",
"scope": "release",
"type": "chore",
"note": null
},
{
"description": "the v0.10.0 submission, generated from the release",
"scope": "winget",
"type": "chore",
"note": null
}
]
}
]
},
{
"version": "0.10.0",
"date": "2026-10-05",
"unreleased": false,
"sections": [
{
"key": "added",
"heading": "Added",
"items": [
{
"description": "the mascot generator gates itself — assets and banner parity",
"scope": "brand",
"type": "feat",
"note": null
},
{
"description": "a container for MCP introspection hosts",
"scope": "packaging",
"type": "feat",
"note": null
}
]
},
{
"key": "fixed",
"heading": "Fixed",
"items": [
{
"description": "the distribution binaries carry their runtime",
"scope": "windows",
"type": "fix",
"note": null
}
]
},
{
"key": "internal",
"heading": "Internal",
"items": [
{
"description": "refresh Google Discovery index",
"scope": "discovery",
"type": "chore",
"note": null
},
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "grr v0.10.0",
"scope": "release",
"type": "chore",
"note": null
},
{
"description": "the v0.9.1 submission, generated from the release",
"scope": "winget",
"type": "chore",
"note": null
}
]
},
{
"key": "other",
"heading": "Other",
"items": [
{
"description": "refresh daily benchmark snapshot",
"scope": "compare",
"type": "bench",
"note": null
}
]
}
]
},
{
"version": "0.9.1",
"date": "2026-10-04",
"unreleased": false,
"sections": [
{
"key": "fixed",
"heading": "Fixed",
"items": [
{
"description": "anchor the release grace window to the tag while the release builds",
"scope": "verify",
"type": "fix",
"note": null
}
]
},
{
"key": "internal",
"heading": "Internal",
"items": [
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "grr v0.9.1",
"scope": "release",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
}
]
},
{
"key": "other",
"heading": "Other",
"items": [
{
"description": "refresh daily benchmark snapshot",
"scope": "compare",
"type": "bench",
"note": null
}
]
}
]
},
{
"version": "0.9.0",
"date": "2026-10-04",
"unreleased": false,
"sections": [
{
"key": "added",
"heading": "Added",
"items": [
{
"description": "sitewide search — a Pagefind index and a keyboard dialog",
"scope": "site",
"type": "feat",
"note": null
},
{
"description": "installs that migrate themselves",
"scope": "skills",
"type": "feat",
"note": null
}
]
},
{
"key": "changed",
"heading": "Changed",
"items": [
{
"description": "out with the deprecated, in with the dead weight cut",
"scope": "site",
"type": "refactor",
"note": null
},
{
"description": "one token\\_request helper for the three token flows",
"scope": "auth",
"type": "refactor",
"note": null
}
]
},
{
"key": "fixed",
"heading": "Fixed",
"items": [
{
"description": "prompt identities are scrubbed, and the validator fails closed",
"scope": "demo",
"type": "fix",
"note": null
},
{
"description": "the keychain is read at first credential use, never at startup",
"scope": "auth",
"type": "fix",
"note": null
}
]
},
{
"key": "documentation",
"heading": "Documentation",
"items": [
{
"description": "the getting-started page tells the winget story straight",
"scope": "site",
"type": "docs",
"note": null
},
{
"description": "the audit's drift sweep",
"scope": null,
"type": "docs",
"note": null
},
{
"description": "the live-site audit's fixes + the System One section",
"scope": "site",
"type": "docs",
"note": null
},
{
"description": "README, CONTRIBUTING and the GCP walkthrough, reviewed and trimmed",
"scope": null,
"type": "docs",
"note": null
},
{
"description": "the self-migrating installs are a headline, so say so",
"scope": null,
"type": "docs",
"note": null
}
]
},
{
"key": "internal",
"heading": "Internal",
"items": [
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "grr v0.9.0",
"scope": "release",
"type": "chore",
"note": null
},
{
"description": "the v0.8.1 submission, generated from the release",
"scope": "winget",
"type": "chore",
"note": null
},
{
"description": "never lock — every build resolves the latest",
"scope": "build",
"type": "chore",
"note": null
},
{
"description": "the locale description counts nine more services, not ten",
"scope": "winget",
"type": "chore",
"note": null
},
{
"description": "trim the toolchain and cargo config to what ships",
"scope": "rust",
"type": "chore",
"note": null
},
{
"description": "the font subsetter is Node, and so is everything else",
"scope": "scripts",
"type": "chore",
"note": null
},
{
"description": "delivery verification, metadata sync, and the release-chain fixes",
"scope": null,
"type": "ci",
"note": null
}
]
},
{
"key": "other",
"heading": "Other",
"items": [
{
"description": "refresh daily benchmark snapshot",
"scope": "compare",
"type": "bench",
"note": null
}
]
}
]
},
{
"version": "0.8.1",
"date": "2026-10-04",
"unreleased": false,
"sections": [
{
"key": "fixed",
"heading": "Fixed",
"items": [
{
"description": "archives ship the binary as grr, not the target name",
"scope": "release",
"type": "fix",
"note": null
},
{
"description": "inject the cfg gates through cargo-args; render the demo GIF per release",
"scope": "docs-rs",
"type": "fix",
"note": null
},
{
"description": "tag-release finally accepts the dispatch it has always been sent",
"scope": "release",
"type": "fix",
"note": null
}
]
},
{
"key": "internal",
"heading": "Internal",
"items": [
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "grr v0.8.1",
"scope": "release",
"type": "chore",
"note": null
}
]
},
{
"key": "other",
"heading": "Other",
"items": [
{
"description": "refresh daily benchmark snapshot",
"scope": "compare",
"type": "bench",
"note": null
}
]
}
]
},
{
"version": "0.8.0",
"date": "2026-10-04",
"unreleased": false,
"sections": [
{
"key": "added",
"heading": "Added",
"items": [
{
"description": "grr skills install — the packaged agent skills, globally",
"scope": "cli",
"type": "feat",
"note": null
},
{
"description": "as-shipped sizes and the peak-memory metric",
"scope": "bench",
"type": "feat",
"note": null
}
]
},
{
"key": "changed",
"heading": "Changed",
"items": [
{
"description": "delete dead weight, share the flag contract",
"scope": "scripts",
"type": "refactor",
"note": null
},
{
"description": "delete dead code across the CLI",
"scope": null,
"type": "refactor",
"note": null
},
{
"description": "Node 26's import.meta.dirname/filename, stat over read",
"scope": "scripts",
"type": "refactor",
"note": null
},
{
"description": "native CSS for what the shell hand-rolled",
"scope": "site",
"type": "refactor",
"note": null
}
]
},
{
"key": "performance",
"heading": "Performance",
"items": [
{
"description": "PR creators wake the merge poller — kill the 5-7 min approval wait",
"scope": "ci",
"type": "perf",
"note": null
},
{
"description": "async the last blocking paths, trim hot-path allocations, drop dead deps",
"scope": null,
"type": "perf",
"note": null
}
]
},
{
"key": "fixed",
"heading": "Fixed",
"items": [
{
"description": "merges with GITHUB\\_TOKEN fire no downstream workflows",
"scope": "ci",
"type": "fix",
"note": null
},
{
"description": "token-authored pushes and releases start nothing — dispatch the chain",
"scope": "ci",
"type": "fix",
"note": null
},
{
"description": "the live audit's twelve content corrections",
"scope": "site",
"type": "fix",
"note": null
},
{
"description": "poller retry, changelog in the release dispatch, dead input",
"scope": "ci",
"type": "fix",
"note": null
},
{
"description": "the published manifest parses without this repo's config gates",
"scope": "crate",
"type": "fix",
"note": null
}
]
},
{
"key": "documentation",
"heading": "Documentation",
"items": [
{
"description": "packaging status told the truth (0.7.0; winget unpublished)",
"scope": null,
"type": "docs",
"note": null
},
{
"description": "grr skills install across every surface",
"scope": null,
"type": "docs",
"note": null
}
]
},
{
"key": "internal",
"heading": "Internal",
"items": [
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "refresh download counts and archive sizes",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "grr v0.8.0",
"scope": "release",
"type": "chore",
"note": null
},
{
"description": "a push to main sweeps for pending bot PRs too",
"scope": "poller",
"type": "ci",
"note": null
},
{
"description": "Node 26 everywhere, and gws's size stops being its shim",
"scope": "ci",
"type": "chore",
"note": null
},
{
"description": "TypeScript 7 + types 26, tokio 1.53.2, tsconfig types",
"scope": "deps",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "ship on every push — the Friday cron is a backstop",
"scope": "release",
"type": "ci",
"note": null
},
{
"description": "a push mid-bump must not restart the bump PR's clock",
"scope": "release",
"type": "ci",
"note": null
},
{
"description": "never open a bump PR for the version main is already at",
"scope": "release",
"type": "ci",
"note": null
}
]
},
{
"key": "other",
"heading": "Other",
"items": [
{
"description": "refresh daily benchmark snapshot",
"scope": "compare",
"type": "bench",
"note": null
}
]
}
]
},
{
"version": "0.7.0",
"date": "2026-10-03",
"unreleased": false,
"sections": [
{
"key": "added",
"heading": "Added",
"items": [
{
"description": "unattended releases + the stale-count sweep",
"scope": null,
"type": "feat",
"note": null
},
{
"description": "draw the service illustrations and glyphs as real pixel art",
"scope": "site",
"type": "feat",
"note": null
},
{
"description": "draw the grr crab in the version banner",
"scope": "cli",
"type": "feat",
"note": null
}
]
},
{
"key": "performance",
"heading": "Performance",
"items": [
{
"description": "100 in every Lighthouse category",
"scope": "site",
"type": "perf",
"note": null
},
{
"description": "pack with UPX --lzma — measured 20% smaller",
"scope": "release",
"type": "perf",
"note": null
}
]
},
{
"key": "fixed",
"heading": "Fixed",
"items": [
{
"description": "the last stale counts - 401/14 everywhere",
"scope": "site",
"type": "fix",
"note": null
},
{
"description": "release correctness, dependency freshness and workflow cost",
"scope": "automation",
"type": "fix",
"note": null
},
{
"description": "stop deriving the site's numbers by hand",
"scope": "site",
"type": "fix",
"note": null
},
{
"description": "restore the PR body swallowed by add-paths",
"scope": "changelog",
"type": "fix",
"note": null
},
{
"description": "a real gutter between the docs sidenav and the content",
"scope": "site",
"type": "fix",
"note": null
},
{
"description": "the repo-root logos are the current pixel art",
"scope": "assets",
"type": "fix",
"note": null
},
{
"description": "strip UTF-8 BOMs from twelve tracked files",
"scope": null,
"type": "fix",
"note": null
},
{
"description": "the arm runner measured the wrong gog binary",
"scope": "bench",
"type": "fix",
"note": null
},
{
"description": "\\`gh pr view --json state\\` returns OPEN, not open",
"scope": "ci",
"type": "fix",
"note": null
},
{
"description": "merging needs contents:write, not contents:read",
"scope": "ci",
"type": "fix",
"note": null
},
{
"description": "--admin has no bypass for the app token; fall back on any rejection",
"scope": "ci",
"type": "fix",
"note": null
},
{
"description": "the file cannot list the commit that writes it",
"scope": "changelog",
"type": "fix",
"note": null
},
{
"description": "the gutter rule was losing to Tailwind's core .container",
"scope": "site",
"type": "fix",
"note": null
},
{
"description": "stale metadata and doc counts, now derived",
"scope": "site",
"type": "fix",
"note": null
},
{
"description": "the homepage stops advertising commands that do not exist",
"scope": "site",
"type": "fix",
"note": null
},
{
"description": "honest data displays on compare and the stats strip",
"scope": "site",
"type": "fix",
"note": null
},
{
"description": "the live demo plays the cast on main, not a rotted copy",
"scope": "site",
"type": "fix",
"note": null
},
{
"description": "the bump PR title said vv0.7.0",
"scope": "release",
"type": "fix",
"note": null
}
]
},
{
"key": "documentation",
"heading": "Documentation",
"items": [
{
"description": "0.6.0 release stats - 5-platform binary sizes",
"scope": null,
"type": "docs",
"note": null
},
{
"description": "the README matches the self-maintaining reality",
"scope": "demo",
"type": "docs",
"note": null
},
{
"description": "bring the prose back in line with the tree",
"scope": null,
"type": "docs",
"note": null
},
{
"description": "22 corrections against the current tree",
"scope": null,
"type": "docs",
"note": null
},
{
"description": "the Homebrew tap is debanjanbasu/tap",
"scope": null,
"type": "docs",
"note": null
}
]
},
{
"key": "internal",
"heading": "Internal",
"items": [
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "refresh the index and everything derived from it",
"scope": "discovery",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "re-record the terminal demo from source",
"scope": "demo",
"type": "chore",
"note": null
},
{
"description": "refresh Google Discovery index",
"scope": "discovery",
"type": "chore",
"note": null
},
{
"description": "unattended merging for the automation PRs (approve + merge)",
"scope": null,
"type": "ci",
"note": null
},
{
"description": "grr vv0.7.0",
"scope": "release",
"type": "chore",
"note": null
},
{
"description": "link the homepage and docs from the crate metadata",
"scope": "crate",
"type": "chore",
"note": null
},
{
"description": "the unblocker polls, because target events are gated too",
"scope": null,
"type": "ci",
"note": null
}
]
},
{
"key": "other",
"heading": "Other",
"items": [
{
"description": "refresh daily benchmark snapshot",
"scope": "compare",
"type": "bench",
"note": null
}
]
}
]
},
{
"version": "0.6.0",
"date": "2026-10-02",
"unreleased": false,
"sections": [
{
"key": "added",
"heading": "Added",
"items": [
{
"description": "cover the full consumer Workspace family - 14 APIs, 401 methods",
"scope": null,
"type": "feat",
"note": null
},
{
"description": "grr mcp server + safety profiles (--readonly, --deny-service, --deny-verb)",
"scope": null,
"type": "feat",
"note": null
},
{
"description": "grr ask - natural language to a typed method + params via System One",
"scope": null,
"type": "feat",
"note": null
},
{
"description": "terminal demo - asciinema cast with a real opencode agent segment",
"scope": null,
"type": "feat",
"note": null
},
{
"description": "linux-aarch64 release target (5th platform) + ARM runners everywhere GA",
"scope": null,
"type": "feat",
"note": null
},
{
"description": "demo embed + docs for mcp/ask/safety/account",
"scope": null,
"type": "feat",
"note": null
},
{
"description": "the API reference - all 401 methods documented, baked from the index",
"scope": null,
"type": "feat",
"note": null
},
{
"description": "the site maintains itself - CI demo recording + auto release",
"scope": null,
"type": "feat",
"note": null
},
{
"description": "the whole tree works offline - --dry-run needs no credential",
"scope": null,
"type": "feat",
"note": null
},
{
"description": "carry-forward for transport and agent segments everywhere",
"scope": "demo",
"type": "feat",
"note": null
}
]
},
{
"key": "fixed",
"heading": "Fixed",
"items": [
{
"description": "the demo player renders correctly - three stacked fixes",
"scope": null,
"type": "fix",
"note": null
},
{
"description": "the scattered rendering was bare \\\\\\\\n in the cast frames",
"scope": "demo",
"type": "fix",
"note": null
},
{
"description": "the generated-artifact gates and the demo recording are cross-platform",
"scope": "ci",
"type": "fix",
"note": null
},
{
"description": "list/describe/refresh work with zero configuration",
"scope": "api",
"type": "fix",
"note": null
},
{
"description": "update Cargo.lock for v0.6.0",
"scope": "release",
"type": "fix",
"note": null
}
]
},
{
"key": "documentation",
"heading": "Documentation",
"items": [
{
"description": "0.5.0 release stats - 4-platform binary sizes",
"scope": null,
"type": "docs",
"note": null
}
]
},
{
"key": "internal",
"heading": "Internal",
"items": [
{
"description": "refresh Google Discovery index",
"scope": "discovery",
"type": "chore",
"note": null
},
{
"description": "grr v0.6.0",
"scope": "release",
"type": "chore",
"note": null
},
{
"description": "rename release.yml -\\> release-binaries.yml (fresh workflow registration)",
"scope": null,
"type": "ci",
"note": null
},
{
"description": "release parse probe (minimal skeleton)",
"scope": null,
"type": "ci",
"note": null
},
{
"description": "bisect stage 1 - build job only",
"scope": null,
"type": "ci",
"note": null
},
{
"description": "bisect stage 2 - archive job",
"scope": null,
"type": "ci",
"note": null
},
{
"description": "fix the release job's files block scalar",
"scope": null,
"type": "ci",
"note": null
}
]
},
{
"key": "other",
"heading": "Other",
"items": [
{
"description": "refresh daily benchmark snapshot",
"scope": "compare",
"type": "bench",
"note": null
}
]
}
]
},
{
"version": "0.5.0",
"date": "2026-09-28",
"unreleased": false,
"sections": [
{
"key": "breaking",
"heading": "Breaking changes",
"items": [
{
"description": "the command tree is generated from Google's Discovery Service",
"scope": null,
"type": "feat",
"note": null
}
]
},
{
"key": "added",
"heading": "Added",
"items": [
{
"description": "round four - modern CSS/SVG cool pass + Rust Rewrite app-name signals",
"scope": "site",
"type": "feat",
"note": null
}
]
},
{
"key": "fixed",
"heading": "Fixed",
"items": [
{
"description": "restore the linux io\\_uring deps the transport probe still needs",
"scope": null,
"type": "fix",
"note": null
},
{
"description": "UPX windows step - drop disabled add-path, fix GITHUB\\_ENV format",
"scope": "release",
"type": "fix",
"note": null
},
{
"description": "GITHUB\\_PATH takes effect for later steps, not the install step itself",
"scope": "release",
"type": "fix",
"note": null
},
{
"description": "pack a copy and verify before replacing - UPX segfaults on the ARM64 PE",
"scope": "release",
"type": "fix",
"note": null
}
]
},
{
"key": "documentation",
"heading": "Documentation",
"items": [
{
"description": "0.4.0 is live - release stats + packaging status",
"scope": null,
"type": "docs",
"note": null
},
{
"description": "0.5.0 changelog + refreshed stats",
"scope": null,
"type": "docs",
"note": null
}
]
}
]
},
{
"version": "0.4.0",
"date": "2026-09-26",
"unreleased": false,
"sections": [
{
"key": "breaking",
"heading": "Breaking changes",
"items": [
{
"description": "http3 is now the default feature of every crate",
"scope": null,
"type": "feat",
"note": null
},
{
"description": "0.4.0 - one crate, full API coverage, pixel-art site",
"scope": null,
"type": "feat",
"note": null
}
]
},
{
"key": "added",
"heading": "Added",
"items": [
{
"description": "0.4.0 hardening - http3 always-on, nightly-only, pixel 3D site",
"scope": null,
"type": "feat",
"note": null
}
]
},
{
"key": "fixed",
"heading": "Fixed",
"items": [
{
"description": "crates.io category slug is date-and-time",
"scope": "packaging",
"type": "fix",
"note": null
},
{
"description": "rewrite publish.yml byte-clean (BOM broke workflow parsing)",
"scope": "ci",
"type": "fix",
"note": null
},
{
"description": "checkout the repo root, not a nested site path",
"scope": "pages",
"type": "fix",
"note": null
},
{
"description": "crates.io allows at most 5 keywords",
"scope": "packaging",
"type": "fix",
"note": null
},
{
"description": "crates.io allows at most 5 categories",
"scope": "packaging",
"type": "fix",
"note": null
}
]
},
{
"key": "documentation",
"heading": "Documentation",
"items": [
{
"description": "crates.io is live — 0.3.0 published, trusted-publishing-only",
"scope": null,
"type": "docs",
"note": null
}
]
},
{
"key": "internal",
"heading": "Internal",
"items": [
{
"description": "winget manifests for 0.3.0 (PR #439697 updated to 0.3.0)",
"scope": "packaging",
"type": "chore",
"note": null
},
{
"description": "real trusted-publishing workflow (crates-io-auth-action, OIDC)",
"scope": "publish",
"type": "ci",
"note": null
},
{
"description": "declare crates-io environment (matches trusted-publishing config)",
"scope": "publish",
"type": "ci",
"note": null
},
{
"description": "Google Search Console ownership file for grr-cli.pages.dev",
"scope": "site",
"type": "chore",
"note": null
},
{
"description": "verify grr-cli.pages.dev via Search Console meta tag",
"scope": "site",
"type": "chore",
"note": null
}
]
}
]
},
{
"version": "0.3.0",
"date": "2026-09-24",
"unreleased": false,
"sections": [
{
"key": "added",
"heading": "Added",
"items": [
{
"description": "v0.3.0 — one CLI, six services (Gmail, Calendar, Drive, Contacts, Chat, Forms)",
"scope": null,
"type": "feat",
"note": null
}
]
}
]
},
{
"version": "0.2.0",
"date": "2026-09-23",
"unreleased": false,
"sections": [
{
"key": "added",
"heading": "Added",
"items": [
{
"description": "add TOML config file support with env var overrides",
"scope": "config",
"type": "feat",
"note": null
},
{
"description": "remove client-side throttling, improve 429 handling with Retry-After",
"scope": "error",
"type": "feat",
"note": null
},
{
"description": "add EmailMessage, ThreadMessage, AttachmentInfo, DraftInfo, LabelInfo, HistoryRecord, SendAsInfo",
"scope": "models",
"type": "feat",
"note": null
},
{
"description": "add all 30+ missing API methods (messages, drafts, labels, threads, history, send-as, watch, import)",
"scope": "client",
"type": "feat",
"note": null
},
{
"description": "fix h3/h2 prior-knowledge exclusion, add verified TransportInfo with h3 fallback",
"scope": "core",
"type": "feat",
"note": null
},
{
"description": "add fs\\_io abstraction — io\\_uring-backed file I/O on Linux, tokio elsewhere",
"scope": "core",
"type": "feat",
"note": null
},
{
"description": "single-allocation attachment decode + streamed disk writes",
"scope": "core",
"type": "feat",
"note": null
},
{
"description": "true streaming send/import via media-upload endpoints; incremental base64 MIME assembly",
"scope": "core",
"type": "feat",
"note": null
},
{
"description": "add transport introspection command",
"scope": "cli",
"type": "feat",
"note": null
},
{
"description": "rename to gmail-cli; auth rework, gzip decode, model fixes, release CI",
"scope": null,
"type": "feat",
"note": null
},
{
"description": "grr v0.2.0 — zero-config rework, keyring auth, agent surface",
"scope": null,
"type": "feat",
"note": null
}
]
},
{
"key": "changed",
"heading": "Changed",
"items": [
{
"description": "cleanup and optimize workspace",
"scope": null,
"type": "refactor",
"note": null
}
]
},
{
"key": "fixed",
"heading": "Fixed",
"items": [
{
"description": "force per-request HTTP\\_3 version on probe and all data-plane requests when h3 effective",
"scope": "core",
"type": "fix",
"note": null
},
{
"description": "rejected refresh token returns Auth error instead of implicit OAuth flow",
"scope": null,
"type": "fix",
"note": null
},
{
"description": "add token\\_path override hook so tests never touch real credentials",
"scope": "auth",
"type": "fix",
"note": null
},
{
"description": "preserve stored refresh token when grant response omits one",
"scope": "auth",
"type": "fix",
"note": null
},
{
"description": "fail fast with Auth error on 401 instead of futile stale-token retry",
"scope": "client",
"type": "fix",
"note": null
},
{
"description": "route send-with-attachments through legacy JSON path when --thread\\_id given",
"scope": "cli",
"type": "fix",
"note": null
},
{
"description": "report io\\_uring only when the io\\_uring feature is compiled in",
"scope": "io",
"type": "fix",
"note": null
},
{
"description": "accept snake\\_case OAuth keys for TypeScript-era config migration",
"scope": "config",
"type": "fix",
"note": null
},
{
"description": "drop stray aarch64 linker from x86\\_64-linux table; pass -D warnings after --",
"scope": "ci",
"type": "fix",
"note": null
},
{
"description": "clippy is\\_multiple\\_of + -p grr-cli package refs for release",
"scope": "ci",
"type": "fix",
"note": null
}
]
},
{
"key": "documentation",
"heading": "Documentation",
"items": [
{
"description": "add cleanup & optimization design spec",
"scope": null,
"type": "docs",
"note": null
},
{
"description": "clarify zstd/brotli removal - payload compression stays via reqwest features",
"scope": null,
"type": "docs",
"note": null
},
{
"description": "add performance-claims design spec (HTTP/3, streaming, io\\_uring file I/O)",
"scope": null,
"type": "docs",
"note": null
},
{
"description": "add performance-claims implementation plan",
"scope": null,
"type": "docs",
"note": null
},
{
"description": "commit spec media-upload amendment and config path fix",
"scope": null,
"type": "docs",
"note": null
}
]
},
{
"key": "internal",
"heading": "Internal",
"items": [
{
"description": "truthful descriptions, drop simd vapor, track Cargo.lock",
"scope": null,
"type": "chore",
"note": null
},
{
"description": "live e2e pipeline behind LIVE\\_E2E=1",
"scope": null,
"type": "test",
"note": null
},
{
"description": "rustfmt defaults repo-wide; drop stale rkyv/zero-copy doc comment",
"scope": null,
"type": "chore",
"note": null
},
{
"description": "cleanup SDD planning artifacts; add root-level docs and CI workflows",
"scope": null,
"type": "chore",
"note": null
},
{
"description": "cargo fmt",
"scope": null,
"type": "style",
"note": null
}
]
},
{
"key": "other",
"heading": "Other",
"items": [
{
"description": "Initial commit: gmail-opencode-rust - High-performance Gmail API client with HTTP/3, QUIC, zero-copy streaming",
"scope": null,
"type": null,
"note": null
},
{
"description": "small fix wave partial",
"scope": null,
"type": null,
"note": null
}
]
}
]
}
]
}