- fix(pathFilter): handle errors
- refactor(dependency): replace is-plain-obj with is-plain-object (#1031)
- chore(package): upgrade to eslint v9 (#1032)
- fix(logger-plugin): handle undefined protocol and hostname (#1036)
- fix(type): fix RequestHandler return type (#980)
- refactor(errors): improve pathFilter error message (#987)
- fix(logger-plugin): fix missing target port (#989)
- ci(package): npm package provenance (#991)
- fix(logger-plugin): log target port when router option is used (#1001)
- refactor: fix circular dependencies (#1010)
- fix(fix-request-body): support '+json' content-type suffix (#1015)
This release contains some breaking changes.
Please read the V3 discussion #768 or follow the MIGRATION.md guide.
- feat(typescript): type improvements (#882)
- chore(deps): update micromatch to 4.0.5
- chore(package): bump devDependencies
- feat(legacyCreateProxyMiddleware): show migration tips (#756)
- feat(legacyCreateProxyMiddleware): adapter with v2 behavior (#754)
- docs(proxy events): fix new syntax (#753)
- feat(debug): improve troubleshooting (#752)
- test(path-rewriter): improve coverage (#751)
- feat(ejectPlugins): skip registering default plugins (#750)
- refactor: logging [BREAKING CHANGE] (#749)
- refactor(handlers): refactor to plugins [BREAKING CHANGE] (#745)
- feat(plugins): add support for plugins (#732)
- docs: fix v3 documentation
- fix: server mounting [BREAKING CHANGE] (#731)
- test(fixRequestBody): fix broken test
- refactor: use node http base types [BREAKING CHANGE] (#730) (special thanks: @cdaringe & @devanshj)
- feat(option): refactor context to pathFilter option [BREAKING CHANGE] (#722)
- feat: remove shorthand usage [BREAKING CHANGE] (#716)
- fix(proxyReqWs): catch socket errors (#763)
- fix(error handler): add default handler to econnreset (#759)
- feat(package): optional @types/express peer dependency (#707)
- chore(deps): update @types/http-proxy to 1.17.8 (#701)
- fix(fixRequestBody): fix request body for empty JSON object requests (#640) (mhassan1)
- fix(types): fix type regression (#700)
- fix(fixRequestBody): fix type error (#615)
- test(coverage): improve coverage config (#609) (leonardobazico)
- test: add test coverage to fixRequestBody and responseInterceptor (#608) (leonardobazico)
- chore(typescript): extract handlers types (#603) (leonardobazico)
- chore(package): drop node 10 [BREAKING CHANGE] (#577)
- docs(response interceptor): align with nodejs default utf8 (#567)
- feat: try to proxy body even after body-parser middleware (#492) (midgleyc)
- fix(response interceptor): proxy original response headers (#563)
- feat(handler): response interceptor (#520)
- fix(log error): handle undefined target when websocket errors (#527)
- fix(log error): handle optional target (#523)
- fix(error handler): re-throw http-proxy missing target error (#517)
- refactor(dependency): remove
camelcase
- fix(option): optional
target
whenrouter
is used (#512)
- fix(errorHandler): fix confusing error message (#509)
- fix(proxy): close proxy when server closes (#508)
- refactor(lodash): remove lodash (#459) (#507) (TrySound)
- fix(ETIMEDOUT): return 504 on ETIMEDOUT (#480) (aremishevsky)
- chore(deps): lodash 4.17.20 (#475)
- chore(deps): lodash 4.17.19 (#454)
- chore(deps): http-proxy 1.18.1 (#442)
- build(package): exclude build artifact tsconfig.tsbuildinfo (#415)
- feat(createProxyMiddleware): explicit import http-proxy-middleware (BREAKING CHANGE)(#400)
- feat(typescript): export http-proxy-middleware types (#400)
- fix(typescript): ES6 target - TS1192 (#400)
- feat(http-proxy): bump to v1.18.0
- feat: async router (#379) (LiranBri)
- feat(typescript): types support (#369)
- feat: async pathRewrite (#397) (rsethc)
- fix(ws): concurrent websocket requests do not get upgraded (#335)
- chore: drop node 6 (BREAKING CHANGE)
- chore: update to micromatch@4 (BREAKING CHANGE)
- chore: update dev dependencies
- refactor: migrate to typescript (#328)
- feat(middleware): Promise / async support (#328)
- refactor: remove legacy options
proxyHost
andproxyTable
(BREAKING CHANGE)
- fix(log): handle case when error code is missing (#303)
- feat(http-proxy): bump to v1.17.0 (#261)
- fix(vulnerability): update micromatch to v3.x (npm:braces:20180219)
- test(node): drop node 0.x support (#212)
- fix(ntlm authentication): fixed bug preventing proxying with ntlm authentication. (#132) (Thanks: EladBezalel, oshri551)
- fix(onError): improve default proxy error handling. http status codes (504, 502 and 500). (#132) (graingert)
- feat(logging): improve error message & add link to Node errors page. (#106) (cloudmu)
- feat(pathRewrite): path can be empty string. (#110) (sunnylqm)
- bug(websocket): memory leak when option 'ws:true' is used. (#114) (julbra)
- chore(package.json): reduce package size. (#109)
- fix(Express sub Router): 404 on non-proxy routes (#94)
- fix(context matching): Use RFC 3986 path in context matching. (excludes query parameters)
- deprecated(proxyTable): renamed
proxyTable
torouter
. - feat(router): support for custom
router
function.
- fix(websocket): fixes websocket upgrade.
- feat(pathRewrite): expose
req
object to pathRewrite function. - fix(websocket): fixes websocket upgrade when both config.ws and external .upgrade() are used.
- feat(pathRewrite): support for custom pathRewrite function.
- feat(proxy): support proxy creation without context.
- fix(connect mounting): use connect's
path
configuration to mount proxy.
- feat(context): custom context matcher; when simple
path
matching is not sufficient.
- add option
onProxyReqWs
(subscribe to http-proxyproxyReqWs
event) - add option
onOpen
(subscribe to http-proxyopen
event) - add option
onClose
(subscribe to http-proxyclose
event)
- improved logging
- feat(proxyTable) - added proxyTable support for WebSockets.
- fixed(proxyTable) - ensure original path (not rewritten path) is being used when
proxyTable
is used in conjunction withpathRewrite
.
- fix server crash when socket error not handled correctly.
- support subscribing to http-proxy
proxyReq
event (trbngr) - add
logLevel
andlogProvider
support
- fix proxyError handler (mTazelaar)
- fix pathRewrite when
agent
is configured
- support external websocket upgrade
- fix websocket shorthand
- support shorthand syntax
- fix express/connect mounting
- support proxyTable
- support subscribing to http-proxy
error
event - support subscribing to http-proxy
proxyRes
event
- support websocket
- support wildcard / glob
- support multiple paths
- support path rewrite
- deprecate proxyHost option
- initial release