NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #3050 most downloaded on npm
An **EXPERIMENTAL** Webpack plugin to enable "Fast Refresh" (also previously known as _Hot Reloading_) for React components.
Last release 1 months ago
27 Aug 2026
Release timing varies
gaps range from 2 weeks to 10 months
Nearly every release is documented
notes for 34 of 34 stable releases
1 version withdrawn
withdrawn after publishing
7 years old
72 releases · first in 2019
Use __webpack_global__ if available, to prevent issues with multi-pass bundling
Relaxed peer dependency requirement on type-fest to allow v5.x
One column per quarter.
Ensure this propagates into module factory properly
Minimum required Node.js version has been bumped to 18.12.0 .
18.12.0.webpack version has been bumped to 5.2.0.webpack-dev-server version has been bumped to 4.8.0.webpack-plugin-serve version has been bumped to 1.0.0.overlay.sockHost, overlay.sockPath, overlay.sockPort, overlay.sockProtocol and overlay.useURLPolyfill have all been removed (#850).4.8.0 (published in April 2022).Nothing published for this version
Nothing published for this version
Ensure this propagates into module factory properly
Fixed out of order cleanup when using top-level await
Fixed wrong import in error overlay for ansi-html
Moved to ansi-html v0.0.9 and schema-utils v4.x
Fixed module system inferring (ESM vs CJS) to start from the point of each file
Fixed incorrect sockProtocol override
Added support to exclude dynamically generated modules from other loaders
Bumped loader-utils to fix security vulnerability
loader-utils to fix security vulnerability
(#700)Bumped loader-utils to fix security vulnerability
loader-utils to fix security vulnerability
(#685)Bumped core-js-pure to not depend on deprecated versions
Removed debug console.log statement
Fixed faulty this type import in loader
Handle unknown moduleId for dynamically generated modules
Handle unknown moduleId for dynamically generated modules
(#547)
Handle WDS auto value on port
(#574)
Fixed react-refresh@0.12.0 compatibility
(#576)
Fixed crash when parsing compile errors in overlay (#577)
Respect virtual modules when injecting loader (#593)
Allow port to be missing for WDS, also some general refactoring
(#623)
Skip loader injection for files referenced as assets
Updated overlay for unsafe area in Safari
Added support for WDS v4 client.webSocketURL
Relaxed peer dependency requirement on type-fest to allow v2.x (#507, #508)
Swapped ansi-html to ansi-html-community to fix ReDoS vulnerability
While most of the public API did not change, we've re-written a large chunk of the runtime code to support a wider range of use cases.
This is likely to provide more stability, but if 0.4.x works in your setup but 0.5.x doesn't,
please file us an issue - we would love to address it!
The disableRefreshCheck option have been removed.
(#285)
It has long been effect-less and deprecated since 0.3.x.
The overlay.useLegacyWDSSockets have been removed.
(#498)
It is aimed to support WDS below 3.6.0 (published in June 2019),
but looking at current usage and download stats,
we've decided it is best to drop support for the old socket format moving forward.
Handling of port 0 have been removed.
(#337)
html-entities have been bumped to 2.x.
(#321)
react-refresh have been bumped to 0.10.0.
(#353)
Added WDS v4 support with new socket defaults through Webpack config (#241, #286, #392, #413, #479)
Added the overlay.sockProtocol option
(#242)
Added monorepo compatibility via the the library option
(#273)
Rewritten URL handling using WHATWG URL APIs with automatic pony-filling
(#278,
#332,
#378)
Rewritten Webpack 5 compatibility using new APIs and hooks (#319, #372, #434, #483)
Rewritten refresh runtime to be fully module system aware (#337, #461, #482, #492)
Rewritten Webpack 4 and 5 checks using feature detection on compiler (#415)
Added support for experiments.topLevelAwait
(#435,
#447,
#493)
Added retry logic when socket initialisation fails (#446)
Relaxed peer dependency requirement on type-fest
(#257,
c02018a,
#484)
Relaxed requirement on the overlay option to accept relative paths
(#284)
Patched unstable initialisation of global scope across module boundaries (#290, #369, #464, #505)
Patched quote escaping in injected runtime code (#306)
Invalidate updates outside of Refresh boundary for consistency (#307)
Properly throw when an ambiguous entrypoint is received while using Webpack 4 (#320)
Fixed overlay script source detection for WDS when no src is found
(#331)
Fixed possible Stack Overflow through self-referencing (#370, #380)
Relaxed errors on HMR not found to not crash JS parsing (#371)
Ensure overlay code won't run if disabled (#374)
Relaxed peer dependency requirement on @types/webpack
(#414)
Fixed compiler error overlay crashes when messages are empty (#462)
Swapped ansi-html to ansi-html-community to fix ReDoS vulnerability
(#501)
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Fixed Yarn 2 PnP compatibility with absolute react-refresh/runtime imports
Patched loader to use with Node.js global fetch polyfills
Fixed accidental use of testing alias webpack.next in published plugin code
webpack.next in published plugin code
(#167)Eliminated use of soon-to-be-deprecated lodash.debounce package
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 new module.hot.invalidate API.
(#89)
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 on 0.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 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 the overlay option.
(#153)
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 receive false as value
(#154)
Prefixed all errors thrown by the plugin (#161)
Eliminated use of soon-to-be-deprecated lodash.debounce package
(#163)
Fixed circular references for __react_refresh_error_overlay__ and __react_refresh_utils
(#116)
Rearranged directories to provide more ergonomic imports (#122)
Fixed issues with Babel/ESLint/Flow regarding loader ordering and runtime cleanup (#129, #140)
Fixed unwanted injection of error overlay in non-browser environment (#146)
Scoped the useLegacyWDSSockets options under overlay to reflect its true use
(#153)
Fixed non-preserved relative ordering of Webpack entries (#165)
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Removed unrecoverable React errors check and its corresponding bail out logic on hot dispose
Fixed error in overlay when stack trace is unavailable
Relaxed peer dependency requirements for webpack-plugin-serve
webpack-plugin-serve
(64bb6b8)Deprecated the disableRefreshCheck flag
disableRefreshCheck flag
(#60)Added custom error overlay support (#44)
Added example project to use TypeScript without usual Babel settings (#46)
Added custom socket parameters for WDS (#52)
Added TypeScript definition files (#65)
Added stricter options validation rules (#62)
Added option to configure socket runtime to support more hot integrations (#64)
Added support for webpack-plugin-serve
(#74)
Your coding agent can read these notes before it upgrades. Set up the MCP server →