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:
resolves are now injected as root props (ff67239) - UIView: warn user when using
transitionas resolve token (10b247b)
BREAKING CHANGES
- UIView: Previously
resolves were accessible as properties of aresolvesprops 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
selfinstead ofwindowfor 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
Resolvesinterface toUIViewResolvesfor
consistency. - UIView: Rename
InjectedPropsinterface 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
lazyLoadstateBuilder: 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
Stateobject 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
traceglobal to theUIRouterobject (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
UIRouterGlobalsinterface. RenamedGlobalsclass 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
.typeof 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
UIRoutercomponent 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.UIRouterReactinstead ofwindow.ui-router-react. (68ebd4c)
Fix
- uiCanExit: Remove
uiCanExithooksetTimeoutwrapper 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.Reactinstead ofwindow.react. (68ebd4c)