Skip to content

Releases: marblejs/marble

v3.4.9

27 Jan 13:28
Compare
Choose a tag to compare

Fixed

  • @marblejs/websockets - server won't try to emit an event to the client that has not open connection (closes: #312)

v3.4.8

05 Jan 14:15
Compare
Choose a tag to compare

Fixed

  • @marblejs/core - server throws an unhandled exception in case of malformed URL (closes #309)

v3.4.6

01 Dec 14:09
Compare
Choose a tag to compare

Improved

  • @marblejs/messaging/core - The event payload is passed to the LoggerOptions inside data object in input and output event logger middlewares. This information can be then extracted inside logger implementation and outputted to the console. #302 302

v3.4.5

18 Nov 09:57
Compare
Choose a tag to compare

Fixed

  • @marblejs/messaging - AQMP strategy - messaging client reconnection results in RPC queues high spike

v3.4.4

13 Nov 07:44
Compare
Choose a tag to compare

Fixed

  • @marblejs/middleware-body - content-type charset support (closes #300)

v3.4.3

22 Sep 17:45
Compare
Choose a tag to compare

Fixed

  • @marblejs/messaging - microservice host URI components are properly masked

v3.4.2

18 Sep 07:48
Compare
Choose a tag to compare

Fixed

  • @marblejs/messaging - resolved a nasty bug with event bus client initialization that prevented initializing and injecting the client in messaging effects. From now the Event Bus client will only warn instead of throwing an exception if initialized before the main reader.

v3.4.1

06 Sep 14:01
Compare
Choose a tag to compare

Fixed

  • @marblejs/messaging - @types/amqplib package does not have to be installed when AMQP transport layer is not in use

v3.4.0

03 Sep 17:44
Compare
Choose a tag to compare

What's new?

  • all - Support for TypeScript v4.0.x #294
  • @marblejs/core - derived context (more details: #288) (more details about this feature in docs soon!)

A Reader can register its own context that doesn't influence/mutate the derived parent context

Context:
 |- [DerivedContextToken]: DerivedContext
 |                            |- [DerivedDependencyToken_1]: DerivedDependency_1
 |                            |- [DerivedDependencyToken_2]: DerivedDependency_2
 |             
 |- [FooToken]: Foo
 |- [BarToken]: Bar
  • @marblejs/messaging - allow to pass timeout option to EventBus config #291 #292
  • @marblejs/messaging - refactored EventBus context creation #288
  • @marblejs/messaging - Local transport layer (EventBus) is initialized per context (not globally) #292
  • @marblejs/messaging - restricted binding order for event bus and its corresponding client - first eventBus reader then eventBusClient #292
  • @marblejs/messaging - contextFactory registers default LoggerToken if derived context doesn't have it bound #293
  • @marblejs/messaging - EventBus - expose resolved Context #293
  • @marblejs/messaging - outputLogger$ - outputs detailed logs for event validation errors #293

Fixed

  • @marblejs/messaging - outputErrorEncoder$ won't crash when event.payload === null

v3.3.0

07 Jul 07:03
Compare
Choose a tag to compare

What's new?

  • @marblejs/core - I/O event decoder/encoder (RFC #273) (#272) (docs)
  • @marblejs/core - EventMetadata allows to pass additional params (#277)
  • @marblejs/core - act - pass through error events. With this feature we can trigger subsequent act error handler if previous act operator did not handled the exception (#283)
event$.pipe(
  matchEvent(Codec),
  act(eventValidator$(Codec)),
  act(event => ...),
);
  • @marblejs/messaging - exposed timeout and transport type in TransportLayerConnection interface (#277)
  • @marblejs/messaging - correlationId will be automatically assigned for each incoming event if not defined (#277)
  • @marblejs/messaging - dedicated ackEvent, nackEvent, nackAndResendEvent functions for event acknowledgements (#277)
  • @marblejs/messaging - rejectUnhandled$ middleware (#277) (docs)
    • Automatically try to reject all unhandled events when timeout defined by the transport layer options occurs.
    • The middleware will be applied only for transports that support message acknowledgements.
  • @marblejs/messaging - transport layer specific options are exposed via TransportLayerConnection.config.raw (#279)
  • @marblejs/messaging - allow to pass single event to eventValidator$ middleware (#282)

Fixed

  • @marblejs/core - act operator is able to catch errors outside stream (#277)
  • @marblejs/messaging - if event transformer fails to decode the event it won't break the internal event stream, instead it will be mapped to UNKNOWN event and the error notification will be propagated downstream (#276) (#284)
  • @marblejs/messaging - AMQP strategy - when disconnect event occurs there is no error log propagated downstream #275
  • @marblejs/messaging - server doesn't have to skip error events since act operator maps default errors to *_UNHANDLED_ERROR suffixed event types to avoid event handler dead loop (#283)