Skip to content

build support - #1

Merged
lvca merged 2 commits into
mainfrom
setup-gh-actions
Aug 16, 2021
Merged

build support#1
lvca merged 2 commits into
mainfrom
setup-gh-actions

Conversation

@arcade-player

Copy link
Copy Markdown
Contributor

add pre-commit configuration
add gh actions
add dependabot configuration

add pre-commit configuration
add gh actions
add dependabot configuration
@arcade-player
arcade-player requested a review from lvca August 16, 2021 20:33
@lvca
lvca merged commit 99ee631 into main Aug 16, 2021
@lvca

lvca commented Aug 16, 2021

Copy link
Copy Markdown
Member

Thanks!

lvca pushed a commit that referenced this pull request Sep 7, 2021
Get latest commits from main project
@lvca lvca mentioned this pull request Aug 3, 2022
@lvca
lvca deleted the setup-gh-actions branch May 6, 2023 15:30
mergify Bot added a commit that referenced this pull request Aug 29, 2025
….3.8 to 0.3.13 in /studio [skip ci]

Bumps [@jridgewell/gen-mapping](https://github.com/jridgewell/sourcemaps/tree/HEAD/packages/gen-mapping) from 0.3.8 to 0.3.13.
Changelog

*Sourced from [`@​jridgewell/gen-mapping`'s changelog](https://github.com/jridgewell/sourcemaps/blob/main/packages/gen-mapping/CHANGELOG.md).*

> [0.3.13] - 2025-08-12
> =====================
>
> * Use `default` subpath export: <jridgewell/sourcemaps@aab8d72>
> * Transform `export default` into `module.exports =` in UMD plugin: <jridgewell/sourcemaps@cf85c75>
>
> **Full Changelog**: <jridgewell/sourcemaps@gen-mapping/0.3.12...gen-mapping/0.3.13>
>
> [0.3.12] - 2025-07-01
> =====================
>
> * Use `Object.assign` to avoid polyfill in old Node versions: <jridgewell/sourcemaps@dd0615a>
> * Optimize UMD wrapper: <jridgewell/sourcemaps@557ca37>
> * Reorder subpath exports to improve import usage: [#35](https://github.com/jridgewell/sourcemaps/tree/HEAD/packages/gen-mapping/issues/35)
>
> **Full Changelog**: <jridgewell/sourcemaps@gen-mapping/0.3.11...gen-mapping/0.3.12>
>
> [0.3.11] - 2025-06-30
> =====================
>
> * Update UMD Wrapper to fix webpack build issue: [#33](https://github.com/jridgewell/sourcemaps/tree/HEAD/packages/gen-mapping/issues/33)
> * Add `getOwnPropertyDescriptors` polyfill to support Node v6: [#34](https://github.com/jridgewell/sourcemaps/tree/HEAD/packages/gen-mapping/issues/34)
>
> **Full Changelog**: <jridgewell/sourcemaps@gen-mapping/0.3.10...gen-mapping/0.3.11>
>
> [0.3.10] - 2025-06-30
> =====================
>
> * Remove `require(esm)` support to fix bug with Node v22: <jridgewell/sourcemaps@e957842>
>
> **Full Changelog**: <jridgewell/sourcemaps@gen-mapping/0.3.9...gen-mapping/0.3.10>
>
> [0.3.9] - 2025-06-29
> ====================
>
> * Fix package types for CJS and ESM imports: <jridgewell/sourcemaps@a924ed3>
> * fix: use stable version of sourcemap-codec dependency: [#26](https://github.com/jridgewell/sourcemaps/tree/HEAD/packages/gen-mapping/issues/26) (thanks [`@​benmccann`](https://github.com/benmccann))
> * Add `module-sync` exports type for [require(esm)](https://joyeecheung.github.io/blog/2024/03/18/require-esm-in-node-js/): <jridgewell/sourcemaps@3836f6c>
> * Add type declaration source maps to assist go-to-definition: <jridgewell/sourcemaps@9a02665>
> * Temporarily remove scopes/ranges APIs: <jridgewell/sourcemaps@7575b63>
> * Include set-array source directly in gen-mapping project: [#1](https://github.com/jridgewell/sourcemaps/tree/HEAD/packages/gen-mapping/issues/1) (thanks [`@​benmccann`](https://github.com/benmccann))
>
> **Full Changelog**: <jridgewell/sourcemaps@gen-mapping/0.3.5...gen-mapping/0.3.9>
>
> [0.3.5] - 2024-03-01
> ====================
>
> * Add `ignoreList` support: <jridgewell/gen-mapping@9add0c2>
>
> **Full Changelog**: <jridgewell/gen-mapping@v0.3.4...v0.3.5>
>
> [0.3.4] - 2024-02-24
> ====================
>
> **Full Changelog**: <jridgewell/gen-mapping@v0.3.3...v0.3.4>
>
> [0.3.3] - 2023-04-07
> ====================

... (truncated)


Commits

* [`a969b67`](jridgewell/sourcemaps@a969b67) gen-mapping/0.3.13
* [`aab8d72`](jridgewell/sourcemaps@aab8d72) Use default subpath condition for fallback
* [`c780a90`](jridgewell/sourcemaps@c780a90) Update links to point to monorepo
* [`e2fa5d7`](jridgewell/sourcemaps@e2fa5d7) remapping/2.3.4
* [`26fe89d`](jridgewell/sourcemaps@26fe89d) gen-mapping/0.3.12
* [`a1c0fa0`](jridgewell/sourcemaps@a1c0fa0) Reorder subpath exports
* [`dd0615a`](jridgewell/sourcemaps@dd0615a) gen-mapping: Use `Object.assign` to avoid needing `getOwnPropertyDescriptors`...
* [`82195c5`](jridgewell/sourcemaps@82195c5) gen-mapping/0.3.11
* [`58ea44b`](jridgewell/sourcemaps@58ea44b) Update changelogs
* [`e0c7250`](jridgewell/sourcemaps@e0c7250) Why isn't GH autolinking commit SHAs?
* See full diff in [compare view](https://github.com/jridgewell/sourcemaps/commits/gen-mapping/0.3.13/packages/gen-mapping)
  
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility\_score?dependency-name=@jridgewell/gen-mapping&package-manager=npm\_and\_yarn&previous-version=0.3.8&new-version=0.3.13)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
  
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show  ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
mergify Bot added a commit that referenced this pull request Oct 12, 2025
…4 [skip ci]

Bumps [org.jacoco:jacoco-maven-plugin](https://github.com/jacoco/jacoco) from 0.8.13 to 0.8.14.
Release notes

*Sourced from [org.jacoco:jacoco-maven-plugin's releases](https://github.com/jacoco/jacoco/releases).*

> 0.8.14
> ------
>
> New Features
> ------------
>
> * JaCoCo now officially supports Java 25 (GitHub [#1950](https://redirect.github.com/jacoco/jacoco/issues/1950)).
> * Experimental support for Java 26 class files (GitHub [#1870](https://redirect.github.com/jacoco/jacoco/issues/1807)).
> * Branches added by the Kotlin compiler for default argument number 33 or higher are filtered out during generation of report (GitHub [#1655](https://redirect.github.com/jacoco/jacoco/issues/1655)).
> * Part of bytecode generated by the Kotlin compiler for elvis operator that follows safe call operator is filtered out during generation of report (GitHub [#1814](https://redirect.github.com/jacoco/jacoco/issues/1814), [#1954](https://redirect.github.com/jacoco/jacoco/issues/1954)).
> * Part of bytecode generated by the Kotlin compiler for more cases of chained safe call operators is filtered out during generation of report (GitHub [#1956](https://redirect.github.com/jacoco/jacoco/issues/1956)).
> * Part of bytecode generated by the Kotlin compiler for invocations of suspendCoroutineUninterceptedOrReturn intrinsic is filtered out during generation of report (GitHub [#1929](https://redirect.github.com/jacoco/jacoco/issues/1929)).
> * Part of bytecode generated by the Kotlin compiler for suspending lambdas with parameters is filtered out during generation of report (GitHub [#1945](https://redirect.github.com/jacoco/jacoco/issues/1945)).
> * Part of bytecode generated by the Kotlin compiler for suspending functions and lambdas with suspension points that return inline value class is filtered out during generation of report (GitHub [#1871](https://redirect.github.com/jacoco/jacoco/issues/1871)).
> * Part of bytecode generated by the Kotlin Compose compiler plugin for pausable composition is filtered out during generation of report (GitHub [#1911](https://redirect.github.com/jacoco/jacoco/issues/1911)).
> * Methods generated by the Kotlin serialization compiler plugin are filtered out (GitHub [#1885](https://redirect.github.com/jacoco/jacoco/issues/1885), [#1970](https://redirect.github.com/jacoco/jacoco/issues/1970), [#1971](https://redirect.github.com/jacoco/jacoco/issues/1971)).
>
> Fixed bugs
> ----------
>
> * Fixed handling of implicit else clause of when with String subject in Kotlin (GitHub [#1813](https://redirect.github.com/jacoco/jacoco/issues/1813), [#1940](https://redirect.github.com/jacoco/jacoco/issues/1940)).
> * Fixed handling of implicit default clause of switch by String in Java when compiled by ECJ (GitHub [#1813](https://redirect.github.com/jacoco/jacoco/issues/1813), [#1940](https://redirect.github.com/jacoco/jacoco/issues/1940)).
>   Fixed handling of exceptions in chains of safe call operators in Kotlin (GitHub [#1819](https://redirect.github.com/jacoco/jacoco/issues/1819)).
>
> Non-functional Changes
> ----------------------
>
> * JaCoCo now depends on ASM 9.9 (GitHub [#1965](https://redirect.github.com/jacoco/jacoco/issues/1965)).


Commits

* [`2eb2483`](jacoco/jacoco@2eb2483) Prepare release v0.8.14
* [`de76181`](jacoco/jacoco@de76181) KotlinSerializableFilter should filter more methods ([#1971](https://redirect.github.com/jacoco/jacoco/issues/1971))
* [`89c4bd5`](jacoco/jacoco@89c4bd5) Fix NPE in KotlinSerializableFilter ([#1970](https://redirect.github.com/jacoco/jacoco/issues/1970))
* [`0981128`](jacoco/jacoco@0981128) Migrate release staging to the Central Publisher Portal ([#1968](https://redirect.github.com/jacoco/jacoco/issues/1968))
* [`d07bc6b`](jacoco/jacoco@d07bc6b) Add filter for bytecode generated by Kotlin serialization compiler plugin ([#1](https://redirect.github.com/jacoco/jacoco/issues/1)...
* [`5e35fd5`](jacoco/jacoco@5e35fd5) Upgrade maven-dependency-plugin to 3.9.0 ([#1966](https://redirect.github.com/jacoco/jacoco/issues/1966))
* [`c2fe5cc`](jacoco/jacoco@c2fe5cc) Upgrade ASM to 9.9 ([#1965](https://redirect.github.com/jacoco/jacoco/issues/1965))
* [`b0f8e23`](jacoco/jacoco@b0f8e23) KotlinSafeCallOperatorFilter should filter "unoptimized" safe call followed b...
* [`c7bd3f4`](jacoco/jacoco@c7bd3f4) Upgrade spotless-maven-plugin to 3.0.0 ([#1961](https://redirect.github.com/jacoco/jacoco/issues/1961))
* [`faa289d`](jacoco/jacoco@faa289d) KotlinSafeCallOperatorFilter should not be affected by presence of pseudo ins...
* Additional commits viewable in [compare view](jacoco/jacoco@v0.8.13...v0.8.14)
  
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility\_score?dependency-name=org.jacoco:jacoco-maven-plugin&package-manager=maven&previous-version=0.8.13&new-version=0.8.14)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
  
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show  ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
mergify Bot added a commit that referenced this pull request Dec 1, 2025
…in /studio [skip ci]

Bumps [swagger-ui-dist](https://github.com/swagger-api/swagger-ui) from 5.30.2 to 5.30.3.
Release notes

*Sourced from [swagger-ui-dist's releases](https://github.com/swagger-api/swagger-ui/releases).*

> v5.30.3
> -------
>
> [5.30.3](swagger-api/swagger-ui@v5.30.2...v5.30.3) (2025-11-25)
> ------------------------------------------------------------------------------------------
>
> ### Bug Fixes
>
> * **deps:** update vulnerable `@​release-it/conventional-changelog` to 10.0.2 ([#10645](https://redirect.github.com/swagger-api/swagger-ui/issues/10645)) ([6acfc6e](swagger-api/swagger-ui@6acfc6e))
> * **deps:** update vulnerable dependencies (js-yaml & glob) ([#10644](https://redirect.github.com/swagger-api/swagger-ui/issues/10644)) ([03cf01b](swagger-api/swagger-ui@03cf01b))
> * **utils:** handle sanitizing multi-level relative paths ([#10640](https://redirect.github.com/swagger-api/swagger-ui/issues/10640)) ([58aff59](swagger-api/swagger-ui@58aff59)), closes [#4107](https://redirect.github.com/swagger-api/swagger-ui/issues/4107)


Commits

* [`199761a`](swagger-api/swagger-ui@199761a) chore(release): cut the 5.30.3 release
* [`6acfc6e`](swagger-api/swagger-ui@6acfc6e) fix(deps): update vulnerable `@​release-it/conventional-changelog` to 10.0.2 ([#1](https://redirect.github.com/swagger-api/swagger-ui/issues/1)...
* [`03cf01b`](swagger-api/swagger-ui@03cf01b) fix(deps): update vulnerable dependencies (js-yaml & glob) ([#10644](https://redirect.github.com/swagger-api/swagger-ui/issues/10644))
* [`8d9142e`](swagger-api/swagger-ui@8d9142e) chore(deps): bump actions/checkout from 5 to 6 ([#10643](https://redirect.github.com/swagger-api/swagger-ui/issues/10643))
* [`58aff59`](swagger-api/swagger-ui@58aff59) fix(utils): handle sanitizing multi-level relative paths ([#10640](https://redirect.github.com/swagger-api/swagger-ui/issues/10640))
* [`85f0c5f`](swagger-api/swagger-ui@85f0c5f) chore(deps): bump js-yaml from 4.1.0 to 4.1.1 ([#10637](https://redirect.github.com/swagger-api/swagger-ui/issues/10637))
* [`7f75ee3`](swagger-api/swagger-ui@7f75ee3) chore(deps): bump actions/setup-node from 5 to 6 ([#10608](https://redirect.github.com/swagger-api/swagger-ui/issues/10608))
* [`2067270`](swagger-api/swagger-ui@2067270) chore(deps): bump github/codeql-action from 3 to 4 ([#10595](https://redirect.github.com/swagger-api/swagger-ui/issues/10595))
* See full diff in [compare view](swagger-api/swagger-ui@v5.30.2...v5.30.3)
  
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility\_score?dependency-name=swagger-ui-dist&package-manager=npm\_and\_yarn&previous-version=5.30.2&new-version=5.30.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
  
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show  ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
lvca added a commit that referenced this pull request Aug 1, 2026
… edge list is unreadable

Second code review raised a second-order effect the change had not stated: deleting a vertex
disconnects its edges from the vertices on the OTHER end too, so the strict removal reaches a
neighbour nobody asked to touch. Measured before/after on the same fixture - a healthy vertex whose
neighbour's IN head chunk is unreadable:

  before: delete SUCCEEDED (edge record gone, neighbour still pointing at it)
  after:  ConcurrentModificationException

Keeping that strict, deliberately. Succeeding there means deleting the edge record while the
neighbour keeps the back-reference, which is precisely the corruption this issue is about - and
inflicting it on a vertex the caller never named. Under the concurrency this fix targets the retry
resolves it; on a genuinely broken neighbour list the delete fails and CHECK DATABASE is the repair
path. Issue #5680 tracks whether vertex deletion should keep a tolerant escape hatch, and now covers
this case too.

Pinned by deletingAVertexWhoseNeighbourListIsUnreadableReportsAConflictRatherThanDanglingTheReference,
and stated in the strict lookup's javadoc and the release note.

The review also suspected Issue4432CorruptVertexDeleteTest of passing only because the scan happens
to reach the corrupt vertex before its neighbour. Checked, and it does not: LocalBucket detects the
invalid record size on the first read and deletes the record ("Invalid record size 33554444 for
record #1:0: deleting record"), so the corrupt vertex fails at RESOLUTION - which stays tolerant -
and never reaches the strict head lookup. Deleting the neighbour first, with the corrupt vertex still
present, raises the identical RecordNotFoundException with and without this branch.
lvca added a commit that referenced this pull request Aug 1, 2026
…nstead of skipping it (#5678)

* fix(engine) #5670: an unreadable edge-list chunk retries the delete instead of skipping it

Deleting an edge disconnects it from both endpoints and then deletes the edge record. The
disconnection read the endpoint's chain best-effort: getEdgeHeadChunk answers null when the head
chunk cannot be loaded, the chain hops used a plain lookup, and deleteEdge wrapped both in a
catch (SchemaException | RecordNotFoundException). All three read "chunk unreadable" as "nothing to
remove here" - and the edge record below was deleted anyway.

Under concurrency a chunk is regularly unreadable for reasons that say nothing about the graph. A
commit publishes its pages one at a time and a reader takes no commit lock, so a vertex page can
expose a new edge-list head RID a moment before that head's own page is visible; and a chunk emptied
by another transaction is relinked out of the chain while a walker is still following a pointer to
it. Hitting either window ended the removal having removed nothing, so the back-reference outlived
its edge: the endpoint reported one edge too many and check database reported one broken link. That
is the reported ConcurrentEdgeAppendMergeTest failure - 3001 where 3000 was expected, with one
integrity error alongside it - and instrumenting the null return reproduces it exactly.

The append path (getOrCreateEdgeList) already answered this window with a retryable
ConcurrentModificationException. The removal path now does the same:

- getEdgeHeadChunkForWrite is the strict counterpart of getEdgeHeadChunk. Null means one thing only:
  the vertex has no edge list in that direction, so there is genuinely nothing to remove.
- deleteEdge splits endpoint resolution from chain mutation, so only a vanished endpoint VERTEX is
  tolerated - there is nothing to disconnect from a vertex that is gone.
- EdgeLinkedList.readChunk and loadChunkForWrite map an unreadable chunk to a retryable conflict.
  That subsumes StripedEdgeList.loadStripeHead, which is removed rather than left as dead code.
- EdgeIteratorFilter's opportunistic pruning of an already-dangling reference runs inside a READ and
  stays best-effort: it absorbs the new retryable conflict and leaves the ghost for a later pass.

Read paths are unchanged: iteration and counting still skip a momentarily unreadable chunk rather
than failing.

Tests: two deterministic contract tests (head chunk unreadable, mid-chain chunk unreadable) plus the
reported concurrent shape. All three fail on the current code and pass with the fix.

* fix(engine) #5670: read the head RID inside the strict lookup's try, where a lazy vertex can throw

Code review found a real gap in getEdgeHeadChunkForWrite: the head-RID read sat OUTSIDE its
try/catch. On a handle that has not materialised its record,
ImmutableVertex.getOutEdgesHeadChunk()/getInEdgesHeadChunk() calls checkForLazyLoading(), which
loads through LocalBucket.getRecord and raises RecordNotFoundException if the vertex was deleted
concurrently - and RecordNotFoundException is NOT a NeedRetryException, so it failed the transaction
outright rather than retrying it. The read-side getEdgeHeadChunk deliberately keeps that call inside
its try for the same reason.

The window is narrow but reachable: resolveEndpointToDisconnect checks existsRecord and resolves the
vertex, then getEdgeHeadChunkForWrite reads the head, and a concurrent delete landing between the two
slips past both guards. Leaving one non-retryable escape in a change whose whole point is to convert
these transients into retries was inconsistent. The read moves inside the try, and the message now
carries the underlying cause so the missing RID is still named.

Also from the review:

- The strict lookup's javadoc now states the price taken deliberately - a genuinely lost chunk is
  indistinguishable from a transiently invisible one, so it fails the removal on every attempt
  instead of completing it best-effort, with CHECK DATABASE as the repair path (issue #5680 records
  how that couples to the tolerance deleteVertex keeps).
- The release note's visible-behaviour section names moveEdge, which disconnects through deleteEdge
  and so shares the new contract.
- The stress test's worker catch says what it means: any exception surfacing there IS the bug, not a
  tolerated retry.

Tests: headChunkForWriteRaisesRetryableConflictWhenTheVertexItselfVanishes pins the gap - it fails
on the previous commit with a bare RecordNotFoundException out of checkForLazyLoading.

* fix(engine) #5670: pin what a vertex delete does when its NEIGHBOUR's edge list is unreadable

Second code review raised a second-order effect the change had not stated: deleting a vertex
disconnects its edges from the vertices on the OTHER end too, so the strict removal reaches a
neighbour nobody asked to touch. Measured before/after on the same fixture - a healthy vertex whose
neighbour's IN head chunk is unreadable:

  before: delete SUCCEEDED (edge record gone, neighbour still pointing at it)
  after:  ConcurrentModificationException

Keeping that strict, deliberately. Succeeding there means deleting the edge record while the
neighbour keeps the back-reference, which is precisely the corruption this issue is about - and
inflicting it on a vertex the caller never named. Under the concurrency this fix targets the retry
resolves it; on a genuinely broken neighbour list the delete fails and CHECK DATABASE is the repair
path. Issue #5680 tracks whether vertex deletion should keep a tolerant escape hatch, and now covers
this case too.

Pinned by deletingAVertexWhoseNeighbourListIsUnreadableReportsAConflictRatherThanDanglingTheReference,
and stated in the strict lookup's javadoc and the release note.

The review also suspected Issue4432CorruptVertexDeleteTest of passing only because the scan happens
to reach the corrupt vertex before its neighbour. Checked, and it does not: LocalBucket detects the
invalid record size on the first read and deletes the record ("Invalid record size 33554444 for
record #1:0: deleting record"), so the corrupt vertex fails at RESOLUTION - which stays tolerant -
and never reaches the strict head lookup. Deleting the neighbour first, with the corrupt vertex still
present, raises the identical RecordNotFoundException with and without this branch.

* docs(engine) #5670: say how to recover when a genuinely broken list blocks a delete

Third code review's one ask before merge. The release note stated the trade - a genuinely broken
endpoint list now fails the delete instead of completing it best-effort - but not what a user who
hits it should DO. It now says: the symptom is a delete that keeps failing however often it retries
(ordinary contention succeeds on a retry), the recovery is CHECK DATABASE ... FIX and then retry, and
the repair is never blocked by the delete being blocked, because CHECK DATABASE reads edge lists
through the best-effort reader. Verified: GraphDatabaseChecker uses getEdgeHeadChunk exclusively, and
getEdgeHeadChunkForWrite has exactly one caller, deleteEdge.

Also records the accepted retry-pressure shift the review flagged: on a hot super-node the transient
publication window is now answered with a retry rather than passing silently, so those transactions
retry slightly more often - from "quietly wrong" to "occasionally repeated", landing on the same
super-node shape the bug affected. Names txRetryDelay/txRetries as the levers.

The review also read the existsRecord check in resolveEndpointToDisconnect as arguably redundant with
the resolution that follows. It is not, and the comment now says why: getOutVertex/getInVertex load
with loadContent=false and hand back a LAZY handle, so a deleted endpoint does not surface there at
all - it surfaces inside getEdgeHeadChunkForWrite, which maps it to a retryable conflict. The check is
what separates "vertex gone, nothing to disconnect" (tolerated) from "vertex present, list unreadable"
(retry). Dropping it would silently convert the first into the second - and
headChunkForWriteRaisesRetryableConflictWhenTheVertexItselfVanishes is exactly that path.

Graph package: 334 tests, 0 failures.

* test(engine) #5670: bound the concurrent wait, and correct a comment that said the opposite of its code

Fourth code review, both actionable items.

The stress test's workers caught Exception and the main thread awaited the latch without a timeout,
so an Error - or an AssertionError thrown off the main thread - would skip the countDown and hang the
run instead of failing it. Workers now catch Throwable and the await is bounded at 5 minutes against
a round that takes seconds, which is headroom a slow machine cannot exhaust but a wedged worker
will.

The review also spotted that deleteEdge's edge-record removal carried the comment "Use the database's
delete method to ensure proper index cleanup instead of directly calling bucket.deleteRecord()"
directly above a bucket.deleteRecord() call. Checked which of the two was wrong before touching
either: an edge carrying an indexed property was deleted and its index went from 1 entry to 0, so the
CODE is right and the comment was inverted. LocalDatabase.deleteRecordNoLock cleans the index entries
and fires the delete events before dispatching an Edge to deleteEdge, so this call is deliberately
the physical removal alone - going back through the database would repeat that work, not add it. The
comment now says that.

* docs(engine) #5670: give DELETE VERTEX the same prominence as edge delete, and guard a null endpoint

Fifth code review's one ask, plus its theoretical-but-cheap point 4.

The release note led with edge.delete() and mentioned the vertex reach only in passing, at the tail of
the trade-off paragraph - while DELETE VERTEX is in fact the widest-reaching of the three affected
operations, because it disconnects each edge from the vertex at the OTHER end and so lands the strict
read on a NEIGHBOUR's list. A healthy vertex can now fail to delete because of a neighbour. The
visible-effect section now lists the three operations that share the contract and says that outright,
including that a healthy vertex next to a corrupted one is not deletable by the normal path until the
corruption is repaired.

resolveEndpointToDisconnect now returns null for a null endpoint RID instead of reaching
existsRecord, which raises IllegalArgumentException on one - not covered by the catch below, not
retryable, and so a hard failure escaping the one method whose job is to decide what is tolerable.
An edge always carries both endpoints, so this is a guard rather than a case.

Graph package: 334 tests, 0 failures (includes main's new EdgesConnectedToTest).

* docs(engine) #5670: say why the ghost-prune catch is NeedRetryException and not the narrower CME

Sixth code review read the catch as wider than its comment justified and suggested narrowing it to
ConcurrentModificationException. Checked the other direction first: NeedRetryException has exactly
two subclasses, CME and LockTimeoutException, and the second one says the same thing about this
prune - come back for it later. Narrowing the catch would let a lock timeout escape an OPTIONAL
repair into the read that triggered it, which is the outcome the catch exists to prevent. So the
comment was the half that was wrong, and it now states that the condition being absorbed is "retry
later", not one particular cause.

No behaviour change; the comment now matches the code instead of the code being narrowed to match the
comment.
tae898 added a commit to humemai/arcadedb-embedded-python that referenced this pull request Aug 3, 2026
Both tests were skipped for reasons that turned out to be wrong, so the
suite reported 4 skips where it should have reported 2. Now 415 pass,
2 skip, 1 xfails; the remaining skips are the GraphML/GraphSON export
tests, which need arcadedb-gremlin, a jar jar_exclusions.txt drops on
purpose.

test_lsm_vector_delete_and_search_others was skipped as "Known upstream
bug: Vector deletions cause index corruption". There is no corruption.
The test compared str(vertex.get_identity()), a RID like "ArcadeData#1:1", against
the integer loop index. "ArcadeData#1:1" != 1 is always true, so the deleted-vector
assertion could never fail, and "ArcadeData#1:1" == 1 is always false, so the
surviving-vector assertion could never pass. It failed unconditionally
for a reason that had nothing to do with deletions.

The engine is fine and says so: with 100 inserted and 10 deleted it logs
"110 total entries, 10 deleted, 90 active for graph" and validates 90/90,
and a query for a surviving vector returns it ranked first. Now compares
the id property; passes 5/5 runs.

test_import_database_into_timeseries_type called pytest.skip() when the
error matched "no buckets associated" OR "timeseries" OR "error on
importing database". That last clause is the generic top-level import
error, so the guard would have swallowed any regression in CSV import.

The underlying limitation is real but structural, not "not available in
current runtime": the importer builds plain documents and saves them via
MutableDocument.save() -> LocalDatabase.createRecord() ->
LocalDocumentType.getBucketIdByRecord(), and a TIMESERIES type owns no
document buckets, so it throws SchemaException "Cannot retrieve a bucket
for type 'Telemetry' because there are no buckets associated" after
reporting "Parsed lines: 2 / Total documents: 0". The test now asserts
that IMPORT DATABASE raises and writes nothing, so it fails and tells us
if the engine ever grows a timeseries import path.
mergify Bot added a commit that referenced this pull request Aug 9, 2026
…p ci]

Bumps the go-modules group in /e2e-go with 6 updates:
| Package | From | To |
| --- | --- | --- |
| [github.com/klauspost/compress](https://github.com/klauspost/compress) | `1.19.1` | `1.19.2` |
| [github.com/moby/go-archive](https://github.com/moby/go-archive) | `0.3.2` | `0.3.3` |
| [go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp](https://github.com/open-telemetry/opentelemetry-go-contrib) | `0.69.0` | `0.70.0` |
| [go.opentelemetry.io/otel](https://github.com/open-telemetry/opentelemetry-go) | `1.44.0` | `1.45.0` |
| [go.opentelemetry.io/otel/metric](https://github.com/open-telemetry/opentelemetry-go) | `1.44.0` | `1.45.0` |
| [go.opentelemetry.io/otel/trace](https://github.com/open-telemetry/opentelemetry-go) | `1.44.0` | `1.45.0` |
Updates `github.com/klauspost/compress` from 1.19.1 to 1.19.2
Release notes

*Sourced from [github.com/klauspost/compress's releases](https://github.com/klauspost/compress/releases).*

> v1.19.2
> -------
>
> What's Changed
> --------------
>
> * huff0: add arm64 assembly for Decompress4X/1X via avo lowering by [`@​lizthegrey`](https://github.com/lizthegrey) in [klauspost/compress#1172](https://redirect.github.com/klauspost/compress/pull/1172)
> * zstd: Re-enable unsafe decodeSync memory copies ([#1168](https://redirect.github.com/klauspost/compress/issues/1168)) by [`@​lizthegrey`](https://github.com/lizthegrey) in [klauspost/compress#1171](https://redirect.github.com/klauspost/compress/pull/1171)
> * zstd: fix arm64 asm frame offsets placing locals on the saved LR slot by [`@​lizthegrey`](https://github.com/lizthegrey) in [klauspost/compress#1176](https://redirect.github.com/klauspost/compress/pull/1176)
> * zstd: avoid racing MaxDecodedSize write on shared dict litEnc by [`@​zanarellidev`](https://github.com/zanarellidev) in [klauspost/compress#1182](https://redirect.github.com/klauspost/compress/pull/1182)
> * zstd: keep BuildDict recent-offsets positive and loadable by [`@​zanarellidev`](https://github.com/zanarellidev) in [klauspost/compress#1184](https://redirect.github.com/klauspost/compress/pull/1184)
> * zstd: handle zero-literal BuildDict corpus by [`@​cyphercodes`](https://github.com/cyphercodes) in [klauspost/compress#1178](https://redirect.github.com/klauspost/compress/pull/1178)
> * zstd: don't clear the registered dictionary when decoding past the window by [`@​sueun-dev`](https://github.com/sueun-dev) in [klauspost/compress#1177](https://redirect.github.com/klauspost/compress/pull/1177)
>
> New Contributors
> ----------------
>
> * [`@​zanarellidev`](https://github.com/zanarellidev) made their first contribution in [klauspost/compress#1183](https://redirect.github.com/klauspost/compress/pull/1183)
> * [`@​cyphercodes`](https://github.com/cyphercodes) made their first contribution in [klauspost/compress#1178](https://redirect.github.com/klauspost/compress/pull/1178)
> * [`@​sueun-dev`](https://github.com/sueun-dev) made their first contribution in [klauspost/compress#1177](https://redirect.github.com/klauspost/compress/pull/1177)
>
> **Full Changelog**: <https://github.com/klauspost/compress/compare/v1.19.1...v1.19.2>


Commits

* [`c3b3439`](https://github.com/klauspost/compress/commit/c3b3439a48196b5082c63252bfb8633d0a2faad4) zstd: don't clear the registered dictionary when decoding past the window ([#1](https://redirect.github.com/klauspost/compress/issues/1)...
* [`9874bc9`](https://github.com/klauspost/compress/commit/9874bc9073f350ce462becb84f9a23c3e828d03f) fix(zstd): handle zero-literal BuildDict corpus ([#1178](https://redirect.github.com/klauspost/compress/issues/1178))
* [`71bb6fd`](https://github.com/klauspost/compress/commit/71bb6fd9ddbfbb2ca6612542a916c766a866bfb3) zstd: keep BuildDict recent-offsets positive and loadable ([#1184](https://redirect.github.com/klauspost/compress/issues/1184))
* [`3d4dacb`](https://github.com/klauspost/compress/commit/3d4dacbaa9faca75caacc35b6d75731a81a92c6b) zstd: avoid racing MaxDecodedSize write on shared dict litEnc ([#1182](https://redirect.github.com/klauspost/compress/issues/1182))
* [`3ceaa81`](https://github.com/klauspost/compress/commit/3ceaa81409aabe39c71821b936155b33471c78d8) build(deps): bump the github-actions group with 5 updates ([#1185](https://redirect.github.com/klauspost/compress/issues/1185))
* [`72cb4d3`](https://github.com/klauspost/compress/commit/72cb4d3e8e743bea5d1ba40896ad55214a1844e4) chore: add OpenSSF Scorecard GitHub Action ([#1183](https://redirect.github.com/klauspost/compress/issues/1183))
* [`69c9db4`](https://github.com/klauspost/compress/commit/69c9db420ae55bfcdfbef564805e2646206545f7) zstd: fix arm64 asm locals overwriting the saved link register ([#1176](https://redirect.github.com/klauspost/compress/issues/1176))
* [`117430d`](https://github.com/klauspost/compress/commit/117430d3b0e3c39c14d32fe7c90652149a78e609) zstd: Re-enable unsafe decodeSync memory copies ([#1168](https://redirect.github.com/klauspost/compress/issues/1168)) ([#1171](https://redirect.github.com/klauspost/compress/issues/1171))
* [`c73af0c`](https://github.com/klauspost/compress/commit/c73af0c12cc767386af8388f30d5aa7428e6dfc8) huff0: add arm64 assembly for Decompress4X/1X via avo lowering ([#1172](https://redirect.github.com/klauspost/compress/issues/1172))
* See full diff in [compare view](https://github.com/klauspost/compress/compare/v1.19.1...v1.19.2)
  
Updates `github.com/moby/go-archive` from 0.3.2 to 0.3.3
Release notes

*Sourced from [github.com/moby/go-archive's releases](https://github.com/moby/go-archive/releases).*

> v0.3.3
> ------
>
> What's Changed
> --------------
>
> * Fix a regression introduced in v0.3.0 that caused archive extraction to reject hardlinks with absolute targets, as produced by
>   some image builders. Absolute hardlink targets are now resolved relative to the extraction root, while paths that escape the root
>   remain rejected. [moby/go-archive#100](https://redirect.github.com/moby/go-archive/pull/100)
> * Fix a regression introduced in v0.3.0 that caused archive extraction to fail when applying permissions to device nodes, including
>   nodes on `nodev` filesystems and `dev/ptmx`. Device nodes are now referenced without opening the underlying device before applying
>   their mode. [moby/go-archive#103](https://redirect.github.com/moby/go-archive/pull/103)
> * Set close-on-exec on file descriptors used by the Linux permission fallback to prevent them from leaking into child processes.
>   [moby/go-archive#104](https://redirect.github.com/moby/go-archive/pull/104)
>
> **Full Changelog**: <https://github.com/moby/go-archive/compare/v0.3.2...v0.3.3>


Commits

* [`ae9e219`](https://github.com/moby/go-archive/commit/ae9e219f7104d91e262055a29bae1f9753106981) Merge pull request [#104](https://redirect.github.com/moby/go-archive/issues/104) from thaJeztah/use\_O\_CLOEXEC
* [`98ff1da`](https://github.com/moby/go-archive/commit/98ff1dac11141c20bf7975ee1243fbe5031c2684) archive: set close-on-exec for chmod fallback descriptors
* [`1e8dfbc`](https://github.com/moby/go-archive/commit/1e8dfbc6ec14614f009716c5ec04b6d104168201) Merge pull request [#103](https://redirect.github.com/moby/go-archive/issues/103) from thaJeztah/fix\_chmod\_fallback
* [`e738eed`](https://github.com/moby/go-archive/commit/e738eed524c260a613bea37a47349e0f7d0a45a6) archive: keep procfs file alive during fchmodat
* [`2d863f5`](https://github.com/moby/go-archive/commit/2d863f57793b7e2340cfca8f9a94a2d55cf7e68e) archive: preserve procfs access during chroot extraction
* [`89653ed`](https://github.com/moby/go-archive/commit/89653edcda61f24e83ae2aa485f57cf762c59568) archive: fix chmod fallback for device nodes on nodev mounts
* [`f37d413`](https://github.com/moby/go-archive/commit/f37d413855106b6c4f5cc3c063013869b6294e7d) Merge pull request [#106](https://redirect.github.com/moby/go-archive/issues/106) from thaJeztah/fallback\_no\_read
* [`4ffc915`](https://github.com/moby/go-archive/commit/4ffc91517ffd9b77b11efd91768b5d6d4303a3b6) archive: test chmod fallback without read permission
* [`9af1c40`](https://github.com/moby/go-archive/commit/9af1c40d9b972e82affd0b3ed3beb3f5d4d5f5d2) Merge pull request [#105](https://redirect.github.com/moby/go-archive/issues/105) from thaJeztah/test\_chrooted\_chmod\_fallback
* [`3daca2a`](https://github.com/moby/go-archive/commit/3daca2abcac72471e1424cc840e7c5711937ade9) archive: test chmod fallback without procfs in chroot
* Additional commits viewable in [compare view](https://github.com/moby/go-archive/compare/v0.3.2...v0.3.3)
  
Updates `go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp` from 0.69.0 to 0.70.0
Release notes

*Sourced from [go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp's releases](https://github.com/open-telemetry/opentelemetry-go-contrib/releases).*

> Release v1.45.0/v2.5.2/v0.70.0/v0.37.2/v0.25.0/v0.20.0/v0.16.2/v0.17.0
> ----------------------------------------------------------------------
>
> Overview
> --------
>
> ### Added
>
> * Add `go.opentelemetry.io/contrib/detectors/ibmcloud/vpc`, a new resource detector for IBM Cloud VPC virtual server instances, ported from `github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor/internal/ibmcloud/vpc`. Detects `cloud.provider`, `cloud.platform`, `cloud.region`, `cloud.availability_zone`, `cloud.account.id`, `cloud.resource_id`, `host.id`, `host.image.id`, `host.image.name`, `host.name`, and `host.type`. ([#9011](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9011))
> * Add `go.opentelemetry.io/contrib/detectors/k8sapi`, a new resource detector that queries the Kubernetes API. Detects `k8s.node.name` and `k8s.node.uid` when `K8S_NODE_NAME` is set via the downward API, and `k8s.cluster.uid` derived from the kube-system namespace UID (works on any Kubernetes distribution). ([#9108](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9108))
> * Add new `elasticbeanstalk` resource detector for AWS Elastic Beanstalk, ported from `processor/resourcedetectionprocessor/internal/aws/elasticbeanstalk` in opentelemetry-collector-contrib. ([#8993](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8993))
> * The resource created by `go.opentelemetry.io/contrib/otelconf` now includes [default SDK attributes](https://pkg.go.dev/go.opentelemetry.io/otel/sdk/resource#Default). ([#8990](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8990))
> * Add support for the `aws.ecs` resource detector in `go.opentelemetry.io/contrib/otelconf/x`. ([#8915](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8915))
> * Add support for the `aws.eks` resource detector in `go.opentelemetry.io/contrib/otelconf/x`. ([#9138](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9138))
> * Add support for the `azure.vm` resource detector in `go.opentelemetry.io/contrib/otelconf/x`. ([#9074](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9074))
> * Add support for the `gcp` resource detector in `go.opentelemetry.io/contrib/otelconf/x`. ([#9137](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9137))
> * Add `go.opentelemetry.io/contrib/detectors/azure/azureappservice`, a new resource detector for Azure App Service. Detects `cloud.*`, `service.name`, `azure.resource_group.name`, `azure.app_service.instance.id`, and `deployment.environment.name` from the `WEBSITE_*` and `REGION_NAME` environment variables. ([#9289](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9289))
> * Add `azurecontainerapps` resource detector for Azure Container Apps. ([#8939](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8939))
> * Add `go.opentelemetry.io/contrib/detectors/azure/azurefunctions`, a new resource detector for Azure Functions. Detects `cloud.*`, `service.name`, `azure.resource_group.name`, `faas.instance`, and `deployment.environment.name` from the `FUNCTIONS_*`, `WEBSITE_*`, `CONTAINER_NAME`, and `REGION_NAME` environment variables. ([#9290](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9290))
> * Add `NewResourceDetector` along with the `WithAttributeFilter` and `WithTagKeyFilter` options in `go.opentelemetry.io/contrib/detectors/azure/azurevm`. `WithAttributeFilter` restricts the returned resource to the attributes the filter accepts. `WithTagKeyFilter` opts in to `azure.tag.<name>` attributes for the VM tags whose keys satisfy the provided predicate; no VM tags are emitted without it. ([#9162](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9162))
> * Add `go.opentelemetry.io/contrib/detectors/vultr` — a new resource detector for Vultr Cloud Compute instances, ported from `processor/resourcedetectionprocessor/internal/vultr` in `opentelemetry-collector-contrib`. Detects `cloud.provider`, `cloud.platform`, `cloud.region`, `host.id`, and `host.name`. ([#8995](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8995))
>
> ### Changed
>
> * Upgrade `go.opentelemetry.io/otel/semconv` to `v1.43.0`, including updates across instrumentation and detector modules.
>   See [semantic-conventions v1.43.0 release](https://github.com/open-telemetry/semantic-conventions/releases/tag/v1.43.0) for complete details. ([#9337](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9337))
> * Upgrade `go.opentelemetry.io/otel/semconv` to `v1.42.0`, including updates across instrumentation and detector modules.
>   See [semantic-conventions v1.42.0 release](https://github.com/open-telemetry/semantic-conventions/releases/tag/v1.42.0) for complete details. ([#9196](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9196))
> * Use direct normalized-key lookups in `Carrier.Get` and `Carrier.Keys` in `go.opentelemetry.io/contrib/propagators/envcar`. ([#9112](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9112))
> * Update log bridge conversions to use attribute key-values instead of the removed log key-values in `go.opentelemetry.io/contrib/bridges/otellogr`, `go.opentelemetry.io/contrib/bridges/otellogrus`, `go.opentelemetry.io/contrib/bridges/otelslog`, and `go.opentelemetry.io/contrib/bridges/otelzap`. ([#9180](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9180))
> * The `Version()` function in `go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux` has been replaced by `const Version`. ([#9076](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9076))
> * Set `error.type` attribute instead of adding `exception` span events in `go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin`. ([#8977](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8977))
> * Prefer the gRPC dial target over the resolved peer IP for the `server.address` and `server.port` attributes in `go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc`. ([#8904](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8904))
> * The detector in `go.opentelemetry.io/contrib/detectors/azure/azurevm` now also detects `cloud.account.id`, `cloud.availability_zone`, `azure.vm.name`, `azure.vm.size`, `azure.vm.scaleset.name`, and `azure.resource_group.name`, and prefers `osProfile.computerName` for `host.name` (falling back to the VM name), reconciling it with the collector-contrib Azure resource detector. ([#9162](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9162))
>
> ### Fixed
>
> * Fix Prometheus reader resource label filter configuration in `go.opentelemetry.io/contrib/otelconf/v0.2.0`. ([#9062](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9062))
> * Apply `resource.detection/development.attributes.included` and `excluded` filtering to resource detector attributes in `go.opentelemetry.io/contrib/otelconf/x`. ([#9131](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9131))
> * Honor the context configured with `WithContext` when constructing resources in `go.opentelemetry.io/contrib/otelconf` and `go.opentelemetry.io/contrib/otelconf/x`. ([#9160](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9160))
> * Handle nil response bodies from custom `RoundTripper` implementations in `go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp` without panicking. ([#9184](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9184))
> * Fix incorrect (overestimated) sum calculation for runtime histograms in `go.opentelemetry.io/contrib/instrumentation/runtime`. ([#9063](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9063))
> * Fix `Severity.UnmarshalText` round trip for positive `FATAL` offsets above the named range in `go.opentelemetry.io/contrib/processors/minsev`. ([#9197](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9197))
> * Reduce binary size by fetching ConfigMaps via `rest.HTTPClientFor` instead of the Kubernetes clientset in `go.opentelemetry.io/contrib/detectors/aws/eks`. ([#9284](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9284))
> * `TextMapPropagator` in `go.opentelemetry.io/contrib/propagators/autoprop` returns the no-op propagator for empty input, matching the behavior of `none`. An unknown `OTEL_PROPAGATORS` value still returns an error with a nil propagator so `NewTextMapPropagator` falls back to the default TraceContext and Baggage propagators instead of disabling propagation. ([#9163](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9163))
> * Preserve error-valued attributes nested in a group as grouped attributes instead of silently dropping them in `go.opentelemetry.io/contrib/bridges/otelslog`. ([#9238](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9238))
> * Fix a data race in `go.opentelemetry.io/contrib/bridges/otelslog` where concurrent `Handle` calls could corrupt each other's log attributes because `kvBuffer.KeyValues` returned a slice aliasing a shared buffer. ([#9229](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9229))
> * Avoid a panic in `go.opentelemetry.io/contrib/bridges/otelzap` when a malformed error field contains a nil or non-error value. ([#9068](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9068))
> * Use `azure.container_app.instance.id` instead of `service.instance.id` for the replica name detected by `go.opentelemetry.io/contrib/detectors/azure/azurecontainerapps`. ([#9208](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9208))
> * Preserve the underlying metadata errors returned with partial resources from `go.opentelemetry.io/contrib/detectors/gcp`. ([#9069](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9069))
> * Copy `MultipartForm` back to the request `otelmux.Middleware` was given after the wrapped handler returns, so `net/http` can find and remove the temp files `ParseMultipartForm` created on the context-derived request copy, when `otelmux.Middleware` wraps a handler directly, in `go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux`. This does not cover a handler panic, nor the common `router.Use(...)` integration, where `gorilla/mux`'s own routing step makes an additional request copy the middleware cannot write back through; see [gorilla/mux#777](https://redirect.github.com/gorilla/mux/pull/777). ([#9361](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9361))
> * Report the `b3` header from `Fields()` for the default `B3Unspecified` single-header injection encoding, matching what `Inject` writes, in `go.opentelemetry.io/contrib/propagators/b3`. ([#9273](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9273))
> * Fix `go.opentelemetry.io/contrib/propagators/aws/xray` producing deterministic trace and span IDs when the seed read from `crypto/rand` silently failed, by switching to `math/rand/v2`'s concurrency-safe top-level generator. ([#9359](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9359))

... (truncated)


Changelog

*Sourced from [go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp's changelog](https://github.com/open-telemetry/opentelemetry-go-contrib/blob/main/CHANGELOG.md).*

> [1.45.0/2.5.2/0.70.0/0.37.2/0.25.0/0.20.0/0.16.2/0.17.0] - 2026-08-03
> ---------------------------------------------------------------------
>
> ### Added
>
> * Add `go.opentelemetry.io/contrib/detectors/ibmcloud/vpc`, a new resource detector for IBM Cloud VPC virtual server instances, ported from `github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor/internal/ibmcloud/vpc`. Detects `cloud.provider`, `cloud.platform`, `cloud.region`, `cloud.availability_zone`, `cloud.account.id`, `cloud.resource_id`, `host.id`, `host.image.id`, `host.image.name`, `host.name`, and `host.type`. ([#9011](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9011))
> * Add `go.opentelemetry.io/contrib/detectors/k8sapi`, a new resource detector that queries the Kubernetes API. Detects `k8s.node.name` and `k8s.node.uid` when `K8S_NODE_NAME` is set via the downward API, and `k8s.cluster.uid` derived from the kube-system namespace UID (works on any Kubernetes distribution). ([#9108](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9108))
> * Add new `elasticbeanstalk` resource detector for AWS Elastic Beanstalk, ported from `processor/resourcedetectionprocessor/internal/aws/elasticbeanstalk` in opentelemetry-collector-contrib. ([#8993](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8993))
> * The resource created by `go.opentelemetry.io/contrib/otelconf` now includes [default SDK attributes](https://pkg.go.dev/go.opentelemetry.io/otel/sdk/resource#Default). ([#8990](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8990))
> * Add support for the `aws.ecs` resource detector in `go.opentelemetry.io/contrib/otelconf/x`. ([#8915](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8915))
> * Add support for the `aws.eks` resource detector in `go.opentelemetry.io/contrib/otelconf/x`. ([#9138](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9138))
> * Add support for the `azure.vm` resource detector in `go.opentelemetry.io/contrib/otelconf/x`. ([#9074](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9074))
> * Add support for the `gcp` resource detector in `go.opentelemetry.io/contrib/otelconf/x`. ([#9137](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9137))
> * Add `go.opentelemetry.io/contrib/detectors/azure/azureappservice`, a new resource detector for Azure App Service. Detects `cloud.*`, `service.name`, `azure.resource_group.name`, `azure.app_service.instance.id`, and `deployment.environment.name` from the `WEBSITE_*` and `REGION_NAME` environment variables. ([#9289](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9289))
> * Add `azurecontainerapps` resource detector for Azure Container Apps. ([#8939](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8939))
> * Add `go.opentelemetry.io/contrib/detectors/azure/azurefunctions`, a new resource detector for Azure Functions. Detects `cloud.*`, `service.name`, `azure.resource_group.name`, `faas.instance`, and `deployment.environment.name` from the `FUNCTIONS_*`, `WEBSITE_*`, `CONTAINER_NAME`, and `REGION_NAME` environment variables. ([#9290](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9290))
> * Add `NewResourceDetector` along with the `WithAttributeFilter` and `WithTagKeyFilter` options in `go.opentelemetry.io/contrib/detectors/azure/azurevm`. `WithAttributeFilter` restricts the returned resource to the attributes the filter accepts. `WithTagKeyFilter` opts in to `azure.tag.<name>` attributes for the VM tags whose keys satisfy the provided predicate; no VM tags are emitted without it. ([#9162](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9162))
> * Add `go.opentelemetry.io/contrib/detectors/vultr` — a new resource detector for Vultr Cloud Compute instances, ported from `processor/resourcedetectionprocessor/internal/vultr` in `opentelemetry-collector-contrib`. Detects `cloud.provider`, `cloud.platform`, `cloud.region`, `host.id`, and `host.name`. ([#8995](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8995))
>
> ### Changed
>
> * Upgrade `go.opentelemetry.io/otel/semconv` to `v1.43.0`, including updates across instrumentation and detector modules.
>   See [semantic-conventions v1.43.0 release](https://github.com/open-telemetry/semantic-conventions/releases/tag/v1.43.0) for complete details. ([#9337](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9337))
> * Upgrade `go.opentelemetry.io/otel/semconv` to `v1.42.0`, including updates across instrumentation and detector modules.
>   See [semantic-conventions v1.42.0 release](https://github.com/open-telemetry/semantic-conventions/releases/tag/v1.42.0) for complete details. ([#9196](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9196))
> * Use direct normalized-key lookups in `Carrier.Get` and `Carrier.Keys` in `go.opentelemetry.io/contrib/propagators/envcar`. ([#9112](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9112))
> * Update log bridge conversions to use attribute key-values instead of the removed log key-values in `go.opentelemetry.io/contrib/bridges/otellogr`, `go.opentelemetry.io/contrib/bridges/otellogrus`, `go.opentelemetry.io/contrib/bridges/otelslog`, and `go.opentelemetry.io/contrib/bridges/otelzap`. ([#9180](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9180))
> * The `Version()` function in `go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux` has been replaced by `const Version`. ([#9076](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9076))
> * Set `error.type` attribute instead of adding `exception` span events in `go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin`. ([#8977](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8977))
> * Prefer the gRPC dial target over the resolved peer IP for the `server.address` and `server.port` attributes in `go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc`. ([#8904](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/8904))
> * The detector in `go.opentelemetry.io/contrib/detectors/azure/azurevm` now also detects `cloud.account.id`, `cloud.availability_zone`, `azure.vm.name`, `azure.vm.size`, `azure.vm.scaleset.name`, and `azure.resource_group.name`, and prefers `osProfile.computerName` for `host.name` (falling back to the VM name), reconciling it with the collector-contrib Azure resource detector. ([#9162](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9162))
>
> ### Fixed
>
> * Fix Prometheus reader resource label filter configuration in `go.opentelemetry.io/contrib/otelconf/v0.2.0`. ([#9062](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9062))
> * Apply `resource.detection/development.attributes.included` and `excluded` filtering to resource detector attributes in `go.opentelemetry.io/contrib/otelconf/x`. ([#9131](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9131))
> * Honor the context configured with `WithContext` when constructing resources in `go.opentelemetry.io/contrib/otelconf` and `go.opentelemetry.io/contrib/otelconf/x`. ([#9160](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9160))
> * Handle nil response bodies from custom `RoundTripper` implementations in `go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp` without panicking. ([#9184](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9184))
> * Fix incorrect (overestimated) sum calculation for runtime histograms in `go.opentelemetry.io/contrib/instrumentation/runtime`. ([#9063](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9063))
> * Fix `Severity.UnmarshalText` round trip for positive `FATAL` offsets above the named range in `go.opentelemetry.io/contrib/processors/minsev`. ([#9197](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9197))
> * Reduce binary size by fetching ConfigMaps via `rest.HTTPClientFor` instead of the Kubernetes clientset in `go.opentelemetry.io/contrib/detectors/aws/eks`. ([#9284](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9284))
> * `TextMapPropagator` in `go.opentelemetry.io/contrib/propagators/autoprop` returns the no-op propagator for empty input, matching the behavior of `none`. An unknown `OTEL_PROPAGATORS` value still returns an error with a nil propagator so `NewTextMapPropagator` falls back to the default TraceContext and Baggage propagators instead of disabling propagation. ([#9163](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9163))
> * Preserve error-valued attributes nested in a group as grouped attributes instead of silently dropping them in `go.opentelemetry.io/contrib/bridges/otelslog`. ([#9238](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9238))
> * Fix a data race in `go.opentelemetry.io/contrib/bridges/otelslog` where concurrent `Handle` calls could corrupt each other's log attributes because `kvBuffer.KeyValues` returned a slice aliasing a shared buffer. ([#9229](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9229))
> * Avoid a panic in `go.opentelemetry.io/contrib/bridges/otelzap` when a malformed error field contains a nil or non-error value. ([#9068](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9068))
> * Use `azure.container_app.instance.id` instead of `service.instance.id` for the replica name detected by `go.opentelemetry.io/contrib/detectors/azure/azurecontainerapps`. ([#9208](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9208))
> * Preserve the underlying metadata errors returned with partial resources from `go.opentelemetry.io/contrib/detectors/gcp`. ([#9069](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9069))
> * Copy `MultipartForm` back to the request `otelmux.Middleware` was given after the wrapped handler returns, so `net/http` can find and remove the temp files `ParseMultipartForm` created on the context-derived request copy, when `otelmux.Middleware` wraps a handler directly, in `go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux`. This does not cover a handler panic, nor the common `router.Use(...)` integration, where `gorilla/mux`'s own routing step makes an additional request copy the middleware cannot write back through; see [gorilla/mux#777](https://redirect.github.com/gorilla/mux/pull/777). ([#9361](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9361))
> * Report the `b3` header from `Fields()` for the default `B3Unspecified` single-header injection encoding, matching what `Inject` writes, in `go.opentelemetry.io/contrib/propagators/b3`. ([#9273](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9273))
> * Fix `go.opentelemetry.io/contrib/propagators/aws/xray` producing deterministic trace and span IDs when the seed read from `crypto/rand` silently failed, by switching to `math/rand/v2`'s concurrency-safe top-level generator. ([#9359](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9359))
> * Strip connection number suffix from connection ID in `go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo` to prevent unbounded metric cardinality. ([#9352](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9352))

... (truncated)


Commits

* [`c8a87a6`](https://github.com/open-telemetry/opentelemetry-go-contrib/commit/c8a87a60ba1b3374fd16df11fc3eeae6c41abbc9) Release v1.45.0/v2.5.2/v0.70.0/v0.37.2/v0.25.0/v0.20.0/v0.16.2/v0.17.0 ([#9413](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9413))
* [`cde125c`](https://github.com/open-telemetry/opentelemetry-go-contrib/commit/cde125c563f232eb6b423a208d375f8e53ae2557) fix(deps): update aws-sdk-go-v2 monorepo ([#9384](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9384))
* [`88572a7`](https://github.com/open-telemetry/opentelemetry-go-contrib/commit/88572a7662d00e805777ed96932d532316c13787) chore(deps): update googleapis to 6ac0973 ([#9409](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9409))
* [`e4f511a`](https://github.com/open-telemetry/opentelemetry-go-contrib/commit/e4f511a0f3cc2b09b87cb164427b49dfd2e14f7d) chore(deps): update github/codeql-action action to v4.37.5 ([#9410](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9410))
* [`265eb0b`](https://github.com/open-telemetry/opentelemetry-go-contrib/commit/265eb0b5fe0682801fd8177aec74ce8769c5a0a4) fix(deps): update go.opentelemetry.io/otel digest to 48db2c6 ([#9317](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9317))
* [`941ba46`](https://github.com/open-telemetry/opentelemetry-go-contrib/commit/941ba46979c59dca89d26040ed919870283e36e9) chore(deps): update github.com/charmbracelet/ultraviolet digest to 8b69304 (#...
* [`ededd3b`](https://github.com/open-telemetry/opentelemetry-go-contrib/commit/ededd3b571ad562351a0afe09682774a6f48d63e) chore(deps): update module github.com/lucasb-eyer/go-colorful to v1.4.1 ([#9406](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9406))
* [`7c6e819`](https://github.com/open-telemetry/opentelemetry-go-contrib/commit/7c6e819d4eb26eede10e98c424adb76304025fda) fix(deps): update module github.com/atombender/go-jsonschema to v0.24.1 ([#9405](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9405))
* [`ec1e544`](https://github.com/open-telemetry/opentelemetry-go-contrib/commit/ec1e544a0d6883126198c3fc3a7d62fc8db29195) chore(deps): update github.com/lufia/plan9stats digest to 341c2f0 ([#9403](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9403))
* [`5d7e16a`](https://github.com/open-telemetry/opentelemetry-go-contrib/commit/5d7e16aa1138a5446a648dd92ebc42031c93e327) chore(deps): update github.com/golangci/rowserrcheck digest to d2031e3 ([#9402](https://redirect.github.com/open-telemetry/opentelemetry-go-contrib/issues/9402))
* Additional commits viewable in [compare view](https://github.com/open-telemetry/opentelemetry-go-contrib/compare/zpages/v0.69.0...zpages/v0.70.0)
  
Updates `go.opentelemetry.io/otel` from 1.44.0 to 1.45.0
Changelog

*Sourced from [go.opentelemetry.io/otel's changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md).*

> [1.45.0/0.67.0/0.21.0/0.0.18] - 2026-08-03
> ------------------------------------------
>
> ### Added
>
> * Add experimental observability metrics to `BatchProcessor` in `go.opentelemetry.io/otel/sdk/log`. ([#7124](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7124))
> * Add the experimental `WithUnsafeAttributes` no-copy attribute option to `go.opentelemetry.io/otel/metric/x` for future performance improvements. This API is a work in progress. ([#8251](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8251))
> * Add `Map` and `MapValue` functions for the new `MAP` attribute type in `go.opentelemetry.io/otel/attribute`. ([#8445](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8445))
> * Support `MAP` attributes in `go.opentelemetry.io/otel/exporters/otlp/otlptrace`. ([#8453](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8453))
> * Support `MAP` attributes in `go.opentelemetry.io/otel/exporters/otlp/otlplog`. ([#8453](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8453))
> * Support `MAP` attributes in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric`. ([#8453](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8453))
> * Support `MAP` attributes in `go.opentelemetry.io/otel/exporters/zipkin`. ([#8453](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8453))
> * Apply `AttributeValueLengthLimit` recursively to values contained in `attribute.MAP` attributes in `go.opentelemetry.io/otel/sdk/trace`. ([#8454](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8454))
> * Remove duplicate keys from `attribute.MAP` values in `go.opentelemetry.io/otel/sdk/resource` using last-value-wins semantics. ([#8471](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8471))
> * Remove duplicate keys by default from `attribute.MAP` values in instrumentation scope attributes in `go.opentelemetry.io/otel/sdk/log` using last-value-wins semantics. ([#8471](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8471))
> * Remove duplicate keys by default from `attribute.MAP` values in span, event, link, and instrumentation scope attributes in `go.opentelemetry.io/otel/sdk/trace` using last-value-wins semantics. ([#8471](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8471))
> * Remove duplicate keys by default from `attribute.MAP` values in measurement and instrumentation scope attributes in `go.opentelemetry.io/otel/sdk/metric` using last-value-wins semantics. ([#8471](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8471))
> * Extend `WithAllowKeyDuplication` in `go.opentelemetry.io/otel/sdk/log` to disable duplicate-key removal in `attribute.MAP` values for instrumentation scope attributes. ([#8471](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8471))
> * Add the `go.opentelemetry.io/otel/semconv/v1.42.0` package.
>   The package contains semantic conventions from the `v1.42.0` version of the OpenTelemetry Semantic Conventions.
>   See the [migration documentation](https://github.com/open-telemetry/opentelemetry-go/blob/main/semconv/v1.42.0/MIGRATION.md) for information on how to upgrade from `go.opentelemetry.io/otel/semconv/v1.41.0`. ([#8484](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8484))
> * Add `WithoutPanicRecording` as a `TracerProviderOption` in `go.opentelemetry.io/otel/sdk/trace` to disable exception event recording for panics. ([#8532](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8532))
> * Add the `go.opentelemetry.io/otel/semconv/v1.43.0` package.
>   The package contains semantic conventions from the `v1.43.0` version of the OpenTelemetry Semantic Conventions.
>   See the [migration documentation](https://github.com/open-telemetry/opentelemetry-go/blob/main/semconv/v1.43.0/MIGRATION.md) for information on how to upgrade from `go.opentelemetry.io/otel/semconv/v1.42.0`. ([#8628](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8628))
>
> ### Changed
>
> * `HistogramReservoir` in `go.opentelemetry.io/otel/sdk/metric/exemplar` now uses a time-unbiased sampling algorithm for exemplars. ([#8306](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8306))
> * ⚠️ **Breaking Change:** Use `go.opentelemetry.io/otel/attribute.Value` and `go.opentelemetry.io/otel/attribute.KeyValue` for log bodies and attributes in `go.opentelemetry.io/otel/log`, `go.opentelemetry.io/otel/log/logtest`, `go.opentelemetry.io/otel/sdk/log`, and `go.opentelemetry.io/otel/sdk/log/logtest`. ([#8490](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8490))
> * Encode log bodies and attributes as `go.opentelemetry.io/otel/attribute.Value` JSON in `go.opentelemetry.io/otel/exporters/stdout/stdoutlog`. ([#8490](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8490))
> * Improve the performance of hashing `BOOLSLICE`, `INT64SLICE`, `FLOAT64SLICE`, and `STRINGSLICE` attribute values by avoiding reflection for short slices in `go.opentelemetry.io/otel/attribute`. ([#8511](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8511))
> * ⚠️ **Breaking Change:** `WithEndpointURL` in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp` no longer appends the default signal path when an endpoint URL has no path, making the behavior consistent with `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp` and with setting the endpoint through `OTEL_EXPORTER_OTLP_METRICS_ENDPOINT`. If the URL has no path component, the root path (`/`) is used. Use `WithEndpointURL(url.JoinPath(endpoint, "/v1/metrics"))` to preserve the previous behavior. ([#8538](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8538))
> * ⚠️ **Breaking Change:** `WithEndpointURL` in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp` no longer appends the default signal path when an endpoint URL has no path, making the behavior consistent with `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp` and with setting the endpoint through `OTEL_EXPORTER_OTLP_TRACES_ENDPOINT`. If the URL has no path component, the root path (`/`) is used. Use `WithEndpointURL(url.JoinPath(endpoint, "/v1/traces"))` to preserve the previous behavior. ([#8538](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8538))
>
> ### Deprecated
>
> * Deprecate `WithExportBufferSize` in `go.opentelemetry.io/otel/sdk/log`. The option remains available for source compatibility but no longer affects behavior; `BatchProcessor` no longer maintains a separate export-request buffer. ([#8620](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8620))
>
> ### Removed
>
> * ⚠️ **Breaking Change:** Remove `Kind`, `Value`, `KeyValue`, their constructors, and attribute conversion helpers from `go.opentelemetry.io/otel/log`. ([#8490](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8490))
> * ⚠️ **Breaking Change:** Remove the `AttributeValueLengthLimit` and `AttributeCountLimit` fields from `RecordFactory` in `go.opentelemetry.io/otel/sdk/log/logtest`; records produced by the factory now keep attribute limits disabled so test code can append exact attributes. ([#8556](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8556))
>
> ### Fixed
>
> * Apply TLS certificates configured through environment variables to gRPC connections in `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc`.
> * Prevent panics in `go.opentelemetry.io/otel/bridge/opentracing` when OpenTracing baggage is propagated concurrently with `Span.SetBaggageItem`.
> * Fix an off-by-one error in `FixedSizeReservoir` in `go.opentelemetry.io/otel/sdk/metric/exemplar` that prevented the first exemplar from being sampled after the reservoir was filled. ([#8309](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8309))
> * Interpret HTTP `Retry-After` header values as seconds instead of nanoseconds when retrying OTLP HTTP exports in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`, `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`, and `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. ([#8383](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8383))
> * Fix a memory leak in the `Reservoir` implementation in `go.opentelemetry.io/otel/sdk/metric/exemplar`, where storing the full `context.Context` pinned large objects such as gRPC transport buffers. ([#8389](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8389))

... (truncated)


Commits

* [`93a693e`](https://github.com/open-telemetry/opentelemetry-go/commit/93a693edeed0e07ce5ebd1dfe67af42d1e2055d8) Release v1.45.0 ([#8693](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8693))
* [`c65d435`](https://github.com/open-telemetry/opentelemetry-go/commit/c65d435b43e5e6b82310e6b18dd4cdcb8ac63a0c) Merge commit from fork
* [`223f9fd`](https://github.com/open-telemetry/opentelemetry-go/commit/223f9fdce4e4a85d6ee2155c6a140f236db72c8b) sdk/metric: remove obsolete randomFloat64 TODO ([#8685](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8685))
* [`06272bc`](https://github.com/open-telemetry/opentelemetry-go/commit/06272bc491566efb2c581c8a52e4986cfcccec5b) fix(deps): update googleapis to 6ac0973 ([#8694](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8694))
* [`a4f238f`](https://github.com/open-telemetry/opentelemetry-go/commit/a4f238f57646197d124edcf67baf4cd6ea6d0a9f) chore(deps): update github.com/charmbracelet/ultraviolet digest to 8b69304 (#...
* [`37140e7`](https://github.com/open-telemetry/opentelemetry-go/commit/37140e78821d3cb29a33d4b601ca4645b80ceebd) chore(deps): update codspeedhq/action action to v5.0.2 ([#8690](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8690))
* [`cef0855`](https://github.com/open-telemetry/opentelemetry-go/commit/cef0855960bce4385c7d58c40e846573c190d826) chore(deps): update module github.com/lucasb-eyer/go-colorful to v1.4.1 ([#8689](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8689))
* [`e814a72`](https://github.com/open-telemetry/opentelemetry-go/commit/e814a7281f2d52a6440c3269e139145e62801a16) Merge commit from fork
* [`bfd8eb7`](https://github.com/open-telemetry/opentelemetry-go/commit/bfd8eb7f85d3364fdde9ad1a408df98be30acadb) chore(deps): update github.com/golangci/rowserrcheck digest to d2031e3 ([#8687](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8687))
* [`48db2c6`](https://github.com/open-telemetry/opentelemetry-go/commit/48db2c659c3b138f971273cd91ea0bcb647768e1) chore(deps): update github/codeql-action action to v4.37.5 ([#8692](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8692))
* Additional commits viewable in [compare view](https://github.com/open-telemetry/opentelemetry-go/compare/v1.44.0...v1.45.0)
  
Updates `go.opentelemetry.io/otel/metric` from 1.44.0 to 1.45.0
Changelog

*Sourced from [go.opentelemetry.io/otel/metric's changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md).*

> [1.45.0/0.67.0/0.21.0/0.0.18] - 2026-08-03
> ------------------------------------------
>
> ### Added
>
> * Add experimental observability metrics to `BatchProcessor` in `go.opentelemetry.io/otel/sdk/log`. ([#7124](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7124))
> * Add the experimental `WithUnsafeAttributes` no-copy attribute option to `go.opentelemetry.io/otel/metric/x` for future performance improvements. This API is a work in progress. ([#8251](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8251))
> * Add `Map` and `MapValue` functions for the new `MAP` attribute type in `go.opentelemetry.io/otel/attribute`. ([#8445](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8445))
> * Support `MAP` attributes in `go.opentelemetry.io/otel/exporters/otlp/otlptrace`. ([#8453](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8453))
> * Support `MAP` attributes in `go.opentelemetry.io/otel/exporters/otlp/otlplog`. ([#8453](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8453))
> * Support `MAP` attributes in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric`. ([#8453](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8453))
> * Support `MAP` attributes in `go.opentelemetry.io/otel/exporters/zipkin`. ([#8453](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8453))
> * Apply `AttributeValueLengthLimit` recursively to values contained in `attribute.MAP` attributes in `go.opentelemetry.io/otel/sdk/trace`. ([#8454](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8454))
> * Remove duplicate keys from `attribute.MAP` values in `go.opentelemetry.io/otel/sdk/resource` using last-value-wins semantics. ([#8471](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8471))
> * Remove duplicate keys by default from `attribute.MAP` values in instrumentation scope attributes in `go.opentelemetry.io/otel/sdk/log` using last-value-wins semantics. ([#8471](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8471))
> * Remove duplicate keys by default from `attribute.MAP` values in span, event, link, and instrumentation scope attributes in `go.opentelemetry.io/otel/sdk/trace` using last-value-wins semantics. ([#8471](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8471))
> * Remove duplicate keys by default from `attribute.MAP` values in measurement and instrumentation scope attributes in `go.opentelemetry.io/otel/sdk/metric` using last-value-wins semantics. ([#8471](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8471))
> * Extend `WithAllowKeyDuplication` in `go.opentelemetry.io/otel/sdk/log` to disable duplicate-key removal in `attribute.MAP` values for instrumentation scope attributes. ([#8471](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8471))
> * Add the `go.opentelemetry.io/otel/semconv/v1.42.0` package.
>   The package contains semantic conventions from the `v1.42.0` version of the OpenTelemetry Semantic Conventions.
>   See the [migration documentation](https://github.com/open-telemetry/opentelemetry-go/blob/main/semconv/v1.42.0/MIGRATION.md) for information on how to upgrade from `go.opentelemetry.io/otel/semconv/v1.41.0`. ([#8484](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8484))
> * Add `WithoutPanicRecording` as a `TracerProviderOption` in `go.opentelemetry.io/otel/sdk/trace` to disable exception event recording for panics. ([#8532](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8532))
> * Add the `go.opentelemetry.io/otel/semconv/v1.43.0` package.
>   The package contains semantic conventions from the `v1.43.0` version of the OpenTelemetry Semantic Conventions.
>   See the [migration documentation](https://github.com/open-telemetry/opentelemetry-go/blob/main/semconv/v1.43.0/MIGRATION.md) for information on how to upgrade from `go.opentelemetry.io/otel/semconv/v1.42.0`. ([#8628](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8628))
>
> ### Changed
>
> * `HistogramReservoir` in `go.opentelemetry.io/otel/sdk/metric/exemplar` now uses a time-unbiased sampling algorithm for exemplars. ([#8306](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8306))
> * ⚠️ **Breaking Change:** Use `go.opentelemetry.io/otel/attribute.Value` and `go.opentelemetry.io/otel/attribute.KeyValue` for log bodies and attributes in `go.opentelemetry.io/otel/log`, `go.opentelemetry.io/otel/log/logtest`, `go.opentelemetry.io/otel/sdk/log`, and `go.opentelemetry.io/otel/sdk/log/logtest`. ([#8490](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8490))
> * Encode log bodies and attributes as `go.opentelemetry.io/otel/attribute.Value` JSON in `go.opentelemetry.io/otel/exporters/stdout/stdoutlog`. ([#8490](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8490))
> * Improve the performance of hashing `BOOLSLICE`, `INT64SLICE`, `FLOAT64SLICE`, and `STRINGSLICE` attribute values by avoiding reflection for short slices in `go.opentelemetry.io/otel/attribute`. ([#8511](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8511))
> * ⚠️ **Breaking Change:** `WithEndpointURL` in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp` no longer appends the default signal path when an endpoint URL has no path, making the behavior consistent with `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp` and with setting the endpoint through `OTEL_EXPORTER_OTLP_METRICS_ENDPOINT`. If the URL has no path component, the root path (`/`) is used. Use `WithEndpointURL(url.JoinPath(endpoint, "/v1/metrics"))` to preserve the previous behavior. ([#8538](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8538))
> * ⚠️ **Breaking Change:** `WithEndpointURL` in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp` no longer appends the default signal path when an endpoint URL has no path, making the behavior consistent with `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp` and with setting the endpoint through `OTEL_EXPORTER_OTLP_TRACES_ENDPOINT`. If the URL has no path component, the root path (`/`) is used. Use `WithEndpointURL(url.JoinPath(endpoint, "/v1/traces"))` to preserve the previous behavior. ([#8538](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8538))
>
> ### Deprecated
>
> * Deprecate `WithExportBufferSize` in `go.opentelemetry.io/otel/sdk/log`. The option remains available for source compatibility but no longer affects behavior; `BatchProcessor` no longer maintains a separate export-request buffer. ([#8620](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8620))
>
> ### Removed
>
> * ⚠️ **Breaking Change:** Remove `Kind`, `Value`, `KeyValue`, their constructors, and attribute conversion helpers from `go.opentelemetry.io/otel/log`. ([#8490](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8490))
> * ⚠️ **Breaking Change:** Remove the `AttributeValueLengthLimit` and `AttributeCountLimit` fields from `RecordFactory` in `go.opentelemetry.io/otel/sdk/log/logtest`; records produced by the factory now keep attribute limits disabled so test code can append exact attributes. ([#8556](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8556))
>
> ### Fixed
>
> * Apply TLS certificates configured through environment variables to gRPC connections in `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc`.
> * Prevent panics in `go.opentelemetry.io/otel/bridge/opentracing` when OpenTracing baggage is propagated concurrently with `Span.SetBaggageItem`.
> * Fix an off-by-one error in `FixedSizeReservoir` in `go.opentelemetry.io/otel/sdk/metric/exemplar` that prevented the first exemplar from being sampled after the reservoir was filled. ([#8309](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8309))
> * Interpret HTTP `Retry-After` header values as seconds instead of nanoseconds when retrying OTLP HTTP exports in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`, `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`, and `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. ([#8383](https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8383))
> * Fix a memory leak in the `Reservo...
>   _Description has been truncated_`
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