Back to blog

Rama-0.3.0-alpha.2

The second alpha in the 0.3 series is out — expanding Rama’s capabilities in crypto, certificate automation, connection pooling, and more.

🧪 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.1 introduced a breaking change in HTTP version negotiation. If you're using TLS with ALPN or similar logic, ensure both HttpsAlpnModifier and HttpVersionAdapter are 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: Header trait 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.