pypi / trimesh
trimesh
What changed in trimesh 5, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-27.
3 breaking1 new APIs and options1 performance3 behavior and defaults18 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli inittrimesh 526 changes
Breaking changes 3
Out-of-range face indices in OFF files now raise a clear error.
Raises ValueError when an OFF file is missing its count line.
Raises ValueError when a PLY property line appears before any element.
New APIs and options 1
Adds estimate_normals to PointCloud.
Performance 1
Batches the R-tree query in discrete_mean_curvature_measure, improving performance.
Behavior and default changes 3
ASCII PLY files now export face colors.
Concatenation now merges metadata from every mesh.
Uncolored point clouds can now be exported to XYZ.
Fixes and other changes 18
Cached normals are handled correctly under nonuniform affine transforms.
GLB loading ignores chunks with unknown types.
Prevents a crash when mixed-format OBJ files contain None vertices.
Points are sorted correctly for axis-aligned normals.
Results no longer depend on ring winding.
Fixes the angle returned by align_vectors.
Fixes Arc.length returning twice the arc length.
Handles coincident triangle vertices in closest-point queries.
Closes discretized circles exactly.
Handles rows with zero columns.
Fixes mean curvature repeat counts on 32-bit platforms.
Corrects the microinch conversion factor, which was 1000 times too large.
Fixes the z reset so it moves the camera.
Fixes SVG rotation angle units and direction.
Adds vertex list cleanup to avoid a GPU memory leak.
Keeps XYZ colors to four channels.
Passes sections through to the capsule mesh.
Fixes smoothing shifting mesh coordinates because volume_constraint was scaled about the world origin.