Revision history for Perl extension Path::Router
0.15 2016-03-01 NEILB
- Switched to Moo, done by FELLIOTT++.
- Added strict and warnings to Path::Router::Types - MANWAR++
- Specified versions when use'ing any third-party modules.
- Added minimal doc for route_class() method in Path::Router,
and clone() method in Path::Router::Route.
- Updated Stevan's email address.
0.14_01 2015-07-03
- Switched to Moo, done by FELLIOTT++.
- Specified versions when use'ing any third-party modules.
- Temporarily dropped NextRelease and Git::NextVersion from the @DOY
bundle, so I can specify a developer release version.
- Added minimal doc for route_class() method in Path::Router,
and clone() method in Path::Router::Route.
- Updated Stevan's email address.
0.14 2015-01-13
- localize $SIG{__DIE__} so that our exception based
flow control does not mess up, or get messed up by,
application exception handling
- thanks to Tim Bunce for finding and reporting
this issue
0.13 2014-08-24
- Allow path components to be false values (doy)
- added tests for this
0.12 2012-07-16
- Fix matching on variable path components with a path where the variable
part evaluated to false (for instance, matching '/blog/show/:id' against
'/blog/show/0'). Reported by Clay Fouts (RT#78388). (doy)
0.11 2011-10-03
- *POSSIBLE BACKWARDS INCOMPATIBILITY*
When using uri_for, a match is considered more exact if it is also
missing items from the path descriptor that don't appear in the route's
defaults or variables. For instance, if a router has /foo with defaults
of { 'a' => 'b' } and /bar with defaults of { 'a' => 'b', 'c' => 'd' },
then ->uri_for({ 'a' => 'b' }) will always return /foo. Previously, it
would return one of them arbitrarily, depending on the definition order.
Also, if this new rule doesn't result in a single route being matched
(for instance, if /foo had defaults of { 'a' => 'b', 'e' => 'f' }), then
an exception will be thrown.
- *POSSIBLE BACKWARDS INCOMPATIBILITY*
When using match, a path will be considered more exact if it matches more
required non-variable path components. For instance, if a router has
/foo/bar and /foo/:bar, then ->match('/foo/bar') will always match
/foo/bar (and not /foo/:bar). Previously, it would return one of them
arbitrarily, depending on the definition order. Also, if this new rule
doesn't result in a single route being matched (for instance, if the
router contained /:foo/bar and /foo/:bar), then an exception will be
thrown.
- Warn when creating validations that don't correspond to a path element
- Convert to Dist::Zilla
0.10 Wed. Jan. 12, 2011
* Path::Router
- route_class attribute, to allow easy subclassing
(thanks to Dylan Hardison)
0.09 Thurs. Dec. 10, 2009
* Path::Router
- fixing a minor problem with the path
generator and optional parts
0.08 Tues. Dec. 8, 2009
* Path::Router
- added the include_router method
to allow inclusion of other routers
- added tests and docs for this
0.07 Tues. Mar. 10, 2009
* Path::Router::*
- lots of code re-written by Daisuke Maki
resulting in an 150% speed increase
- matching code is now inlined by default
but inlining can be turned off if needed
* Path::Router
- added insert_route to allow more fine grained
control over route ordering (Daisuke Maki)
* tests
- do not run pod tests unless testing a release
0.06 Sat. January 10, 2009
* Path::Router
- fix bug with >1 optional path component
- simplify and completely redo uri_for matching
0.05 Sat. January 3, 2009
* Path::Router
- refinements to match correctly in more uri_for edge cases
* Test::Path::Router
- minor display improvements
0.04 Fri. January 2, 2009
* Path::Router
- fix uri_for to return undef on match failure instead of ''
(empty string)
0.03 Wed. July 16, 2008
* Path::Router::Shell
- fixed spelling of Term::ReadLine (RT #37693)
0.02 Mon. July 14, 2008
* Path::Router
- changed DEBUG from a constant sub to $DEBUG
a package variable. This is a new module and
so easy debugability is important.
* Path::Router::Route
- silly fix to make sure exact paths will match
- added tests for this
0.01 Sat. July 12, 2008
- copied Ruby on Rails Router, but make it
... better, stronger, faster