Repository navigation
0.1.13
[0.1.13] - 2026-01-06
Added
Comprehensive Configuration Validation
- New validation rules to prevent invalid option combinations at config time:
- WebSocket JWT auth requires main JWT auth to be enabled
- WebSocket API key auth requires main API key auth to be enabled
- Admin panel authentication requires JWT auth (for User model)
- Conversation persistence requires AI agent to be enabled
- Admin panel requires SQLAlchemy ORM (SQLModel not fully supported by SQLAdmin)
- Session management requires JWT auth
- Webhooks require a database to store subscriptions and delivery history
- Background task queues (Celery/Taskiq/ARQ) require Redis as broker
- Logfire database instrumentation requires a database
- Logfire Redis instrumentation requires Redis
- Logfire Celery instrumentation requires Celery as background task system
Improved Post-Generation Instructions
- Clearer database setup instructions with warning message:
⚠️ Run all commands in order: db-migrate creates the migration, db-upgrade applies it - README.md updated with prominent warning about required migration steps
- Commands displayed with aligned descriptions for better readability
Dynamic Integration Prompts
- Context-aware integration options in interactive wizard:
- Admin Panel option only shown when SQLAlchemy is selected (not SQLModel)
- Webhooks option only shown when a database is enabled
- WebSocket auth options filtered based on main auth type selected
- Clearer ORM selection labels: "SQLAlchemy — full control, supports admin panel" vs "SQLModel — less boilerplate, no admin panel support"
- Auto-enable Redis when caching is selected (with info message)
- Better descriptions for all integration options explaining dependencies
Template Improvements
- ARQ worker service added to
docker-compose.prod.yml - Prometheus labels added to backend service in
docker-compose.dev.yml - OAuth environment variable
NEXT_PUBLIC_API_URLadded to frontend.env.example - Frontend WS_URL now uses
backend_portcookiecutter variable instead of hardcoded 8000
Changed
Post-Generation Hook Improvements
- Stub file cleanup - removes files containing only docstrings with no actual code
- Auth file cleanup - removes auth/user files when JWT is disabled:
auth.py,users.pyroutesuser.pymodel, repository, service, schematoken.pyschema
- Logfire cleanup - removes
logfire_setup.pywhen Logfire is disabled - Security cleanup - removes
security.pywhen no auth is configured at all - LangGraph/CrewAI cleanup - properly removes unused AI framework files
Fixed
Template Fixes
- LangChain assistant
stream()method - changed from sync generator to async generator usingastream()for proper async streaming - OAuth callback - made fully async, removed sync
asyncio.new_event_loop()hack - Deprecated
datetime.utcnow()- replaced withdatetime.now(UTC)across all services:cleanup.pycommandsession.pyrepository and serviceconversation.pyservicewebhook.pyservice
- Session model - added missing
default_factory=datetime.utcnowforcreated_atandlast_used_atfields - Webhook model - moved
import jsonto module level instead of inside properties - Admin panel template condition - now correctly checks for SQLAlchemy ORM requirement
- Caching setup - only runs when both caching AND Redis are enabled
- Config imports - fixed conditional imports for Redis-only projects (no database)
Tests Added
- 290+ new test lines covering all new validation rules
- Tests for WebSocket auth requiring main auth
- Tests for admin panel requiring SQLAlchemy
- Tests for admin authentication requiring JWT
- Tests for conversation persistence requiring AI agent
- Tests for webhooks requiring database
- Tests for Logfire feature dependencies (database, Redis, Celery)
- Tests for background task queues requiring Redis
- Updated CLI tests to include
--redisflag with task queue options