Skip to content

[pull] main from getsentry:main - #422

Merged
pull[bot] merged 5 commits into
NOUIY:mainfrom
getsentry:main
Aug 12, 2026
Merged

[pull] main from getsentry:main#422
pull[bot] merged 5 commits into
NOUIY:mainfrom
getsentry:main

Conversation

@pull

@pull pull Bot commented Aug 12, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

runningcode and others added 5 commits August 12, 2026 10:24
* perf(core): Read the clock once per performance collection round

While a transaction is running, performance data is collected every
100ms. CompositeData.addDataAndCheckTimeout read the clock to check for
the 30 second collection timeout once per in-flight transaction,
allocating a SentryNanotimeDate each time, even though the enclosing
timer task had just read it for the sample it was distributing.

Pass that reading in, so a collection round reads the clock once instead
of once per transaction.

* changelog
* docs(agents): Remove duplicated agent rule files

coding.mdc was almost entirely a subset of AGENTS.md: the contributing
guidelines, coding rules, useful resources, and key commands sections were
near-verbatim copies. overview_dev.mdc re-described every rule three times
(once per rule bullet list, once in a keyword table) even though each rule
file already carries the same information in its frontmatter description,
and it pointed agents at fetch_rules, a Cursor-only tool.

Reduce coding.mdc to a pointer, delete overview_dev.mdc, and move the rule
index into AGENTS.md as a single table. Agents now read one file to get
started instead of three.

* docs(agents): Restore mandatory-reading language in CLAUDE.md

The dedupe commit softened the "STOP — Required Reading" block into a plain
descriptive sentence. In practice an agent then treats AGENTS.md as optional
background and answers questions without ever loading it, which is exactly
what the original wording was there to prevent.

Restore the imperative framing for AGENTS.md only. The old block also listed
coding.mdc and overview_dev.mdc as required reading; those are gone, and the
per-area rule files stay opt-in via the index table in AGENTS.md.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* docs(agents): Restore mandatory-reading language in coding.mdc

coding.mdc is alwaysApply: true, making it Cursor's auto-injected entry point —
the same role CLAUDE.md plays for Claude Code. Leaving it descriptive while
CLAUDE.md is imperative means only one of the two agents is actually told to
load AGENTS.md before doing anything.

Phrased tool-neutrally rather than naming the Read tool, since Cursor's
equivalent is read_file.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* docs(agents): Remove redundant coding.mdc pointer file

Cursor reads a root AGENTS.md automatically, so a .cursor/rules entry
whose only content is 'go read AGENTS.md' instructs Cursor to load a
file it has already merged into context. The domain-specific rules in
.cursor/rules/ are unaffected — they are alwaysApply: false and are
fetched on demand via the index table in AGENTS.md.

CLAUDE.md stays: Claude Code does not read AGENTS.md natively.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
* perf(core): Store performance measurements as primitives

While a transaction or profile chunk is running, performance data is
collected every 100ms for up to 30 seconds. PerformanceCollectionData
stored its measurements as boxed Double/Long, using null to mean "no
collector reported this". Heap sizes are far outside the Long cache, so
each sample allocated a box per measurement.

The fields are now primitives with an explicit presence flag, and
consumers ask hasUsedHeapMemory() instead of null-checking. A sentinel
value was considered instead, but AndroidCpuCollector can legitimately
produce NaN when it observes a zero-length interval, so no in-band value
is safe.

No behavior change: which measurements are reported, and their values,
are unchanged. PerformanceCollectionData is @ApiStatus.Internal, so the
signature changes in sentry.api are not part of the public surface.

* changelog
… throwables (#5907)

* feat(core): Add ExceptionUtils.handleFatal to rethrow non-recoverable throwables

* refactor(core): Rename ExceptionUtils.handleFatal to rethrowIfFatal

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* feat(core): Rethrow LinkageError from ExceptionUtils.rethrowIfFatal

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
@pull pull Bot locked and limited conversation to collaborators Aug 12, 2026
@pull pull Bot added the ⤵️ pull label Aug 12, 2026
@pull
pull Bot merged commit 4d15f0e into NOUIY:main Aug 12, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants