Skip to main content

Changelog

RSS

Release notes and version history for GoFr. Pick a version from the right rail or deep-link to a specific tag (e.g. /changelog#v1.56.7).

v1.568 releases

v1.56.7June 5, 2026Latest
performance — http hot pathFixes

performance — http hot path

Reduced per-request allocations and CPU across the pkg/gofr request lifecycle, closing most of the gap to the net/http router cluster.

Benchmark setup: Apple M4, GOMAXPROCS=4, payloads: plaintext (13 B), json (small object), param (single path param). Numbers are machine-specific and will differ on Linux/x86, in containers with CPU limits, and at higher core counts — treat as relative, not absolute.

End-to-end RPS (vs v1.56.6):

| Endpoint | v1.56.6 | v1.56.7 | Δ |

|-----------|--------:|---------:|-------:|

| plaintext | 89,835 | 133,304 | +48 % |

| json | 89,177 | 118,513 | +33 % |

| param | 87,224 | 121,159 | +39 % |

Per-request profile (pprof):

| Metric | v1.56.6 | v1.56.7 | Δ |

|-------------------------|--------:|--------:|------:|

| Allocations / req | 132 KB | 60 KB | −54 % |

| CPU / req | 33.5 µs | 21 µs | −37 % |

| p99 latency (plaintext) | 3.7 ms | 1.7 ms | −54 % |

What changed

| Area | Change | Impact |

|------|--------|--------|

| OTel hot path | When TRACE_EXPORTER is unset, installs a NeverSample() TracerProvider; otel.Tracer(...) handle cached in the middleware closure | Spans keep unique TraceID/SpanID for log correlation but short-circuit at the sampler — 528 B → 144 B / req |

| Middleware | StatusResponseWriter shared between Logging and Metrics and pooled; attribute slices cached per (route, method); time.Now() deferred past probe/GraphQL filters | Fewer allocations per request |

| Response & routing | Single Write with a Content-Length header (was 2–3 Writes); path.Clean skipped on already-canonical URLs; handler runs inline (no goroutine) when there's no request timeout and the request isn't a WebSocket upgrade | Lower CPU and allocations on the response path |

Fixes

Tracing spans

HTTP semconv attributes (http.method, http.route, http.status_code) are now recorded natively on the request span, and the redundant per-route otelhttp.NewHandler wrap has been removed.

  • Eliminates the duplicate span emitted per request (2 spans/req → 1).
  • Span name corrected from the generic gofr-router to the standard <METHOD> <route-template> (e.g. GET /users/{id}), matching OTel HTTP semantic conventions.
  • > Note on tracing defaults: the NeverSample() provider only applies when TRACE_EXPORTER is unset — i.e. when tracing isn't configured at all. If you set TRACE_EXPORTER, sampling and export behave as before. No configured setup is affected.

    Full Changelog: https://github.com/gofr-dev/gofr/compare/v1.56.6...v1.56.7

    View on GitHub
    v1.56.6May 18, 2026
    Fixes
    View on GitHub
    v1.56.5May 8, 2026
    Fixes
    View on GitHub
    v1.56.4April 29, 2026
    Fixes
    View on GitHub
    v1.56.3April 21, 2026
    Fixes
    View on GitHub
    v1.56.2April 21, 2026
    Fixes
    View on GitHub
    v1.56.1April 9, 2026
    Fixes
    View on GitHub
    v1.56.0April 7, 2026
    FeaturesEnhancementsFixes
    View on GitHub

    v1.551 release

    v1.55.0March 14, 2026
    FeaturesEnhancementsFixes
    View on GitHub

    v1.547 releases

    v1.54.6March 11, 2026
    Fixes
    View on GitHub
    v1.54.5February 27, 2026
    EnhancementsFixes
    View on GitHub
    v1.54.4February 21, 2026
    EnhancementsFixes
    View on GitHub
    v1.54.3February 6, 2026
    EnhancementsFixes
    View on GitHub
    v1.54.2January 31, 2026
    EnhancementsFixes
    View on GitHub
    v1.54.1January 27, 2026
    FeaturesFixes
    View on GitHub
    v1.54.0January 18, 2026
    FeaturesFixes
    View on GitHub

    v1.531 release

    v1.53.0January 10, 2026
    FeaturesEnhancementsFixes
    View on GitHub

    v1.521 release

    v1.52.0January 2, 2026
    FeaturesEnhancementsFixes
    View on GitHub

    v1.511 release

    v1.51.0December 27, 2025
    Features
    View on GitHub

    v1.501 release

    v1.50.2December 21, 2025
    EnhancementsFixes
    View on GitHub

    Showing 20 of 111 releases

    View all releases on GitHub →