v0.3.1 Release Notes
Release Date: 2025-01-19
Status: Production Ready
Note: This is a patch release fixing issues in v0.3.0 that were cached in proxy.golang.org.
π§ Fixes in v0.3.1
- β Removed local path replace directive from go.mod (fixes CI)
- β Deleted broken examples/09-rest-api-with-db/main.go
- β Code formatting with gofmt applied to all files
- β Cleaned up go.mod dependencies
- β All pre-release checks passing (91.7% coverage, 0 linter issues)
π Major Features (v0.3.0 β v0.3.1)
Real-Time Communications
fursy now integrates seamlessly with the new stream library for real-time features:
- Server-Sent Events (SSE) for server push notifications
- WebSocket for bidirectional real-time communication
- Hub pattern for broadcasting to multiple clients
- Type-safe generics:
SSEHub[T]for compile-time safety
Database Integration
New plugins/database for robust database management:
- dbcontext pattern for context-aware database access
- Automatic transaction management via
TxMiddleware() - Type-safe helpers:
MustGetDB(),GetDBOrError(),MustGetTx(),GetTxOrError() - Repository pattern integration examples
- Works with any database/sql driver (PostgreSQL, MySQL, SQLite, SQL Server)
Production Boilerplate
Complete DDD example (examples/10-production-boilerplate) demonstrating:
- Domain-Driven Design with Rich Models (User entity with business logic)
- Clean Architecture: domain/application/infrastructure/interfaces layers
- Value Objects: Email, Password, Role, Status (enforcing invariants)
- User management with JWT authentication (registration, login, profile)
- Real-time notifications (SSE) and chat (WebSocket)
- SQLite database with migrations
- Docker support (Dockerfile + docker-compose.yml)
- 60%+ test coverage (36 comprehensive tests, 1,766 lines)
- Complete README (14.8KB with API docs and setup instructions)
π By the Numbers
- 650+ tests across all packages
- 93.1% core coverage
- 10 comprehensive examples (SSE, WebSocket, Database, Production)
- 2 production plugins (database + stream)
- 0 external dependencies in core
- 256 ns/op routing (performance maintained)
π¦ Installation
# fursy router
go get github.com/coregx/fursy@v0.3.1
# stream library (for real-time features)
go get github.com/coregx/stream@v0.1.0
# Plugins (optional)
go get github.com/coregx/fursy/plugins/database@v0.3.1
go get github.com/coregx/fursy/plugins/stream@v0.3.1π Ecosystem Growth
Companion Library: stream v0.1.0
- Zero dependencies (pure stdlib)
- RFC 6455 (WebSocket) and RFC text/event-stream (SSE) compliant
- 314 tests, 84.3% coverage
- Production-ready with comprehensive documentation
- High performance: 11 ΞΌs/op (10 WS clients), 8 ΞΌs/op (10 SSE clients)
Plugins
- database (NEW) - SQL database integration (89.7% coverage)
- stream (NEW) - SSE + WebSocket integration (83.3% coverage)
- opentelemetry - Observability
- validator - Request validation
β οΈ Breaking Changes
None. v0.3.1 is fully backward compatible with v0.2.0.
All new features are additive.
π Links
- GitHub: https://github.com/coregx/fursy
- stream library: https://github.com/coregx/stream
- Documentation: https://pkg.go.dev/github.com/coregx/fursy
- Examples: https://github.com/coregx/fursy/tree/main/examples
Full CHANGELOG: https://github.com/coregx/fursy/blob/main/CHANGELOG.md
Production Boilerplate: https://github.com/coregx/fursy/tree/main/examples/10-production-boilerplate