Skip to content
Compare
Choose a tag to compare

Fixed

  • @marblejs/testing - parse response body to undefined if nothing is provided and the Content-Type is application/json #389
Compare
Choose a tag to compare

Fixed

  • @marblejs/http - server doesn't collect request metadata from error$ (PR: #388)
  • @marblejs/middleware-multipart - replaced busboy with @fastify/busboy (Issue: #387)
Compare
Choose a tag to compare

Fixed

  • @marblejs/messaging - heartbeat timeout causes process to crash (closes #345)
Compare
Choose a tag to compare

Finally!

👉 Please check out the guide for smooth migration from version 3.x to 4.x.

giphy

Compare
Choose a tag to compare

v4.0.0-rc.3

Pre-release
Pre-release

What's new?

  • @marblejs/messaging - new aliases for deprecations: MessagingClient, EventBus, EventBusClient

Deprecations

  • @marblejs/messaging - messagingClient, eventBus, eventBusClient

Fixes

  • @marblejs/core - incorrect warning message about eventBus & eventBusClient binding order #373
Compare
Choose a tag to compare

v4.0.0-rc.2

Pre-release
Pre-release

What's new

  • TypeScript v4.4 support
Compare
Choose a tag to compare

v4.0.0-rc.1

Pre-release
Pre-release

Before you'll read

  • New, up to date marblejs.com documentation for Marble.js v4 will land just before official release.

What's new?

  • support for rxjs v7.1
  • support for typescript v4.3
  • corrected io-ts deprecation warnings
  • @marblejs/http - moved @marblejs/core HTTP-related protocol API's to separate @marblejs/http module (see related RFC)
  • @marblejs/http - introduced environment config provider
  • @marblejs/http - HttpOutputEffect's and HttpErrorEffect's are resolved eagerly during initial bootstrap
  • @marblejs/http - optimized request/response processing

Breaking changes

  • @marblejs/core - removed deprecated EffectFactory
  • @marblejs/core - removed legacy switchToProtocol operator
  • @marblejs/http - INTERNAL - changed X-Testing-Request-Id metadata header name from to X-Request-Metadata-Id
  • @marblejs/http - INTERNAL - changed MARBLE_TESTING_METADATA_ON env variable name to MARBLE_HTTP_REQUEST_METADATA
  • @marblejs/http - all HTTP headers are lower cased (normalized) unless MARBLE_HTTP_HEADERS_NORMALIZATION environment variable is set to false (resolves: #311)
  • @marblejs/http - Content-Type header is automatically guessed and provided only when it is not directly provided by the user (same in case of Content-Length header)
  • @marblejs/http - send/handleResponse function are evaluated lazily, which means that they will send the HTTP response only when the stream is subscribed
  • @marblejs/http - HttpResponse.send method returns Observable<boolean> instead of an Observable<never>
  • @marblejs/http - HttpOutputEffect interface change
  • @marblejs/http - HttpErrorEffect interface change

HTTP effect I/O flow after the change (see: #357):

1. HttpMiddlewareEffect
Observable<req> -> Observable<req>

2. HttpEffect
Observable<req> -> Observable<{ status, body, headers }>
Observable<req> -> Observable<{ status, body, headers, response }>

3. HttpOutputEffect  ## 👇 
Observable<{ status, body, headers, request }> -> Observable<{ status, body, headers, request }>

4. HttpErrorEffect ## 👇 
Observable<{ error, request }> -> Observable<{ status, body, headers, request }>
  • @marblejs/websockets - removed deprecated server connection$ attribute
  • @marblejs/websockets - lazy evaluation of emitEvent and broadcastEvent functions
  • @marblejs/middleware-joi, @marblejs/middleware-jwt - migrated packages to marblejs/contrib repository
Compare
Choose a tag to compare

Fixed

  • @marblejs/websockets - added path-to-regexp package to the dependency list. Closes: #346
Compare
Choose a tag to compare

Improved

  • @marblejs/core - User is able to insert undefined | null value inside of a collection of dependencies to register.
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)