Skip to content

release: 1.11.0 - #81

Open
cryxnet wants to merge 14 commits into
mainfrom
release/1.11.0
Open

cryxnet wants to merge 14 commits into
mainfrom
release/1.11.0

Conversation

@cryxnet

@cryxnet cryxnet commented Oct 27, 2026

Copy link
Copy Markdown
Collaborator

One full release with every open change: #74, #75, #76, #77, #78 and #80, on top of main (#79).

What's in it

Checked locally

  • Every touched test file plus the approval suite: 467 passed (from this branch's src).
  • ruff check, ruff format --check, mypy src (242 files, clean), mkdocs build --strict.
  • Reviewed each change: the classifier's handler check uses the runtime_checkable ApprovalHandler protocol, so duck-typed handlers are still accepted; the warning keys match the scanner's pii/credential detector names; gemini-3.8-flash is on Google's current model list.

The full suite runs here in CI (Linux, macOS, Windows). After merge: tag v1.11.0, GitHub release, PyPI, then a smoke test of the published package.

Supersedes #74, #75, #76, #77, #78, #80.

🤖 Generated with Claude Code

cryxnet and others added 13 commits October 24, 2026 21:58
1.10.1 warned at construction whenever PII or credential findings were set
to BLOCK without redact_input=True, so scanners used only for output or
tool results warned for nothing. The warning now comes the first time an
input scan has such a finding, once per scanner.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Rich wrapped the output at 80 columns when stdout was not a terminal, so
'last_hash <hash> (seq N)' split across two lines and broke scripts that
extract the hash for --anchor.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The keyless setup from the docs (extra={'azure_ad_token_provider': ...})
raised 'AZURE_OPENAI_API_KEY is not set' unless a key was also set, though
the request only carries the bearer token. A token provider or token in
extra now counts as the credential.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A bare function was accepted at construction and failed at the first
escalation with AttributeError. It is now wrapped in CallbackApprovalHandler
like ApprovalPolicy(handler=...) does; anything else raises TypeError up front.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…elease/1.11.0

# Conflicts:
#	CHANGELOG.md
#	docs/resources/changelog.md
… release/1.11.0

# Conflicts:
#	CHANGELOG.md
#	docs/resources/changelog.md
…into release/1.11.0

# Conflicts:
#	CHANGELOG.md
#	docs/resources/changelog.md
…' into release/1.11.0

# Conflicts:
#	CHANGELOG.md
#	docs/resources/changelog.md
An AgentProcess connects its MCP servers itself and hands the agent
ready-made tools, so the agent has no _mcp_multi and describe_agent
found no servers: the MCP tab stayed empty. describe_agent now also
collects the MCP clients behind the agent's tools.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Comment thread src/promptise/approval_classifier.py Fixed
…col, no import cycle

AutoApprovalClassifier wraps a function fallback in CallbackApprovalHandler. It
imported it from promptise.approval, which imports the classifier (CodeQL:
cyclic import). The class now lives in _approval_types next to ApprovalHandler;
promptise.approval and promptise still export the same class.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants