Releases: labstack/echo
Releases · labstack/echo
v3.2.4
v3.2.3
v3.3.2
v3.2.2
v3.2.1
v3.2.0
New Features
- Automatically use JSONPretty/XMLPretty if
?pretty
in the query string (#916) - Middleware
Context#IsWebSocket()
method to check if connection is a WebSocket
Enhancements
- Add pointer binding of proper types to DefaultBinder (#915)
- Add cookie tag for logger (#921)
- Reduced package dependencies by separating website and cookbook from the main repo to https://github.com/labstack/echox
- Option to hide startup banner (#928)
- KeyAuthValidator should return error as last item (#938)
- Updated
Context#Scheme
to include more XFF headers (353a2f8)
Bug Fixes
- Debug mode not setting log level to debug (#925)
- Files system traversal bug (#947)
- [Regression] Path parameters with query escaped value were broken (#948)
- Routing behavior (#954)
New Recipes
- Load balancing (https://echo.labstack.com/cookbook/load-balancing)
- Reverse proxy (https://echo.labstack.com/cookbook/reverse-proxy)
Miscellaneous
- Dropped support for Go 1.6
- Using
httptest
in test cases - Official repo for community contributions https://github.com/labstack/echo-contrib
- Forum to ask questions https://forum.labstack.com
v3.1.0
Change Log
v3.1.0 (2017-04-26)
Implemented enhancements:
- Context#RealIP() to fetch the first IP #914
- Implement request ID middleware #913
- Implement key based authentication middleware #912
- Pretty print error on debug mode #111
- How to make Echo support media type
text/xml
? #864 - Setting "Debug = true" no longer passes errors to client #817
- Server has output not produced by logger #813
- Uncentralized output makes integration complicated #798
- Unexposed graceful server causes integration issues #797
- how to prevent unescape path in v3.0.3? #766
- Improvement suggestion: Support a Scanner interface for Bindings #763
- Could you provider an option to use c.JSON as pretty output #762
- Can we make Graceful's ShutdownInitiated property public? #752
- Make bearer string customizable, such as "Token"? #750
- Suggest: How to Use Custom Binder #438
- Form validate feature request.. #305
- Will it include validation? #298
- logger: Don't copy lock value in LoggerConfig.pool, use a pointer #825 (pdf)
- Support BindUnmarshaler for basic types #786 (flimzy)
- Gannett digital master allow html buffers #765 (vishr)
Fixed bugs:
- Gzip with streaming (Flushing) #873
- Fixed skipper for static middleware #896 (Michsior14)
- Change to middleware.LoggerConfig broke my service #821
- fix imports for twitter example #811
- Failure to provide a csrf token in a form results in error 500 #802
- context.Path() isn't properly set for routes that don't exist #794
- send NoContent(code) whit Gzip middleware!!! #781
- Content-Encoding: gzip header should not be sent when HTTP 204 #489
- Fix binding of untagged struct fields #812 (flimzy)
Closed issues:
- How to bind ajax post data? #907
- "Invalid csrf token" for POST Request #904
- Twitter Cookbook is missing source code of server.go #901
- 能否支持下NoRoute设置 #900
- package context: unrecognized import path "context" #899
- JWT with RS256 not Working for me #897
- dVentures34 #889
- url_for equivalent in templates #884
- Is there any plan to support "binding" struct tag for Bind() method? #872
- the router rule is wrong ? #869
- Echo#Group Bug #857
- Static files. Spaces in path. #839
- Redirects #833
- HTML5 mode in v3 #748
- Is it possible to prevent c.Request().Body from containing the Auth Header? #196
- Use rsa pub and private keys for jwt #866
- ERR_CONTENT_LENGTH_MISMATCH #853
- [URGENT] Echo GAE problems #824
- graceful beforeshutdown #816
- Can't register a custom validator using Echo#Validator #815
- Echo compression and WOFF2 font causing ERR_CONTENT_LENGTH_MISMATCH #806
- Logger does not implement Logger #804
- version 3.0.3 not support gracehttp #791
- UnmarshalParam doesn't work #784
- Consider using logxi as logger. #783
- can echo support url match like '/recource?acl' #780
- Create BindValidate for context #776
- Auto TLS example does not match the real world. #768
- Newest release is missing gommon as dependency #756
- Failed "go vet" #710
- 404 Router #671
Merged pull requests:
- correct typo in app engine article #909 (stanzheng)
- Update guide.md (Signature changed for key and basic auth validator) #908 (haru01)
- Tested and fixed bug with reused context (path parameters). #894 (ole108)
- Enable custom request id generator #881 (nownabe)
- Underscoring unnecessary variables on CSRF test #836 (DiSiqueira)
- Update type typo for Header handler #868 (zwpaper)
- Fixed #864 #865 (vishr)
- Add BasicAuth Realm support #858 (nshmura)
- Set the Content-Encoding header earlier for Static #851 (freeformz)
- ADD Request ID middleware. #845 (usk81)
- Two little typos on comments #835 (DiSiqueira)
- Mutex to dynamically make changes #828 (vishr)
- Correcting the BasicAuth Method #822 (piyushchauhan2011)
- Logger middleware interface #820 (vishr)
- correct wrong package reference #809 (blockloop)
- correct the document about disabl logs #801 (garrickjubiao)
- removed old/deprecated import. #796 (cfreeman)
- Add directory to store the certificate and mention rate limits #795 (Noki)
- Correct comment for Context.Response #793 (tedkornish)
- Change 'Context-Type' to 'Content-Type' in guide document #788 (imeoer)
- Update body-limit.md #778 (guidola)
- Added an example of String response #775 (ayamamori)
- Fix typo #767 (calmandniceperson)
- Add support for a Scanner interface. #764 (flimzy)
v3.1.0-rc.1
Update type typo for Header handler (#868) The example for ServerHeader middleware is trying to set a `Echo/3.0` header, but the response out put has a Echo/2.0 header, may confuse people.