From 3e8b3d82e6dfb8f7ce42de428bafddd10a3c7a85 Mon Sep 17 00:00:00 2001 From: RoboCo Release Manager Date: Thu, 16 Jul 2026 04:03:09 +0000 Subject: [PATCH] chore(release): 0.25.0 --- CHANGELOG.md | 2 ++ panel/package.json | 2 +- pyproject.toml | 2 +- roboco/__init__.py | 2 +- roboco/config.py | 2 +- uv.lock | 2 +- 6 files changed, 7 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 409dbc7d..3abc8995 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), ## [Unreleased] +## [0.25.0] - 2026-07-16 + ### Added - **Env-branches ladder + EnvSyncEngine (default-off `ROBOCO_ENV_SYNC_ENABLED`).** Replaces a project's single `default_branch` with an ordered environment ladder — nullable `projects.environments` JSONB (migration 073): index 0 is the head rung (where dev/cell/leaf PRs land and the per-agent clone points), index -1 is the prod rung (where the gated release executor commits + tags). A null ladder degenerates to a single-branch ladder synthesized from `default_branch` at read time (`roboco/models/env_branches.py`), so every existing project keeps behaving byte-for-byte until the CEO declares a real split. The release executor promotes the full chain head→…→prod before bumping (fail-closed on a merge conflict) and release-readiness diffs `prod..head` with a tag-drift cross-check; `EnvSyncEngine` cascades the ladder prod→…→head via GitHub's merges API, auto-pushing a clean merge and opening one sync PR + Main-PM task on a conflict — never targeting the prod rung. The panel gains an environment-ladder editor on the project edit dialog. diff --git a/panel/package.json b/panel/package.json index a15f4ee1..088fa382 100644 --- a/panel/package.json +++ b/panel/package.json @@ -1,6 +1,6 @@ { "name": "roboco-panel", - "version": "0.24.0", + "version": "0.25.0", "private": true, "packageManager": "pnpm@11.10.0", "scripts": { diff --git a/pyproject.toml b/pyproject.toml index 3194af60..d51b47bc 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "roboco" -version = "0.24.0" +version = "0.25.0" description = "AI Agents Company - A virtual organization of AI agents functioning as a software development workforce" authors = [ {name = "Renzo Franceschini", email = "rennf93@users.noreply.github.com"} diff --git a/roboco/__init__.py b/roboco/__init__.py index ec1e5032..1b433080 100644 --- a/roboco/__init__.py +++ b/roboco/__init__.py @@ -5,7 +5,7 @@ A virtual organization of 25 AI agents + 1 human CEO, designed to operate as a complete software development workforce. """ -__version__ = "0.24.0" +__version__ = "0.25.0" # Core exports from roboco.config import settings diff --git a/roboco/config.py b/roboco/config.py index 8c5433a3..3e4b08ef 100644 --- a/roboco/config.py +++ b/roboco/config.py @@ -36,7 +36,7 @@ class Settings(BaseSettings): # ========================================================================== # Application # ========================================================================== - app_version: str = "0.24.0" + app_version: str = "0.25.0" debug: bool = False environment: str = Field( default="development", pattern="^(development|staging|production)$" diff --git a/uv.lock b/uv.lock index 1827ce0f..6473a95d 100644 --- a/uv.lock +++ b/uv.lock @@ -2533,7 +2533,7 @@ wheels = [ [[package]] name = "roboco" -version = "0.24.0" +version = "0.25.0" source = { editable = "." } dependencies = [ { name = "alembic" },