Skip to content

Update trimesh requirement from >=4.12.2 to >=5.0.0 in /services/data - #281

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/services/data/trimesh-gte-5.0.0
Open

Update trimesh requirement from >=4.12.2 to >=5.0.0 in /services/data#281
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/services/data/trimesh-gte-5.0.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 14, 2026

Copy link
Copy Markdown
Contributor

Updates the requirements on trimesh to permit the latest version.

Release notes

Sourced from trimesh's releases.

Release 5.0.0

What's Changed

New Contributors

Full Changelog: mikedh/trimesh@4.12.2...5.0.0

Commits
  • cdb90eb Release: Minimum Python 3.10 (#2568)
  • aaccf0b rename rng -> random
  • a4d3e3f remove overpromising read_capped
  • 8494e02 upgraded ruff has new opinions
  • 66de43f simplify rtree check
  • 449627e perf(proximity): batch nearby_faces r-tree queries when rtree supports it (#2...
  • 8101a4c Pass dtype through in random_color (#2581)
  • 4be0f74 Pass dtype through in random_color
  • 176d12e perf(proximity): split batched hits with numpy
  • 641cfbe perf(proximity): vectorize nearby faces when rtree supports it
  • Additional commits viewable in compare view

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 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 show <dependency name> 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)

Updates the requirements on [trimesh](https://github.com/mikedh/trimesh) to permit the latest version.
- [Release notes](https://github.com/mikedh/trimesh/releases)
- [Commits](mikedh/trimesh@4.12.2...5.0.0)

---
updated-dependencies:
- dependency-name: trimesh
  dependency-version: 5.0.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Aug 14, 2026
@strix-security

Copy link
Copy Markdown

Strix is installed on this repository, but we couldn't run this PR security review because this workspace's trial has ended. Add a card to resume code reviews here.

So far, Strix has reviewed 28 pull requests, surfaced 3 security issues (1 critical/high) and blocked 2 risky merges across this workspace.

ibuilder added a commit that referenced this pull request Aug 18, 2026
… CI installs

Five npm dev-dependency upgrades, applied together and verified as ONE state:
eslint 10.8.0 -> 10.8.1, globals 17.7 -> 17.11, happy-dom 20.8.9 -> 20.11.2,
typescript-eslint 8.65 -> 8.67, vite 8.1.5 -> 8.2.1 (dependabot #278 #280 #283
#285 #287). Applied in one commit rather than merged one by one because all five
rewrite package-lock.json and would have conflicted pairwise.

DEPENDABOT COULD NOT SEE THE WHOLE PICTURE. The ROOT workspace declares vite,
eslint and happy-dom too; dependabot only opened PRs against apps/web. So merging
them as-is would have changed less than they claimed:

  * eslint would have stayed on the root's 10.8.0 - hoisted, so the apps/web bump
    was a NO-OP for linting, the very tool the bump exists to update;
  * vite would have been installed TWICE - root's exact 8.1.5 against web's exact
    8.2.1, forcing a nested second copy.

Both roots are aligned; all five now resolve to single hoisted copies at the
intended versions, confirmed by reading node_modules rather than the manifest.

There is also an `overrides` block pinning eslint repo-wide that dependabot never
touches. The first edit landed on IT instead of the devDependency - the same key
lives in both sections and a count-limited replace takes whichever comes first.
npm rejected it loudly (EOVERRIDE), which is the good case. Both now read 10.8.1
and are asserted equal.

toolchainDocs.test.ts then caught the third thing: docs/engineering/web-standards.md
still said "eslint 10.8.0". A governed doc whose versions are asserted against the
manifest - and whose own comment records that both versions there were wrong for
weeks once before.

THE SEVEN PYTHON PRs ARE NOT MERGED HERE, deliberately. CI installs from
services/api/requirements.lock with --require-hashes, NOT requirements.txt, and
those PRs only raise >= floors:

  * #289 manifold3d, #286 fastapi, #282 shapely, #284 bandit - the lock already
    pins versions satisfying the new floors; safe, purely making the declaration
    honest.
  * #277 numpy, #281 trimesh, #288 boto3 - raise the floor ABOVE what the lock
    pins (2.5.1, 4.12.2, 1.43.46). test_lock_satisfies_requirements.py guards
    exactly this and was mutation-tested by simulating #281. Merging without a
    lock regeneration reds main - and CI would still install the old versions, so
    a green run would prove nothing about trimesh 5.

Web typecheck + lint clean, 1651/1651, build OK. Backend 608/608 (the one failure
in the first run was test_changelog_current doing its job: version bumped before
this entry existed).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
ibuilder added a commit that referenced this pull request Aug 18, 2026
Four Python floor bumps applied (dependabot #289 manifold3d, #286 fastapi, #282
shapely, #284 bandit). Each raises a >= floor to a version the lock ALREADY pins,
so nothing about what installs changes - the declaration simply stops understating
what the project requires. test_lock_satisfies_requirements: 50 floors, 110 pins.

The other three are refused. #277 numpy (lock 2.5.1), #281 trimesh (4.12.2, a
major) and #288 boto3 (1.43.46) raise the floor ABOVE the lock. Two independent
reasons: the lock gate would go red (mutation-tested by simulating #281, which
fails naming the package, both versions and the line), and CI installs from
requirements.lock with --require-hashes, so merging them would produce a green run
that tested the OLD versions. A floor bump is a claim about what is required; only
a lock regeneration changes what is USED.

Two things the mapping turned up, both from checking rather than assuming:

  * services/api/requirements.txt DOES NOT EXIST. The source is requirements.in,
    compiled to requirements.lock. A first pass looking for the .txt found nothing
    and would have read as "these packages are undeclared".
  * shapely is declared in TWO files - requirements.in at >=2.0 and
    services/data/requirements.txt at >=2.1.2. Reading the wrong one makes #282
    look already applied. Edits are line-anchored and assert exactly one match, so
    a floor like >=2.0 cannot silently match inside >=2.0.1.

Backend 608/608; all five dependency gates pass (lock-satisfies, licence-lock,
lock-advisories, licence-allowlist, vendor-drift).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants