Ibraheemdev Matchit Versions Save

A high performance, zero-copy URL router.

v0.8.2

2 weeks ago
  • Add Router::remove.

v0.8.1

2 weeks ago
  • Implement Debug for Router.

v0.8.0

2 months ago

This a large release containing a number of new features and breaking changes.

  • The syntax for route parameters has been changed. Named parameters are now marked by {x} and catch-all parameters with {*x}. This allows for more flexibility and support for more complex routes in the future.
  • The { and } characters can be escaped with {{ and }} in static routes.
  • Trailing slash redirect support has been removed. Routes like /foo and /foo/ are now treated as completely disconnected. To achieve redirect behavior, routes must be registered twice, with and without a trailing slash.
  • Catch-all parameters without a leading slash are now supported (https://github.com/ibraheemdev/matchit/issues/42).

v0.7.3

7 months ago
  • Better support for overlapping route parameters. The name of a route parameter no longer has any affect on conflicts, meaning routes like /user/:filter/search and /user/:id no longer overlap. (#13).

v0.7.2

9 months ago

v0.7.1

9 months ago
  • Fix cargo license metadata.

v0.7.0

1 year ago
  • Router::fix_path was removed
  • False positive MatchError::ExtraTrailingSlash bug was fixed (#22)

v0.6.0

1 year ago
  • Routes like /*foo and /bar are now allowed to overlap, with /bar prioritized (#18)
  • The route /foo/ no longer matches /foo/*bar, and is allowed to exist on it's own
  • Route parameters for catchall routes no longer include the /, e.g. /foo.js will match /*filepath with a value of foo.js, not /foo.js
  • Error::MalformedPath was removed in favor of Error::InvalidCatchAll

v0.5.0

2 years ago
  • Renamed Node to Router
  • Renamed Node::path_ignore_case to Router::fix_path
  • MatchError is now an enum, with more detailed trailing slash information.

v0.4.6

2 years ago
  • Set MSRV to Rust 1.54 (reverted to 2018 edition)