rama-0.3.0-alpha.1
Highlights:
-
WebSocket (WS) Support: Introduced the new
rama-wscrate with full WebSocket support. Includes both client and server implementations, a CLI tool (with TUI), Autobahn test suite integration, and HTTP/2 support. Examples and documentation are included. -
SOCKS5 Support: Added full client and server support via the new
rama-socks5crate. Includes support for framed UDP relays and integrated proxy examples. -
Observability Improvements:
- OpenTelemetry (OTEL) tracing support via a new
opentelemetryfeature. - Span/trace IDs are now injected into all spans.
- OTLP HTTP client support integrated with rama's http-client trait.
- Centralized and improved span creation and root span macros.
- OpenTelemetry (OTEL) tracing support via a new
-
Datastar Integration: Datastar support is now built-in, replacing the need for an external SDK crate. Full SSE compatibility with integration tests and examples.
-
TLS and Fingerprinting Enhancements:
- Added support for TLS ALPS and draft GOST suites.
- Integrated PeetPrint fingerprinting with frontend and feature flag support.
Protocol Peek Support:
-
Added HAProxy protocol detection and peek routing.
-
Socks5, TLS and HTTP also have peek support, allowing you to detect such traffic patterns for custom routing and handling.
-
Unix Domain Socket Support: Added initial
rama-uniximplementation with examples and documentation. -
Expanded Example Set:
- Multi-protocol proxy: HTTP, HTTPS, SOCKS5, and SOCKS5H with TLS and authentication.
- HTTP MITM proxy with WebSocket and boring TLS support.
- Proxy connectivity checking with peek routing.
Additional Changes:
- Numerous dependency updates and embedded User-Agent profile enhancements.
- Improved EasyHttpWebClientBuilder for connection pooling, DNS resolution, and pluggable connector layers.
- MSRV bumped to 1.88 with support for new Rust idioms like
if letchaining. - Cleanup of old lints and removal of unused dependencies.
- Improved common server authentication logic and CORS preflight customization.
This marks the first pre-release in the 0.3.0 series.