Skip to content

fix(sdk): core 1.5.0, node 1.4.0, vite-plugin 1.1.0 (TT-012/018/019/020) - #722

Merged
cursor[bot] merged 4 commits into
developfrom
cursor/sdk-crash-capture-release-f4fb
Sep 27, 2026
Merged

cursor[bot] merged 4 commits into
developfrom
cursor/sdk-crash-capture-release-f4fb

Conversation

@unjica

@unjica unjica commented Sep 26, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Coordinated SDK package release prep (no npm publish in this PR). Updated after QA runtime pass on frozen/sealed/non-extensible Errors.

Package Version Notes
@telemetry-tracker/core 1.5.0 ingestError() + toReportableError(); WeakSet dedupe (no Error mutation)
@telemetry-tracker/node 1.4.0 Depends on core ^1.5.0 (via publish rewrite)
@telemetry-tracker/vite-plugin 1.1.0 Publish sourceMappingURL bundle_url resolution

Refs #711 (TT-012), #718 (TT-018), #719 (TT-019), #720 (TT-020), #632.

Latest fix (frozen/sealed/non-extensible)

  • Dedupe via WeakSet / in-flight WeakMap — never mutates Error objects
  • flushFatalError / ingestError swallow telemetry-internal failures so they cannot become exit code 7
  • Regression tests for Object.freeze / seal / preventExtensions
  • Preserves trackError(e); throw e in-flight await behaviour

How to test

pnpm --filter @telemetry-tracker/core test
pnpm --filter @telemetry-tracker/node test
pnpm test:publish-guards

Out of scope

Checklist

  • Package + publish-guard tests pass
  • No npm publish / no deploy
Open in Web Open in Cursor 

cursoragent and others added 3 commits September 26, 2026 09:24
Publish ingestError in core 1.5.0 for fatal flushes. Node 1.4.0 flushes
uncaughtException and unhandledRejection before exit (TT-012/TT-019),
times middleware duration on response finish with a single next()
(TT-020/#632), and documents exitOnUnhandledRejection. Vite plugin
1.1.0 publishes sourceMappingURL-based bundle_url (TT-018). Harden
publish-packages for clean tagged checkouts with stamped gitHead.

Refs #711 #718 #719 #720 #632

Co-authored-by: Sanja Malovic <unjica@users.noreply.github.com>
Normalize null/undefined/primitive/object throws for ingest and Node
fatal handlers; await in-flight trackError sends on rethrow; make fatal
flush timeout configurable and clear/unref the timer. Require
origin/main + per-package version tags for publish, block --allow-dirty
and direct folder publishes, abort if core fails, and run publish-guard
tests in CI.

Refs #711 #718 #719 #720 #632

Co-authored-by: Sanja Malovic <unjica@users.noreply.github.com>
Replace Symbol marker writes with a WeakSet so freeze/seal/preventExtensions
Errors still ingest. Harden flushFatalError so telemetry-internal failures
cannot escape as Node exit code 7. Keep in-flight WeakMap dedupe for
trackError(e); throw e.

Refs #711

Co-authored-by: Sanja Malovic <unjica@users.noreply.github.com>
Co-authored-by: Sanja Malovic <unjica@users.noreply.github.com>
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.

2 participants