CloudQuery published CLI tag cli-v6.42.3 on 15 September 2026 at 11:05:23 UTC. cloudquery plugin publish now returns errInvalidPluginName when package.json has an empty team or name and the command has no plugin name argument. The same tag stops WarnOnOutdatedVersions from calling the Hub for a plugin path that is not exactly org/name, and it pins Go 1.26.6, github.com/cloudquery/plugin-pb-go v1.27.21, and google.golang.org/grpc v1.83.2.
The full release notes and downloads are on the GitHub release page. The diff from cli-v6.42.2 is the compare view. The tag is a stable patch. The notes list five bug fixes.
Plugin publish returns errInvalidPluginName ¶
The publish command reads team and name from package.json under dist-dir (-D). The default directory is dist. 23359 (8a62778) changes the empty field branch in cli/cmd/plugin_publish.go.
The command accepts at most one argument. When team or name is empty, the old code split args[0] on / with no length check. An empty argument list panicked with a Go index out of range on that read. The new branch returns when len(args) == 0.
The error value is errInvalidPluginName:
invalid plugin name. Must be in format <team_name>/<plugin_name>, set via the "team" and "name" fields in package.json or passed as an argument
If an argument is present, strings.Split on / must return exactly two parts. Those parts are copied into team and name. Any other count returns the same error. The new text still begins with the old sentence and then names the package.json fields.
The guard still accepts a two part argument with an empty segment. team/ and /plugin both have length two, so they are written through. The panic fix is the zero argument case.
TestPluginPublishMissingPluginName in cli/cmd/plugin_publish_test.go expects errInvalidPluginName for three --dist-dir fixtures: cli/cmd/testdata/dist-v1-empty-team-and-name-package-json, cli/cmd/testdata/dist-v1-no-team-package-json, and cli/cmd/testdata/dist-v1-no-name-package-json. The both empty fixture keeps schema_version 1 and kind source, with team and name as empty strings.
The check runs before the line Publishing plugin ... to CloudQuery Hub and before CreateNewPluginDraftVersion. A missing name fails in process. It does not open a draft or upload tables.json. Passing <team_name>/<plugin_name> while the manifest fields are empty still fills those fields and continues.
The version warner requires exactly org/name ¶
23341 (ae74c60) tightens pluginPathToOrgName in cli/internal/specs/v0/version.go. WarnOnOutdatedVersions calls it for every source, destination, and transformer.
The old helper rejected a path only when a / split returned fewer than two segments. Empty segments were kept. Extra segments were dropped, and the first two became the org and the name. A path of /.cq produced an empty org and the name .cq. The change description records the Hub request that followed: GET /plugins//source/.cq. The cache path /.cq/plugins/source/cloudquery/aws/v1.0.0/plugin splits the same way because of the leading slash. cloudquery/aws/extra kept org cloudquery and name aws, and the warner still ran.
The new condition is len(parts) != 2 || parts[0] == "" || parts[1] == "". The error is invalid plugin path: %s. format should be org/name. WarnOnOutdatedVersions logs that at debug and continues:
failed to get org and name from plugin path
The log field is plugin, plus the parse error. The sync continues. The outdated version lookup is skipped for that plugin.
cli/internal/specs/v0/version_test.go accepts cloudquery/aws. It rejects /.cq, the long .cq cache path, cloudquery/, /aws, aws, an empty string, and cloudquery/aws/extra.
The registry gate is unchanged. WarnIfOutdated still runs only for the CloudQuery registry, or for the GitHub registry when the parsed org is cloudquery. A valid org/name on that registry still gets the warning. A file path under .cq, a one segment name, or a three segment path skips it. Specs that already use an org/name path keep the check.
Go 1.26.6 and two module pins ¶
The other three lines are dependency pins. They add no subcommand and no config key.
23344 (bfc2d40) sets the Go module directive to 1.26.6, up from 1.26.5. A source build of this tag follows that directive.
23343 (6dd430e) moves github.com/cloudquery/plugin-pb-go from v1.27.20 to v1.27.21. The module notes quoted there reject an empty or malformed org/name in the plugin version warner. version.go imports github.com/cloudquery/plugin-pb-go/managedplugin and calls PluginVersionWarner.WarnIfOutdated. The CLI skips a bad path. The library rejects a bad id if a caller still passes one.
23346 (86fb163) moves google.golang.org/grpc from v1.83.1 to v1.83.2. The grpc notes quoted there say the server rejects a request that omits both :authority and Host, with HTTP 400 and status Internal. On this tag the line is a module pin in the CLI. Plugin binaries ship on their own release tags.
Publish jobs that omitted the name now fail with errInvalidPluginName before any Hub draft exists. Specs that point at a local .cq path stop issuing the empty org Hub GET during the version warning.
Where to get it ¶
- GitHub release page
- Project repository
- Tag:
cli-v6.42.3