Changelog
2.3.1 - 2019-06-25
Fixes
@marblejs/middleware-multipart: fixed an issue when the middleware stream is resolved too early when the
stream
handler is attached (#151)
2.3.0 - 2019-06-25
What's new?
@marblejs/middleware-multipart:
multipart/form-data
middleware based on busboy library.
2.2.3 - 2019-06-20
What's new?
@marblejs/core: Added ability to apply req/res metadata in testing mode (#141)
Fixes
@marblejs/core: Body is not stringified when it's a stream, regardless of Content-Type header (#137)
@marblejs/core/+internal: Simplified
createHttpRequest
function and it's usages (#140)
2.2.2 - 2019-05-27
Fixes
@marblejs/middleware-logger: changed
LoggerOptions.stream
type fromfs.WritableStream
intoWritableLike
2.2.0 - 2019-05-26
Whats new?
@marblejs/core: access server event stream via Context
serverEvent$
token #128
Fixes
@marblejs/core: lazy reader dependencies are bootstrapped only once (during initial context ask) #129
@marblejs/websockets: incoming WebSocket connection is validated via
verifyClient
hook, just before the initial handshake #133@marblejs/middleware-io:
requestValidator$
can update decoded values #132 (closes: #131)all - set RxJS peer dependencies to minor version
2.1.1 - 2019-04-10
Whats new?
@marblejs/core: added more HTTP statuses #123 (closes: #121)
@marblejs/core: ability to grab the initial request from HTTP
output$
viaEffectMetadata.initiator
#124 (closes: #122)
Fixes
@marblejs/core:
response.handler
improved the way of how Node.js streams are detected #125
2.1.0 - 2019-04-02
Whats new?
@marblejs/core: added support for passing Node.js streams into HttpEffectResponse
body
#116 (closes: #114)@marblejs/middleware-cors: introducing the new middleware that can be used to enable CORS with various options #100 (author: @Edouardbozon) 👏🎉
@marblejs/middleware-logger:
filter
can handle incoming requests and outgoing responses #117 (closes: #115)
2.0.1 - 2019-03-14
Whats new?
@marblejs/core - added missing server events parameters
2.0.0 - 2019-02-02
Over the past few months, we've been working hard on the next generation of Marble.js. Today we're thrilled to announce the second major release and all the exciting features that come with it. 🔥🎉🚀
2.0.0-rc.3 - 2019-02-24
pre-release
Whats new?
@marblejs/core - replaced
StaticInjectorContainer
withContext
API #106@marblejs/core - running HTTP server is not registered anymore in context API #106
@marblejs/core -
createServer
doesn't start listening automatically. You have to run it manually viacreateServer().run()
; #106@marblejs/core - replaced
bind.to
function with curriedbindTo
#106@marblejs/websockets - module doesn't depend anymore on running HTTP server dependency #106
Breaking changes
In order to use httpListener
directly connected to http.createServer
you have to run Reader context first:
2.0.0-rc.2 - 2019-02-17
pre-release
Whats new?
@marblejs/core - added new API for defining HTTP route via monadic pipe builder #103
@marblejs/core - added support for HTTPS servers #105
@marblejs/core - fixed incorrectly parsed query parameters #104
@marblejs/middleware-body - fixed incorrectly parsed URL-encoded parameters #104
2.0.0-rc.1 - 2019-02-08
pre-release
Whats new?
@marblejs/middleware-body - Extended middleware API by customizable parsers #102
@marblejs/middleware-body - The middleware can pass the request through without any work if the content type is not matched. It creates the possibility of chaining multiple body parsers. #102
@marblejs/middleware-body - Fixed wrongly parsed
application/x-www-form-urlencoded
body types #101
2.0.0-rc.0 - 2019-02-03
pre-release
Whats new?
@marblejs/core - improved type-inference of combined middlewares #88
@marblejs/core - Effect response output stream #96
@marblejs/core - improved type declaration of
combineRoutes
function@marblejs/websockets - WebSockets module #89
@marblejs/middlware-joi - improved middleware type inference #88
@marblejs/middlware-io - introducing new effect validation middleware based on io-ts library
@marblejs/middlware-body - entrypoint allows to pass configuration object
TypeScript v3.3.x support
Breaking changes
@marblejs/core - Improved request type inference.
req.params
,req.body
,req.query
are by default ofunknown
type instead ofany
#88@marblejs/core -
httpListener
config properties renaming #92@marblejs/core #97
Effect
->HttpEffect
Middleware
->HttpMiddlewareEffect
ErrorEffect
->HttpErrorEffect
Deprecation warnings
Deprecated @marblejs/middleware-joi package. Use
@marblejs/middleware-io
instead. #99Deprecated @marblejs/middleware-logger
loggerWithOpts$
entrypoint. #98
1.2.1 - 2018-11-05
Whats new?
@marblejs/core - fixed an issue with missing
chalk
dependency (issue: #77)
1.2.0 - 2018-11-05
Whats new?
@marblejs/middleware-logger - extended available API (see: middleware-logger chapter)
@marblejs/core - Corrected nullable values detection inside Maybe monad
From version v1.2 the logger$
entry point is marked as deprecated. Use loggerWithOpts$
instead. From the version v2.x the old entry point will be swapped with newer implementation
1.1.1 - 2018-10-21
Whats new?
@marblejs/core resolves #67 (path matching for trailing slash combined with wildcard parameter)
1.1.0 - 2018-09-29
10 days ago we've got an official v1.0.0 release - this time we have another cool news to share with you!
Whats new?
Introducing new package
@marblejs/middleware-jwt
- a HTTP requests authentication middleware based on JWT mechanism. 🚀 🎉 For more API reference please visit our official documentation.Resolved an issue in the scenario when the grouped middleware throws an error (eg. when request is not authorized) and connected Effect endpoint unexpectedly catches the thrown error. See more details please visit #73
Support for TypeScript
v3.1.x
[internal] - Moved back from
webpack
to well-testedtsc
compiler which makes our build artifacts more predictable and less error prone
1.0.0 - 2018-09-18
1.0.0-rc.3 - 2018-09-17
Whats new?
Integration with path-to-regexp library
Support for wildcard parameter, eg.
/foo/:param*
. For more details see: example implementation
Fixed a problem with incorrectly generated declaration files for
@marblejs/middleware-joi
package.
1.0.0-rc.2 - 2018-09-10
pre-release
Whats new?
Fixed problem with incorrectly concatenated wildcard endpoint when combined with parametrized route.
For non-TypeScript developers there was no validation made during app startup, eg.
EffectFactory
methods were not validated if developer provided wrong HTTP method to thematchType
. Going to the expectations we introduced dedicatedCoreError
type used for throwing an package related error messages, eg. for notifying non-TypeScript developers if they made a mistake in the method arguments.
TypeScript v.3.0.x support
RxJS v6.2.2 support
Lerna v3.3.0 support
Introduced Webpack based build process - from now builds are optimized and properly compressed
1.0.0-rc.1 - 2018-08-14
pre-release
Breaking changes:
Changed
httpListener
error handler attribute fromerrorMiddleware
👉errorEffect
. There was an inconsistency with previous error handler definition and naming. We had to correct this because error handler acts as an Effect instead of Middleware.
Old bootstrapping API:
New bootstrapping API:
Whats new?
Exposed
res.send
method - from now you don't have to send response manually via dedicated Node.jshttp.OutgoingMessage
API. Theres.send
method returns an empty stream, thus it can be easily composed inside middleware pipeline.
Exposed type aliases for common Marble.js architectural blocks:
1.0.0-rc.0 - 2018-07-07
pre-release
Breaking changes
In order to factorize the routing table statically, we need to introduce the breaking change in Effect API definition.
Old Effect API:
New Effect API:
separately imported
matchPath
andmatchType
stream operators are removed and are part ofEffectFactory
instead.
Whats new?
@marblejs/core - internals - refactored + rebuilt routing resolving mechanism. Thanks to the latest changes we gained hudge performance boost.
@marblejs/core - internals - improved performance for middleware resolving flow
@marblejs/core - internals - rewritten URL params intercepting mechanism
@marblejs/middleware-body - added support for x-www-form-urlencoded Content-Type
0.5.0 - 2018-06-13
pre-release
Fixes
corrected
@marblejs/middleware-logger
response time logging (issue: #48)
Whats new?
0.4.2 - 2018-06-10
pre-release
Fixes
fixed an issue with not matched routes in case of reordered
matchType
andmatchPath
operators for the same routes but with different methods (PR #46)
0.4.1 - 2018-06-03
pre-release
Fixes
resolved an issue with TypeScript compiler flag responsible for strict function types (issue: #43)
added support for TypeScript
v2.9.1
0.4.0 - 2018-05-31
pre-release
Fixes
fixed an issue with Effects matching hazard (issue: #35)
Whats new?
ability to create 404 handlers using
matchType('*')
andmatchPath('*')
(issue: #27)HttpError
constructor now can takedata: object
as optional third argument
0.3.2 - 2018-05-29
pre-release
Fixes
Whats new?
mime-type
/content-type
auto detection
0.3.1 - 2018-05-27
pre-release
Fixes
corrected peerDependency versions for
@marblejs/*
packages
0.3.0 - 2018-05-27
pre-release
Breaking changes
moved
bodyParser$
andlogger$
middleware outside@marblejs/core
to separete@marblejs/middleware-body
and@marblejs/middleware-logger
packages
Whats new?
added support for intercepting path parameters
req.params
(see: Routing chapter)added support for intercepting query parameters
req.query
(see: Routing chapter)ability to compose middlewares inside Effect request pipeline via use operator (see: Middlewares chapter)
new middleware
@marblejs/middleware-joi
- a Joi validation middlewareminor bugfixes and code improvements
0.2.x - 2018-05-14
pre-release
Initial pre-release version
Last updated