Skip to content

v0.3.0

Choose a tag to compare

@icebob icebob released this 28 Mar 20:53
· 4 commits to master since this release

Breaking changes

  • Minimum Node.js version is 22.x (matching Moleculer 0.15)
  • Middleware lifecycle hook changed from started() to starting() (Moleculer 0.15 compatibility)
  • ESLint migrated from v8 to v10 (flat config)

New features

  • Add ctx.channelName and ctx.parentChannelName to context-based handlers for channel chain tracking #92
  • Attach ctx.service to context in channel handlers
  • Store error info in dead-letter queue headers (x-error-message, x-error-code, x-error-stack, x-error-data, etc.) #91
  • Add customizable transformErrorToHeaders and transformHeadersToErrorData functions in dead-lettering options
  • Add errorInfoTTL option for Redis adapter error info storage
  • Parse error info from dead-letter headers back into ctx.headers for downstream consumers
  • Throw INVALID_MESSAGE_SERIALIZATION error when incoming messages cannot be deserialized (all adapters) #76
  • Log errors for message parsing failures in AMQP and NATS adapters

Fixes

  • Support amqplib v0.10.x

TypeScript

  • Rewrite type definitions: replace generated types/ directory with hand-crafted root index.d.ts
  • Fix Serializer import for Moleculer 0.15 (Serializers.Base)
  • Add error header constants and error transform function types
  • Fix sendToChannel module augmentation to use SendOptions
  • Add TypeScript consumer test (test/typescript/)
  • Add TypeCheck GitHub Actions workflow

Dependencies

  • Moleculer peer dependency: ^0.14.12 || ^0.15.0-0
  • ESLint 8 → 10 (flat config migration), remove eslint-plugin-node and eslint-plugin-promise
  • TypeScript 5 → 6
  • Update all minor/patch dependencies

New Contributors

Full Changelog: v0.2.0...v0.3.0