UNPKG

@interopio/gateway

Version:

[![npm version](https://img.shields.io/npm/v/@interopio/gateway.svg)](https://www.npmjs.com/package/@interopio/gateway)

266 lines (170 loc) 6.12 kB
<!-- markdownlint-disable no-duplicate-heading --> # Change Log ## 0.13.0-beta.0 (Unreleased) ### Changed - upgraded immer to 10.1.3 ## 0.12.2-beta.0 (2025-09-03) ### Fixed - handle `null` method restrictions ## 0.12.1-beta.1 (2025-08-27) ### Fixed - visibility rules configuration was not applied correctly ## 0.12.1-beta.0 (2025-08-26) ### Changed - do not use logger trace ## 0.12.0-beta (2025-08-02) ### Changed - auth api is now in this package - **BREAKING**: drop support for Node.js 18.x and below, now requires Node.js 20.x or above. ## 0.11.1-beta (2025-07-24) ### Fixed - `regexify` now supports RegExp with flags (e.g. `/RegExp/i`) - relay endpoint config - file publisher was waiting for drain on the wrong condition ## 0.11.0-beta (2025-07-18) ### Added - `JwtVerifyError` to indicate when Jwt Token is invalid. ### Fixed - `IOGateway.Filtering#regexify` support javascript style RegExp syntax `/RegExp/` - include credentials when announce mesh nodes ## 0.10.0-beta (2025-07-04) ### Changed - auth api is now in this package - rest metrics publisher now uses configurable fetch to do discovery - oauth2 authenticator now uses configurable fetch to do discovery - mesh cluster now uses the new global websocket config to create ws connections - mesh rest directory now uses the global fetch config to announce nodes - **BREAKING** mesh websocket config removed in favor of globals - **BREAKING** rest publisher now uses pure fetch (removed Fetch timeout) - **BREAKING** removed dependency on `ws` package (was optional) ### Added - authenticator api types `@interopio/gateway/auth/api` - globals config (to override fetch/WebSocket) - `gateway-client` authentication via `GatewayClientOptions#onAuthenticate` callbacl - jose/jwt validation api `@interopio/gateway/jose/jwt` ### Fixed - custom authenticators signature ## 0.9.0-beta (2025-05-23) ### Changed - ids are now generated using CSPRNG - `ws` is now an optional dependency - **BREAKING** cluster config ### Added - cluster config now supports static directory - cluster config now supports websocket override ### Fixed - use a micro-task when calling clients receive callback (to prevent re-entrancy with old state for local clients) - websocket connection closing - mesh node shutdown ## 0.8.3-beta (2024-12-05) ### Changed - **BREAKING** cluster config is now mesh config ### Added - timout for authenticators ## 0.8.2-beta (2024-12-03) ### Added - visibility configuration ### Fixed - fix metrics publisher typings ## 0.8.1-beta (2024-11-27) ### Added - added ping handler in client opts ### Changed - when duplicate `hello` is detected existing socket is pinged to stimulate close in case of time_wait # 0.8.0-beta (2024-11-22) ### Changed - IOConnectGateway namespace renamed to IOGateway - relaxed `opts` parameter in `Gateway#client()` - no longer required. ### Fixed - exports in package.json # 0.7.0-beta (2024-10-26) ### Changed - **BREAKING** ws server support moved to @interopio/gateway-server package - IoConnectGateway namespace renamed to IOConnectGateway - @interopio/gateway-metrics-api upgraded to 0.2.0-beta - @interopio/gateway-auth-api upgraded to 0.3.0-beta - IOConnectGateway.Encoding.Codec now supports non-string output ### Added - IOConnectGateway.Filtering namespace - IOConnectGateway.Encoding.direct encoder ## 0.6.0-beta (2024-10-10) ### Added - initial mesh support (remote gateway server) - encoding types IoConnectGateway.Encoding namespace ### Changed - logging types moved to IoConnectGateway.Logging namespace ### Fixed - authenticator now expects providerContext (used by custom authenticators) ## 0.5.2-beta (2024-08-14) ### Fixed - allow creating context without data (backward compatibility) ## 0.5.1-beta (2024-07-04) ### Added - memory monitoring - ws max connection limit ### Changed - welcome options now have info ### Fixed - fetch override for rest worker # 0.5.0-beta (2024-07-04) ### Fixed - browser exports - rest metrics publisher will now send an initial GET request on startup (to allow authentication) - ws-server shutdown ### Changes - serialize-error is now included in `metrics-publisher-worker.js` module. - use MIT license ## 0.4.1-beta (2024-06-25) ### Fixed - package contents # 0.4.0-beta (2024-06-25) ### Changed - bump ws package to ^8.17.1 (to prevent DoS security vulnerability) ### Added - support for custom authentication providers - support for metrics publishers: _custom_, _rest_ and _file (Node.js only)_ - support for oauth2 authenticator ### Fixed - fixed scavenge interval handling # 0.3.0-beta (2024-02-27) ### Added - 'retained' as possible default context lifetime ## 0.2.1-beta (2024-02-27) ### Fixed - Fixed origin filters regexp support # 0.2.0-beta (2024-02-26) ### Changed - bump ws package to ^8.12.1 - bump jsrsasign package to ^11.1.0 ### Fixed - Fixed origin filters (filter iteration) # 0.1.0-beta (2024-01-26) ### Added - support for default_context_lifetime (defaults to 'ref-counted') ### Changed - global domain is now version 2 (support for hello options) - context domain is now version 3 (support for optional lifetime and join options) - updated jsrsasign to 11.0.0 (address marvin attack vulnerability) ## 0.0.4-beta (2024-01-02) ### Changed - log on console by default - close ws connection with reason (4001: 'ping expected') when ping is not received ### Bug Fixes - fixed build (use prepare instead of postinstall to generate code) ## 0.0.3-beta (2023-11-30) ### Added - client scavenger - ws server socket error handler - validate source (peer goes through only one connection) - secret verifier callback for basic auth provider - info now returns version property ### Changed - log config / log event types signatures - logger names now use dot (.) for separator (better log4js interop) - removed `anylogger` dependency - updated `jsrsasign` dependency to `^10.9.0` ### Bug Fixes - resolved identity machine was not used from client source endpoint - deduplicate peers before announcing peer-factories-added ## 0.0.2-beta (2023-10-17) Initial Release