Releases: marblejs/marble
Releases · marblejs/marble
v3.2.1
Fixed
- @marblejs/core - added missing automatic parsing for all sort of different
json
-like content types - @marblejs/core - added missing automatic parsing for
application/octet-stream
body types - @marblejs/testing - parse response body to string conditionally - fixed an issue when testing
text/plain
or simillar responses (#270) - build - removed unnecessary
*.spec.d.ts.map
files from published packages
v3.2.0
What's new?
- 🔥 @marblejs/testing - new module for testing Marble.js apps and services (docs)
- @marblejs/core -
contextFactory
- a helper function for building Context objects (PR #253) - TypeScript v3.9 support
⚠️ @marblejs/messaging - by default all messaging strategies will try to reply back to origin channel if noreplyTo
coordinate is provided (affectsamqp
andredis
strategies) (PR #267)
This is not a breaking change, rather correction of inconsistent behavior of MsgEffect
streams. During the update please be aware that all event effects should map and process incoming messages to different event types (as stated in the documentation) - if not the effect will produce an infinite loop and crash the app.
Fixed
- @marblejs/messaging - AMQP strategy consumes correctly messages after the full startup - no lost messages anymore (PR #268
- @marblejs/messaging - outgoing events are properly encoded - all Error instances (available via
event.error
orevent.payload.error
) are automatically encoded to plain objects. (PR #267) - @marblejs/messaging - corrected
redis
strategy initial connection event triggering (PR #267) - @marblejs/messaging - corrected
redis
strategy incoming message decoding in case of undefined metadata (PR #267) - @marblejs/* -
combineEffects
output stream is from now multicasted (PR #267)
v3.1.2
Fixed
- @marblejs/core - added support for auto transforming "application/x-www-form-urlencoded" body types if not yet "stringified"
- @marblejs/core - auto detect body Content-Type for ALL success responses (< 400)
- @marblejs/messaging - AMQP initial
connection
event is not triggered when app is bootstrapped #266 - @marblejs/messaging - transport layer waits till connected and then tries to close the connection #261
v3.1.1
v3.1.0
What's new?
- @marblejs/core - corrected RxJS
takeWhile
,takeUntil
andtake
operators order to prevent potential memory leaks. - @marblejs/messaging -
redis
- official (non-beta) support - @marblejs/messaging -
redis
- added missing connect event on startup - @marblejs/websockets - subscribe to incoming server events via
event$
handler #247 - @marblejs/websockets - ability to check and kill incoming connections either via HTTP server
upgrade
event or WebSocketconnection
event - @marblejs/websockets - subscribe to closed client connections via
ServerEvent.closeClient
("close_client") - @marblejs/websockets - additional status logging middleware for detecting closed client connections
Fixed
- @marblejs/websockets - corrected predicates for
noServer
option - @marblejs/messaging -
redis
- only one message event handler defined for RPC calls - @marblejs/core - corrected potential unhandled errors (crashes) if thrown error is undefined
Deprecations
- @marblejs/websockets - deprecated
connection$
attribute inWebSocketServerConfig
v3.0.2
v3.0.1
Fixed
- @marblejs/messaging -
MessagingClient.send
- generic type arguments are defaulted toEvent
- @marblejs/messaging -
messagingListener
- filter out error events coming from input stream
v3.0.0
v3.0.0-rc.5
What's new?
- @marblejs/core - improved route redefinition error message #230
- @marblejs/core - introduced
act
operator #231 - @marblejs/messagint -
messagingClient
is able to detect error response and throw exception #234
Breaking changes:
- @marblejs/core - deprecated
EffectFactory
builder #228 - @marblejs/all - added
fp-ts
as a required peer dependency
v3.0.0-rc.4
Resolved issues
- @marblejs/core - route stream (for non-continuous mode) should not be swapped with new one in case of effect error