Skip to content

release: 0.12.0#369

Open
stainless-app[bot] wants to merge 4 commits into
mainfrom
release-please--branches--main--changes--next
Open

release: 0.12.0#369
stainless-app[bot] wants to merge 4 commits into
mainfrom
release-please--branches--main--changes--next

Conversation

@stainless-app
Copy link
Copy Markdown
Contributor

@stainless-app stainless-app Bot commented May 26, 2026

Automated Release PR

0.12.0 (2026-05-27)

Full Changelog: v0.11.4...v0.12.0

Features

  • api: add cleaned_at field to task response types (38ed338)

Chores

  • deps: drop unused runtime deps and exclude tests from wheel (#367) (f4303d1)

Refactors

  • types: promote protocol types to agentex.protocol.* (#371) (6f1c14f)

This pull request is managed by Stainless's GitHub App.

The semver version number is based on included commit messages. Alternatively, you can manually set the version number in the title of this pull request.

For a better experience, it is recommended to use either rebase-merge or squash-merge when merging this pull request.

🔗 Stainless website
📚 Read the docs
🙋 Reach out for help or questions

Greptile Summary

This automated release PR bumps the SDK to 0.12.0, introducing three changes: a new cleaned_at optional field across task response types, promotion of wire-protocol shapes to a new agentex.protocol.* package, and cleanup of unused runtime dependencies.

  • cleaned_at field: Added as Optional[datetime] to Task, TaskListResponseItem, TaskRetrieveByNameResponse, and TaskRetrieveResponse, in alphabetical order before created_at.
  • Protocol refactoring: agentex.lib.types.acp and agentex.lib.types.json_rpc are now thin back-compat shims re-exporting from the new canonical agentex.protocol.acp / agentex.protocol.json_rpc. JSON-RPC model config flags (from_attributes=True, populate_by_name=True) are preserved explicitly and validated by a new test suite in tests/test_protocol_shims.py.
  • Dependency cleanup: Removed dev/test packages (pytest, pytest-asyncio, ipykernel) and other unused runtime packages (tornado, tzlocal, tzdata, datadog, anthropic) from the wheel; mcp[cli] narrowed to mcp.

Confidence Score: 5/5

Safe to merge; all changes are additive, backward-compatible, and well-tested.

The protocol-type move is backed by an explicit identity-test suite, back-compat shims cover all historical import paths, the cleaned_at field is purely additive and optional, and the removed dependencies are either dev-only packages or were genuinely unused at runtime.

No files require special attention.

Important Files Changed

Filename Overview
src/agentex/protocol/init.py New module establishing agentex.protocol as the canonical location for wire-protocol shapes; clean design with appropriate dependency constraints documented
src/agentex/protocol/acp.py Protocol types moved here verbatim from agentex.lib.types.acp; models still use plain pydantic.BaseModel as they always did, so no behavioral change
src/agentex/protocol/json_rpc.py JSON-RPC envelope types moved from agentex.lib.utils.model_utils.BaseModel to plain pydantic; from_attributes=True/populate_by_name=True preserved explicitly via _PROTOCOL_MODEL_CONFIG
src/agentex/lib/types/acp.py Converted to a back-compat shim re-exporting all original symbols from agentex.protocol.acp; all historical imports continue to work
src/agentex/lib/types/json_rpc.py Converted to a back-compat shim re-exporting from agentex.protocol.json_rpc; all three historical classes remain importable
pyproject.toml Version bumped to 0.12.0; removed unused runtime deps (tornado, tzlocal, tzdata, pytest, pytest-asyncio, ipykernel, datadog, anthropic); changed mcp[cli] to mcp; added wheel exclusions for internal test files
tests/test_protocol_shims.py New test file with thorough coverage of the back-compat contract: symbol parity, class identity across import paths, and preservation of JSON-RPC model config flags
src/agentex/types/task.py Added optional cleaned_at: Optional[datetime] field; placed before created_at in alphabetical order, consistent with other task response types

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A["agentex.protocol.acp\n(canonical)"] --> |defines| B[RPCMethod\nCreateTaskParams\nSendMessageParams\nSendEventParams\nCancelTaskParams]
    C["agentex.protocol.json_rpc\n(canonical)"] --> |defines| D[JSONRPCRequest\nJSONRPCResponse\nJSONRPCError]

    E["agentex.lib.types.acp\n(back-compat shim)"] -->|re-exports from| A
    F["agentex.lib.types.json_rpc\n(back-compat shim)"] -->|re-exports from| C

    G[FastACP / BaseACPServer\nTemporalACP / Workflows\nCLI Templates] -->|new imports| A
    G -->|new imports| C
    H[Legacy consumers] -->|still works| E
    H -->|still works| F
Loading

Reviews (3): Last reviewed commit: "release: 0.12.0" | Re-trigger Greptile

)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from ee2b10f to 97dae2a Compare May 26, 2026 23:16
@stainless-app stainless-app Bot changed the title release: 0.11.5 release: 0.12.0 May 26, 2026
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from 97dae2a to 4bbaa85 Compare May 26, 2026 23:17
max-parke-scale and others added 2 commits May 27, 2026 11:35
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from 4bbaa85 to ae01a46 Compare May 27, 2026 15:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant