NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
gg_multi manages multi package workspaces and supports orchestrated editing and publishing
Last release 2 days ago
06 Oct 2026
Ships fairly regularly
a new release about every 9 days
Most releases are documented
notes for 51 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
5 months old
92 releases · first in 2026
One column per month.
Document that the commit message's first line has no length limit
Update the dependencies to the fixes of ticket 137
### Changed - Install the dna_ggsuite DNA
Fix Windows-specific test failures that blocked the review
Flutter projecs fail on publish
Cleanup copy right headers. Update to dart 3.13. Auto fixes.
Nothing published for this version
### Changed - Provide gg via npm - Fix shell changes
CLAUDE.md and handbook document the per-repo .gg/publish_config.json the AI maintains
.gg/publish_config.json the AI maintainsNo tickets folder anymore. Plain repos in ticket.
### Fixed - Various fixes
### Fixed - Fix »gg do rm« issues
### Changed - Don't review skipped packages - Merge origin/main
Nothing published for this version
Nothing published for this version
Nothing published for this version
Split gg_multi into multiple packages
Show ticket deletion dialog at the beginning of publish. Recolorize.
Nothing published for this version
### Changed - Fix issues with CHANGELOG.md
Remove duplicate upgrade calls from publish workflow
Improve push and publish workflow
Rename .master to .ocean with automatic migration at next start
### Changed - Finetune command line output - Update dependencies
Prevent pubspec.lock interrupting publishing
Remove ./ from test error paths to allow directly opening it in vscode
### Changed - Improve review workflow - Improve workflow
dart pub upgrade --major-versions --tighten
gg do review opens a pull request for every ticket repo right after pushing it and prints its url, so the work can be reviewed while the ticket is sti
gg do review opens a pull request for every ticket repo right after pushing it and prints its url, so the work can be reviewed while the ticket is still open. The pull requests carry no auto-merge flag — gg do publish reuses them and sets it when the release is done. An existing open pull request is reused, and a repo whose pull request cannot be opened (no GitHub/Azure DevOps remote, missing gh/az) is reported without failing the review.do update master: syncs the master workspace with the git platforms. It walks every organization of .organizations, fetches its current repository lis
do update master: syncs the master workspace with the git platforms. It walks every organization of .organizations, fetches its current repository list, clones the repos master lacks and moves the ones the organization no longer offers to <root>/.trash/.master/<org>/<repo>. Repos are matched by remote url, so a folder named after the package is recognized. Nothing is removed on a guess: an unparsable/missing remote, an unregistered organization and every repo of an organization whose fetch failed stay untouched. --dry-run reports without changing anything.Trash.moveFromMaster: moves a master repository into <root>/.trash/.master, with the same never-overwrite (2) suffixing and cross-volume fallback moveFromTicket uses.Use gg_args 2.1.0 which reports unknown sub commands itself
Add »gg do create graph« to output mermaid graphs
gg do create graph boxes the repositories of each organization in a mermaid
subgraph when more than one organization is shown. --no-group-by-orgs
turns the boxes off.gg do create graph Writes the dependency graph to stdout or file, as mermaid (default) or json. Inside a ticket it graphs the ticket repos and what th
gg do create graph Writes the dependency graph to stdout or file,
as mermaid (default) or json. Inside a ticket it graphs the ticket repos
and what they reach, outside a ticket the whole master workspace, and
--org <name> narrows it down to one organization. Redundant edges are
hidden by default (--no-transitive-reduction keeps them); further options
are --orientation, --(no-)dev-dependencies and --3rdparty-deps.
--output <file> (-o) writes the graph into a file instead of stdout.
Arrows point from the dependency to the dependent, so a horizontal chart
lists the dependencies on the left and the dependents on the right.gg can publish verifies the npm login of every repo as its own step. It therefore stays a ticket-wide, up-front check even though the rest of the per-
gg can publish verifies the npm login of every repo as its own step. It therefore stays a ticket-wide, up-front check even though the rest of the per-repo publish readiness moved into do publish, so a missing npm login is still reported before the first package is uploaded.gg do merge reports "Merging … failed" and "The merge is marked as »failed«" instead of the publish wording.CanPublishCommand.checkTicket(…, includeCanPublish:) and CanPublishCommand.checkRepo(…). gg can publish itself is unchanged apart from the added npm step.do publish/do merge no longer fail on a ticket whose repos depend on each other. gg can publish ran pana for every repo up front, where a constraint naming an as-yet-unpublished sibling version cannot resolve. The check now runs per repo, right before that repo is published — after its refs were unlocalized and committed and before it is pushed — so every dependency published earlier in the same run is already on its registry.Reading the marker from origin/ still works for branches an older gg pushed, but warns that it is deprecated.
ticket.json is no longer written into the repositories of a ticket, force-staged and pushed. It now lives in the ticket folder only (tickets/<ticket>/ticket.json), so a private ticket's description and repo list never reach a remote.do checkout takes the path or an http(s) URL of a ticket.json; a directory is read as a ticket folder. Reading the marker from origin/<branch> still works for branches an older gg pushed, but warns that it is deprecated..gg/ticket.json and .gg/.ticket.json are gitignored again instead of whitelisted, and copyDirectory skips both names.Merge gg one do merge to gg one do publish --merge-only
Take base version from git tags when publish_to is none
\#gg: changed references to pub.dev
Fix: Skipping unchanged repos from publishing does not work
»do publish« makes sure every repo has at least one version on its registry (pub.dev / npm) before it is published. A repo that was never published is
Introtruce .trash for deleted tickets and repos
\#gg: changed references to git
Nothing published for this version
Nothing published for this version
Nothing published for this version
### Added - Add »gg do merge«
### Changed - Require minimum gg version
Do not publish unchanged packages: skip repos without manual changes when no dependency outgrew its published constraint
Print »waiting until ... appears on pub.dev only one time
### Changed - Rename exec into maintain
Colorize 'Deleted repository from ticket message'
Print publish fail reason to console
### Changed - Put repos into org folders
### Changed - Improve main merging behavior
Remove gg_multi_ui - heavy dependency from gg_multi
»gg do rm« deletes repos from ticket
Don't fail when repo is already deleted on merging
Stale .gg/.gg-publish.json publish progress is no longer carried from the master workspace into ticket copies: copyDirectory skips the file and do add
.gg/.gg-publish.json publish progress is no longer carried from the
master workspace into ticket copies: copyDirectory skips the file and
do add deletes a leftover from the master repo before copying. Such a
leftover made a fresh gg do publish in the new ticket abort with
»An unfinished publish left progress …«.Don't show duplicate output when adding repos
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →