3.0.0-alpha.3 - 2022-07-26
- Add metacom binary streams
- Event emitter based
- Websocket bidirectional streaming
- Multiple simultaneous streams
- Interaction with nodejs streams
- File streaming
- Implement metacom stream protocol
- Stream initialization
- Stream closing
- Stream termination
- Chunk identification with metadata header
- Api interfaces
- Stream consumers
- Stream producers
- Add stream types
- Fix browser client WebsocketTransport open
- Add method for a possibility to delete session token from the application routes
- Fix serve static files with query in URL
3.0.0-alpha.2 - 2022-07-07
- Pass http verb to the hook
- Package meintenance
3.0.0-alpha.1 - 2022-05-16
- Pass certain port for
Server
inoptions
, do not passthreadId
2.0.7 - 2022-05-09
- Fix client to support falsy results parsing
- Add reading cors.origin from server config in impress
- Removed duplicated error handling
- Remove duplicated EventEmitter in MetacomInterface
2.0.6 - 2022-04-26
- Fix missing channel handling in Client
- Fix default
httpCode
inChannel#error()
calls - Add custom http headers for rpc hooks
- Prevent return after semaphore enter
2.0.5 - 2022-03-18
- Fix clients Map memory leak
- Add static create method for server-side Client
- Add open and close events in browser-side Client
- Add common content types (MIME) to collection
- Pass custom errors with
code
thrown or returned from handlers - Update dependencies
2.0.4 - 2021-10-12
- Return index.html not only from the root folder
- Fix parse broken JSON packets
- Fix detecting ping packets (empty objects)
- Fix error logging and passing to client
- Validation
call
identifier type
2.0.3 - 2021-09-23
- Remove
toString
inreceiveBody
to be compatible with ws
2.0.2 - 2021-09-11
- Rework Channel and Server
- Decompose Channel to WsChannel and HttpChannel
- Move event handlers from Server to WsChannel and HttpChannel
- Return after error to avoid double reply and logging
- Update typings
2.0.1 - 2021-09-03
- Simplify Channel/Session machinery
- Collections: sessions, channels
- Decompose: extract transport and static modules
- Fix: empty packet structure error
2.0.0 - 2021-08-19
- Support GET requests and change calls:
hook
andinvoke
- Add
redirect
method toClient
with delegation toChannel
- Update dependencies
1.8.2 - 2021-08-06
- Rewrite
Client
methodstartSession
andrestoreSession
to remove access toauth.provider
and work with database structure, move this to application leyer where weknow
auth specific DB structure - Move types to package root
1.8.1 - 2021-07-10
- Move split and parseParams to metautil
- Fix custom errors over http transport
- Remove timeout in Server duplicated in rpc call (Procedure class)
1.8.0 - 2021-07-07
- Add http hooks with custom method names
- Fix Metacom typings
- Improve url parsing
1.7.5 - 2021-07-01
- Fix Metacom typings
- Update dependencies
1.7.4 - 2021-06-26
- Update Metacom exports
- Throw errors on wrong configs
- Update Client implementation in /distr
1.7.3 - 2021-06-08
- Fix passing validation error to the client
1.7.2 - 2021-06-06
- Move @types/ws to dev dependencies to reduce prod module size
1.7.1 - 2021-06-03
- Update dependencies for security reasons
1.7.0 - 2021-05-24
- Fix method access check
- Rename id field to support new auth
1.6.1 - 2021-04-13
- Fix and improve typings
- Publish typings to npm package
1.6.0 - 2021-03-15
- Implement port re-bind
- Disable Nagle's algorithm if configured
- Read timeouts from config (remove hardcoded constants)
- Refactor and improve code style
- Add typing for Metacom class
1.5.3 - 2021-02-28
- Marshal timeout error to the client side
- Get user ip from Client class:
context.client.ip
- Change queue configuration: metarhia/impress#1484
1.5.2 - 2021-02-23
- Update metautil to 3.5.0, change
await timeout
toawait delay
- Remove channel from collection on connections close
- Add Client event: 'close' for http and websockets
- Delegate server and browser socket on 'error' handler
1.5.1 - 2021-02-19
- Fix restore session for Channel
1.5.0 - 2021-02-19
- Move Semaphore and timeout to metautil
- Decompose Channel.prototype.rpc
- Use new impress class Procedure
1.4.0 - 2021-02-17
- Fix error passing to client side
- Call application.invoke to execute methods with schema validation
- Don't pass context to
application.getMethod
- Pass context to application.invoke
- Now proc is a struct, not just method with injected context
1.3.1 - 2021-02-09
- Revert to lock-file version 1
- Fix memory leak: remove sessions from collection by token
1.3.0 - 2021-02-07
- Fix channel collection memory leak and duplication
- Change
Server
constrictor signature to(config, application)
- Fix spelling in method: Channel.startSession
1.2.0 - 2021-02-04
- Move cookies operations from impress/auth
- Move sessions from impress/auth
1.1.0 - 2021-01-08
- Use metautil instead of metarhia/common
1.0.0 - 2020-12-21
- Metacom protocol implementation for client and server
- Support ws, wss, http and https transports
- Automatic reconnect on network errors or disconnect
- Server-side introspection and Client-side scaffolding
- Domain errors passing to browser client code
- Support ping interval (default 60s) and call timeout (default 7s)
- Reconnect active connections on browser
onlene
event
0.0.0 - 2018-04-14
Module stub v0.0.0 and all before 1.0.0 are experiments with syntactic and binary structures and multiple different ideas originated from JSTP and old protocols like USP and CLEAR.