Added
- Unit Tests: 94 new tests across auth, session, message, and webhook modules (110 total, ~17% coverage)
- Release Workflow:
release.ymlGitHub Actions — tag-triggered with test gate, GitHub Release, and Docker semver tagging - SDK Scaffolds: JavaScript/TypeScript and Python client libraries in
sdk/directory - New hook events:
webhook:queued(after queue add) andwebhook:delivered(after actual delivery)
Fixed
- [P1] Idempotency Key: Made
generateIdempotencyKeydeterministic by removingDate.now(). Keys are now content-based for proper deduplication - [P2] Webhook Processor: Added
lastTriggeredAtupdate andwebhook:delivered/webhook:errorhooks after queue delivery - [P2] Hook Semantics: Added
webhook:queuedevent for queue mode;webhook:afternow only fires in direct mode - [P2] QueueModule DI: Added
TypeOrmModule.forFeature([Webhook])andHooksModuleimports for proper dependency injection - [P3] Message Processor: Changed placeholder to throw error so BullMQ correctly marks job as failed