0.4.0 (28 July 2020)
BREAKING
- Minimum required Node.js version have been bumped to 10 as Node.js 8 is EOL now.
- Minimum required Webpack version is now
v4.43.0
or later as we adopted the newmodule.hot.invalidate
API (#).
The new API enabled us to bail out of the HMR loop less frequently and provide a better experience.
If you really cannot upgrade, you can stay on0.3.3
for the time being. - While most of our public API did not change, this release is closer to a rewrite than a refactor.
A lot of files have moved to provide easier access to files for advanced users and frameworks (#122).
You can check the difference in the PR to see what have moved and where they are now. - The
useLegacyWDSSockets
option is now scoped under theoverlay
option (#153).
Features
- Adopted the
module.hot.invalidate()
API, which means we will now bail out less often (#89) - Attach runtime on Webpack's global scope instead of
window
, making the plugin platform-agnostic (#102) - Added stable support for Webpack 5 and beta support for Module Federation (#123, #132, #164)
- Socket integration URL detection via
document.currentScript
(#133) - Relaxed requirements for "required"
overlay
options to receivefalse
as value (#154) - Prefixed all errors thrown by the plugin (#161)
- Eliminated use of soon-to-be-deprecated
lodash.debounce
package (#163)
Fixes
- Fixed circular references for
__react_refresh_error_overlay__
and__react_refresh_utils
(#116) - Fixed IE11 compatibility (#106, #121)
- Rearranged directories to provide more ergonomic imports (#122)
- Fixed issues with Babel/ESLint/Flow regarding loader ordering and runtime cleanup (#129, #140)
- Correctly detecting the HMR plugin (#130, #160)
- Fixed unwanted injection of error overlay in non-browser environment (#146)
- Scoped the
useLegacyWDSSockets
options underoverlay
to reflect its true use (#153) - Fixed non-preserved relative ordering of Webpack entries (#165)