AgentPaaS v0.4.1 release notes
Release date: 2026-09-13
The v0.4.1 tag is a CLI and daemon release. The repository changelog calls the functional release line 2026-08-31, and the current tag is a later same-line recut. The Cloud repository has no matching v0.4.1 tag. Cloud ingress items below describe the Cloud code and API associated with this release line.
This release adds the hosted ingress plane and hardens MCP and LLM completion behavior.
Breaking changes
- Hosted MCP HTTP mode requires a package with kind
mcp_serviceand the supported Streamable HTTP transport. A package without that kind follows the worker path. - A model call has a five-minute deadline. The RPC read deadline is normally 310 seconds, which gives the provider completion path 10 seconds of transport slack.
- Cloud ingress provider names, signature formats, and event fields are exact. Requests that do not match the provider contract are rejected before a run exists.
Upgrade notes
Upgrade the CLI and restart the daemon:
brew update
brew upgrade --cask AgentPaaS-ai/homebrew-tap/agentpaas
agentpaas version
agentpaas daemon stop 2>/dev/null || true
agentpaas daemon start
agentpaas doctor
If you author an MCP server, declare kind: mcp_service and the supported HTTP transport in the package metadata. Keep provider signing secrets in stdin or the brokered secret path. Do not put them in chat, source files, or command history.
Added
- Ingress sources with provider, label, signing secret, Request URL, and lifecycle state.
- Ingress connections that subscribe a deployment to a source.
- CLI commands for source creation, source listing, connection creation, connection listing, source disable, connection disable, source secret rotation, reply credential binding, event inspection, and filter testing.
- Provider adapters for
slack,stripe,github, andgeneric_hmac. - HMAC verification before run admission, connection filters, provider event deduplication where an event ID exists, and ingress event records.
- Slack Mode B replies using the run's final output text, with source channel and thread targeting.
- A synchronous OpenAI-compatible LLM client path.
- OpenRouter reasoning-token exclusion for synchronous calls.
- SSE completion decoding that returns
message.contentafter the provider completes. - Fail-closed deadlines for model calls and the RPC path.
- The MCP server authoring card for
mcp_service.
Changed
- Ingress uses the deployment's existing invoke limit. A valid signature does not bypass deployment capacity.
- Connection filters run against provider event fields. An omitted filter matches all admitted events for that source.
- Slack ingress admits
url_verificationandapp_mentionbehavior documented for the provider adapter. It does not accept arbitrary Slack event types by default. - Slack threaded replies require a bound
slack-bot-tokencredential. The reply path posts final output text rather than the JSON run envelope. - Cloud API calls from the CLI identify the client with the documented User-Agent.
- LLM completion reads stop after a parsed completion object or the trusted deadline. Provider completion no longer leaves a run waiting on a stale socket.
Deprecated
None recorded for this release.
Removed
None recorded for this release.
Fixed
- Fixed agentgateway 1.3.0 routes so they do not emit credentials.
- Fixed MCP daemon and harness handling so
tools/callerrors become failed runs. - Fixed
mcp_servicemode environment and harness connection setup. - Fixed HTTP MCP credential failure classification.
- Fixed live-call mailbox outcomes so a failed child cannot be promoted as successful.
- Fixed the provider request path to pass request headers to payload mapping.
- Fixed duplicate ingress event persistence and added tenant audit-chain records for ingress events.
- Fixed same-name deployment replacement so existing ingress connections retarget to the replacement deployment.
- Fixed a completed SSE response that could leave the cloud run active after the provider had finished.
- Fixed the LLM RPC reader so a provider or socket that ignores cancellation still reaches the deadline.
Security
- Ingress verifies the provider signature before a run exists. Invalid signatures do not create a run.
- Signing secrets and reply credentials are brokered and never printed by the CLI.
- Ingress is separate from egress. An inbound webhook source does not grant arbitrary outbound network access to the component.
- Non-HTTP protocols are outside the supported transparent-proxy model.
- Cloud data is currently processed and stored in the United States. See Data handling.
Known issues
- Slack support is limited to the documented Events API behavior, including
app_mention. Other Slack event types require a supported adapter path. - Slack replies require the source channel and thread context plus a bound bot credential. Large output is subject to the provider and delivery limits documented in the ingress guide.
generic_hmacrequires the documented HMAC-SHA256 request format and an idempotency key when the provider does not supply an event ID.- Stripe and GitHub signature formats are exact. A request using a different header or signing format is rejected.
- Long-running model calls still fail closed at five minutes. The deadline prevents indefinite waiting and does not make a slow provider complete successfully.
- The Cloud repository has no release tag for this version. Cloud behavior should be checked against the current API and the release-linked ingress docs when deploying independently of the CLI.
How to use the new features
Create a Slack source without printing its signing secret:
printf '%s' "$SLACK_SIGNING_SECRET" | agentpaas cloud ingress source create \
--provider slack \
--label "support bot" \
--secret-stdin
Connect a deployment with an event filter:
SOURCE_ID="src_01JEXAMPLE000000000000000000"
DEPLOYMENT_ID="dep_01JEXAMPLE000000000000000000"
agentpaas cloud ingress connect "$SOURCE_ID" "$DEPLOYMENT_ID" \
--label "reply to support mentions" \
--filter '{"match":"all","rules":[{"field":"event.channel","op":"eq","value":"C0123"}]}'
Inspect and test the source:
agentpaas cloud ingress sources
agentpaas cloud ingress connections "$SOURCE_ID"
agentpaas cloud ingress events "$SOURCE_ID" --tail 20
agentpaas cloud ingress test-filter "$SOURCE_ID" --filter '{"match":"all","rules":[]}' --event '{}'
See Ingress through the gateway, Gateway security, and Cloud commands.
Documentation added
- Ingress through the gateway
- Gateway security
- Gateway roadmap
- Cloud commands
- Webhook operations
- MCP server authoring
- Security review