Rolling Roadmap
We try to highlight important or popular new features on this roadmap. For a complete list of released features and updates, check out our changelog.
Planned
Pluggable Authorization
Role-based and policy-based access control for endpoints beyond JWT authentication.
In Progress
Background Jobs
Async task queue with Redis backend and rapina seed for database seeding.
Schema Improvements
Relationship fields from foreign keys, --diff mode against live databases, and nullable Option<T> columns in generated DTOs.
Redis TLS Support
TLS and client certificates for Redis cache backend.
JWKS URL Verification
Verify JWTs against a remote JWKS endpoint for integration with external identity providers.
OpenTelemetry Tracing
Export traces and metrics to OpenTelemetry-compatible backends.
Scalar OpenAPI UI
Built-in Scalar API documentation UI served from the framework. Currently being explored and may evolve.
GraphQL Support
Optional GraphQL layer with async-graphql integration. Under active exploration; API and scope are still being refined.
Done
Health Check Endpoints
Built-in health check routes for readiness and liveness probes.
Deployment Guide
Documentation for deploying Rapina apps to production.
Multipart File Uploads
Streaming multipart extractor with multer for file uploads and form data.
Serde-based Path Extraction
Path<T> supports scalars, tuples, and structs via a custom serde deserializer.
Database Seeding
rapina seed load, dump, and generate for managing seed data.
Snapshot Testing
Golden-file testing with --bless mode and automatic UUID/timestamp redaction.
RFC 7807 Problem Details
Standardized error responses with configurable base URI and per-request scoping.
Three-layer Router
O(1) static route lookup, SmallVec path params, and criterion benchmarks.
Compression Feature Flag
Compression gated behind compression feature, --force flag for import, and improved codegen pluralization.
WebSocket & Relay
Real-time communication with raw WebSocket support, pub/sub Relay system, channel handlers, and presence tracking.
Interactive Tutorial
6-chapter browser-based tutorial with CodeMirror editor, pattern-based validation, and simulated HTTP responses.
Cross-Platform Shutdown
Graceful shutdown now works on Windows in addition to Unix.
OpenAPI Import
rapina import openapi to generate handlers and types from external API specs.
Endpoint Groups
Group parameter in route macros for auto-discovery: #[get("/users", group = "/api")].
Starter Templates
rapina new --template crud and --template auth for faster project setup.
Response Caching
Built-in caching with in-memory and Redis backends.
Built-in Pagination
Paginate extractor for cursor and offset pagination.
Database Import
Reverse-engineer a live database into feature modules with rapina import database.
Route Auto-Discovery
Automatic route registration via .discover() method.
CRUD Scaffolding
Generate complete CRUD resources with rapina add resource.
Database Integration
SeaORM integration with schema! macro and connection pooling.
OpenAPI Generation
Automatic OpenAPI spec from route definitions with breaking change detection.