NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #2811 most downloaded on PyPI
Library for geometric robustness
Last release 9 days ago
25 Sep 2026
Release timing varies
gaps range from 2 weeks to 3 months
Nearly every release is documented
notes for 20 of 22 stable releases
Nothing withdrawn
no release was ever pulled
3 years old
22 releases · first in 2023
One column per quarter.
Fixes WASM bindings fail under a Content-Security-Policy without 'unsafe-eval' by @Felipe-UXD in #1851
Fix degree sine reduction on Windows ARM64 by @ssss141414 in #1809
Full Changelog: v3.5.2...v3.5.3
Addresses https://projects.blender.org/blender/blender/issues/158737 by removing deferred deallocation.
Patch release after v3.5.1.
Addresses https://projects.blender.org/blender/blender/issues/158737 by removing deferred deallocation.
Mostly a patch release for #1735 .
Mostly a patch release for #1735.
A huge thank you to all our new contributors - so much has happened in this release! And a special shoutout to @zmerlynn for a huge amount of work, in
A huge thank you to all our new contributors - so much has happened in this release! And a special shoutout to @zmerlynn for a huge amount of work, including a whole new progress and cancellation API. @AnshulPatil2005 has now pushed Manifold to be double-precision deterministic across architectures. There's also been lot of UX improvement in ManifoldCAD, largely thanks to @swaparup36.
static affinity_partitioner in AddNewEdgeVerts by @zmerlynn in #1664manifold_alloc_* (C API) by @zmerlynn in #1667Full Changelog: v3.4.1...v3.5.0
This version reverts the lazy collider change (which causes numerical issues in some cases), fixes npm publish failure, fixes some minor bugs and impr
This version reverts the lazy collider change (which causes numerical issues in some cases), fixes npm publish failure, fixes some minor bugs and improves ManifoldCAD.
manifold_cross_section_warp_context C binding by @swaparup36 in #1597.Deprecate Manifold.compose() in WASM bindings, by @tonious in #1487 .
This is a major release with many bug fixes, performance improvements, updates to the TypeScript API, and ManifoldCAD. Notable changes:
Manifold.compose() in WASM bindings, by @tonious in #1487.MANIFOLD_STRICT flag, by @pca006132 in #1438.esm.sh test, by @tonious in #1513.Just fixing npm and PyPI publishing.
Just fixing npm and PyPI publishing.
Patch update with a few (important) bug fixes.
Patch update with a few (important) bug fixes.
MANIFOLD_FOUND cmake variable by @Trzeth in #1307Manifold.Simplify test on intel macos by @Trzeth and @pca006132 in #1311 and #1322 (the real fix is probably the one below)Make GCC floating-point operations standard conforming by @pca006132 in #1273
Fix crashing on an empty MeshGL with one runIndex element by @gongpha in https://github.com/elalish/manifold/pull/1261
Take a close look at the New Features section, as a few of them might be considered minor breaking changes, or at least behavior to be aware of.
Thanks @howardt for all the reports and API discussions - the improvements made to unblock Blender's adoption will definitely benefit our whole user community. And thank you to all our contributors, both new and old! There are lots of fixes here, especially around handling properties, faces, and decimation, as well as significant performance improvements. Take a close look at the New Features section, as a few of them might be considered minor breaking changes, or at least behavior to be aware of.
Simplify() for decimation by @elalish in #1147, #1246triangulate js bindings by @jirihon in #1216fix bug JS binding for project() by @elalish in https://github.com/elalish/manifold/pull/1071
This is a huge release! We've packed in all the requested breaking changes to put us on a solid path of API stability going forward. We have removed a…
This is a huge release! We've packed in all the requested breaking changes to put us on a solid path of API stability going forward. We have removed all of our required dependencies (no more Thrust or GLM!) and dramatically simplified our directory structure and CMake. We have upgraded internally to double precision and added MeshGL64 for those who need to access it. And we have simplified and improved the API in many ways and added a few powerful new features. Please check out our new and improved C++ and TypeScript docs pages!
size_t instead of int across our API, @pca006132 in #833CrossSection (and Clipper2 dependency) optional, @elalish in #850LevelSet() in as a static member of Manifold, @elalish in #876, #894Mesh, @elalish in #950Precision into Epsilon and Tolerance, @pca006132, @elalish in #997, #1008, #1007GetProperties() with Volume() and SurfaceArea(), @elalish in #1022MeshGL64, @pca006132 in #927, #1038RefineToTolerance(), @elalish in #938SetTolerance(), @pca006132 in #997CrossSection slice and project bindings, @neilpa in #930Quality::ResetToDefaults() via C bindings, @NickUfer in #964CrossSection.toPolygons() return value to match type, @dsafa in #963Triangulate(), @james-bern in #1034RotateUp and uint, @elalish in #1000operator""_z to _uz, @BenFrantzDale in #869test-{cmake,pkgconfig}.sh to create, not append, to test files, @hzeller in #919isMeshConvex() vertices check, @cjmayo in #898Full Changelog: https://github.com/elalish/manifold/compare/v2.5.1...v3.0.0
Fixed missing default parameters in JS bindings, #843 (@elalish)
Added CalculateNormals and SmoothOut, #771 (@elalish)
Fixing publishing and deployment - no library changes.
Fixing publishing and deployment - no library changes.
Nothing published for this version
Added Project function for 3D -> 2D. #638 (@elalish)
Project function for 3D -> 2D. #638 (@elalish)Slice function for 3D -> 2D. #644 (@elalish)Extrude to match OpenSCAD. #642 (@pca006132)Warp no longer simplify. #677 (@elalish)Revolve. #682, #684 (@elalish)WarpBatch for better binding efficiency. #651 (@wrongbad)Fixed CMake problems. #591, #595 (@pca006132)
split binding. #593 (@zalo)smooth binding and added calculate_curvature. #615 (@elalish, @pca006132, @zalo)level_set to Python bindings. #616 (@zalo)Replaced GetCurvature with CalculateCurvature (breaking change). #448 (@elalish)
This is another significant update, bringing 2D support, lossless roundtrip of Manifolds through glTF, Python bindings published on PyPI, and a whole new triangulator that fixes lots of geometric edge cases in the Boolean. And of course many bug fixes and performance improvements - a huge thank you to all the contributors!
CrossSection, powered by Clipper2. #341, #376 (@geoffder)Mirror transform. #354 (@geoffder)Merge helper to turn nearly-manifold input meshes into Manifolds. #394, #481 (@elalish)SetProperties for computing arbitrary vertex properties. #433 (@elalish)GetCurvature with CalculateCurvature (breaking change). #448 (@elalish)Compose. #404 (@pca006132)Warp simplification. #416 (@elalish)Compose index error. #430 (@pca006132)SparseIndices. #540 (@pca006132)convertFile utility. #407 (@elalish)Merge and EXT_manifold. #428 (@elalish)GLTFNode and GLTFMaterial for scene hierarchy, vertex property, and material output. #438 (@elalish)Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →