0.5.0
Highlights
- Email open tracking:
gog gmail send --track+gog gmail track ...(Cloudflare Worker backend; optional per-account setup +--track-split) (#35) — thanks @salmonumbrella. - Calendar parity + Workspace: recurrence rules/reminders, Focus Time/OOO/Working Location event types, workspace users list, and Groups/team helpers (#41) — thanks @salmonumbrella.
- Auth + config: JSON5
config.json, improvedgog auth status,gog auth keyring ..., and refresh token validation viagog auth list --check. - Secrets UX: safer keyring behavior (headless Linux guard; keychain unlock guidance).
- Keep: Workspace-only Google Keep support — thanks @koala73.
Features
- Calendar:
gog calendar create|update --rrule/--reminderfor recurrence rules and custom reminders — thanks @salmonumbrella.gog calendar update --add-attendee ...to add attendees without losing existing RSVP state.- Workspace users list + timezone-aware time windows and flags like
--week-start.
- Gmail:
gog gmail thread attachmentslist/download attachments (#27) — thanks @salmonumbrella.gog gmail thread get --fullshows complete bodies (default truncates) (#25) — thanks @salmonumbrella.gog gmail labels create, reply-all support, thread search date display, and thread-id replies.gog gmail get --jsonincludes flattened headers,unsubscribe, and extractedbody(for--format full).gog gmail settings ...reorg + filter operations now request the right settings scope (thanks @camerondare).
- Keep: list/search/get notes and download attachments (Workspace only; service account via
gog auth keep ...) — thanks @koala73. - Contacts:
gog contacts other deletefor removing other contacts (thanks @salmonumbrella). - Drive: comments subcommand.
- Sheets:
sheets update|append --copy-validation-from ...copies data validation (#29) — thanks @mahmoudashraf93. - Auth/services:
docsservice support + service metadata/listing (thanks @mbelinky).groupsservice support for Cloud Identity (Workspace only):gog auth add <email> --services groups.gog auth keyring <auto|keychain|file>writeskeyring_backendtoconfig.json.GOG_KEYRING_BACKEND={auto|keychain|file}to force a backend (usefileto avoid Keychain prompts; pair withGOG_KEYRING_PASSWORD).
- Docs:
docs info/docs catnow use the Docs API (Drive still used for exports/copy/create). - Build: linux_arm64 release target.
Fixed
- Calendar: recurring event creation now sets an IANA
timeZoneinferred from--from/--tooffsets (#53) — thanks @visionik. - Secrets:
- Headless Linux no longer hangs on D-Bus; auto-fallback to file backend and timeout guidance for edge cases (fixes #45) — thanks @salmonumbrella.
- Keyring backend normalization/validation and clearer errors — thanks @salmonumbrella.
- macOS Keychain: detect “locked” state and offer unlock guidance.
- Auth: OAuth browser flow now finishes immediately after callback; manual OAuth paste accepts EOF; verify requested account matches authorized email; store tokens under the real account email (Google userinfo).
- Auth:
gog auth tokens listfilters non-token keyring entries. - Gmail: watch push dedupe/historyId sync improvements; List-Unsubscribe extraction; MIME normalization + padded base64url support (#52) — thanks @antons.
- Gmail: drafts update preserves thread/reply headers when updating existing drafts (#55) — thanks @antons.
Changed
- CLI: help output polish (grouped by default, optional full expansion via
GOG_HELP=full); colored headings/command names; more flag aliases like--output/--output-dir(#47) — thanks @salmonumbrella. - Homebrew/DX: tap installs GitHub release binaries (macOS) to reduce Keychain prompt churn; remove pnpm wrapper in favor of
make gogtargets;make gog <args>works withoutARGS=. - Auth:
gog auth addnow defaults to--services user(--services allremains accepted for backwards compatibility).