NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #1881 most downloaded on npm
Low-level network interception library for Node.js.
Last release today
04 Oct 2026
Release timing varies
gaps range from 8 days to 4 months
Nearly every release is documented
notes for 59 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
212 releases · first in 2021
One column per quarter.
ignore irrelevant request listeners during response patching
remove "RemoteHttpInterceptor" export from the main
export "Interceptor", "BatchInterceptor" classes
ClientRequest: add "EAI_AGAIN" to suppressed errors list
getIncomingMessageBody return on empty body (#223) (6ed820821835657433d0136bf20398936572689a)Nothing published for this version
Nothing published for this version
set minimal supported Node.js version to 14
ClientRequest: set "credentials" to "same-origin"
ClientRequest: ensure "options._defaultAgent" is always set based on the protocol
# 0.14.0 (2022-03-02) ### Features * migrate to node 16.14.0 (lts)
cloneIncomingMessage: inherit prototype properties
xhr: support original responses without any headers
fetch: use native ref to parse request props
## 0.13.3 (2022-02-13) ### Bug Fixes * deps: use "headers-polyfill"
publish the source code to NPM to prevent sourcemap parsing issues with bundlers
change "xhr.upload" property to empty object
Required node@12.20.0 and higher to use the library (#190). All our tooling requires node 12, we're adding the explicit engines.node check in "package
node@12.20.0 and higher to use the library (#190). All our tooling requires node 12, we're adding the explicit engines.node check in "package.json".ClientRequest (#164). The library now extends the native http/https modules instead of replacing them. This means that all the internals of the said modules execute in their entirely, giving you even more confidence in the requests you capture and mock.Fixes an issue that prevents the original response bodies from being read (#138, #150, #151, #152).
Fixes a security vulnerability from xmldom (#145, #148).
xmldom (#145, #148).Updates the outvariant dependency to the version that relies on its own format function (https://github.com/open-draft/outvariant/pull/2).
outvariant dependency to the version that relies on its own format function (https://github.com/open-draft/outvariant/pull/2).Bumps the outvariant dependency to fix the positionals interpolation (#144).
outvariant dependency to fix the positionals interpolation (#144).Fixes an issue that resulted in a memory leak caused by un-attached event listeners on IncomingMessage (#139, #140).
IncomingMessage (#139, #140).Fixes an issue that resulted in response bodies being corrupted when using the gzip content-encoding (#109, #136).
Fixes an issue when a custom socket timeout on an HTTP request wasn't unreferenced properly, resulting in an unterminated test process (#120).
Supports remote request interception via createRemoteInterceptor and createRemoteResolver (#129).
createRemoteInterceptor and createRemoteResolver (#129).## Bug fixes - #131 (https://github.com/mswjs/msw/issues/700) - #133
Resolves issues related to jest@27 support (#124, #126).
jest@27 support (#124, #126).http.ClientRequest class is no longer monkey-patched to prevent a memory leak (#116).
http.ClientRequest class is no longer monkey-patched to prevent a memory leak (#116).xmlHttpRequest.responseXML (#117).(Internal) Determines a URL passed as an argument to ClientRequest based on instanceof URL (#114).
ClientRequest based on instanceof URL (#114).Removes TypeScript declarations that contained a typo (#106).
-import { IsomorphicRequest, IsomophricResponse } from '@mswjs/interceptors'
+import { IsomorphicRequest, IsomorphicResponse } from '@mswjs/interceptors'
Isomorphic request headers are now an instance of HeadersPolyfill (#105 ).
createInterceptor({
modules: [...],
resolver(request) {
- request.headers['accept']
+ request.headers.get('accept')
}
})
The package has been renamed to `@mswjs/interceptors` (#104).
@mswjs/interceptors (#104).RequestInterceptor class has been removed in favor of createInterceptor function (#92).-import { RequestInterceptor } from 'node-request-interceptor'
-import nodeInterceptors from 'node-request-interceptor/lib/presets/node'
+import { createInterceptor } from '@mswjs/interceptors'
+import nodeInterceptors from '@mswjs/interceptors/lib/presets/node'
-const interceptor = new RequestInterceptor()
-interceptor.use((request) => {})
+const interceptor = createInterceptor({
+ modules: nodeInterceptors
+ resolver(request) {}
Your coding agent can read these notes before it upgrades. Set up the MCP server →