Feb 21, 9-10 AM (0)
Feb 21, 10-11 AM (1)
Feb 21, 11-12 PM (22)
Feb 21, 12-1 PM (4)
Feb 21, 1-2 PM (2)
Feb 21, 2-3 PM (7)
Feb 21, 3-4 PM (4)
Feb 21, 4-5 PM (9)
Feb 21, 5-6 PM (1)
Feb 21, 6-7 PM (7)
Feb 21, 7-8 PM (3)
Feb 21, 8-9 PM (0)
Feb 21, 9-10 PM (22)
Feb 21, 10-11 PM (33)
Feb 21, 11-12 AM (22)
Feb 22, 12-1 AM (5)
Feb 22, 1-2 AM (3)
Feb 22, 2-3 AM (6)
Feb 22, 3-4 AM (0)
Feb 22, 4-5 AM (6)
Feb 22, 5-6 AM (3)
Feb 22, 6-7 AM (1)
Feb 22, 7-8 AM (0)
Feb 22, 8-9 AM (1)
Feb 22, 9-10 AM (0)
Feb 22, 10-11 AM (1)
Feb 22, 11-12 PM (2)
Feb 22, 12-1 PM (10)
Feb 22, 1-2 PM (1)
Feb 22, 2-3 PM (1)
Feb 22, 3-4 PM (1)
Feb 22, 4-5 PM (10)
Feb 22, 5-6 PM (10)
Feb 22, 6-7 PM (8)
Feb 22, 7-8 PM (13)
Feb 22, 8-9 PM (8)
Feb 22, 9-10 PM (23)
Feb 22, 10-11 PM (20)
Feb 22, 11-12 AM (23)
Feb 23, 12-1 AM (2)
Feb 23, 1-2 AM (3)
Feb 23, 2-3 AM (12)
Feb 23, 3-4 AM (11)
Feb 23, 4-5 AM (0)
Feb 23, 5-6 AM (1)
Feb 23, 6-7 AM (5)
Feb 23, 7-8 AM (78)
Feb 23, 8-9 AM (32)
Feb 23, 9-10 AM (45)
Feb 23, 10-11 AM (42)
Feb 23, 11-12 PM (64)
Feb 23, 12-1 PM (56)
Feb 23, 1-2 PM (111)
Feb 23, 2-3 PM (59)
Feb 23, 3-4 PM (35)
Feb 23, 4-5 PM (28)
Feb 23, 5-6 PM (29)
Feb 23, 6-7 PM (22)
Feb 23, 7-8 PM (17)
Feb 23, 8-9 PM (5)
Feb 23, 9-10 PM (21)
Feb 23, 10-11 PM (30)
Feb 23, 11-12 AM (17)
Feb 24, 12-1 AM (7)
Feb 24, 1-2 AM (6)
Feb 24, 2-3 AM (11)
Feb 24, 3-4 AM (6)
Feb 24, 4-5 AM (6)
Feb 24, 5-6 AM (11)
Feb 24, 6-7 AM (9)
Feb 24, 7-8 AM (36)
Feb 24, 8-9 AM (28)
Feb 24, 9-10 AM (56)
Feb 24, 10-11 AM (42)
Feb 24, 11-12 PM (27)
Feb 24, 12-1 PM (36)
Feb 24, 1-2 PM (52)
Feb 24, 2-3 PM (122)
Feb 24, 3-4 PM (36)
Feb 24, 4-5 PM (129)
Feb 24, 5-6 PM (28)
Feb 24, 6-7 PM (18)
Feb 24, 7-8 PM (15)
Feb 24, 8-9 PM (40)
Feb 24, 9-10 PM (21)
Feb 24, 10-11 PM (38)
Feb 24, 11-12 AM (24)
Feb 25, 12-1 AM (20)
Feb 25, 1-2 AM (6)
Feb 25, 2-3 AM (13)
Feb 25, 3-4 AM (5)
Feb 25, 4-5 AM (2)
Feb 25, 5-6 AM (7)
Feb 25, 6-7 AM (6)
Feb 25, 7-8 AM (16)
Feb 25, 8-9 AM (66)
Feb 25, 9-10 AM (38)
Feb 25, 10-11 AM (25)
Feb 25, 11-12 PM (34)
Feb 25, 12-1 PM (37)
Feb 25, 1-2 PM (33)
Feb 25, 2-3 PM (38)
Feb 25, 3-4 PM (24)
Feb 25, 4-5 PM (21)
Feb 25, 5-6 PM (24)
Feb 25, 6-7 PM (93)
Feb 25, 7-8 PM (37)
Feb 25, 8-9 PM (12)
Feb 25, 9-10 PM (38)
Feb 25, 10-11 PM (30)
Feb 25, 11-12 AM (15)
Feb 26, 12-1 AM (5)
Feb 26, 1-2 AM (3)
Feb 26, 2-3 AM (9)
Feb 26, 3-4 AM (2)
Feb 26, 4-5 AM (2)
Feb 26, 5-6 AM (5)
Feb 26, 6-7 AM (25)
Feb 26, 7-8 AM (22)
Feb 26, 8-9 AM (97)
Feb 26, 9-10 AM (73)
Feb 26, 10-11 AM (42)
Feb 26, 11-12 PM (40)
Feb 26, 12-1 PM (63)
Feb 26, 1-2 PM (55)
Feb 26, 2-3 PM (53)
Feb 26, 3-4 PM (39)
Feb 26, 4-5 PM (12)
Feb 26, 5-6 PM (58)
Feb 26, 6-7 PM (26)
Feb 26, 7-8 PM (38)
Feb 26, 8-9 PM (11)
Feb 26, 9-10 PM (31)
Feb 26, 10-11 PM (39)
Feb 26, 11-12 AM (30)
Feb 27, 12-1 AM (11)
Feb 27, 1-2 AM (3)
Feb 27, 2-3 AM (7)
Feb 27, 3-4 AM (7)
Feb 27, 4-5 AM (4)
Feb 27, 5-6 AM (4)
Feb 27, 6-7 AM (9)
Feb 27, 7-8 AM (8)
Feb 27, 8-9 AM (10)
Feb 27, 9-10 AM (28)
Feb 27, 10-11 AM (43)
Feb 27, 11-12 PM (65)
Feb 27, 12-1 PM (43)
Feb 27, 1-2 PM (24)
Feb 27, 2-3 PM (27)
Feb 27, 3-4 PM (12)
Feb 27, 4-5 PM (41)
Feb 27, 5-6 PM (37)
Feb 27, 6-7 PM (31)
Feb 27, 7-8 PM (9)
Feb 27, 8-9 PM (33)
Feb 27, 9-10 PM (11)
Feb 27, 10-11 PM (41)
Feb 27, 11-12 AM (26)
Feb 28, 12-1 AM (9)
Feb 28, 1-2 AM (7)
Feb 28, 2-3 AM (13)
Feb 28, 3-4 AM (1)
Feb 28, 4-5 AM (5)
Feb 28, 5-6 AM (7)
Feb 28, 6-7 AM (9)
Feb 28, 7-8 AM (5)
Feb 28, 8-9 AM (2)
Feb 28, 9-10 AM (0)
3,834 commits this week
Feb 21, 2026
-
Feb 28, 2026
tracing: fix DebugPeerSelection counters
The expression > peerSelectionStateToCounters Cardano.PublicRootPeers.toSet > Cardano.cardanoPeerSelectionStatetoCounters st doesn't typecheck because of universally quantified type variables in the instance head. The next commit introduces a type class and a follow-up commit will add a constraint to show that we can provide all the extra peer information in this LogFormatting instance. Alternatively, the instance could be monomorphic, but that would lead to duplicated code for the base peer selection counters instance, and the extra/custom one in another module, and the choice would be up to the user which one to import. In comparison, the proposed approach is modular, where the instance with the counters extension only provides those additional counters to the base instance, and the user imports both into the program.
ci: enable SSE for wait-for-hydra in PR validation
Use the hydra-github-bridge SSE endpoint for real-time build status detection instead of polling the GitHub API. Reduces wait time from minutes (poll interval) to seconds (event-driven). Tested end-to-end in PR #241 — all validation jobs passed.
refactor: remove old codename references and stale directories
- Delete stale build artifact directories (mercury/, pollux/, castor/, connect/, shared/, event-notification/) - Rename import aliases: castorDomain -> didDomain, castor -> didError, pollux -> oid4vciModel - Update comments referencing old codenames (pollux, castor, mercury) - Update .github/labeler.yml to use new module directory paths - Clean up commented legacy module names in CI workflow and build.sbt Co-Authored-By: Claude Opus 4.6 <[email protected]> Signed-off-by: Yurii Shynbuiev <[email protected]>
chore(deps): bump ajv from 8.17.1 to 8.18.0 in /tests/performance-tests/agent-performance-tests-k6 (#1722)
Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Merge branch 'main' into pinned-dependencies
Merge branch 'main' into update/main/dal
chore(deps): bump ajv
Bumps [ajv](https://github.com/ajv-validator/ajv) from 8.17.1 to 8.18.0. - [Release notes](https://github.com/ajv-validator/ajv/releases) - [Commits](https://github.com/ajv-validator/ajv/compare/v8.17.1...v8.18.0) --- updated-dependencies: - dependency-name: ajv dependency-version: 8.18.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]>
chore(deps-dev): bump webpack from 5.94.0 to 5.104.1 in /tests/performance-tests/agent-performance-tests-k6 (#1706)
Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Yurii Shynbuiev <[email protected]>
ci: point wait-for-hydra at @latest (SSE support merged)
wait-for-hydra: add SSE support for real-time Hydra status (#41)
When `hydra-status-url` is provided, the action connects to the hydra-github-bridge SSE endpoint for real-time build status updates instead of polling the GitHub API. This dramatically reduces latency from minutes (poll interval) to seconds (event-driven). SSE mode features: - One-shot check on cached status before opening the stream - Event filtering by check-run name (ignores unrelated jobs) - Process substitution to avoid subshell exit trap - read -t 60 to enforce timeout during idle streams - Periodic re-checks every 120s as CDN buffering safety net - Graceful fallback to poll mode on connection failure Without `hydra-status-url`, the action behaves exactly as before (pure GitHub API polling with exponential backoff). Copyright (c) Moritz Angermann <[email protected]>, Input Output Group. SPDX-License-Identifier: Apache-2.0
refactor: remove unused re-export package.scala files
Delete 3 dead re-export files with zero consumers: server.iam, wallet.secrets.vault, and wallet.persistence.doobie package objects. Co-Authored-By: Claude Opus 4.6 <[email protected]> Signed-off-by: Yurii Shynbuiev <[email protected]>
wait-for-hydra: add SSE support for real-time Hydra status
When `hydra-status-url` is provided, the action connects to the hydra-github-bridge SSE endpoint for real-time build status updates instead of polling the GitHub API. This dramatically reduces latency from minutes (poll interval) to seconds (event-driven). SSE mode features: - One-shot check on cached status before opening the stream - Event filtering by check-run name (ignores unrelated jobs) - Process substitution to avoid subshell exit trap - read -t 60 to enforce timeout during idle streams - Periodic re-checks every 120s as CDN buffering safety net - Graceful fallback to poll mode on connection failure Without `hydra-status-url`, the action behaves exactly as before (pure GitHub API polling with exponential backoff). Copyright (c) Moritz Angermann <[email protected]>, Input Output Group. SPDX-License-Identifier: Apache-2.0
Merge branch 'main' into dependabot/npm_and_yarn/tests/performance-tests/agent-performance-tests-k6/webpack-5.104.1
style: apply scalafmt formatting
Signed-off-by: Yurii Shynbuiev <[email protected]> Co-Authored-By: Claude Opus 4.6 <[email protected]> Signed-off-by: Yurii Shynbuiev <[email protected]>
Merge branch 'main' into pinned-dependencies
build: sbt and plugins dependency update (#1697)
Signed-off-by: Hyperledger Bot <[email protected]> Co-authored-by: Hyperledger Bot <[email protected]> Co-authored-by: Yurii Shynbuiev <[email protected]>
refactor: rename event.notification to notifications package (phase 13)
Align package names with module names: rename org.hyperledger.identus.event.notification to org.hyperledger.identus.notifications, and event.controller to notifications.controller. Move source directories to match. Signed-off-by: Yurii Shynbuiev <[email protected]> Co-Authored-By: Claude Opus 4.6 <[email protected]> Signed-off-by: Yurii Shynbuiev <[email protected]>
style: run scalafmtAll with a new scalafmt version
Signed-off-by: Yurii Shynbuiev <[email protected]>
chore: re-trigger with Cloudflare cache bypass rule active
Cloudflare now bypasses cache for /status/* paths, enabling real-time SSE event delivery.
refactor: move notification traits from core to API module (phase 12)
Move EventNotificationService trait and its types (Event, EventProducer, EventConsumer, EventNotificationConfig, EventNotificationServiceError) from notifications/core to notifications/api. Reverse dependency direction so core depends on api. Delete the re-export type alias file. VDR and other modules retain the re-export pattern as their API types depend on heavy external libraries (protobuf, gRPC, VDR drivers) that would defeat the purpose of a lightweight API layer. Signed-off-by: Yurii Shynbuiev <[email protected]> Co-Authored-By: Claude Opus 4.6 <[email protected]> Signed-off-by: Yurii Shynbuiev <[email protected]>
chore: update translation progress from Crowdin [skip ci]
chore(deps): bump minimatch in /examples/gift_card
Bumps and [minimatch](https://github.com/isaacs/minimatch). These dependencies needed to be updated together. Updates `minimatch` from 9.0.5 to 9.0.9 - [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md) - [Commits](https://github.com/isaacs/minimatch/compare/v9.0.5...v9.0.9) Updates `minimatch` from 3.1.2 to 3.1.5 - [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md) - [Commits](https://github.com/isaacs/minimatch/compare/v9.0.5...v9.0.9) --- updated-dependencies: - dependency-name: minimatch dependency-version: 9.0.9 dependency-type: indirect - dependency-name: minimatch dependency-version: 3.1.5 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]>