Skip to content

v0.1.2

Choose a tag to compare

@0mjs 0mjs released this 13 Apr 21:03
· 61 commits to dev since this release

Changelog

Added

  • Added typed context store getters:

    • c.GetString
    • c.GetBool
    • c.GetInt
    • c.GetInt64
    • c.GetFloat64
    • c.GetStringSlice
    • c.GetStringMap
    • c.GetStringMapString
    • c.GetStringMapStringSlice
  • Added query and form helpers:

    • c.QueryArray
    • c.QueryMap
    • c.PostForm
    • c.PostFormOr
    • c.PostFormArray
    • c.PostFormMap
  • Added request inspection helpers:

    • c.ContentType
    • c.IsWebSocket
  • Added cookie SameSite support with c.SetSameSite.

  • Added response helpers:

    • c.Blob
    • c.JSONBlob
    • c.XMLBlob
    • c.HTMLBlob
    • c.Inline
    • c.SSE
    • c.Accepts
    • c.Negotiate
  • Added zinc.SSEvent for writing single server-sent events.

  • Added public response writer tracking:

    • zinc.ResponseWriter
    • zinc.WrapResponseWriter
  • Added decompression safety with middleware.DecompressConfig.MaxDecompressedSize.

  • Added gzip response-size tuning with middleware.GzipConfig.MinLength.

  • Expanded proxy middleware with:

    • multiple targets
    • round-robin balancing
    • random balancing
    • retry support
    • retry filtering
    • path rewrites
    • regex rewrites
    • custom transport support
    • response modification support
  • Added utility middleware:

    • middleware.NoCache
    • middleware.Heartbeat
    • middleware.RealIP
    • middleware.Throttle
    • middleware.Maybe
    • middleware.AllowContentType
    • middleware.AllowContentEncoding
    • middleware.SetHeader
    • middleware.RouteHeaders
  • Added optional pprof middleware:

    • middleware.Pprof
    • middleware.PprofWithPrefix

Changed

  • Updated request logger middleware to use the public zinc.WrapResponseWriter.
  • Updated Prometheus middleware to use the public zinc.WrapResponseWriter.
  • Improved response writer tracking to preserve common optional interfaces while tracking status and bytes written.
  • Improved docs across context, response rendering, middleware overview, gzip, decompress, proxy, utility middleware, header guards, and pprof.

Fixed

  • Hardened decompression against oversized decompressed request bodies.
  • Ensured gzip can skip small responses when MinLength is configured.
  • Reduced duplicated internal response writer code by moving shared behavior into the public wrapper.

Tests

  • Added and expanded unit tests for the new context helpers, response helpers, middleware utilities, proxy behavior, gzip/decompress hardening, pprof, and response writer tracking.
  • Verified with:
    • go test ./...
    • npm run build
    • git diff --check