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
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 andHttpErrorEffect
'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 toX-Request-Metadata-Id
- @marblejs/http - INTERNAL - changed
MARBLE_TESTING_METADATA_ON
env variable name toMARBLE_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 ofContent-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 returnsObservable<boolean>
instead of anObservable<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
andbroadcastEvent
functions - @marblejs/middleware-joi, @marblejs/middleware-jwt - migrated packages to marblejs/contrib repository
Improved
- @marblejs/core - User is able to insert
undefined | null
value inside of a collection of dependencies to register.