github.com/labstack/echo breaking changes

go

29 curated breaking changes across major versions of github.com/labstack/echo. Use this as a migration checklist before bumping dependencies.

29
changes
Breaking changes by transition
  • 5.0.4 \u2192 5.1.0behavior

    Fix rate limiter documentation for default burst value by @karesansui-u in https://github.com/labstack/echo/pull/2925

  • 5.0.4 \u2192 5.1.0behavior

    Add NewDefaultFS function to help create filesystem that allows absolute paths by @aldas in https://github.com/labstack/echo/pull/2931

  • 5.0.4 \u2192 5.1.0breaking

    fix: correct spelling mistakes in comments and field name by @crawfordxx in https://github.com/labstack/echo/pull/2916

  • 5.0.4 \u2192 5.1.0breaking

    Do not set http.Server.WriteTimeout in StartConfig by @aldas in https://github.com/labstack/echo/pull/2932

  • 5.0.4 \u2192 5.1.0breaking

    Add StartConfig.Listener so server with custom Listener is easier to create by @aldas in https://github.com/labstack/echo/pull/2920

  • 5.0.4 \u2192 5.1.0breaking

    Add doc comments to clarify usage of File related methods and leading slash handling by @aldas in https://github.com/labstack/echo/pull/2928

  • 5.0.4 \u2192 5.1.0breaking

    Add https://github.com/labstack/echo-prometheus to the middleware list in README.md by @aldas in https://github.com/labstack/echo/pull/2919

  • 5.0.4 \u2192 5.1.0breaking

    Add echo-opentelemetry to the README.md by @aldas in https://github.com/labstack/echo/pull/2908

  • 5.0.4 \u2192 5.1.0removed

    Remove legacy IP extraction logic from context.RealIP method by @aldas in https://github.com/labstack/echo/pull/2933

  • 4.15.0 \u2192 5.0.0api

    Until 2026-03-31, any critical issues requiring breaking `v5` API changes will be addressed, even if this violates semantic versioning.

  • 4.15.0 \u2192 5.0.0api

    Rearranges alot of methods/function signatures to make them more consistent.

  • 4.15.0 \u2192 5.0.0breaking

    Adds new `Router` interface for possible new routing implementations.

  • 4.15.0 \u2192 5.0.0breaking

    Drops old logging interface and uses moderm `log/slog` instead.

  • 4.15.0 \u2192 5.0.0breaking

    If you are using Echo in a production environment, it is recommended to wait until after 2026-03-31 before upgrading.

  • 4.15.0 \u2192 5.0.0breaking

    Echo `v4` is supported with **security*** updates and **bug** fixes until **2026-12-31**

  • 4.15.0 \u2192 5.0.0breaking

    `Context` is now struct instead of interface and we can add method to it in the future in minor versions.

  • 4.4.0 \u2192 4.5.0breaking

    Change JWT library to `github.com/golang-jwt/jwt` [#1946](https://github.com/labstack/echo/pull/1946)

  • 4.12.0 \u2192 4.13.0breaking

    Shorten Github issue template and add test example by @aldas in https://github.com/labstack/echo/pull/2711

  • 4.12.0 \u2192 4.13.0breaking

    optimization: struct alignment by @behnambm in https://github.com/labstack/echo/pull/2636

  • 4.12.0 \u2192 4.13.0breaking

    bind: Maintain backwards compatibility for map[string]interface{} binding by @thesaltree in https://github.com/labstack/echo/pull/2656

  • 4.12.0 \u2192 4.13.0breaking

    Add Go 1.23 to CI by @aldas in https://github.com/labstack/echo/pull/2675

  • 4.12.0 \u2192 4.13.0breaking

    improve `MultipartForm` test by @martinyonatann in https://github.com/labstack/echo/pull/2682

  • 4.12.0 \u2192 4.13.0breaking

    `bind` : add support of multipart multi files by @martinyonatann in https://github.com/labstack/echo/pull/2684

  • 4.12.0 \u2192 4.13.0breaking

    Add TemplateRenderer struct to ease creating renderers for `html/template` and `text/template` packages. by @aldas in https://github.com/labstack/echo/pull/2690

  • 4.12.0 \u2192 4.13.0breaking

    Refactor TestBasicAuth to utilize table-driven test format by @ErikOlson in https://github.com/labstack/echo/pull/2688

  • 4.12.0 \u2192 4.13.0breaking

    fix(bind body): content-length can be -1 by @phamvinhdat in https://github.com/labstack/echo/pull/2710

  • 4.12.0 \u2192 4.13.0breaking

    CORS middleware should compile allowOrigin regexp at creation by @aldas in https://github.com/labstack/echo/pull/2709

  • 4.12.0 \u2192 4.13.0removed

    Remove broken header by @aldas in https://github.com/labstack/echo/pull/2705

  • 4.12.0 \u2192 4.13.0removed

    remove jwt middleware by @stevenwhitehead in https://github.com/labstack/echo/pull/2701

API access

Get this data programmatically \u2014 free, no authentication.

curl https://depscope.dev/api/breaking/go/github.com/labstack/echo