Skip to content

Release-v0.8.0

Choose a tag to compare

@LibirSoft LibirSoft released this 25 Jul 18:21
· 57 commits to master since this release

What's in it
Microservice messaging — the flagship of 0.8. Asena services can now talk to each other over a broker, both request/response and fire-and-forget. The core ships only the broker-agnostic SPI (@AsenaJs/asena/microservice, a new export subpath) plus an in-process reference transport; real brokers live in @asenajs/asena-redis and @asenajs/asena-kafka.

@MessageController / @MessagePattern / @EventPattern
ulak.send() / ulak.emit() and the pattern-scoped ulak.messages('order') view
MessagingInterceptor wrapper hooks — how @asenajs/asena-otel propagates trace context
Multiple named transports, so one service can bridge two brokers
Headless mode — create({ headless: true }) boots without an HTTP adapter, for message-driven workers. Omitting the adapter without the flag still fails, so the intent stays explicit.

Health endpoint — create({ health: { port } }) starts a standalone probe server that reports each named transport and returns 503 while any is disconnected.

Test harness (@AsenaJs/asena/test) — createTestApp() boots a full application, createWebTest() only the web layer, with supertest-style assertions, deep mocks and unix-socket dispatch so parallel suites can't collide on a port.