47 KiB
Change Log
All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
4.12.11 (2019-08-12)
Features
- react 16.9 support, 1320 by @Bnaya
Bug Fixes
4.12.10 (2019-07-27)
Bug Fixes
- append react-hot-dom patch note to the ProxyFacade, fixes #1311 (81bbb6a)
- use void IIFE for webpack plugin, fixes #1309 (6089822)
4.12.9 (2019-07-23)
Bug Fixes
4.12.8 (2019-07-18)
Bug Fixes
- script error on IE11 due to lack of Object.entries (6672b26)
4.12.7 (2019-07-16)
Bug Fixes
- false negative comparisons with react-hot-dom enabled, fixes #1299 (a1c5c31)
- reload hooks when hook body changes (4795456)
4.12.6 (2019-07-10)
Bug Fixes
4.12.5 (2019-07-07)
Bug Fixes
4.12.4 (2019-07-06)
Bug Fixes
4.12.3 (2019-07-04)
Bug Fixes
- babel plugin should use only extrernals hooks, fixes #1285 (c435eaa)
- make type comparison stronger (1b9f2da)
- prevent different typeof of components to be merged (357249c)
- regression of registered type comparison, fixes #1284 (49851be)
4.12.2 (2019-07-03)
Bug Fixes
4.12.1 (2019-07-03)
Bug Fixes
- clone node for signature, fixes #1268 (ed3e1d9)
- memo components are not updated (5bca98c)
- use deep clone for fresh signature, fixes #1280 (d796af8)
4.12.0 (2019-06-30)
Features
4.11.2 (2019-06-30)
Bug Fixes
- babel-plugin is not compatible with commonjs module output if babel 7 is used #1268.
4.11.1 (2019-06-15)
Bug Fixes
- hot render of forward props component (4ba7530)
- regression in hidden components reconcilation (3f8efc4)
- update react-fresh babel plugin (2fafd44)
4.11.0 (2019-06-10)
Bug Fixes
- source map consumer could be synchronous (05a6c8e)
Features
- backport React.Fresh to handle hooks order change (e5c4bb4)
4.10.0 (2019-06-02)
Features
4.9.0 (2019-06-02)
Bug Fixes
- false positive hot merge for forwardRef and Memo components, fixes #1257 (dbf1047)
- improve hot api for production mode - error reporting and babel plugin (6b29911)
Features
4.8.8 (2019-05-23)
Bug Fixes
4.8.7 (2019-05-20)
Bug Fixes
4.8.6 (2019-05-18)
Bug Fixes
4.8.5 (2019-05-16)
Bug Fixes
- correct memo fiber updater, fixes #1230 (a185494)
- make API more error prone, fixes #1228 (a6ba488)
- move react-dom notification to AppContainer, fixes #1227 (28bfdd4)
- update root endpoint, fixes #1226, #1240 (608805a)
- use simpler conditions for index.js, implements #1244 (4811d57)
- webpack plugin fails on hot-loader/react-dom, fixes ##1234 (826eee3)
- webpack-plugin - use RHL global variable, fixes #1251 (f036d36)
4.8.4 (2019-04-15)
Bug Fixes
- document the importance of import order, fixes #1209 (5f50ee4)
- dont skip first update or plain components (432e0f8)
- remove Object.assign, fixes #1226 (c5af009)
4.8.3 (2019-04-05)
Bug Fixes
4.8.1 (2019-03-29)
Bug Fixes
4.8.0 (2019-03-07)
Features
- support 16.8.4 (38b63cd)
4.7.2 (2019-03-04)
Bug Fixes
- safer reads from context consumer (7942d26)
- suppress error message on a server side, fixes #1188 (b12b430)
4.7.1 (2019-02-20)
Bug Fixes
- destructed Context.Provider breaking registrations. fixes #1184 (8240111)
- do not poison memoized props (9f6ab6e)
- rethrow an error is hot comparison is not open (8befa5a)
4.7.0 (2019-02-18)
Bug Fixes
- complain if hot patches not present, fixes #1173 (efc3d6b)
- deactivate RHL in dev mode if eval not allowed (f995b0d)
- disable ErrorBoundaries for a first run, fixes #1172 (2a834c2)
- Support Context.Provider reload and React.memo, fixes #1169 (09e48eb)
Features
- activate pureRender by default (4e971b5)
- implement flexible hot injections (b7e8f5e)
- make errors retryable to mitigate hooks update (9967fde)
4.6.5 (2019-01-31)
Bug Fixes
- babel plugin produces a broken code (6f8573f)
4.6.4 (2019-01-31)
Bug Fixes
- do not shadow component name (4b02767)
- do not supress HMR errors (be79d2f)
- fix wrong react-dom name resolution installation (6f829a0)
- opt-out for module safety net, fixes #1102, #1159 (93d0b1f)
- remove platform checks from production bundle, fixes #1162 (24d0448)
- update fiber cached type, fixes #1139 (35984ff)
4.6.3 (2018-12-19)
Bug Fixes
- context information is not always properly emulated in hot-render, fixes #1094 (100fc9c)
- RHL could update non-relative components (5d4f226)
- update memo updater and comparator. fix #1135 (826a57c)
4.6.2 (2018-12-18)
Bug Fixes
- allow multiple 'hot' in one file, registering only the first one (68c2a0a)
- error overlay initialization prior body, fixes #1127 (9177aba)
4.6.1 (2018-12-17)
Bug Fixes
- display hmr errors as hmr errors, #1131 (615790f)
- error overlay is not server side friendly, #1126 (40e3ff2)
- hmr error detection is flaky (9d3a2c0)
- secure wrapped/uwrapped comparison (a62bacd)
- webpack plugin outputs es2015 code (8a66401)
4.6.0 (2018-12-13)
Features
- implement flexible error boundaries (1846019)
- new root/hot for better error management. Fixes #1078, #1111 (3029428)
4.5.3 (2018-12-07)
Bug Fixes
- enable class equality, but disable class merge, when not hot (8d214b3)
- react-dom hot-replacement is too active (8827a40)
4.5.2 (2018-12-06)
Bug Fixes
- forwardRef to be remounted every frame. React-router to merge components (3b11866)
- React-router to merge components (f45fee0)
- remove early reject, #1115 (0a28144)
4.5.1 (2018-11-21)
Bug Fixes
- add lodash.merge as dep (1de55d6)
4.5.0 (2018-11-20)
Bug Fixes
Features
- webpack patch/inject mode (42d637b)
4.4.0-1 (2018-11-01)
Bug Fixes
forwardRefreconciliation #1100
4.4.0 (2018-11-01)
Features
- React 16.5 and React 16.6 support. forwardRef, memo, lazy #1084
- Webpack loader #1098
- mark RHL sideEffect-free in production mode #1096
- babel plugin will remove
hotin production #1091
Bug Fixes
- babel plugin will remove calls to
hotin production mode to remove side-effect on webpack #1081 - class methods, deleted on update, will be deleted from proxy #1091
4.3.11 (2018-09-20)
Bug Fixes
- hot fixing ES5 literals in index.js (80f6b63)
4.3.10 (2018-09-20)
Bug Fixes
- IE10/CSP compatibility. #1073
4.3.7 (2018-09-13)
Bug Fixes
4.3.6 (2018-09-04)
Bug Fixes
- don't inadvertendly call getters (322e746)
4.3.5 (2018-08-23)
Bug Fixes
- dont hot-swap registered components, #1050 (cf165a6)
- use the same conditions for index and patch (f67d5b9)
4.3.4 (2018-07-25)
Bug Fixes
- element could be double-proxied (#1033)
- Components, not directly inherited from React.Components, like StyledComponents, are not working (#1031)
4.3.3 (2018-06-15)
Bug Fixes
4.3.2 (2018-06-13)
Bug Fixes
- Add cold API to TypeScript definitions
4.3.1 (2018-06-09)
Bug Fixes
- Preact could pass arguments to the render, fix #1013 (605da10)
- Support _this10 and over (bb47ca4)
- Handle lazy indeterminate static properties(Relay) #1014
4.3.0 (2018-06-05)
Bug Fixes
- Context Provider could crash due update, #944 (b0e2b5b)
- RHL babel plugin will ignore react and react-hot-loader, fixes #900 (e90a25c)
- RHL should add new class methods (111d56e)
- Multiple problems with methods update. Revert behavior back to v4.1.2 #1001
Features
4.2.0 (2018-05-16)
Changes
- Stateless Components will be converted to React.Component ones (as they were prior 4.1.0) #977
Features
- Basic support for React 16 Context #979
Bug fixes
- pure components wont update #959, #944
- better babel compliance ("this5"), #969
- sideeffect-less updates #970
- render as a class property #924
- issues around reactLifecyclesCompat.polyfill #951
- more examples and test cases
- multiple reconsilation related bug fixes
4.1.3 (2018-05-08)
Bug Fixes
- always update bound functions. #949 (7819c71)
- Fragment with a single element. fixes #956 (7e80881)
- props merge order. #967 (#968) (1f8adb9)
4.1.2 (2018-04-24)
Bug Fixes
4.1.1 (2018-04-24)
Bug Fixes
4.1.0 (2018-04-18)
Features
- 🚀 React 16.3 support (#918)
- 🧙🏻♂️ StatelessFunctionComponents are not wrapped by Stateful components anymore (#873)
- 🧠Improved TypeScript support (no more than documentation) (#884)
Bug Fixes
- support babel temporal
_this3(#928)
4.0.1 (2018-04-01)
Bug Fixes
- fix double proxy registration (#915) (f8532df), closes #912
- replace
.includesby.indexOf(IE11 fix) (#906) (87ad586) - break render recursion (MobX fix) (#889) (33f2376)
Docs
4.0.0 (2018-02-27)
Bug Fixes
4.0.0-rc.0 (2018-02-19)
4.0.0-beta.23 (2018-02-18)
Bug Fixes
- disable RHL when HMR is not activated (#863) (ffe0035)
- fix various bugs (#857) (8fa1d42), closes #845 #843
- transfer original prototype methods (#859) (0b7997f), closes #845 #843 #858
4.0.0-beta.22 (2018-02-10)
Bug Fixes
Features
4.0.0-beta.21 (2018-02-05)
Bug Fixes
4.0.0-beta.20 (2018-02-04)
4.0.0-beta.19 (2018-02-03)
Bug Fixes
- areComponentsEqual: fix behaviour (#829) (d4dcd07)
- prop-types: add prop-types as dependency (#823) (c2b7c3c)
- regenerate overriden members (#837) (39d4f5b), closes #836
4.0.0-beta.18 (2018-01-25)
Bug Fixes
4.0.0-beta.17 (2018-01-22)
Features
Bug Fixes
4.0.0-beta.16 (2018-01-21)
-
react-hot-loader: Hard code consts from stand-in #807)
-
react-hot-loader: Support React 16 Fragments #799)
-
react-hot-loader: Suppress some warnings #804)
-
react-hot-loader: Better Electron support #794)
-
react-stand-in: Fix IE11 regression (again)
4.0.0-beta.15 (2018-01-16)
- react-deep-force-update: remove from the project
- react-stand-in: fix MobX (Cannot assign to read only property 'render', #796)
4.0.0-beta.14 (2018-01-14)
4.0.0-beta.13 (2018-01-09)
Features
4.0.0-beta.12 (2018-01-02)
Bug Fixes
4.0.0-beta.11 (2017-12-30)
Bug Fixes
- build: fix builded files (f4aa275)
4.0.0-beta.10 (2017-12-30)
Bug Fixes
4.0.0-beta.9 (2017-12-30)
Bug Fixes
4.0.0-beta.8 (2017-12-29)
Bug Fixes
- react-hot-loader: fix missing export (239ca5d)
4.0.0-beta.7 (2017-12-29)
Bug Fixes
- handle async loading of patch (#739) (af8bd4b)
- react-hot-loader: fix componentWillUpdate (95a9e79)
- use safe defineProperty (f901192)
Features
- replace warnings by
configure({ debug: true })(4f079c6)
4.0.0-beta.6 (2017-12-27)
Same as 4.0.0-beta.5, fix build problem.
4.0.0-beta.5 (2017-12-27)
Bug Fixes
Manual changelog
4.0.0-beta.4
- Handle terminal node in stack (#728)
4.0.0-beta.3
- Use setTimeout to tick (#726)
4.0.0-beta.2
- Bunch of fixes (#725)
4.0.0-beta.1
- Remove webpack plugin (#707)
- Replace react-proxy by react-stand-in (#707)
- Replace react-deep-force-update by reconciler (#703)
- Add
hotHOC (#707) - Add
areComponentsEqual(#304) warningsflag now controls reconciler, not dev patch.
3.1.1
- Revert fix arrow function that uses props in constructor (#670)
- Remove babel-template dependency (#671)
3.1.0
- Add an option to disable warnings (#669)
- Fix arrow function that uses props in constructor (#670)
3.0.0
- Add React 16 support (#629, #658)
- Remove RedBox as default error catcher (#494)
3.0.0-beta.6
- Use production versions of
patchandAppContainerif nomodule.hotavailable, so it doesn't break people usingNODE_ENV=test. (#398) - Opt out of transforming static class properties. (#381)
3.0.0-beta.5
- Makes the class properties portion of the Babel plugin work with async functions. (#372)
- Change the output of the tagger code in the Babel plugin so that it doesn't
break the output of
babel-node. (#374)
3.0.0-beta.4
- Extends the Babel plugin to enable hot reloading of class properties. (#322)
- Fixes a bug in the Webpack loader from a component importing a module with the same basename. (#347)
3.0.0-beta.3
- Fixes broken import of RedBox, which led to confusing stack traces when applications threw errors. (#314)
- Add
module.hotchecks to conditionalrequire()s to remove unnecessary warnings when using server rendering. (#302)
3.0.0-beta.2
- Patch
React.createFactory(#287) - Fix props typo (#285)
3.0.0-beta.1
- Adds complete React Router support. Async routes should work fine now. (#272)
- Fixes a nasty bug which caused unwrapped component to render. (#266, #272)
- Fixes an issue that caused components with
shouldComponentUpdateoptimizations not getting redrawn (#269, 2a1e384d54e1919117f70f75dd20ad2490b1d9f5) - Internal: a rewrite and much better test coverage.
3.0.0-beta.0
-
Fixes an issue when used in Webpack 2 (https://github.com/gaearon/react-hot-loader/issues/263)
-
Breaking change: instead of
;<AppContainer component={App} props={{ prop: val }} />
you now need to write
```js
<AppContainer>
<App prop={val} />
</AppContainer>
(#250)
See this commit as an update reference!
3.0.0-alpha
Big changes both to internals and usage. No docs yet but you can look at https://github.com/gaearon/react-hot-boilerplate/pull/61 for an example.
2.0.0-alpha
Experimental release that isn't really representative on what will go in 2.0, but uses the new engine.
Some ideas of what should be possible with the new engine:
- There is no requirement to pass
getRootInstances()anymore, so React Hot Loader doesn't needreact/lib/ReactMountor walk the tree, which was somewhat fragile and changing between versions - Static methods and properties are now hot-reloaded
- Instance getters and setters are now hot reloaded
- Static getters and setters are now hot reloaded
- Deleted instance methods are now deleted during hot reloading
- Single method form of autobind-decorator is now supported
What might get broken:
- We no longer overwrite or even touch the original class. Every time makeHot is
invoked, it will return a special proxy class. This means a caveat: for
example, static methods will only be hot-reloaded if you refer to them as
this.constructor.doSomething()instead ofFooBar.doSomething(). This is because React Hot Loader callsmakeHotright before exporting, soFooBarstill refers to the original class. Similarly,this.constructor === Appwill befalseinsideAppunless you callApp = makeHot(App)manually, which you can't do with React Hot Loader. I'm not sure how much of a problem this will be, so let me know if it pains you. In the longer term, we will deprecate React Hot Loader in favor of a Babel plugin which will be able to rewrite class definitions correctly, so it shouldn't be a problem for a long time. If there is demand, we can introduce a mode that rewrites passed classes, too.
1.3.1
- Fix import for ReactMount to support 15.4.0 (#430)
1.3.0
- Recover from module errors on module level (#187)
1.2.9
- Silently ignore exports that raise an error when accessed (#114)
- Update
source-mapdependency
1.2.8
- Remove React from peerDependencies
- Update React Hot API to support React 0.14 beta 1
1.2.7
- Preserve CommonJS
exportscontext in the wrapping closure (#124)
1.2.6
- Fix autobinding on newly added methods for
createClass-style classes
1.2.5
- Fix “React is not defined” error
1.2.4
- Avoid updating each class twice in React 0.12
1.2.3
- Explicitly exclude
react/libfiles from processing. You should useexclude: /node_modules/in configuration, but at least this doesn't blow up for those who don't.
1.2.2
- Fix crash on React 0.13. Now compatible!
1.2.1
- Don't try to flatten inheritance chains, as it causes problems with
super - Instead, automatically opt custom base classes into hot reloading as long as
they descend from
React.Component(in React 0.13). If your custom base class doesn't do that but you'd still want to have hot reloading, you need to manually opt it in viamodule.makeHotAPI.
1.2.0
- Support hot-reloading components without a base class (react-hot-api#5)
- Support hot-reloading inheritance chains (react-hot-api#10)
- Support using React 0.13 as an external
1.1.7
- Add React 0.13 RC2 to peerDeps
1.1.6
- Allow React 0.13 RC1
- Better support for ES6 inheritance
- Fix reloading for modules with null prototype chain (#82)
1.1.5
- Wrap user code in IEFF to prevent losing
"use strict". Fixes #75
1.1.4
- Fix crash when hot-reloading element factory. (Note: React discourages exporting factories.)
1.1.3
- Avoid warnings on React 0.13
1.1.2
- Compatibility with React 0.13.0-beta.1
1.1.1
- Fix edge cases by requiring
react/lib/ReactMountin transformed source files - Add a warning if
ReactMountdoesn't return anything useful (e.g. when using external React)
1.1.0
- Skipping
node_modulesentirely wasn't the best idea. Instead, we now specifically skipnode_modules/react/,node_modules/webpack/andnode_modules/react-hot-loader/. However you are still encouraged to addexclude: /node_modules/to your loader config for best performance. - Now modules that don't export any valid React classes in
module.exportsor any its properties will not be auto-accepted. This prevents hot loader from trying to handle non-React updates and allows changes in plain JS files to propagate to components that can handle them. For example, this allows react-jss mixin to apply hot updates to JSS styles.
1.0.7
- Skip
node_modulesentirely. Fixes #54 on Windows.
1.0.6
- Add
require('react-hot-loader/Injection')to override Hot Loader behavior. Now you can supply your own way of getting root component instances, so Hot Loader can also work in environment whererequire('react/lib/ReactMount')is not available (for example, when React is used as standalone bundle and not NPM package).
1.0.5
- Fix stack overflow when hotifying same class twice (#52)
1.0.4
- Allow both
module.exportsand its properties be components (Fixes #50)
1.0.3
- In addition to hotifying
module.exportsby default, also hotify all its own properties
1.0.2
- Don't try to hot-replace
module.exportedReactElements
1.0.1
- Delay
requireingReactMountto avoid circular dependencies - Don't process React or Webpack internals to avoid potential issues
1.0.0
- Don't rely on
createClassregex or any other regex - Only
module.exportsis hot by default - Supports ES6 classes when they land in React 0.13
- Supports dynamically created classes
- Manual mode
See what changed and how to migrate to 1.0.
0.5.0
- Adds source map support, contributed by Jake Riesterer
0.4.5
- Collapse all hot loader code in one line so it doesn't obscure beginning of file.
0.4.4
- Errors occuring in module definition (such as
ReferenceError) should not disable further reloading (fixes #29)
0.4.3
- Support lowercase
reactreference name and usage with ES6 classes (createClass(MyComponent.prototype)) via #27
0.4.2
- Catch errors in modules and log them instead of reloading (fixes #21)
0.4.1
- Use more precise
React.createClassregex to avoid matching own code when hot loader is applied to all JS files.
0.4.0
- Ignore files that contain no
createClasscalls (fixes #17) - Remove the need for pitch loader (fixes #19)
- Improve performance by only using one loader instead of two
- Now that performance is acceptable, remove desktop notifications and
notifyoption - It is now recommended that you use
devtool: 'eval'because it's much faster and has no downsides anymore
0.3.1
- Avoid warnings on old browsers with missing
NotificationAPI - Errors don't cause page reload anymore
0.3.0
- Use React 0.11