🧪 Rama 0.3.0-alpha.2 — Crypto, ACME, and Connection Pools
The second alpha in the 0.3 series is out — expanding Rama’s capabilities in crypto, certificate automation, connection pooling, and more.
Release and changelog: https://github.com/plabayo/rama/releases/tag/rama-0.3.0-alpha.2
✨ Highlights
🔐 ACME + JOSE
Rama now ships with native ACME client support via the new rama-acme crate — including working HTTP and TLS challenge examples.
This builds on a new rama-crypto crate, introducing JOSE (JWS, JWK, JWA) support and laying the foundation for future crypto enhancements.
🔁 Smarter Connection Pooling
An improved (client) connection pool brings:
- Metrics support
- Round-robin reuse strategy
- Idle connection cleanup
📡 HTTP Version Control
You can now explicitly control HTTP version upgrades/downgrades using the new TargetHttpVersion extension and HttpVersionAdapter.
🔥 Note:
0.3.0-alpha.1introduced a breaking change in HTTP version negotiation. If you're using TLS with ALPN or similar logic, ensure bothHttpsAlpnModifierandHttpVersionAdapterare configured. See examples for guidance.
🧬 Fingerprinting & Anti-Bot
- WebSocket support is now integrated into the fingerprinting service
- Early anti-bot defenses added: infinite resource and zip bomb examples
- Improved user agent parsing (fixes Safari version parsing bug)
💡 Protocol Improvements
- Datastar SSE server: now fully compliant with the v1.0.0 test suite
- HTTP Proxy CONNECT response headers are now saved and exposed
- Improved handling of ALPN in the SOCKS(5) examples
- Breaking:
Headertrait split for better usability
🚀 Try It Out
Alpha 2 is another step forward in preparing Rama for production-grade proxying and protocol tooling. More alphas are coming — fast and focused.
Want to help shape Rama? Reach out, contribute, or sponsor the project.
Thanks for building with Rama. Be empowered. Be the change.