Releases: tigerwill90/fox
Releases · tigerwill90/fox
v0.7.6
What's Changed
- Allow to register middleware for a specific handler scope (404, 405, etc...) by @tigerwill90 in #14
- Removed the
WithRedirectFixedPath
option, as it can be handled in a middleware - Fixed an edge case in the trailing slash redirect feature where the client was not redirected in certain scenarios (e.g., registered route
/users
and/users/{id}
, a/users/
request would not be redirected to/users
).
Full Changelog: v0.7.5...v0.7.6
v0.7.5
What's Changed
- Updated HandlerFunc: Switched to a more idiomatic approach that doesn't return an error.
Full Changelog: v0.7.4...v0.7.5
v0.7.4
What's Changed
- RawPath Usage: Fox now prioritizes the use of RawPath, falling back to Path when necessary. This change ensures that encoded paths are properly handled.
- Redirect Trailing Slash: The router now use relative paths when redirecting with or without trailing slashes. This update allows for proper path resolution by clients when the router is behind a proxy that rewrites paths.
- Tree API: A new function has been added to the Tree API that retrieves the HTTP methods registered in a tree.
Full Changelog: v0.7.3...v0.7.4
v0.7.3
v0.7.2
v0.7.1
This release resolves a bug in the io.ReaderFrom
implementation.
Change Logs
Fixed an issue where WriteHeader
could be called multiple times in some situations.
Full Changelog: v0.7.0...v0.7.1
v0.7.0
This release introduces major breaking changes and improvements to the router.
Change logs
- Allow limited route overlapping
- The HandlerFunc interface has changed in favor of
fox.Context
Full Changelog: v0.6.0...v0.7.0
v0.6.0
This release introduces some important breaking changes and improvements to the router.
Change logs
- New route declaration syntax introduced, which will require changes to existing implementations
/users/:id => /users/{id} /filepath/*path => /filepath/*{path}
- Improved performance through optimized route handling and reduced validation checks
v0.5.0
This release introduces some important breaking changes and improvements to the router.
Change logs
- Router configuration use now the
Optional
pattern. - Three new methods have been introduced to the Router type for working with routing trees. These methods are marked as EXPERIMENTAL and are likely to change in future releases.
- Tree: Atomically loads and returns the currently in-use routing tree.
- Swap: Atomically replaces the currently in-use routing tree with a provided new tree, and returns the previous tree.
- Use: Atomically replaces the currently in-use routing tree with a provided new tree.
- The new Tree API allows to take control of the internal
sync.Mutex
for advanced usage. - Rework of the
Lookup
function to improve performance. - Rename the
Match
function forHas
.
PR
- RFC consistent view update & tree swapping by @tigerwill90 in #8
Full Changelog: v0.4.0...v0.5.0
v0.4.0
Change logs
- Update/fix docs
- Add an experimental
LockedRouter
api
Breaking changes
- Remove
Upsert
method. UseLockedRouter
instead.