Skip to content

Commit 2ed92e6

Browse files
committed
chore: bump argus-apm to 0.4.0
1 parent fd26e4f commit 2ed92e6

2 files changed

Lines changed: 17 additions & 2 deletions

File tree

CHANGELOG.md

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
99

1010
## [Unreleased]
1111

12+
---
13+
14+
## [0.4.0] — 2026-05-02
15+
1216
### Added
1317
- **gRPC instrumentation**`@grpc/grpc-js` driver patch (`drivers/grpc.ts`).
1418
Auto-patches all four call types on `Client.prototype`:
1519
- **Unary** (`makeUnaryRequest`) and **client-streaming** (`makeClientStreamRequest`) — wraps the callback to capture wall-clock duration and forward errors to `diagnostics_channel`.
1620
- **Server-streaming** (`makeServerStreamRequest`) and **bidi-streaming** (`makeBidiStreamRequest`) — listens for the stream's `status` (completion) and `error` events; a `published` flag prevents double-publishing when both events fire for the same call.
1721
The RPC method path (e.g. `/package.Service/Method`) is used as the query key, making gRPC calls visible in slow-query logs, the cache monitor, and OTLP exports.
1822
17 drivers total (up from 16). Wired into `applyDriverPatches()` under a new `// RPC` section; silently skipped when `@grpc/grpc-js` is not installed.
23+
- **`CrossSignalRuleEngine`** — extracted class (R.3–R.7 rules) now exported directly; independently testable.
24+
- **`CROSS_SIGNAL_THRESHOLDS`** — exported const with all cross-signal rule threshold defaults.
25+
- **`WindowedMonitorBase`** — exported abstract class; `GcMonitor` and `CacheMonitor` now extend it.
26+
27+
### Changed
28+
- Architecture: `CrossSignalRuleEngine` extracted from `ArgusAgent`; `GcMonitor` / `CacheMonitor` refactored onto `WindowedMonitorBase`.
29+
- Safety: silent `.catch()` blocks replaced with `this.emit("warn", err)`; `routeTracker` non-null assertion replaced with defensive check; global-regex `lastIndex` reset added in `IndexHintAnalyzer`, `MigrationScanner`, and `ArgusAgent`.
30+
- Tests: 627 → 644 passing — scenario tests (worker-only, cache-degradation, crash-recovery), OTLP edge cases (circular payload, ECONNREFUSED, timeout), licensing boundary tests (JWT expiry ±1 s, clock-skew at 60 s boundary), `CrossSignalRuleEngine` unit tests.
1931

2032
---
2133

@@ -217,5 +229,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
217229
- Docker demo app (`quotes-demo-app/`) with `docker compose` one-liner.
218230
- 485 tests across 102 suites mirroring the source tree.
219231

220-
[Unreleased]: https://github.com/sharon77242/Argus/compare/v0.1.0...HEAD
232+
[Unreleased]: https://github.com/sharon77242/Argus/compare/v0.4.0...HEAD
233+
[0.4.0]: https://github.com/sharon77242/Argus/compare/v0.3.2...v0.4.0
234+
[0.3.2]: https://github.com/sharon77242/Argus/compare/v0.3.0...v0.3.2
235+
[0.3.0]: https://github.com/sharon77242/Argus/compare/v0.1.0...v0.3.0
221236
[0.1.0]: https://github.com/sharon77242/Argus/releases/tag/v0.1.0

packages/agent/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "argus-apm",
3-
"version": "0.3.2",
3+
"version": "0.4.0",
44
"description": "Privacy-first performance diagnostics for Node.js — Argus",
55
"main": "dist/cjs/index.cjs",
66
"module": "dist/esm/index.js",

0 commit comments

Comments
 (0)