Releases: spiko-tech/effect-messaging
Releases · spiko-tech/effect-messaging
@effect-messaging/core@0.2.42
Patch Changes
- #140
89a7459Thanks @adam-hotait! - Fix event handler being interrupted directly on SIGINT when handlerTimeout is set.Effect.timeoutFailrelies on interruption internally, which does not work insideEffect.uninterruptible. The fix uses a Fiber-based race instead: the app is forked in an interruptible region so the timeout can interrupt it.
@effect-messaging/amqp@0.6.4
Patch Changes
- #138
6c3e80aThanks @adam-hotait! - AddconnectionTimeoutoption toAMQPConnectionOptionsfor configuring TCP socket and AMQP handshake timeout (defaults to 10 seconds)
@effect-messaging/nats@0.7.5
Patch Changes
-
#135
3b033eeThanks @wewelll! - Make JetStreamSubscriber and NATSSubscriber handlers always uninterruptible, and fixhandlerTimeout.- Remove the
uninterruptibleoption fromJetStreamSubscriberOptionsandNATSSubscriberOptions. Handlers are now always uninterruptible, ensuring in-flight message processing completes even when the subscription fiber is interrupted (e.g. SIGINT). - Fix
handlerTimeoutnot working: the timeout previously couldn't fire becauseEffect.uninterruptibleprevented the internal interrupt. Fixed by wrapping the handler inEffect.interruptiblebeforetimeoutFail, allowing the timeout to interrupt while the outerEffect.uninterruptiblestill blocks external interrupts.
- Remove the
@effect-messaging/amqp@0.6.3
Patch Changes
-
#135
bb7ad9dThanks @wewelll! - Make AMQPSubscriber handlers always uninterruptible, fixhandlerTimeout, and explicitly cancel AMQP consumers on scope finalization.- Remove the
uninterruptibleoption fromAMQPSubscriberOptions. Handlers are now always uninterruptible, ensuring in-flight message processing completes even when the subscription fiber is interrupted (e.g. SIGINT). - Fix
handlerTimeoutnot working: the timeout previously couldn't fire becauseEffect.uninterruptibleprevented the internal interrupt. Fixed by wrapping the handler inEffect.interruptiblebeforetimeoutFail, allowing the timeout to interrupt while the outerEffect.uninterruptiblestill blocks external interrupts. - Capture the
consumerTagfromchannel.consume()and register a scope finalizer to callchannel.cancel(consumerTag), ensuring explicit consumer cancellation during graceful shutdown instead of relying solely on channel close.
- Remove the
@effect-messaging/nats@0.7.4
@effect-messaging/core@0.2.41
@effect-messaging/amqp@0.6.2
@effect-messaging/nats@0.7.3
Patch Changes
-
#128
462a8d4Thanks @wewelll! - Upgrade dependencies:- effect to 3.19.19
- @effect/platform to 0.94.5
- @effect/language-service to 0.77.0
- @nats-io/jetstream, @nats-io/nats-core, @nats-io/transport-node to 3.3.1
- glob to 13.0.6
- @changesets/changelog-github to 0.5.2
- @changesets/cli to 2.29.8
- typescript to 5.9.3
- typescript-eslint to 8.56.1
-
Updated dependencies [
462a8d4]:- @effect-messaging/core@0.2.40
@effect-messaging/core@0.2.40
Patch Changes
-
#128
462a8d4Thanks @wewelll! - Upgrade dependencies:- effect to 3.19.19
- @effect/platform to 0.94.5
- @effect/language-service to 0.77.0
- @nats-io/jetstream, @nats-io/nats-core, @nats-io/transport-node to 3.3.1
- glob to 13.0.6
- @changesets/changelog-github to 0.5.2
- @changesets/cli to 2.29.8
- typescript to 5.9.3
- typescript-eslint to 8.56.1
@effect-messaging/amqp@0.6.1
Patch Changes
-
#128
462a8d4Thanks @wewelll! - Upgrade dependencies:- effect to 3.19.19
- @effect/platform to 0.94.5
- @effect/language-service to 0.77.0
- @nats-io/jetstream, @nats-io/nats-core, @nats-io/transport-node to 3.3.1
- glob to 13.0.6
- @changesets/changelog-github to 0.5.2
- @changesets/cli to 2.29.8
- typescript to 5.9.3
- typescript-eslint to 8.56.1
-
Updated dependencies [
462a8d4]:- @effect-messaging/core@0.2.40