Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
2 changes: 1 addition & 1 deletion plugins/kbagent/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -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",
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -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"
Expand Down
17 changes: 17 additions & 0 deletions src/keboola_agent_cli/changelog.py
Original file line number Diff line number Diff line change
Expand Up @@ -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: "
Expand Down
2 changes: 1 addition & 1 deletion uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading