All Versions
Latest Version
Avg Release Cycle
119 days
Latest Release
672 days ago

Changelog History
Page 1

  • v1.8.0 Changes

    August 22, 2020

    v1.8.0 addresses a minor regression with the variable extraction when using a wildcard host match. Specifying .Host(“{port:.*}) will now correctly capture the port into mux.Vars.


  • v1.7.4 Changes

    February 12, 2020

    📚 v1.7.4 addresses a number of performance improvements (#544), bugs (#509, #535), and documentation improvements.


  • v1.7.3 Changes

    June 30, 2019

    🚀 This is a patch release that mostly incorporates test & build system updates, as well as fixing a rare cause of panics.


  • v1.7.2 Changes

    May 17, 2019

    🚀 ⚠️ This release relaxes the host:port matching when using *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.


    • Route.Host -matching will ignore any provided port from getHost(), if… (#447) @cognusion
  • v1.7.1 Changes

    April 05, 2019

    🍱 No notable changes 🎆


  • v1.7.0 Changes

    January 27, 2019

    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 the host:port, as opposed to just the host.
    • 👀 Subrouters should correctly return a 405 if the route matches but the method does not (see #437 for details)


  • v1.6.2 Changes

    May 13, 2018

    ➕ 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!

    📄 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)

  • v1.6.1 Changes

    January 16, 2018

    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:

    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.


    👍 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 (#318)
    🛠 4a3d4f3 [bugfix] Fix method subrouter handler matching (#300) (#317)
    👀 2d5fef0 [docs] fix outdated UseEncodedPath method docs (#314)

  • v1.6.0 Changes

    November 07, 2017

    v1.6.0 major changes:

    • RouteMatch.MatchErr is now set to ErrNotFound 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 and Route.GetQueriesTemplates
    • 🐛 Bug fixes and documentation updates, detailed below.

    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)

  • v1.5.0 Changes

    September 12, 2017

    v1.5.0 major changes:

    • A HTTP 405 "Method Not Allowed" will be returned when the method does not match for the route. This is a change from existing behaviour, where a 404 is returned instead. This behaviour, and the error message, can be customized by setting the MethodNotAllowed property of a *Router instance.
    • Walk will now walk all attached sub-routers


    📄 24fca30 [docs] add missing . (#292)
    📄 bb285ea [docs] Fix missing space in docstring (#289)
    a659b61 Fix #271: Return 405 instead of 404 when request method doesn't match the route
    🏗 ac112f7 Prefer scheme on child route when building URLs.
    🏗 37b3a6c Use scheme from parent router when building URLs.
    8c683ee Fix typo
    ✅ 18fca31 Add test and fix for escaped query values.
    ⚡️ c7a138d Update docs.
    ✅ f9aa23a Add tests for support for queries in URL reversing.
    👍 9c9af15 Add support for queries in URL reversing.
    ⚡️ 043ee65 Update Walking Routes Section
    59ce668 Fix invalid example code
    85b8c20 Removing half of conflict marker (#268)
    ⚡️ 456bcfa Update README with example for Router.Walk
    ⚡️ 4d814f7 Update ancestors parameter for WalkFunc for matcher subrouters
    ⚡️ a322b2c Update Walk to match all subrouters