- allow multiple query parameters with same name (#128)
- improve
Route.interpolate()
to support query strings. (#76) - make it possible to have a different patternLexer per router. (#67)
- add trailing/leading ";" to crossroads.min.js to avoid concat issues. (#73)
- improve UMD wrapper so crossroads.min.js should also work with r.js.
- add
crossroads.pipe()
andcrossroads.unpipe()
(#70) - added way to toggle case sensitivity
crossroads.ignoreCase
, default istrue
(#53) - add
crossroads.ignoreState
. (#57)
decodeQueryString()
now respectsshouldTypecast
(#71)- changed
Route.rules
array validation to be case insensitive ifcrossroads.ignoreCase = true
(#49)
- Avoid dispatching the routed/bypassed/matched signals if passing same request in subsequent calls. (#57)
- Add
crossroads.resetState()
(#66)
- Normalize optional segments behavior on IE 7-8 (#58, #59, #60)
- Fix
captureVals
on IE 7-8, make sure global flag works properly (#61, #62, #63)
Route.interpolate()
accepts Numbers as segments. (#54)
- added
crossroads.greedy
(#46) - added
crossroads.greedyEnabled
(#46) - added
crossroads.patternLexer.strict()
andcrossroads.patternLexer.loose()
andcrossroads.patternLexer.legacy()
(#35) - added
Route.interpolate()
(#34) - added query string support (#33)
Route.switched
is only dispatched if matching a different route. (#50)
- change default behavior of slashes at begin/end of request (#35)
- query string support affected old segment rules, now
?
is considered as a segment divisor as/
otherwise optional query string RegExp wouldn't match proper segment if following a required segment. (#33)
- added
Route.switched
(#37) - added
crossroads.NORM_AS_ARRAY
,crossroads.NORM_AS_OBJECT
(#31) - added option to pass default arguments to
crossroads.parse()
(#44) - added rest segments support (#43)
- change build to Node.js
- change minifier to UglifyJS.
- avoid calling
rules.normalize_
during validation step (#39)
- added
crossroads.normalizeFn
(#31) - added
vals_
Array to values object passed tonormalize_
andcrossroads.normalizeFn
to increase flexibility. (#31) - added
Route.greedy
support. (#20) - changed parameters dispatched by
crossroads.routed
signal, passes request as first param and a data object as second param. (#20)
- improve parameter typecasting. (#32)
- refactoring for better code compression and also simplified some logic to increase code readability.
- changed
crossroads.shouldTypecast
default value tofalse
(#23) - added magic rule to normalize route params before dispatch
rules.normalize_
. (#21) - added crossroads.VERSION
- fix optional "/" between required params. (#25)
- only test optional params if value != null. (#26)
- fix CommonJS wrapper, wasn't exporting crossroads properly (#27)
- Migrated unit tests from YUI to Jasmine to allow testing on nodejs and also because it runs locally and gives better error messages. Increased a lot the number of tests that helped to spot a few edge cases. (#5)
- Changed wrapper to generate a single distribution file that runs on all environments. (#27)
- added numbered rules for RegExp pattern and alias to segments (#16)
- added support to optional segments (#17)
- added property
crossroads.shouldTypecast
to enable/disable typecasting segments values. (#18) - added support to multiple instances (#19)
- Refactored
crossroads
core object to make it cleaner.
- fix trailing slash before optional param (#22)
- added magic rule to validate whole request
rules.request_
. (#14)
- changed behavior of trailing slash at the end of string pattern so it doesn't affect route anymore (#12).
- added NPM package.
- added support for RegExp route pattern. (#8)
- added signal
routed
to crossroads. (#9) - added commonjs module wrapper.
- added priority param to
addRoute
. (#2)
- added "js-signals" as module dependency on AMD version.
- safe guarded from empty
parse
calls.
- initial release with basic features support.