Releases: gorilla/mux
Release v1.8.1
What's Changed
- build: CircleCI 2.1 + build matrix by @elithrar in #595
- Include "404" and "405" in the docs by @Jille in #602
- docs: update README w.r.t new maintainer ask by @elithrar in #660
- regexp: use iota instead of hardcoded values for regexType* by @michaelgrigoryan25 in #679
- Fix
authenticationMiddleware
initialization in theREADME.md
file by @amustaque97 in #693 - Update README.md by @coreydaley in #713
- [GPT-95] Update go version, add tools for verification and testing by @apoorvajagtap in #718
- Delete release-drafter.yml by @coreydaley in #719
- Delete stale.yml by @coreydaley in #720
- Delete AUTHORS by @coreydaley in #721
- Update LICENSE by @coreydaley in #722
- Updated the logo in README.md by @shamkarthik in #724
- Update LICENSE by @coreydaley in #723
- Update issues.yml by @coreydaley in #726
- Update issues.yml by @coreydaley in #727
- run go fmt with Go 1.20 by @shogo82148 in #725
- Fix
Single Page Application
example inREADME.md
file by @amustaque97 in #678 - [BUG] Inconsistent HTTP status code on query mismatch by @soheilrt in #712
- Clarify documentation examples of Route methods by @andrew-werdna in #672
- changed the routeVariables text content. by @sumanpaikdev in #708
- Add GetVarNames() by @eh-steve in #676
- fix SPA handler in README.md by @sy9 in #733
- update GitHub workflows by @coreydaley in #734
New Contributors
- @Jille made their first contribution in #602
- @michaelgrigoryan25 made their first contribution in #679
- @amustaque97 made their first contribution in #693
- @coreydaley made their first contribution in #713
- @apoorvajagtap made their first contribution in #718
- @shamkarthik made their first contribution in #724
- @shogo82148 made their first contribution in #725
- @soheilrt made their first contribution in #712
- @andrew-werdna made their first contribution in #672
- @sumanpaikdev made their first contribution in #708
- @eh-steve made their first contribution in #676
- @sy9 made their first contribution in #733
Full Changelog: v1.8.0...v1.8.1
v1.8.0 ☀️
v1.8.0 addresses a minor regression with the variable extraction when using a wildcard host match. Specifying .Host(“foo.example.com:{port:.*})
will now correctly capture the port into mux.Vars
.
CHANGELOG
- fix: regression in vars extract for wildcard host (#579) @harshavardhana
- Remove stale text from comment. (#568) @EricIO
v1.7.4
v1.7.4 addresses a number of performance improvements (#544), bugs (#509, #535), and documentation improvements.
CHANGELOG
- Reduce allocations in (*routeRegexp).getURLQuery (#544) @klauspost
- Fixed golint warnings (#526) @KosToZyB
- fix headers regexp test case (#536) @icattlecoder
- Fix the CORSMethodMiddleware bug with subrouters (#535) @fharding1
- Remove/cleanup request context helpers (#525) @fharding1
- Guess the scheme if r.URL.Scheme is unset (#474) @euank
- Added capacity to slice creation, when capacity is known (#516) @vivekv96
- Modified http status codes, using constants provided by the http package (#514) @vivekv96
- bugfix/subrouter custom methodNotAllowed handler returning 404 (#509) (#510) @jonasdebeukelaer
- Update README (self-host logo) (#513) @elithrar
- Remove TravisCI badge (#503) @elithrar
- Add documentation for using mux to serve a SPA (#493) @fharding1
- Simplify code (#501) @muesli
- Avoid unnecessary conversion (#502) @muesli
- Update config.yml (#495) @elithrar
v1.7.3
This is a patch release that mostly incorporates test & build system updates, as well as fixing a rare cause of panics.
CHANGELOG
- Update stale.yml (#494) @elithrar
- Improve CORS Method Middleware (#477) @fharding1
- Delete ISSUE_TEMPLATE.md (#492) @elithrar
- Use subtests for middleware tests (#478) @fharding1
- Delete .travis.yml (#490) @elithrar
- Fix nil panic in authentication middleware example (#489) @fharding1
- [WIP] Create CircleCI config (#484) @elithrar
v1.7.2
*Route.Host()
as introduced in v1.7.0. If a port is not provided, the route will match on any port, matching behaviour for all versions of mux prior to v1.7.0.
See #447 for a fuller discussion.
CHANGELOG
- Route.Host -matching will ignore any provided port from getHost(), if… (#447) @cognusion
v1.7.1
No notable changes 🎆
CHANGELOG
- Minor spelling mistake (#454) @souvikhaldar
- fix go1.12 go vet usage (#458) @seriousben
- adding Router.Name to create new Route (#457) @seriousben
- Remove sudo setting from travis.yml (#462) @sekky0905
🦍 v1.7.0
Notable changes:
- mux will only support Go 1.7 and newer: this has allowed us to remove the older
gorilla/context
code. Go 1.7 has been out since August 2016. *Route.Host()
matching now includes thehost:port
, as opposed to just thehost
.- Subrouters should correctly return a 405 if the route matches but the method does not (see #437 for details)
CHANGELOG
- [deps] Add go.mod for versioned Go (#376) @elithrar
- Initialize user map (#371) @kalafut
- Update LICENSE & AUTHORS files. (#386) @elithrar
- Add 1.11 to build in travis (#398) @yershalom
- Drop support for Go < 1.7: remove gorilla/context (#391) @fharding1
- Create release-drafter.yml (#399) @elithrar
- Always run on the latest stable Go version. (#402) @elithrar
- Use constant for 301 status code in regexp.go (#412) @trungnn
- Use subtests in mux_test.go (#415) @kanozec
- Add stalebot config (#424) @elithrar
- Update and rename stale to stale.yml (#425) @elithrar
- remove redundant code that remove support gorilla/context (#427) @alimy
- Replace domain.com with example.com (#434) @RaeesBhatti
- fix #2, return full host:port info from getHost (#383) @santsai
- Ignore ErrNotFound while matching Subrouters (#438) @g-w
- Call WriteHeader after setting other header(s) in the example (#442) @timucingelici
- replace rr.HeaderMap by rr.Header() (#443) @moeryomenko
v1.6.2 ⚡️
Adds the CORSMethodMiddleware
middleware, which allows package users to automatically generate a Access-Control-Allow-Methods
HTTP response header based on which methods are configured for a given route. This is useful when dealing with cross-origin requests, and can be easily enabled via router.Use(mux.CORSMethodMiddleware)
.
This release otherwise includes documentation fixes and improvements. We are always looking to improve the documentation for mux, and contributions are welcome!
CHANGELOG
e3702be [docs] Improve docstrings for middleware, skipclean (#375)
fdeb7bc [docs] Doc fix for testing variables in path (#374)
5e55a4a Add CORSMethodMiddleware (#366)
ded0c29 Fix linter issues (docs) (#370)
b57cb16 [build] Update Go versions; add 1.10.x (#364)
94231ff Fix table-driven example documentation (#363)
4dbd923 Make Use() variadic (#355)
07ba1fd Modify http status code to variable in README (#350)
d284fd8 Modify 403 status code to const variable (#349)
First Class Middleware Support
gorilla/mux now provides first-class support for "middleware" thanks to @roobre! Middleware are handlers that can intercept request & response processing after a route match, but before/after other handlers are invoked. See the documentation for the full details: https://github.com/gorilla/mux#middleware
Previously, developers would have to use a thin wrapper to achieve this per-application. Requests for this functionality built up enough over time such that we've added it to mux's built-in methods.
CHANGELOG:
53c1911 [feat] Add middleware support as discussed in #293 (#294)
5bbbb5b [docs] Add graceful shutdown example (#329)
512169e refactor routeRegexp, particularily newRouteRegexp. (#328)
5ab525f Public test API to set URL params (#322)
7904d2e [docs] Add example usage for Route.HeadersRegexp (#320)
c572efe [docs] Note StrictSlash re-direct behaviour #308 (#321)
65ec724 Create ISSUE_TEMPLATE.md (#318)
4a3d4f3 [bugfix] Fix method subrouter handler matching (#300) (#317)
2d5fef0 [docs] fix outdated UseEncodedPath method docs (#314)
v1.6.0
v1.6.0 major changes:
RouteMatch.MatchErr
is now set toErrNotFound
when the route does not match.- Go 1.5.x and below are no longer supported
- New methods for fetching the query template have been added in
Route.GetQueriesRegexp
andRoute.GetQueriesTemplates
- Bug fixes and documentation updates, detailed below.
CHANGELOG
7f08801 MatchErr is set to ErrNotFound if NotFoundHandler is used (#311)
9f48112 [docs] Document router.Match (#313)
bc452d9 [build] Allow tip failures (#312)
7625a85 .travis.yml: Remove versions < go1.5 from build matrix
c9183aa use req.URL.EscapedPath() instead of getPath(req) (#306)
10490f5 GetQueryTemplates and GetQueryRegexp extraction (#304)
9bd9ff2 Added 1.9 build step (#303)
bdd5a5a Fix WriteHeader in TestA301ResponseWriter. (#301)
3f19343 [docs] Document evaluation order for routes (#297)