Skip to content

Changelog

All notable changes to this project are documented here.

[Unreleased]

[1.0.11] - 2026-07-11

Added

  • Self-Signed Certificate Generation: When no wildcard certificate matches a host, the framework now automatically generates an in-memory ECDSA P-256 self-signed certificate (valid for 1 year) and caches it. Eliminates the need for external certs in development.
  • IPv6 TLS Support: Self-signed certificates correctly handle IPv6 addresses, including bracketed format ([::1], [::1]:8443) from HTTP Host headers.
  • Servers.GetHandler(): Returns an http.Handler that dispatches requests to the correct Server engine based on the port in the Host header. Each server's routes, filters, and ContextPath remain fully independent.
  • WebFrame.GetHandler(): Initializes the full application (DB, services, routes) and returns an http.Handler for use with httptest.NewServer().
  • core.Server.GetHandler(): Exposes the underlying Servers.GetHandler() for test and embedding scenarios.
  • Multi-domain server listening — all matched domains now log their own URL on startup.

Fixed

  • certStore.init() now collects all certificate errors instead of failing on the first one, ensuring as many certs as possible are loaded.
  • Certificate loading failures no longer block HTTP server startup — errors are logged and the server continues without TLS.
  • Various MkDocs 2.0 compatibility fixes (removed deprecated plugins, empty overrides, invalid icons).

Changed

  • core.NewServer() now accepts an external *web.Servers parameter, ensuring builder-registered routes are available through GetHandler().
  • Docs rewritten with standard markdown for MkDocs 2.0 compatibility.

[1.0.0] - 2026-04-07

Added

  • Initial release of Go Web Frame
  • Core Features
  • Dependency injection with Context-based DI container
  • MVC-like architecture with clear separation of concerns
  • Type-safe generic ORM with zero boilerplate CRUD operations
  • Built-in support for SQLite, MySQL, PostgreSQL, Redis

  • Web Layer

  • REST controller support with automatic route registration
  • Filter/middleware chain for cross-cutting concerns
  • Route metadata support via .WithMeta()
  • Static file serving with SPA fallback support
  • Reverse proxy support
  • WebSocket and Server-Sent Events (SSE)
  • Automatic HTTPS with Let's Encrypt certificates

  • Data Access

  • Generic Model[T] for type-safe database operations
  • EntryModel[T, PK] for entities with primary key support
  • Fluent query builder with chain API
  • Transaction support
  • Connection pool configuration

  • Components

  • Cache component (Redis-based)
  • Local cache component (Otter-based)
  • Rate limiting component
  • Captcha generation
  • QR code generation
  • Cron scheduled tasks
  • Input validation
  • Authentication filter
  • CORS filter

  • Infrastructure

  • Auto-loading configuration (JSON/YAML/TOML/INI)
  • Structured logging with Zap + log rotation
  • Builder pattern for application construction

  • Documentation

  • Multi-language README (English, Chinese, Traditional Chinese, Japanese)
  • MkDocs documentation site (English + Chinese)
  • Example applications for common use cases

Version History

Version Date Highlights
1.0.11 2026-07-11 Self-signed certs, GetHandler for testing, TLS error resilience
1.0.0 2026-04-07 Initial release with core features

Next Steps