Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
5.0.3
->7.3.3
Release Notes
infernojs/inferno
v7.3.3
Compare Source
Inferno Router
Inferno Redux
All internal dependencies updated
v7.3.2
Compare Source
Inferno core
v7.3.1
Compare Source
Inferno-hydration
forwardRef
Component crashed #1486646753c
v7.3.0
Compare Source
Inferno-core
createPortal
v7.2.1
Compare Source
Inferno-core
be677f9
v7.2.0
Compare Source
Inferno-core
General
v7.1.13
Compare Source
Inferno-core
Inferno-devtools
v7.1.12
Compare Source
Inferno core
Inferno.createRef()
did not update correctly #1465 #1466<select>
elementselectIndex
attribute was rendered to DOM #1468v7.1.11
Compare Source
Inferno-core
Example:
v7.1.10
Compare Source
Inferno-test-utils
Removed
props.children
from snapshot when using inferno-compat. Fixes #1451v7.1.9
Compare Source
Inferno core
opencollective-postinstall
package to reduce inferno package size #1450v7.1.8
Compare Source
Inferno core
v7.1.7
Compare Source
All packages
Fixes an issue where not all typing information was published to npm
v7.1.6
Compare Source
v7.1.5
Compare Source
v7.1.4
Compare Source
v7.1.3
Compare Source
v7.1.2
Compare Source
Inferno core
isPropagationStopped
&isDefaultPrevented
methods frominferno-compat
toinferno-core
synthetic events only. This fixes compatibility issue betweeninferno-compat
and video.js -e6666bd
Inferno router
v7.1.1
Compare Source
Inferno core
v7.1.0
Compare Source
Inferno core
addEventListener
API instead of directly assigning event callbacks to html node. This adds support for events which have non standard inline API for example:transitionend
https://developer.mozilla.org/en-US/docs/Web/Events/transitionend
ref
parmeter during patch. #1436selectIndex
-property forselect
elements. #1425v7.0.5
Compare Source
Typescript
Internal
v7.0.4
Compare Source
Inferno core
v7.0.2
Compare Source
Inferno core
v7.0.1
Compare Source
Inferno core
v7.0.0
Compare Source
Inferno core
This release changes how inferno queues
setState
calls. In earlier versions (v6 and before) Inferno used Component's instance to keep track of its updating state. However this pattern failed when child component called parent method or raised an event which lead parent to dosetState
during child's update lifecycle.This has been fixed by moving update detection outside Component instance. Because of this change,
setState
calls will get more aggressively put into the micro task queue. This is a breaking change for applications which expectedsetState
to render synchronously.If your application code depends on the changed state, you can use
setState
callback to track when state has changed. Or if synchronous execution is necessary, you can callrerender()
method which flushes all pendingsetState
calls. This method should be generally avoided because it can cause infinite loops. It is useful for example in testing purposes to avoidsetTimeout
.Due to this change version has been increased to 7.
v6.3.1
Compare Source
Inferno core
$HasKeyedChildren
/$HasNonKeyedChildren
failed for empty contentv6.3.0
Compare Source
Inferno core
v6.2.1
Compare Source
Inferno SSR
v6.2.0
Compare Source
Inferno core
This release does small improvement to runtime performance on V8 and code clean up
patchChildren
methodJSX plugin (babel-plugin-inferno v6.0.3)
defineAllArguments
it can be used to work around V8Builtin:ArgumentsAdaptorTrampoline
this comes with a cost of bundle size increase. Disabled by defaultv6.1.5
Compare Source
Inferno core
Fixes an issue where
setState
callback was not called after queuing multiple setStatesv6.1.4
Compare Source
Inferno core
Fixes an issue where patching SVG properties failed when component was inside SVG dom. #1415
v6.1.3
Compare Source
Inferno core
Fixes an issue where Fragment children rendered to wrong place in DOM when fragments last children was component with another fragment root
v6.1.2
Compare Source
Inferno core
Fixes an issue where emptying Fragment root inside another Fragment caused its new children to be mounted outside its boundaries. #1412
Typescript
Adds back native event properties to following events:
ClipboardEvent
,CompositionEvent
,DragEvent
andFocusEvent
#1411a4b7b50
v6.1.1
Compare Source
Inferno-test-utils
renderVNodeToSnapshot
#1404Typescript
create-element
typing #1408v6.1.0
Compare Source
Inferno core
Fixes bug where multiple calls to
setState
caused setState callbacks to trigger wrong timeInferno-test-utils
Fixes issue where
renderToSnapshot
did not correctly render root level Fragments #1404Typescript
Fixes type information in
inferno-create-element
method, children parameterd7abde6
v6.0.3
Compare Source
Inferno core
v6.0.2
Compare Source
Inferno core
v6.0.1
Compare Source
Fixes error in environments where document is not available
v6.0.0
Compare Source
InfernoJS v6.0.0
Breaking changes
hydrate
moved toinferno-hydrate
packagebackgroundColor
=>background-color
For complete list see Migration guide
New features
getDerivedStateFromProps
andgetSnapshotBeforeUpdate
$HasTextChildren
new JSX compilation time optimization flag addedFragments
Fragment support means you can return array from Component render creating an invisible layer that ties its content together
but will not render any container to actual DOM. The examples below need v6 babel-plugin-inferno
Short syntax example
<> ... </>
Long syntax allows you to specify keys for Fragments. This is useful if there are many Fragments or if array is built dynamically.
You can create fragment:
createFragment(children: any, childFlags: ChildFlags, key?: string | number | null)
<> ... </>
,<Fragment> .... </Fragment>
or<Inferno.Fragment> ... </Inferno.Fragment>
createElement(Inferno.Fragment, {key: 'test'}, ...children)
h(Inferno.Fragment, {key: 'test'}, children)
React documentation: https://reactjs.org/docs/fragments.html
CreateRef API
createRef method allows nicer syntax, and reduces code when no callback to DOM creation is needed.
The below example creates ref object and stores it to Component property
element
.This object is then assigned to the element where you want to create reference. In the example below we want to reference "span".
After render has gone, span element is available in
this.element.current
property.React documentation: https://reactjs.org/docs/refs-and-the-dom.html
ForwardRef API
forwardRef is a new mechanism to "forward" ref inside a functional Component.
It can be useful if you have simple functional Components and you want to create reference to a specific element inside it.
React documentation: https://reactjs.org/docs/forwarding-refs.html
New lifecycle
Like in React when new lifecycle methods
getDerivedStateFromProps
orgetSnapshotBeforeUpdate
are used old lifecycle methods will not be called (componentWillMount
,componentWillReceiveProps
componentWillUpdate
).There will not be
UNSAFE_
methods in Inferno. Just use the normal names.TextChildren
New optimization paths have been added for text. JSX users can force this optimization by adding
$HasTextChildren
tag to any vNode element.This makes given element always render text. Normalization will also default into text children when only single text element is detected as children.
This flag also simplifies an old version of:
New version:
rerender
rerender is a new method that will flush all pending setState calls and render immediately.
It can be used when render timing is important, or to simplify tests.
Top level context
Inferno.render now takes fourth parameter which is initial context.
This removes the need of wrapping application with Class component.
Common
Runtime memory usage has been improved.
dom
properties are no longer stored to component vNode.Various properties have been removed from ES6 Component as well.
parentVNode
hack has been removed removing circularreferences from vNode tree. Normalization
array['$'] = true
hack has been removed.Core
Typescript
Inferno-router
Route
component can now have multiple childrenInferno-compat
options.reactStyles
option added, setting it false removes runtime transformation of style propertiesList of Github issues can be found using this link: https://github.com/infernojs/inferno/issues?utf8=%E2%9C%93&q=label%3A%22Fixed+in+v6.0.0%22+
v5.6.1
Compare Source
Inferno-test-utils
renderToSnapshot
renderToSnapshot
Inferno-extras
This is new package that contains helper utilities to work with InfernoJS virtual DOM. The first methods are:
isDOMinsideVNode(htmlNode, vNode)
- returns true when htmlNode is found from the sub tree of vNodeisDOMinsideComponent(htmlNode, instance)
- returns true when htmlNode is found from rendered virtual node tree of component instanceRead more about inferno-extras here
v5.6.0
Compare Source
All packages
Object.assign
which failed in IE 11 and below.{pkg}/dist/index.esnext.js
Inferno-router
Fixed server side rendering example #1347
v5.5.0
Compare Source
Typescript
noUnusedParameter: true
Inferno-mobx
"undefined"
from mobx logger. #1379Inferno-create-class
Internal
dts-bundle
module its no longer usedv5.4.2
Compare Source
Inferno-core
This release fixes an issue where application level error caused further rendering to get stuck
v5.4.1
Compare Source
Typescript support
Inferno now builds types using
outputAsModuleFolder: true
to fix Webstorm IDE intellisense and to have better compatibility between node module system.v5.4.0
Compare Source
Inferno-core
babel-plugin-inferno
v5.1.0Inferno-server
e88c23c
Inferno-compat
Inferno-test-utils
Common
Documentation
Babel-plugin-inferno v5.1.0
c457396
contenteditable
attributev5.3.0
Compare Source
Improved error recovery
This release adds basic support for recovering from user-land errors. Previous render result is now changed as diffing process goes on. When an exception happens, next render continues from the correct state.
Inferno-core
Chaining
forceUpdate
now renders asynchronously ( the same way assetState
) to avoid error situationsv5.2.0
Compare Source
Inferno-core
Fixes issue where Inferno's synthetic events blocked Firefox mid click #
6b4abe7
Typescript support
onDoubleClick
type has been renamed toonDblClick
to match inferno events15a2196
Fixes typescript error when using
Route
component frominferno-router
e649417
Inferno-redux
Exposed
wrapActionCreators
methodMaintenance
Dependencies updated
v5.1.1
Compare Source
Inferno-devtools
v5.1.0
Compare Source
Inferno-core
5051e12
)a647ac0
)9a23d67
)options.roots
has been removed to reduce memory usageoptions.afterMount / options.afterUpdate / options.beforeUnmount
has been removed as they are no longer needed for devtoolsInferno-devtools (React developer tools)
Inferno - React developer tools integration has been rewritten from scratch. It no longer wraps functional Components into Class Components, it now correctly updates state / and props where possible and no longer duplicates root nodes. This rewrite also fixes some long running issues about the devtools. ( #729 #677 #1326 #1324 )
You can get React developer tools for Chrome from Chrome store
Inferno-router
Typescript
641cf8a
)11171f7
)Build & Maintenance
v5.0.6
Compare Source
Inferno-core
Adds support for boolean expressions in children types TSX (Typescript JSX)
Adds support for style property as string #1338
v5.0.5
Compare Source
Inferno-core
Better typescript support across the library, fixes Github #1332
Fixes
Maximum callstack size exceeded
error when using AngularJS and inspire-tree-dom with Inferno #1331Internal
All dependencies updated
Travis moved to NodeJS 10
v5.0.4
Compare Source
Inferno-core
Improved keyed patch runtime performance by keeping "Sources" variable type "PACKED_SMI_ELEMENTS" v8
e6799c6
Inferno-clone-vnode
Fixes bug where cloning text vNode it did not honor children argument. #1330
Renovate configuration
📅 Schedule: At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻️ Rebasing: Whenever PR becomes conflicted, or if you modify the PR title to begin with "
rebase!
".🔕 Ignore: Close this PR and you won't be reminded about this update again.
Newsflash: Renovate has joined WhiteSource, and is now free for all use. Learn more or view updated terms and privacy policies.