Skip to content

v0.3.1 Release Notes

Choose a tag to compare

@kolkov kolkov released this 19 Nov 15:50
· 16 commits to main since this release

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

  1. database (NEW) - SQL database integration (89.7% coverage)
  2. stream (NEW) - SSE + WebSocket integration (83.3% coverage)
  3. opentelemetry - Observability
  4. validator - Request validation

⚠️ Breaking Changes

None. v0.3.1 is fully backward compatible with v0.2.0.

All new features are additive.

πŸ”— Links


Full CHANGELOG: https://github.com/coregx/fursy/blob/main/CHANGELOG.md
Production Boilerplate: https://github.com/coregx/fursy/tree/main/examples/10-production-boilerplate