All Versions
10
Latest Version
Avg Release Cycle
19 days
Latest Release
318 days ago

Changelog History

  • v3.4.7

    December 04, 2020
  • v3.4.6 Changes

    December 01, 2020

    ๐Ÿ‘Œ 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 Changes

    November 18, 2020

    ๐Ÿ›  Fixed

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

    November 13, 2020

    ๐Ÿ›  Fixed

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

    September 22, 2020

    ๐Ÿ›  Fixed

    • @marblejs/messaging - microservice host URI components are properly masked
  • v3.4.2 Changes

    September 18, 2020

    ๐Ÿ›  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 Changes

    September 06, 2020

    ๐Ÿ›  Fixed

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

    September 03, 2020

    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 Changes

    July 07, 2020

    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)
  • v3.2.1 Changes

    June 14, 2020

    ๐Ÿ›  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