All Versions
Latest Version
Avg Release Cycle
119 days
Latest Release
1137 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