Releases: ui-router/react
0.6.1
0.6.1 (2018-01-31)
Compare @uirouter/react
versions 0.6.0 and 0.6.1
Updated @uirouter/core
from 5.0.15 to 5.0.16
Compare @uirouter/core
versions 5.0.15 and 5.0.16
Bug Fixes
- common: Fix signature of for objects (make target optional) (61d0afc)
0.6.0
0.6.0 (2018-01-30)
Compare @uirouter/react
versions 0.5.5 and 0.6.0
Bug Fixes
- package: update @uirouter/core to version 5.0.14 (ee5e672)
- package: update @uirouter/core to version 5.0.15 (ef2b171)
- reactViews: use new map function signature (6b2aa53)
Features
- UIView:
resolve
s are now injected as root props (ff67239) - UIView: warn user when using
transition
as resolve token (10b247b)
BREAKING CHANGES
- UIView: Previously
resolve
s were accessible as properties of aresolves
props injected in the routed component. They are now each injected as a prop. This way components don't need to be aware of the router and can be more reusable.
before:
render () {
const { foo } = this.props.resolves;
return <div>{foo}</div>;
}
after:
render () {
const { foo } = this.props;
return <div>{foo}</div>
}
Updated @uirouter/core
from 5.0.11 to 5.0.15
Compare @uirouter/core
versions 5.0.11 and 5.0.15
Bug Fixes
- browserLocation: Use location.pathname (not href) or '/' when no base tag found (db461d6)
- browserLocationConfig: If no base href found, use location.href (not empty string) (0251424)
- core: Fix memory leak of resolve data from ALL transitions ever (7f2aed1)
- pathNode: add backwards compat for PathNode.clone(). Add retainedWithToParams to treeChanges interface. (4833a32)
- pushStateLocation: Fix URLs: add slash between base and path when necessary (bfa5755)
- pushStateLocation: When url is "" or "/", use baseHref for pushState (042a950)
- resolve: Add onFinish hook to resolve any dynamicly added resolvables (7d1ca54)
- trace: Fix null reference in uiview name sort function (59cb067)
- treeChanges: apply toParams to 'retained' path (#72) (cf63d11)
- urlRouter: Update query params when resetting url via .update() (7664cd0)
Features
0.5.5
0.5.4
0.5.4 (2017-10-17)
Compare @uirouter/react
versions 0.5.3 and 0.5.4
Updated @uirouter/core
from 5.0.10 to 5.0.11
Compare @uirouter/core
versions 5.0.10 and 5.0.11
Bug Fixes
0.5.3
0.5.3 (2017-10-07)
Compare @uirouter/react
versions 0.5.2 and 0.5.3
Updates @uirouter/core
from 5.0.7 to 5.0.10 (2017-10-07)
Compare @uirouter/core
versions 5.0.7 and 5.0.10
Bug Fixes
- angular/cli: Use package.json fields: 'typings', 'main', 'jsnext:main' (74143d9)
- bundle: Rollup: Do not warn on THIS_IS_UNDEFINED (a4581b1)
- isomorphic: Remove use of CustomEvent. Detect root scope (global/window/self) for nodejs, browser, or web-worker. ([2d206ba](https://github.com/u
i-router/core/commit/2d206ba)) - redirectTo: Fix typings for redirectTo. Allow a function that returns a target state or a promise for one. ([3904487](https://github.com/ui-route
r/core/commit/3904487)) - typings: Use StateObject for parameter to hook criteria functions (5b58566)
Features
0.5.2
@uirouter/react
0.5.2 (2017-09-23)
Compare @uirouter/react
versions 0.5.1 and 0.5.2
Bug Fixes
- sourcemaps: Embed sources in sourcemaps (62d84ea)
Changes to @uirouter/core
:
Compare @uirouter/core
versions 5.0.5 and 5.0.7
Bug Fixes
- globals: Use shallow copy to update the globals.params / $state.params object (e883afc)
- Injector: When getting tokens from native injector, only throw on undefined (not on falsey values) (ada9ca2)
- sourceMaps: Embed typescript sources in sourcemaps (10558a3)
- trace: Fall back to console.log if .table is unavailable (IE) (c8110fc)
- trace: Support tracing of object-parameters with circular references (2f1ae9a)
- typescript: Fix strictNullCheck type error (0ae585e)
- url: Add CustomEvent polyfill for IE (a50db21)
- urlRouter: Fix absolute 'href' generation by using location.hostname (not location.host) (a28b68a)
- urlService: Fix priority sorting of URL rules (73a1fe0)
- vanilla: fix base path handling for vanilla push state (ad61d74)
- vanilla: Use
self
instead ofwindow
for webworker compat (a4629ee)
0.5.1
0.5.1 (2017-07-03)
This release updates @uirouter/core
from 5.0.3 to 5.0.5
Changes in @uirouter/core
between versions 5.0.3 and 5.0.5 (2017-07-03)
Bug Fixes
- future: Allow future states to specify a
parent:
(828fe1b) - typescript: Update to typescript 2.4 (ce1669b)
- view: only sync views which are of the same name and type (c48da4a)
Features
0.5.0
Bug Fixes
- UIRouter: Apply config before registering states (75f169a)
- rollup: Allow rollup to process 'import * as classNames' (8434883), closes #33
Features
- export everything from core alongside the react stuff (6d0b49b), closes #41
- UIView: add render prop API (1047b84), closes #35 #26 #13
BREAKING CHANGES
- UIView: Rename
Resolves
interface toUIViewResolves
for
consistency. - UIView: Rename
InjectedProps
interface toUIViewResolves
for consistency.
@uirouter/core
changes
5.0.3 (2017-05-24)
Bug Fixes
- BrowserLocationConfig: fixed protocol + port value (#38) (5559382)
- TransitionHook: Transition hooks no longer expose the internal StateObject (2b0e48b)
- common: Fix implementation of 'pick' -- use hasOwnProperty (09848a4)
- common: Re-fix implementation of 'pick' using for .. in (f2da7f4)
- lazyLoad: Allow
lazyLoad
stateBuilder: Get lazyLoad fn from internal State object, not StateDeclaration (9313880) - lazyLoad: Wait for future state to be replaced before registering lazy children (4bdce47)
- noImplicitAny: Fix noimplicitany compliance (1a6cdfc)
- pushStateLocation: call listeners in url() (#24) (7c90911), closes #23
- redirect: Do not update URL after redirect with { location: false } (652a760)
- resolve: Allow resolve's state context to be injected as
$state$
(a06948b) - tfs: Rename $q.ts and $injector.ts files, removing leading dollar signs (cb653ee)
- trace: Re-add transitionStart trace (b019036)
- transition: Do not ignore transitions which have states being entered or exited (175717e)
- transitionHook: Do not process transition hooks after router has been disposed. (666c6d7)
- typings: Allow strictNullChecks for HookMatchCriteria (d92d4d5)
- ui-sref: Improve performance of generating hrefs (c3967bd)
- view: Do not throw when uiView doesn't have a state context (f76ee2a)
- view: Update views in order of ui-view depth and also by state depth (46dea2b)
Features
- Globals: implement Disposable and delete global transition data (a794018)
- Rejection: Add $id to ease debugging of transition rejections (d456d54)
- State: Support registration of ES6 state classes (as opposed to object literals) (3a5d055)
- State: Switch Internal State Object to prototypally inherit from the State Declaration (027c995), closes #34
- StateObject: Rename internal
State
object toStateObject
(feceaf9) - StateRegistry: improve perf for:
.register()
andStateMatcher.find()
misses (fdb3ab9) - Transition: Normalize all transition errors to a Rejection. (a7464bb)
- Transition: deprecate
Transition.is()
which was never implemented (1edff4b) - UIRouter: Add
trace
global to theUIRouter
object (48c5af6) - UrlService: (
UrlRouter
) improve perf of registering Url Rules and sorting Url Rules (64fbfff) - UrlService: Add
rules.initial("/home")
to config initial state (like otherwise) (bbe4209) - View: Allow targeting views on own state using
viewname@.
(normalizeUIViewTarget) (7078216), closes #25 - abort: Add API to manually abort/cancel a transition (39f8a53)
- build: Build and distribute UMD bundles (0a8da85)
- common: Perf improvements in hot functions: (4193244)
- core: Export all vanilla.* code from
ui-router-core
(f3392d1) - core: Switch to @uirouter/core npm module (e3f389f)
- decorators: Add state, resolve and resolve data decorators (642df0b)
- defaultErrorHandler: Do not invoke default error handler for ABORTED transitions (b07a24b)
- globals: Removed
UIRouterGlobals
interface. RenamedGlobals
class toUIRouterGlobals
(8719334) - onBefore: Run onBefore hooks asynchronously. (30b82aa)
- onEnter/Exit/Retain: Use onExit/onEnter/onRetain from 56955state(), not state.self (bc1f554)
- transition: Ignore duplicate transitions (double clicks) (bd1bd0b)
- transition: Improve supersede logic: Do not supersede if the new trans is aborted before onStart (3141a8f)
- transition: Run hooks synchronously in current stack, when possible (953e618)
BREAKING CHANGES
TransitionHook: Transition hooks no longer expose the internal State
object (now named StateObject
)
Before:
import { State } from "ui-router-core";
const match = { to: (state: State) => state.data.auth };
transitionsvc.onEnter(match, (trans: Transition, state: State) => {
// state is the internal State object
if (state.includes["foo"]) { // internal ui-router API
return false;
}
}
Now:
import { StateDeclaration } from "@uirouter/react";
const match = { to: (state: StateDeclaration) => state.data.auth };
transitionsvc.onEnter(match, (trans: Transition, state: StateDeclaration) => {
// state === the state object you registered
// Access internal ui-router API using $$state()
if (state.$$state().includes["foo"]) {
return false;
}
}
Motivation:
The State
object (now named StateObject
) is an internal API and should not be exposed via any public APIs.
If you depend on the internal APIs, you can still access the internal object by calling state.$$state()
.
StateObject: Renamed internal API State
object to StateObject
Before:
import {State} from "ui-router-core";
Now:
import {StateObject} from "@uirouter/react";
Motivation:
We'd like to use the State
name/symbol as a public API. It will be an
ES7/TS decorator for ES6/TS state definition classes, i.e:
@State("foo")
export class FooState implements StateDeclaration {
url = "/foo";
component = FooComponent;
@Resolve({ deps: [FooService] })
fooData(fooService) {
return fooService.getFoos();
}
}
Transition: All Transition errors are now wrapped in a Rejection object.
Before:
Previously, if a transition hook returned a rejected promise:
.onStart({}, () => Promise.reject('reject transition'));
In onError
or transtion.promise.catch()
, the raw rejection was returned:
.onError({}, (trans, err) => err === 'reject transition')
Now:
Now, the error is wrapped in a Rejection object.
- The detail (thrown error or rejected value) is still available as
.detail
.
.onError({}, (trans, err) =>
err instanceof Rejection && err.detail === 'reject transition')
- The Rejection object indicates the
.type
of transition rejection (ABORTED, ERROR, SUPERSEDED and/or redirection).
.onError({}, (trans, err) => {
err.type === RejectType.ABORTED === 3
});
Motivation:
Errors thrown from a hook and rejection values returned from a hook can now be processed in the same way.
onBefore: onBefore
hooks are now run a...
0.4.0
Version 0.4.0 is based on ui-router-ore 3.1.0 and as such introduced a lot of new features/fixes alongside some breaking changes.
[full ui-router-core 3.0.0 changelog]
Breaking Changes
- html5Mode(): deprecated in favor of
pushStateLocationPlugin
.
Changed
- ui-router-core: Updated to version
3.1.0
(91661b1).
Add
- UIRouter: Add new
UIRouter
component for handling router instance and declarative bootstrapping (9b59d68).
0.3.0
Breaking Changes
- State Glob patterns have been changed slightly.
Previously, a single wildcard `foo.*` could match "missing segments" on the end of a state name.
For example, `foo.*` would match the state `foo`.
Likewise, `foo.*.*.*` would also match the `foo` state.
Now, a single wildcard matches exactly one segment.
`foo.*` will match `foo.bar` and `foo.baz`, but neither `foo` nor `foo.bar.baz`.
If you previously relied on the single wildcard to match missing segments, use a double wildcard, `foo.**`.
Double wildcards match 0 or more segments.
[Read more about Glob matching](https://ui-router.github.io/docs/latest/classes/common.glob.html)
- (obscure) Renamed
Transition.previous()
toTransition.redirectedFrom()
- (obscure) Location provider: remove
url(url)
andreplace()
in favor ofsetUrl(url, replace)
.
[full ui-router-core 1.0.0-beta.2 changelog].
Changed
- ui-router-core: Updated to version
1.0.0-beta.2
(9ad732e) - UMD: The UMD build is exported as
window.UIRouterReact
instead ofwindow.ui-router-react
. (68ebd4c)
Fix
- uiCanExit: Remove
uiCanExit
hooksetTimeout
wrapper that prevents hook from being called when state is entered and exited synchronously (82bad02). - UISref:
- UISrefActive: Fix state info deregister function (b6c93b5).
- UMD: The UMD build now looks react as
window.React
instead ofwindow.react
. (68ebd4c)