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
25 changes: 25 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Changelog

## 0.2.0 (2026-10-17)

### New look
- Redesigned landing page and app on a new design system, with a left navigation rail and light motion.
- The landing page's 3D hero figure loads only on larger screens. Phones, low-power devices and reduced-motion settings get a static figure instead.

### Clearer results
- Failure clusters now read as plain statements of what failed.
- Attempts that gave the same output are grouped into one row ("10 attempts, identical output") that opens to the attempts themselves.
- The mock summarizer writes readable summaries.
- Tables that are wider than the screen on mobile scroll sideways inside a labelled region with a visible hint.

### Fixes
- Saving an attempt now holds the run's lock only for the final counter update, not for the whole save. This fixes slow saves and flaky end-to-end tests.
- Failure clustering computes each pairwise distance once instead of recomputing them on every merge.

### Housekeeping
- Removed the unused card variants.
- Added an accessibility check that covers every page of the app at 1440, 810 and 390 px.

## 0.1.0 (2026-10-04)

First release. See the [v0.1.0 release notes](https://github.com/AlfredBateman/AgentProbe/releases/tag/v0.1.0).
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -164,8 +164,8 @@ Python 3.12 or 3.13 (3.14 was tried and could not build the pinned PyYAML 6.0.2
```bash
python3 -m venv .venv && source .venv/bin/activate
pip install \
"agentprobe-core @ git+https://github.com/AlfredBateman/AgentProbe@v0.1.0#subdirectory=packages/core" \
"agentprobe @ git+https://github.com/AlfredBateman/AgentProbe@v0.1.0#subdirectory=packages/cli"
"agentprobe-core @ git+https://github.com/AlfredBateman/AgentProbe@v0.2.0#subdirectory=packages/core" \
"agentprobe @ git+https://github.com/AlfredBateman/AgentProbe@v0.2.0#subdirectory=packages/cli"
agentprobe --help
```

Expand Down Expand Up @@ -282,7 +282,7 @@ jobs:
steps:
- uses: actions/checkout@v7
# Start your agent here, on a port your agentprobe.yaml points at.
- uses: AlfredBateman/AgentProbe/action@v0.1.0
- uses: AlfredBateman/AgentProbe/action@v0.2.0
with:
suite: suites/regression.yaml
fail-under: "0.9"
Expand Down
4 changes: 2 additions & 2 deletions action/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@ a pass rate below threshold — using the `agentprobe` CLI's own exit codes ([AD
Minimal, no server (mock LLM judges, no baseline comparison):

```yaml
- uses: AlfredBateman/AgentProbe/action@v0.1.0
- uses: AlfredBateman/AgentProbe/action@v0.2.0
with:
suite: suites/regression.yaml
```

With an AgentProbe server, comparing against `main`'s recorded baseline:

```yaml
- uses: AlfredBateman/AgentProbe/action@v0.1.0
- uses: AlfredBateman/AgentProbe/action@v0.2.0
with:
suite: suites/regression.yaml
baseline-branch: main
Expand Down
4 changes: 2 additions & 2 deletions apps/api/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description = "AgentProbe FastAPI backend and workers."
requires-python = ">=3.12"
license = "MIT"
dependencies = [
"agentprobe-core==0.1.0",
"agentprobe-core==0.2.0",
"alembic==1.20.0",
"argon2-cffi==25.1.0",
"cryptography==50.0.1",
Expand All @@ -25,7 +25,7 @@ dependencies = [
[project.optional-dependencies]
# Live LLM judging on the server (docs/DEPLOY.md): opt-in, since LiteLLM's tree is large. The
# API image installs it only when built with --build-arg API_EXTRAS=live.
live = ["agentprobe-core[live]==0.1.0"]
live = ["agentprobe-core[live]==0.2.0"]

[build-system]
requires = ["uv_build>=0.12.18,<0.13"]
Expand Down
2 changes: 1 addition & 1 deletion apps/web/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "web",
"version": "0.1.0",
"version": "0.2.0",
"private": true,
"license": "MIT",
"scripts": {
Expand Down
2 changes: 1 addition & 1 deletion packages/cli/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Not on PyPI yet, and the PyPI name `agentprobe` belongs to an unrelated project:
`pip install agentprobe`. Install the CLI and its engine from this repository instead:

```bash
pip install "agentprobe-core @ git+https://github.com/AlfredBateman/AgentProbe@v0.1.0#subdirectory=packages/core" "agentprobe @ git+https://github.com/AlfredBateman/AgentProbe@v0.1.0#subdirectory=packages/cli"
pip install "agentprobe-core @ git+https://github.com/AlfredBateman/AgentProbe@v0.2.0#subdirectory=packages/core" "agentprobe @ git+https://github.com/AlfredBateman/AgentProbe@v0.2.0#subdirectory=packages/cli"
```

Requires Python 3.12+. `agentprobe --help` should work right after install, with no config.
Expand Down
4 changes: 2 additions & 2 deletions packages/cli/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
[project]
name = "agentprobe"
version = "0.1.0"
version = "0.2.0"
description = "AgentProbe CLI: run agent test suites locally and in CI."
requires-python = ">=3.12"
license = "MIT"
dependencies = [
"agentprobe-core==0.1.0",
"agentprobe-core==0.2.0",
"rich==15.0.0",
"typer==0.27.2",
]
Expand Down
2 changes: 1 addition & 1 deletion packages/core/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "agentprobe-core"
version = "0.1.0"
version = "0.2.0"
description = "AgentProbe engine: suite schema, adapters, judges, attacks, statistics, LLM layer."
requires-python = ">=3.12"
license = "MIT"
Expand Down
4 changes: 3 additions & 1 deletion packages/core/src/agentprobe_core/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
"""AgentProbe engine. Pure logic: no database or web-framework imports."""

__version__ = "0.1.0"
from importlib.metadata import version

__version__ = version("agentprobe-core")
2 changes: 1 addition & 1 deletion packages/core/tests/test_smoke.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@


def test_version_is_exposed() -> None:
assert agentprobe_core.__version__ == "0.1.0"
assert agentprobe_core.__version__ == "0.2.0"
4 changes: 2 additions & 2 deletions uv.lock

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

Loading