diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index aa1c97b4..75b6af86 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -10,7 +10,7 @@ "plugins": [ { "name": "kbagent", - "version": "0.75.0", + "version": "0.76.0", "source": "./plugins/kbagent", "description": "AI-friendly interface to Keboola Connection projects — explore configs, jobs, lineage, call MCP tools, manage dev branches, and debug SQL in workspaces", "category": "development" diff --git a/plugins/kbagent/.claude-plugin/plugin.json b/plugins/kbagent/.claude-plugin/plugin.json index 98fd502c..c380db5f 100644 --- a/plugins/kbagent/.claude-plugin/plugin.json +++ b/plugins/kbagent/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "kbagent", - "version": "0.75.0", + "version": "0.76.0", "description": "AI-friendly interface to Keboola Connection projects — explore configs, jobs, lineage, call MCP tools, manage dev branches, and debug SQL in workspaces", "author": { "name": "Keboola", diff --git a/pyproject.toml b/pyproject.toml index 6a445cff..0cb5d5ac 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "keboola-cli" -version = "0.75.0" +version = "0.76.0" description = "AI-friendly CLI for managing Keboola projects" readme = "README.md" requires-python = ">=3.12" diff --git a/src/keboola_agent_cli/changelog.py b/src/keboola_agent_cli/changelog.py index 3da9f3f7..f6631310 100644 --- a/src/keboola_agent_cli/changelog.py +++ b/src/keboola_agent_cli/changelog.py @@ -24,6 +24,23 @@ # Ordered newest-first. Each value is a list of brief one-line descriptions. CHANGELOG: dict[str, list[str]] = { + "0.76.0": [ + "Change (#520): the ~3,960-LOC `client.py` is split into a `client/` package by " + "endpoint family (storage tables/files, configs, queue, tokens, branches, stream, " + "query, workspaces, misc, plus `_core`/`_transfer`). `KeboolaClient` stays a single " + "class composed from per-family mixins, so the public import surface and the SDK " + "`Client.raw` contract are byte-identical -- verified as a pure move (every method " + "body unchanged) plus a full live E2E pass.", + "Note: this is an internal-only release -- no user-facing behavior changes. It bundles " + "the client refactor above with E2E test-suite hardening; every `client/*.py` module is " + "under the CONTRIBUTING.md file-size ceiling, and new HTTP methods now go into the " + "relevant `client/*.py` mixin instead of the old monolith.", + "Fix (tests, #521 #523): repaired the long-standing nightly E2E flakes -- clone " + "(missing bucket create on the default branch), config-secret (response-envelope path), " + "swap + file-list (read-after-write / read-after-DDL eventual consistency, now polled), " + "and stream (unique per-run source name to dodge a wedged orphan). The nightly E2E is " + "green again after ~7 weeks.", + ], "0.75.0": [ "New (#512): table snapshots -- `kbagent storage table-from-snapshot` creates a NEW " "table from an existing snapshot (restore), plus the full lifecycle: " diff --git a/uv.lock b/uv.lock index b261cb61..6441b62f 100644 --- a/uv.lock +++ b/uv.lock @@ -590,7 +590,7 @@ wheels = [ [[package]] name = "keboola-cli" -version = "0.75.0" +version = "0.76.0" source = { editable = "." } dependencies = [ { name = "croniter" },