Repository navigation
v0.2.0 - Production Ready
v0.2.0 - Production Ready
Major release focused on production readiness, performance, and reliability.
Pagination
- All 14 list API endpoints now support
pageandlimitquery parameters - Limit capped at 100 per request, default 20
- Standardized response format:
{ data: [...], pagination: { page, limit, total, totalPages } }
Webhook Reliability
- Retry logic with exponential backoff (3 attempts: 5s, 30s, 5min)
- HMAC-SHA256 signatures on payloads via
X-Owly-Signatureheader - Delivery tracking — new
WebhookDeliverymodel with full audit trail - Dead letter tracking for permanently failed deliveries
- Delivery API —
GET/POST /api/webhooks/[id]/deliveriesfor history and manual retry
Email Templates
- Business-branded HTML emails (loads name from Settings)
- Professional responsive layout with header, body, footer
- Replaces hardcoded "Owly Support" branding
Docker Hardening
- Multi-stage build (builder + runner) for smaller image size
- Non-root user (
nextjs:nodejs) for security - HEALTHCHECK instruction for container orchestration
- Resource limits in docker-compose.yml
- OCI metadata labels
Enhanced Health Check
- OpenAI API reachability check
- Memory usage reporting (RSS, heap)
- Environment and individual service statuses
- Dynamic version from package.json
Performance
- Compound database indexes:
Conversation(channel, status),Message(conversationId, createdAt) - Additional indexes:
Conversation.createdAt,Customer.lastContact - Export endpoint with configurable limits (max 50K) and date range filters
- Removed unused
socket.iodependencies (~500KB savings)
Testing
- 208 tests across 19 test files — all passing
- 31 new tests for pagination, webhook signatures, chat endpoint, export