Skip to content

Releases: labstack/echo

v4.7.1

13 Mar 17:13

Choose a tag to compare

Fixes

  • Fix e.Static, .File(), c.Attachment() being picky with paths starting with ./, ../ and / after 4.7.0 introduced echo.Filesystem support (Go1.16+) #2123

Enhancements

  • Remove some unused code #2116

v4.7.0 - 2022-03-01

02 Mar 22:54

Choose a tag to compare

Enhancements

  • Add JWT, KeyAuth, CSRF multivalue extractors #2060
  • Add LogErrorFunc to recover middleware #2072
  • Add support for HEAD method query params binding #2027
  • Improve filesystem support with echo.FileFS, echo.StaticFS, group.FileFS, group.StaticFS #2064

Fixes

General

  • Add cache-control and connection headers #2103
  • Add Retry-After header constant #2078
  • Upgrade go directive in go.mod to 1.17 #2049
  • Add Pagoda #2077 and Souin #2069 to 3rd-party middlewares in README

v4.6.3 - Fix Echo version number

10 Jan 19:50

Choose a tag to compare

Fixes

  • Fixed Echo version number in greeting message which was not incremented to 4.6.2 #2066

v4.6.2

08 Jan 08:01

Choose a tag to compare

Fixes

  • Fixed route containing escaped colon should be matchable but is not matched to request path #2047
  • Fixed a problem that returned wrong content-encoding when the gzip compressed content was empty. #1921
  • Update (test) dependencies #2021

Enhancements

  • Add support for configurable target header for the request_id middleware #2040
  • Change decompress middleware to use stream decompression instead of buffering #2018
  • Documentation updates

v4.6.1

26 Sep 15:59
c6f0c66

Choose a tag to compare

Enhancements

  • Add start time to request logger middleware values #1991

v4.6.0

20 Sep 19:27
4651c7a

Choose a tag to compare

Introduced a new request logger middleware
to help with cases when you want to use some other logging library in your application.

Fixes

  • fix timeout middleware warning: superfluous response.WriteHeader #1905

Enhancements

  • Add Cookie to KeyAuth middleware's KeyLookup #1929
  • JWT middleware should ignore case of auth scheme in request header #1951
  • Refactor default error handler to return first if response is already committed #1956
  • Added request logger middleware which helps to use custom logger library for logging requests. #1980
  • Allow escaping of colon in route path so Google Cloud API "custom methods" could be implemented #1988

v4.5.0

02 Aug 07:10

Choose a tag to compare

Important notes

A BREAKING CHANGE is introduced for JWT middleware users.

The JWT library used for the JWT middleware had to be changed from github.com/dgrijalva/jwt-go to
github.com/golang-jwt/jwt due former library being unmaintained and affected by security
issues. The github.com/golang-jwt/jwt project is a drop-in replacement, but supports only the latest 2 Go versions.
So for JWT middleware users Go 1.15+ is required. For detailed information please read #1940

To change the library imports in all .go files in your project replace all occurrences of dgrijalva/jwt-go with golang-jwt/jwt.

For Linux CLI you can use:

find -type f -name "*.go" -exec sed -i "s/dgrijalva\/jwt-go/golang-jwt\/jwt/g" {} \;
go mod tidy

Fixes

  • Change JWT library to github.com/golang-jwt/jwt #1946

v4.4.0

12 Jul 19:38
58366f9

Choose a tag to compare

Fixes

  • Split HeaderXForwardedFor header only by comma #1878
  • Fix Timeout middleware Context propagation #1910

Enhancements

  • Allow for custom JSON encoding implementations #1880
  • Adds JWTConfig.ParseTokenFunc to JWT middleware to allow different libraries implementing JWT parsing. #1887
  • Adds RequestIDHandler function to RequestID middleware #1898
  • Bind data using headers as source #1866
  • Adding tests for Echo#Host #1895

v4.3.0

08 May 21:03

Choose a tag to compare

Important notes

  • Route matching has improvements for following cases:
    1. Correctly match routes with parameter part as last part of route (with trailing backslash)
    2. Considering handlers when resolving routes and search for matching http method handler
  • Echo minimal Go version is now 1.13.

Fixes

  • When url ends with slash first param route is the match #1804
  • Router should check if node is suitable as matching route by path+method and if not then continue search in tree #1808
  • Fix timeout middleware not writing response correctly when handler panics #1864
  • Fix binder not working with embedded pointer structs #1861
  • Add Go 1.16 to CI and drop 1.12 specific code #1850

Enhancements

  • Make KeyFunc public in JWT middleware #1756
  • Add support for optional filesystem to the static middleware #1797
  • Add a custom error handler to key-auth middleware #1847
  • Allow JWT token to be looked up from multiple sources #1845

v4.2.2

07 Apr 19:59
8da8e16

Choose a tag to compare

Fixes

  • Allow proxy middleware to use query part in rewrite (#1802)
  • Fix timeout middleware not sending status code when handler returns an error (#1805)
  • Fix Bind() when target is array/slice and path/query params complains bind target not being struct (#1835)
  • Fix panic in redirect middleware on short host name (#1813)
  • Fix timeout middleware docs (#1836)