Changelog¶
All notable changes to mmgpy are documented here. This project follows Semantic Versioning.
[Unreleased]¶
Removed¶
mmg2d,mmg3d,mmgsCLI commands — use the unifiedmmgcommand instead
0.9.0 - 2026-04-01¶
Added¶
set_required_trianglesAPI and tests (#206)- Complete constraint marker coverage and unset variants (#208)
- Set/get normal vectors at vertices for 3D and surface meshes (#209)
set_local_parametersfor region-specific mesh sizing (#210)- Advanced topology queries (#211)
- Multi-material and level-set base reference support (#212)
Changed¶
- Removed VTK bundling from build pipeline (#204)
0.8.0 - 2026-03-18¶
Added¶
- Python 3.14 support
- Free-threaded Python 3.14 (
cp314t) wheel builds for Linux
Changed¶
- Upgrade build-time VTK from 9.5.2 to 9.6.0
- Build Linux x86_64 wheels with
manylinux_2_28 - Widen VTK constraint from
>=9.5,<9.6to>=9.5,<9.7 - Bump
pyvistalower bound to>=0.47 - Add upper bounds to all runtime and optional dependencies
- Bump cibuildwheel from v3.0 to v3.4
0.7.1 - 2026-03-16¶
Fixed¶
- Update examples to use
Meshclass instead of deprecatedMmgMesh2D/3D/S(#186)
0.7.0 - 2026-03-15¶
Added¶
Fixed¶
- Release GIL during remeshing, detect mesh corruption, fix stderr capture (#177)
- Set execute permissions on bundled executables for
uvxinstalls (#174)
0.6.0 - 2026-03-08¶
Added¶
- Editable install with automatic C++ rebuild (#170)
Fixed¶
- Use stdlib logging in CLI error paths to fix Windows subprocess hang (#172)
Changed¶
- Update dependencies to fix security alerts (#167)
0.5.2 - 2026-01-21¶
Fixed¶
- Fix
PermissionErrorwhen runninguvx mmgpycommands on Linux/macOS (#174)
0.5.1 - 2026-01-20¶
Added¶
- Enable editable install with automatic C++ rebuild
Fixed¶
- Use stdlib logging in CLI error paths to fix Windows subprocess hang (#172)
Changed¶
- Update dependencies to fix security alerts (#167)
0.5.0 - 2026-01-19¶
Added¶
- Web-based mesh viewer and remeshing interface with trame (#158)
- Enhanced UI with dark mode, new options, and CLI entry point (#161)
- Unified
Meshclass andmmgpy.read()function (#85) RemeshResultdataclass with statistics (#87)mesh.validate()method with comprehensive quality checks (#88)mesh.plot(),mesh.vtk, and unifiedmmgcommand (#90)- Context manager support for mesh operations (#93)
- Solution field transfer during remeshing (#156)
- Progress callbacks with cancellation support (#149)
- File logging support and external logger integration (#148)
- Capture MMG warnings from stderr during remeshing (#151)
- Auto-triangulate non-triangular meshes (quads, polygons) (#155)
- Native MMG loading for Medit (.mesh) files (#159)
- Mesh repair utilities module (#144)
- Geometry convenience methods (#139)
- Interactive sizing editor for visual constraint definition (#132)
- Duplicate vertex detection with KD-tree (#137)
- Test coverage reporting with pytest-cov (#131)
- Performance benchmarks with pytest-benchmark (#92)
- MkDocs documentation site with API reference and tutorials (#89)
- CONTRIBUTING.md guide (#94)
Fixed¶
- Save displacement and levelset fields during checkpoint (#154)
NotImplementedErrorfor unsupported Lagrangian motion in MMGS (#153)- Standardize array initialization types to
py::ssize_tin bindings (#141) - Type validation for option casting in C++ bindings (#138)
Changed¶
- Replace monkey-patching with Mesh wrapper class (#142)
- Simplify RPATH handling by removing Python runtime fixes (#147)
0.4.0 - 2026-01-18¶
Same content as 0.5.0 — released as a pre-release before the final 0.5.0.
0.3.0 - 2026-01-05¶
Changed¶
- Updated VTK from 9.3.1/9.4.1 to 9.5.2
- Simplified Linux wheel builds to manylinux only (dropped musllinux)
- Aligned manylinux versions with PyPI VTK wheel availability
- Removed redundant CI workflow files
0.2.0 - 2026-01-01¶
Added¶
- In-memory remeshing API for all mesh classes (#63)
- Lagrangian motion remeshing API (#64)
- Logging module and progress callbacks with Rich integration (#65)
- Element attributes API (
set_corners,set_required_vertices,set_ridge_edges) (#66) - Topology query methods (
get_adjacent_elements,get_vertex_neighbors) (#67) - Level-set discretization API (#68)
- PyVista integration (
mesh.to_pyvista(),mmgpy.from_pyvista()) (#69) - Typed options dataclasses with factory methods (
.fine(),.coarse(),.optimize_only()) (#70) - Local sizing parameters API (
set_size_sphere,set_size_box,set_size_cylinder,set_size_from_point) (#81)
0.1.5 - 2025-12-31¶
Added¶
- First PyPI release with
pip install mmgpy - Pre-built wheels for Windows, macOS, and Linux
Changed¶
- Updated bundled VTK to 9.4.1
- Optimized wheel sizes (all under 100MB)
0.1.4 - 2025-08-29¶
Maintenance release with version bump.
0.1.1 - 2024-12-21¶
Added¶
- MMG compiled with VTK support
- Python 3.9 support
- pre-commit configuration
[0.1.0] - 2024¶
Added¶
- Initial release
- Basic pybind11 bindings for MMG library
- CMake build system with scikit-build-core