release history

Changelog

Generated from the commit history and the release tags, so it cannot drift from what actually shipped. 5 releases, 54 recorded changes.

Unreleased work is on <a href="https://github.com/debanjanbasu/grr-cli/commits/main">main</a>. The newest tag is none yet. GitHub releases carry the binaries and checksums.

Unreleased in progress

Fixed

  • restore the linux io\_uring deps the transport probe still needs

Documentation

  • 0.5.0 changelog + refreshed stats

0.5.0

Breaking changes

  • the command tree is generated from Google's Discovery Service

Added

  • site round four - modern CSS/SVG cool pass + Rust Rewrite app-name signals

Documentation

  • 0.4.0 is live - release stats + packaging status

0.4.0

Breaking changes

  • http3 is now the default feature of every crate
  • 0.4.0 - one crate, full API coverage, pixel-art site

Added

  • 0.4.0 hardening - http3 always-on, nightly-only, pixel 3D site

Fixed

  • packaging crates.io category slug is date-and-time
  • ci rewrite publish.yml byte-clean (BOM broke workflow parsing)
  • pages checkout the repo root, not a nested site path
  • packaging crates.io allows at most 5 keywords
  • packaging crates.io allows at most 5 categories

Documentation

  • crates.io is live — 0.3.0 published, trusted-publishing-only

Internal

  • packaging winget manifests for 0.3.0 (PR #439697 updated to 0.3.0)
  • publish real trusted-publishing workflow (crates-io-auth-action, OIDC)
  • publish declare crates-io environment (matches trusted-publishing config)
  • site Google Search Console ownership file for grr-cli.pages.dev
  • site verify grr-cli.pages.dev via Search Console meta tag

0.3.0

Added

  • v0.3.0 — one CLI, six services (Gmail, Calendar, Drive, Contacts, Chat, Forms)

0.2.0

Added

  • config add TOML config file support with env var overrides
  • error remove client-side throttling, improve 429 handling with Retry-After
  • models add EmailMessage, ThreadMessage, AttachmentInfo, DraftInfo, LabelInfo, HistoryRecord, SendAsInfo
  • client add all 30+ missing API methods (messages, drafts, labels, threads, history, send-as, watch, import)
  • core fix h3/h2 prior-knowledge exclusion, add verified TransportInfo with h3 fallback
  • core add fs\_io abstraction — io\_uring-backed file I/O on Linux, tokio elsewhere
  • core single-allocation attachment decode + streamed disk writes
  • core true streaming send/import via media-upload endpoints; incremental base64 MIME assembly
  • cli add transport introspection command
  • rename to gmail-cli; auth rework, gzip decode, model fixes, release CI
  • grr v0.2.0 — zero-config rework, keyring auth, agent surface

Changed

  • cleanup and optimize workspace

Fixed

  • core force per-request HTTP\_3 version on probe and all data-plane requests when h3 effective
  • rejected refresh token returns Auth error instead of implicit OAuth flow
  • auth add token\_path override hook so tests never touch real credentials
  • auth preserve stored refresh token when grant response omits one
  • client fail fast with Auth error on 401 instead of futile stale-token retry
  • cli route send-with-attachments through legacy JSON path when --thread\_id given
  • io report io\_uring only when the io\_uring feature is compiled in
  • config accept snake\_case OAuth keys for TypeScript-era config migration
  • ci drop stray aarch64 linker from x86\_64-linux table; pass -D warnings after --
  • ci clippy is\_multiple\_of + -p grr-cli package refs for release

Documentation

  • add cleanup & optimization design spec
  • clarify zstd/brotli removal - payload compression stays via reqwest features
  • add performance-claims design spec (HTTP/3, streaming, io\_uring file I/O)
  • add performance-claims implementation plan
  • commit spec media-upload amendment and config path fix

Internal

  • truthful descriptions, drop simd vapor, track Cargo.lock
  • live e2e pipeline behind LIVE\_E2E=1
  • rustfmt defaults repo-wide; drop stale rkyv/zero-copy doc comment
  • cleanup SDD planning artifacts; add root-level docs and CI workflows
  • cargo fmt

Other

  • Initial commit: gmail-opencode-rust - High-performance Gmail API client with HTTP/3, QUIC, zero-copy streaming
  • small fix wave partial

Generated by scripts/generate-changelog.mjs and refreshed automatically.

Looking for setup instructions instead? Start here, or see all documentation.