From 4f221055b3cd7ca647c7efe29f08a0e2cf9a53d0 Mon Sep 17 00:00:00 2001 From: Simone Carolini Date: Sun, 11 Oct 2026 15:45:36 +0200 Subject: [PATCH] chore(release): runtime 0.9.0, postgres/trino 0.3.0, duckdb 0.2.0 Python node write modes (append, upsert) land across the stack: contract write capabilities + conformance suite (0.8.0, already bumped), the postgres, trino and duckdb adapters, and the harness write path. Contract stays at 0.8.0; the runtime and three adapters bump. Signed-off-by: Simone Carolini Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_0137E9XmyUXhwPTRrtNfivDw --- CHANGELOG.md | 2 ++ README.md | 6 +++--- adapters/duckdb/pyproject.toml | 2 +- adapters/postgres/pyproject.toml | 2 +- adapters/trino/pyproject.toml | 2 +- image-requirements-duckdb.txt | 4 ++-- image-requirements-postgres.txt | 4 ++-- image-requirements-trino.txt | 4 ++-- pyproject.toml | 2 +- template/Dockerfile | 2 +- uv.lock | 8 ++++---- 11 files changed, 20 insertions(+), 18 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8e66a6e..fc4b11f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). ## [Unreleased] +## [0.9.0] - 2026-10-11 + ### Added - Contracts may set `mode_type` — `replace` (the default), `append` or diff --git a/README.md b/README.md index 35d242b..bb1e228 100644 --- a/README.md +++ b/README.md @@ -327,11 +327,11 @@ A domain repo picks its warehouse engine by which base image it builds `FROM`: ```dockerfile -FROM ghcr.io/carolsimone/continuo-python-runtime-postgres:v0.8.0 +FROM ghcr.io/carolsimone/continuo-python-runtime-postgres:v0.9.0 # or -FROM ghcr.io/carolsimone/continuo-python-runtime-trino:v0.8.0 +FROM ghcr.io/carolsimone/continuo-python-runtime-trino:v0.9.0 # or -FROM ghcr.io/carolsimone/continuo-python-runtime-duckdb:v0.8.0 +FROM ghcr.io/carolsimone/continuo-python-runtime-duckdb:v0.9.0 ``` The engine is part of the image **name**; the tag is the bare version, so diff --git a/adapters/duckdb/pyproject.toml b/adapters/duckdb/pyproject.toml index 1a10d63..543a59a 100644 --- a/adapters/duckdb/pyproject.toml +++ b/adapters/duckdb/pyproject.toml @@ -1,5 +1,5 @@ [project] -version = "0.1.0" +version = "0.2.0" name = "continuo-duckdb-adapter" description = "DuckDB (DuckLake) warehouse adapter for Continuo: validation and python-node runtime." authors = [{ name = "Simone Carolini" }] diff --git a/adapters/postgres/pyproject.toml b/adapters/postgres/pyproject.toml index 172e05c..cfb87ab 100644 --- a/adapters/postgres/pyproject.toml +++ b/adapters/postgres/pyproject.toml @@ -1,5 +1,5 @@ [project] -version = "0.2.2" +version = "0.3.0" name = "continuo-postgres-adapter" description = "Postgres warehouse adapter for Continuo: validation and python-node runtime." authors = [{ name = "Simone Carolini" }] diff --git a/adapters/trino/pyproject.toml b/adapters/trino/pyproject.toml index 635bca8..2907549 100644 --- a/adapters/trino/pyproject.toml +++ b/adapters/trino/pyproject.toml @@ -1,5 +1,5 @@ [project] -version = "0.2.1" +version = "0.3.0" name = "continuo-trino-adapter" description = "Trino warehouse adapter for Continuo: validation and python-node runtime." authors = [{ name = "Simone Carolini" }] diff --git a/image-requirements-duckdb.txt b/image-requirements-duckdb.txt index 2aacb75..8a3c130 100644 --- a/image-requirements-duckdb.txt +++ b/image-requirements-duckdb.txt @@ -1,3 +1,3 @@ -continuo-python-runtime==0.8.0 -continuo-duckdb-adapter==0.1.0 +continuo-python-runtime==0.9.0 +continuo-duckdb-adapter==0.2.0 continuo-engine-contract==0.8.0 diff --git a/image-requirements-postgres.txt b/image-requirements-postgres.txt index 74954d8..5e9ce9a 100644 --- a/image-requirements-postgres.txt +++ b/image-requirements-postgres.txt @@ -1,3 +1,3 @@ -continuo-python-runtime==0.8.0 -continuo-postgres-adapter==0.2.2 +continuo-python-runtime==0.9.0 +continuo-postgres-adapter==0.3.0 continuo-engine-contract==0.8.0 diff --git a/image-requirements-trino.txt b/image-requirements-trino.txt index 8813359..86954f9 100644 --- a/image-requirements-trino.txt +++ b/image-requirements-trino.txt @@ -1,3 +1,3 @@ -continuo-python-runtime==0.8.0 -continuo-trino-adapter==0.2.1 +continuo-python-runtime==0.9.0 +continuo-trino-adapter==0.3.0 continuo-engine-contract==0.8.0 diff --git a/pyproject.toml b/pyproject.toml index 4a0936b..317bf05 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "continuo-python-runtime" -version = "0.8.0" +version = "0.9.0" description = "Runtime harness, contract tooling, and CI lint for Continuo python nodes." authors = [{ name = "Simone Carolini" }] maintainers = [{ name = "Simone Carolini" }] diff --git a/template/Dockerfile b/template/Dockerfile index 2ddf939..af497de 100644 --- a/template/Dockerfile +++ b/template/Dockerfile @@ -1,5 +1,5 @@ # Tags are v; one image per engine (continuo-python-runtime-postgres / -trino). -FROM ghcr.io/carolsimone/continuo-python-runtime-postgres:v0.8.0 +FROM ghcr.io/carolsimone/continuo-python-runtime-postgres:v0.9.0 COPY contracts/ /app/contracts/ COPY scripts/ /app/scripts/ # COPY every OTHER directory your scripts import from, too. CI folds a script's diff --git a/uv.lock b/uv.lock index dbfbd5b..f312e83 100644 --- a/uv.lock +++ b/uv.lock @@ -162,7 +162,7 @@ wheels = [ [[package]] name = "continuo-duckdb-adapter" -version = "0.1.0" +version = "0.2.0" source = { editable = "adapters/duckdb" } dependencies = [ { name = "continuo-engine-contract" }, @@ -225,7 +225,7 @@ provides-extras = ["testing"] [[package]] name = "continuo-postgres-adapter" -version = "0.2.2" +version = "0.3.0" source = { editable = "adapters/postgres" } dependencies = [ { name = "continuo-engine-contract" }, @@ -262,7 +262,7 @@ test = [ [[package]] name = "continuo-python-runtime" -version = "0.8.0" +version = "0.9.0" source = { editable = "." } dependencies = [ { name = "boto3" }, @@ -305,7 +305,7 @@ test = [ [[package]] name = "continuo-trino-adapter" -version = "0.2.1" +version = "0.3.0" source = { editable = "adapters/trino" } dependencies = [ { name = "continuo-engine-contract" },