You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
MCP: add a typed, allowlisted gog mcp stdio server with read-only defaults and explicit write-tool opt-in. (#637) — thanks @auroracapital.
Docs: add docs table-column-width to set fixed native table column widths or reset columns to evenly distributed sizing. (#631) — thanks @sebsnyk.
Fixed
Agent/MCP: fix command-allowlist docs so examples include mcp, keep wildcard tool selectors shell-safe, and report public dry-run op paths for service-account, Calendar, Forms, Meet, Sheets named ranges, and Docs/Sheets/Slides copy commands.
Auth/credentials: return usage errors for unknown --services values and invalid service-account key JSON, keep auth keep --dry-run file-free, and make zoom auth setup --dry-run emit a redacted no-write plan.
Backup/config: make backup init/export/push validation fail before repository or OAuth side effects, keep backup init --dry-run and --no-push offline/local-only, preserve semantic manifest counts during verify/export, and return usage errors for invalid config keys or values.
CLI: preserve command-local --fields API masks, keep open --type shortcuts from rewriting unsupported URLs into malformed Google editor links, and stop advertising ads as an API command service while retaining it as an auth-only scope.
Validation: consistently return usage exit code 2 before auth, API-key lookup, dry-run success, or mutation for invalid list limits, empty IDs/queries, malformed dates/timezones/recurrence, invalid enum flags, invalid resource paths, malformed JSON, unsupported formats, immutable labels, and unsafe local-file Markdown image references across Admin, Calendar, Chat, Contacts, Docs, Drive, Drive Activity, Drive Labels, Forms, Gmail, Groups, Keep, Maps, People, Photos, Search Console, Sheets, Slides, Tasks, Time, and YouTube.
JSON output: return empty arrays instead of null for empty Calendar conflicts, Classroom lists, Forms responses/watches, Gmail settings/filter/thread-attachment results, People relations, blank Sheets ranges, blank Slides text/image lists, and empty YouTube list responses.
Calendar: make calendar conflicts check all calendars by default, reject explicit one-calendar conflict checks, reject unsupported all-day/date-only Out of Office payloads locally, and return usage errors when response/propose-time actions cannot be applied.
Contacts: warm the People API contact-search cache before contact, other-contact, and Gmail --from-contact searches; resolve contacts raw <email> and people raw <email> to contact resources; and use an other-contact-safe read mask for other-contact list/search.
Classroom: reject unfiltered classroom invitations list locally, report the canonical hyphenated dry-run op for guardian-invitations create, and normalize empty list output.
Docs: validate docs sed, docs cell-style, and docs table-column-width table targets locally; reject malformed sed expressions; and fail Markdown writes with local image references that must be public HTTPS URLs.
Drive: validate download/export/upload combinations before API calls, validate comment/permission limits, validate reporting/audit/bulk scan bounds, and reject invalid Drive Label field values including fractional integers, malformed dates/users, malformed --fields-json, and trailing JSON tokens.
Gmail: validate vacation, auto-forward, forwarding, send-as, delegation, filter forwarding, compose headers, message formats, batch-modify labels, history cursors, tracked-send setup options, and immutable label operations locally; keep gmail track setup --dry-run offline and make tracking setup/status/key rotation honor --json without leaking generated secrets.
Maps: validate mode, units, and reverse-geocode coordinates before API-key lookup, and share a generic Maps/Places API-key setup error with Calendar Places commands.
Sheets: infer sheets format --format-fields from --format-json, validate update/append/table values and JSON specs locally, reject invalid field masks/ranges/anchors/type flags, and reject explicit negative freeze counts instead of treating -1 as an unset sentinel.
Slides: make local-image insertion/replacement use stable Drive download URLs and retry while sharing propagates, avoid invalid speaker-notes deleteText requests on blank notes pages, make notes/slide deletion commands return valid JSON, and require --force for non-interactive slide deletion.
YouTube: let activities list --channel-id, playlists list --channel-id, and channels list --id honor --account OAuth; filter youtube search list --type to requested resource kinds; and validate blank IDs/type lists/chart regions before auth or API-key setup.