Roadmap
This page outlines the current state of Asena Framework and our plans for future development. Our goal is to build a production-ready, high-performance IoC framework for Bun with enterprise-grade features.
Living Document
This roadmap is updated regularly as we complete features and adjust priorities based on community feedback.
✅ Current Release (v0.6.x)
These features are stable and production-ready in the current release:
Core Framework
- Dependency Injection Container - Full IoC container with constructor, property, and method injection
- Decorator-Based API - TypeScript decorators for controllers, services, middleware, and more
- Controller System - REST API controllers with route decorators (
@Get,@Post,@Put,@Delete,@Patch) - Service Layer - Service components with lifecycle management
- Middleware System - Global and route-level middleware with execution control
- Context API - Unified request context abstraction across adapters
- WebSocket Support - Decorator-based WebSocket services with namespace support
- Configuration Management -
@Configdecorator for server configuration - EventService Support - Asena have built-in native EventService support with
@EventServiceand@On
Adapters
- Ergenecore Adapter - Native Bun adapter with SIMD-accelerated routing
- Hono Adapter - Hono-based adapter with middleware compatibility
Official Packages
- @asenajs/logger - Structured logging with multiple transports (console, file, Loki)
- @asenajs/drizzle - Drizzle ORM integration with repository pattern
CLI Tools
- Project Scaffolding -
asena newcommand for project generation - Code Generation - Generate controllers, services, middleware, WebSocket services
- Project Bundling -
asena buildcommand bundles your project based onasena-config.ts, significantly improving performance by reducing cold start time and package size
🚧 In Active Development (v0.7.0)
These features are currently being developed and will be available soon:
Official Packages
@asenajs/redis
Redis integration package with connection pooling and caching utilities.
- Bun native Redis client wrapper with IoC integration
Status: In development
Framework Features
Enhanced Error Handling System
Asena currently does not provide a robust error handling API. Version 0.7.0 introduces a sophisticated exception handling system inspired by NestJS and Spring Framework, featuring:
- @ExceptionHandler decorator for centralized error handling
- Built-in exception classes.
- Custom exception filters
FrontendController: Monolithic Application Support
Bun runtime natively supports serving frontend applications alongside your backend. We're bringing this capability to Asena with the new @FrontendController decorator, enabling true monolithic architecture.
Why This Matters:
- Deploy your entire application as a single unit
- No need for separate frontend hosting
- Simplified development workflow
- Reduced infrastructure complexity
Proposed Syntax:
@FrontendController()
export class MyFrontendService {
// Serve static HTML pages
@Route('/')
public homepage = './public/index.html';
@Route('/dashboard')
public dashboard = './public/dashboard.html';
// Serve SPA routes
@Route('/app/*')
public reactApp = './dist/index.html';
}With this syntax, you can serve your React, Vue, Svelte applications or plain HTML projects directly through Asena. The framework will handle:
- Static file resolution
- SPA routing (catch-all routes for client-side routing)
- Content-type detection
- Efficient file caching
- Development mode hot-reload integration
Use Cases:
- Full-stack TypeScript applications
- Admin dashboards with REST API
- Server-rendered + client-rendered hybrid apps
- Internal tools with minimal infrastructure
📋 Planned for v1.0
These features are planned for the v1.0 release and will make Asena enterprise-ready:
Plugin System
A powerful plugin architecture allowing third-party extensions.
Features:
- Plugin lifecycle hooks (
onLoad,onStart,onStop) - Plugin dependency resolution
- Plugin configuration management
- Official plugin registry
Use Cases:
- Authentication plugins (OAuth, JWT, SAML)
- Database adapters (PostgreSQL, MySQL, MongoDB)
- Monitoring and APM integrations
OpenTelemetry Support
Built-in observability and distributed tracing.
Features:
- Automatic request tracing
- Custom span creation
- Metrics collection (HTTP, WebSocket, database)
- Integration with Jaeger, Zipkin, and other backends
- Performance profiling
Benefits:
- Production debugging
- Performance monitoring
- Distributed system observability
- SLA compliance tracking
OpenAPI Support
Automatic OpenAPI/Swagger documentation generation.
Features:
- Auto-generate OpenAPI specs from decorators
- Swagger UI integration
- Type-safe API client generation
- Schema validation sync with Zod
- API versioning support
Benefits:
- Automatic API documentation
- Client SDK generation
- API contract testing
- Developer experience improvements
💡 Future Ideas (CLI)
These features are under consideration for future CLI releases:
Dev Console (Quarkus-inspired)
Interactive development console for debugging and inspection.
Planned Features:
- Web-based dashboard running during development
- Live route inspection and testing
- Request/response logging
- Performance metrics in real-time
Inspiration: Similar to Quarkus Dev UI
Container Visualizer
Visual representation of IoC container dependencies.
Planned Features:
- Dependency graph visualization
- Service lifecycle tracking
- Circular dependency detection
Benefits:
- Understanding service dependencies
No Timeline Yet
These CLI features are ideas under discussion and do not have a fixed release timeline.
🎯 Release Philosophy
Version Strategy
- v0.x.x - Pre-1.0 releases with breaking changes possible
- v1.0.0 - First stable release with API stability guarantees
- v1.x.x - Patch and minor releases with backward compatibility
- v2.0.0 - Major release with new features and potential breaking changes
Stability Guarantees
| Version | Status | Breaking Changes | Production Use |
|---|---|---|---|
| v0.4.x | Current | Possible | Yes (with caution) |
| v0.5.x | Next | Possible | Yes (with caution) |
| v0.6.x | Next | Possible | Yes (with caution) |
| v1.0.0+ | Stable | Semantic versioning | Recommended |
Development Priorities
- Stability First - Bug fixes and reliability improvements take priority
- Performance - Maintain Bun's performance advantages
- Developer Experience - Clear APIs, great documentation, helpful errors
- Community Feedback - Feature requests and issues guide our roadmap
🤝 Community Involvement
How to Contribute
We welcome contributions in many forms:
- Code Contributions - Submit PRs for features or bug fixes
- Documentation - Improve guides, add examples, fix typos
- Feature Requests - Open GitHub issues with your ideas
- Bug Reports - Report issues with reproducible examples
- Testing - Test pre-release versions and provide feedback
Feature Request Process
- Open a GitHub issue with the
feature-requestlabel - Describe the use case and expected behavior
- Community discussion and feedback
- Core team review and prioritization
- Implementation and release
📅 Release Schedule
Current Cycle
- v0.5.0 - Q4 2025 (Redis, NATS, AsenaEventRoute)
- v1.0.0 - Q2-Q3 2026 (Plugin system, OpenTelemetry, OpenAPI)
Follow Progress
Track development progress on our GitHub repository and join discussions in GitHub Issues.
🔮 Long-Term Vision
Our vision for Asena is to become the go-to framework for Bun-based web applications, combining:
- Enterprise-Grade Features - Plugin system, observability, API documentation
- Developer Experience - Intuitive APIs, excellent tooling, comprehensive docs
- Performance - Native Bun speed with minimal overhead
- Ecosystem - Rich collection of official and community packages
Related
- Get Started - Start building with Asena today
- CLI Overview - Learn about Asena CLI tools
- GitHub Repository - Contribute to the project
- Examples - See real-world usage examples