All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
...
0.8.1 - 2025-01-07
- Remove required lifetime from router.
0.8.0 - 2025-01-07
- The router no longer performs percent-decoding.
- Searches no longer error on any invalid UTF-8 parameters, instead acting as if the path doesn't match instead.
- Error messages are now more consistent.
- The term 'route' has been replaced with 'template'.
- Lowered MSRV from 1.66 to 1.63.
- The
Routable
wrapper is no longer needed. The router uses strings for inserts. - The
Path
wrapper is no longer needed. The router uses strings for searches. EncodingError
has been removed.PathError
has been removed.RoutableError
has been removed.
- Priority logic now correctly prefers depth, then length, of templates.
0.7.0 - 2024-11-12
- Support builder pattern for constructing routables.
Router
now requires an explicit lifetime.- All routes now require a leading
/
. - Router display no longer shows internal root node. Matchable nodes are now denoted by
[*]
. - Route expander now converts empty routes
""
to"/"
. Parameters
lists make use ofsmallvec
now.
- Individual parameters are returned as tuples, rather than
Parameter
.
- Touching parameters are now correctly rejected.
0.6.0 - 2024-10-27
- Added support for optional groups in routes.
- Added support for inline wildcards.
- Inserts and deletes should be much more efficient now.
- Syntax for escaping parameters has changed to use the
\
character. - Route errors now have more consistent error messages.
- Duplicate route error now shows which route caused the conflict.
- Added priority ranking to routes.
- Optional parameters have been replaced with optional groups.
- Optional trailing slashes have been replaced with optional groups.
0.5.0 - 2024-09-11
- Ensure routes can only be deleted via the exact same inserted route.
- Router display is more compact now.
0.4.0 - 2024-09-11
- Optional trailing slashes are now supported.
- Route error messages are now correctly indented.
0.3.0 - 2024-09-11
- Optional parameters are now supported in routes.
- Successful matches now return a flattened representation of node data.
- Route encoding errors now live in the encoding error enum.
- Router display now uses different characters to represent root and matchable nodes.
- Router delete method now checks for encoded routes.
- Be consistent with the use of terms "path" and "route".
0.2.1 - 2024-09-04
- Added OCI example.
- Router display no longer relies on generic being displayable.
0.2.0 - 2024-08-29
- Search method now returns a result.
- Removed all usages of unsafe code.
- Removed smallvec dependency.
- Resolved incorrect unsafe usage in parameter extraction.
0.1.0 - 2024-08-29
- Initial implementation of
wayfind
.