Skip to content

chore(release): 0.5.0#24

Merged
rodrigobnogueira merged 1 commit into
mainfrom
release/0.5.0
Jul 19, 2026
Merged

chore(release): 0.5.0#24
rodrigobnogueira merged 1 commit into
mainfrom
release/0.5.0

Conversation

@rodrigobnogueira

Copy link
Copy Markdown
Contributor

Version bump for 0.5.0: the Postgres LISTEN/NOTIFY cross-machine wake (#23), completing the three wake tiers. Package 0.4.0 → 0.5.0, sample pins synced, CHANGELOG stamped. release:check green locally. After merge: tag v0.5.0 → release workflow publishes with provenance.

Note: Release and security checks is expected red on the pre-existing website (docusaurus) advisories — unrelated; the published-tarball audit is green.

- packages/messaging: 0.4.0 -> 0.5.0
- sample pins updated to 0.5.0 (00-showcase, 01-kafka)
- CHANGELOG: stamp Unreleased -> 0.5.0 (Postgres LISTEN/NOTIFY wake)
- release:check green (pack validation 101 files + packed-consumer smoke)
@github-actions

Copy link
Copy Markdown

📊 Coverage Coverage Report

Metric PR Base Diff
Statements ████████████████████ 2070/2070 (100%) 1841/1841 (100%) ⚪ 0%
Branches ████████████████████ 279/279 (100%) 236/236 (100%) ⚪ 0%
Functions ████████████████████ 88/88 (100%) 78/78 (100%) ⚪ 0%
Lines ████████████████████ 2070/2070 (100%) 1841/1841 (100%) ⚪ 0%

Updated for bded537 | Compared against base branch

@github-actions

Copy link
Copy Markdown

⏱️ Performance Report

✅ Tests 135 passed, 0 failed, 0 skipped
🧪 Suites 32
⏱️ Total step time 262.00s 🔴 +48.00s
⚙️ Test execution 252.87s 🔴 +46.48s
🐢 Slowest test suites
# Suite Tests Duration vs Base
1 PostgresWakeListener 17 28.67s -
2 runWorkerLoop 13 22.49s 🔴 +917ms
3 OutboxClaimer (publish outcomes) 9 15.92s 🔴 +679ms
4 WakeSocketServer + WakeSocketClient 9 15.60s 🔴 +510ms
5 KafkaInboxConsumer 8 13.90s 🔴 +643ms
6 SqliteOutboxStore 8 13.63s 🔴 +702ms
7 OutboxWaker 7 12.18s 🔴 +900ms
8 MysqlOutboxStore 7 12.03s 🔴 +282ms
9 SqliteInboxStore 5 8.69s 🔴 +342ms
10 InProcessOutboxTransport 5 8.64s 🔴 +191ms
🐌 Slowest individual tests
# Suite Test Duration vs Base
1 PostgresOutboxStore wakeChannel PostgresOutboxStore wakeChannel enqueue fires pg_notify on the configured channel (observed via LISTEN) 3.35s -
2 OutboxProducer (atomic enqueue) OutboxProducer (atomic enqueue) enqueue commits the outbox row with the business write 2.76s 🔴 +201ms
3 OutboxProducer (atomic enqueue) OutboxProducer (atomic enqueue) a throw rolls back BOTH the outbox row and the business write 2.02s 🔴 +143ms
4 KafkaInboxConsumer KafkaInboxConsumer reads a string message key (dedup falls back to it without headers) 1.94s 🔴 +207ms
5 KafkaInboxConsumer KafkaInboxConsumer acks a freshly processed message and runs the side effect 1.91s 🔴 +266ms
6 OutboxClaimer (publish outcomes) OutboxClaimer (publish outcomes) a PermanentError fails the row immediately (and warns with the reason) 1.90s 🔴 +189ms
7 runWorkerLoop runWorkerLoop waits pollIntervalMs (and not the 2s default) between idle ticks 1.88s 🔴 +154ms
8 PostgresOutboxStore PostgresOutboxStore enqueue defaults: null idempotency key, maxAttempts override 1.88s 🔴 +336ms
9 OutboxClaimer (publish outcomes) OutboxClaimer (publish outcomes) a RetryableError without delay reschedules with backoff 1.88s 🔴 +114ms
10 WakeSocketServer + WakeSocketClient WakeSocketServer + WakeSocketClient client notify() against a missing path reports to onError and never throws 1.87s 🔴 +358ms
11 PostgresWakeListener PostgresWakeListener quotes a custom mixed-case channel (LISTEN must stay case-sensitive) 1.86s -
12 InboxService (dedup via the app) InboxService (dedup via the app) runOnce processes once, dedups a redelivery, and rolls back on throw 1.85s 🔴 +168ms
13 runWorkerLoop runWorkerLoop an abort during the idle sleep wakes it and removes the listener 1.85s 🔴 +120ms
14 OutboxClaimer (publish outcomes) OutboxClaimer (publish outcomes) tick publishes a pending row and marks it completed 1.84s ⚪ ~0
15 isMysqlUniqueViolation isMysqlUniqueViolation rejects other errors and non-objects 1.82s 🔴 +293ms

Updated for bded537 | Compared against base branch

@github-actions

Copy link
Copy Markdown

🧠 Cognitive Complexity Report

Metric PR Base Diff
Total complexity 79 66 🔴 +13
Max function complexity 12 12 ⚪ 0
Functions measured 39 30 ⚪ +9
🧩 Most complex functions
Function Location Complexity Status
runWorkerLoop packages/messaging/outbox-worker.ts:34 12 🟢 OK
KafkaInboxConsumer.consume packages/messaging/adapters/kafka/kafka-inbox-consumer.ts:67 5 🟢 OK
PostgresWakeListener.#supervise packages/messaging/dialects/postgres/wake.ts:122 5 🟢 OK
WakeSocketServer.listen packages/messaging/wake-socket.ts:52 5 🟢 OK
OutboxClaimer.onPublishError packages/messaging/outbox-claimer.service.ts:84 4 🟢 OK
deriveDedupKey packages/messaging/wire-contract.ts:55 4 🟢 OK
MysqlInboxStore.runOnce packages/messaging/dialects/mysql/inbox-store.ts:43 3 🟢 OK
PostgresInboxStore.runOnce packages/messaging/dialects/postgres/inbox-store.ts:37 3 🟢 OK
SqliteInboxStore.runOnce packages/messaging/dialects/sqlite/inbox-store.ts:39 3 🟢 OK
KafkaInboxConsumer.readKey packages/messaging/adapters/kafka/kafka-inbox-consumer.ts:90 2 🟢 OK

🧭 Cognitive complexity is reported as a review signal, not a merge gate. Prefer small, intention-revealing refactors when complexity rises.


Updated for bded537 | Compared against base branch

@rodrigobnogueira
rodrigobnogueira merged commit 7dd8282 into main Jul 19, 2026
6 of 7 checks passed
@rodrigobnogueira
rodrigobnogueira deleted the release/0.5.0 branch July 19, 2026 19:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant