v0.55.1
astral-sh/ruffv0.55.1Oct 2, 2026by github-actions[bot]
Upgrading?
AI Summary
Ruff 0.16.10 introduces a migration guide for categories, adds a new rule for context manager iterator annotations, reduces memory usage for diagnostics, and avoids running `uv format` in untrusted workspaces.
Key Highlights
- Added migration guide for categories
- Added rule UP052 for context manager iterator annotations
- Reduced memory used by diagnostics
- Avoid running `uv format` in untrusted workspaces
- Updated Rust toolchain to 1.99
New Features
- Migration guide for categories
- Context manager iterator annotation rule (UP052)
- Reduced diagnostics memory usage
Full Release Notes
### Changed - **`examples/pipecat-bot-py` now speaks with Deepgram Aura TTS by default** (`BOT_TTS_PROVIDER=deepgram`), reusing the `DEEPGRAM_API_KEY` its speech-to-text already needs, and synthesizing directly at the call's 8/16 kHz. Measured on 12 requests each: time to first audio was a median of 0.52 s (worst 0.59 s), against 0.94 s with a 12.7 s worst case for OpenAI `gpt-4o-mini-tts`. On PSTN calls the median gap between the caller's last word and bot audio went from 1.95 s to 1.01 s, and a goodbye that had waited 23 s started in 0.13 s. `BOT_TTS_PROVIDER=openai` remains available, now with a `BOT_TTS_MODEL` setting that defaults to `tts-1` (median 1.64 s, worst 2.3 s) rather than the occasionally stalling `gpt-4o-mini-tts`. ### Fixed - **Pause-mode barge-in no longer drops bot audio after a resolution** ([#620](https://github.com/thevoiceguy/siphon-ai/issues/620)). Resolving a pause arbitration (reject, confirm, or either timeout) re-pushes the retained tail and the post-pause audio straight into the media engine. A WS server still streaming at real time, which is what a correctly paced server does (including `sdks/python`'s `AudioSender` and `sdks/typescript`), then accumulated behind that backlog, and the 200 ms window (PROTOCOL.md §5.5) evicted about the pause length minus 200 ms of bot speech per resolution: 158 frames over 5 rejects on a live PSTN call. The window now tolerates the backlog the daemon itself created, shrinking as it drains and resetting on every flush, so PROTOCOL.md §4.11's "playout resumes where it stopped, then any audio streamed during the pause plays behind it" holds. Over-rate servers are still bounded. No configuration or protocol change. --- **Artifacts** - Static musl binaries for `x86_64` and `aarch64` (`.tar.gz`). - Debian packages (`.deb`) for `amd64` and `arm64` — `apt install ./siphon-ai_*_amd64.deb`. - `SHA256SUMS` — verify with `sha256sum -c SHA256SUMS`. - `*-sbom.cdx.json` — CycloneDX SBOM. - `SHA256SUMS.cosign.bundle` — cosign keyless signature over the checksums. - Container: `ghcr.io/thevoiceguy/siphon-ai:v0.55.1` (multi-arch, cosign-signed). Verify the checksums signature: ``` cosign verify-blob --bundle SHA256SUMS.cosign.bundle \ --certificate-oidc-issuer https://token.actions.githubusercontent.com \ --certificate-identity-regexp 'release.yml@' SHA256SUMS ```
Related Repositories
A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io
An open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer.
Build smaller, faster, and more secure desktop and mobile applications with a web frontend.
π RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.
Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one