Skip to content

Release v3.1.3.249

Latest

Choose a tag to compare

@github-actions github-actions released this 25 Jun 12:56

Autogenerated release v3.1.3.249
44f4765

OS Dev
Windows x64 (Visual Studio 2019) zip
Windows x64 (Visual Studio 2022) zip
Windows x64 (Visual Studio 2026) zip
Ubuntu 22 LTS x64 deb
Ubuntu 22 LTS arm64 deb
Ubuntu 24 LTS x64 deb
Ubuntu 24 LTS arm64 deb
Linux vcpkg (glibc 2.28) x64 tar.xz
Linux vcpkg (glibc 2.28) arm64 tar.xz
macOS x64 (Intel) x64 pkg
macOS Arm (Apple Silicon) arm pkg
Emscripten multi-thread (web environment) zip
Emscripten single-thread (web environment) zip
Emscripten multi-thread Wasm64 (web environment) zip

What's Changed

  • ci: fix windows test-distribution download pattern by @Fedr in #6054
  • docs(thirdparty): list MRMcp / MRMCPGateway in Doxygen ThirdpartyList by @Grantim in #6056
  • ci(windows): trim vcpkg cache and skip clean+checkout on cache hit by @Fedr in #6010
  • thirdparty/install.bat: add --extra-requirements , default --recurse by @Fedr in #6032
  • ci(emscripten): run unit tests on host runner, drop firefox from image by @Fedr in #6043
  • macos: strip non-extern symbols at link time (CMake + mrbind) by @Grantim in #6058
  • ci: add 10-minute timeout to Unit Tests steps in all workflows by @Fedr in #6059
  • Reduce addMeshPart calls in boolean by @Grantim in #6062
  • IPC: new ignoreBdTgts parameter by @Fedr in #6066
  • Mesh Component traverse Edges instead of Faces by @Grantim in #6064
  • deps: strip brew dylibs on macOS at install time by @Grantim in #6070
  • deps: strip third-party libs at link time on Linux (vcpkg triplet) by @Grantim in #6063
  • chore(ci): pass python -u to run_python_test_script.py callsites by @Fedr in #6071
  • ci: verify meshlib.mrmeshpy import before Unit Tests by @Fedr in #6069
  • Add webrequest module for correct error code processing and support file operations in single thread WASM by @gorbovskoy-evg in #6040
  • Update mrbind. by @adalisk-emikhaylov in #6075
  • optimize MeshTopology::deleteFaces by @Fedr in #6074
  • CMake: silence CMP0167 from MRViewer Boost::locale lookup by @Fedr in #6076
  • ci: replace PATs with GITHUB_TOKEN in CI workflows by @Grantim in #6073
  • ci(unity): grant contents:write so unity-nuget-test can see draft releases by @Fedr in #6081
  • ci(windows): generate_win.bat — fail loudly when MSYS2 isn't installed by @Fedr in #6082
  • ci(mrbind): drop msys2_package_urls.txt; derive URLs from hashes lockfile by @Fedr in #6083
  • chore(deps): bump aws-actions/configure-aws-credentials from 6.1.0 to 6.1.1 by @dependabot[bot] in #6085
  • chore(deps): bump mikepenz/action-gh-release from 2.0.0 to 3.0.0 by @dependabot[bot] in #6084
  • ci(windows): replace S3 MSYS2 zip with cached pacman install of clang 18.1.8 by @Fedr in #6060
  • Fix build with GCC 16 by @oitel in #6086
  • i18n: Add support of cross-domain translations by @oitel in #6089
  • windows: use vcpkg laz-perf, drop local laz-perf vcxproj by @Fedr in #6090
  • ci(mrbind): cache thirdparty/mrbind/build across all workflows via reusable action by @Fedr in #6087
  • MRTestC2: less voxels in testThickenMesh for faster execution by @Fedr in #6095
  • Fix building without i18n support by @oitel in #6096
  • windows: use vcpkg openctm, drop local OpenCTM vcxproj by @Fedr in #6092
  • thirdparty(GDCM): bump submodule to v3.2.6 by @Fedr in #6097
  • ci(windows): use Ninja for cpp/c-examples, align with main Build step by @Fedr in #6094
  • ci(mrbind): make build-mrbind work without bash on PATH (Python SHA step + pwsh on Windows for Trim/Strip) by @Fedr in #6093
  • ci(mrbind): re-apply bashless-Windows fix via pwsh/bash split (no Python) by @Fedr in #6099
  • ci(windows): do not copy release zlib1.dll in debug by @Fedr in #6102
  • Fix incorrect pass/fail highlighting of QC points. by @adalisk-emikhaylov in #6104
  • ci(macos): cache thirdparty lib/include outputs across runs by @Fedr in #6100
  • ci(pip-build): respect disable-build-* labels for ubuntu / macos by @Fedr in #6091
  • CI: Add action for advanced matrix manipulations by @oitel in #6105
  • docker(rockylinux8-vcpkg): pin Clang to the 21.x line by @Fedr in #6106
  • ci(linux): key mrbind cache on Dockerfile hash, not docker_image_tag by @Fedr in #6108
  • ci(linux-vcpkg): only collect artifact stats when an artifact exists by @Fedr in #6107
  • Fix findSignedDistance crash when upDistLimitSq sentinel is returned by @Fedr in #6110
  • mrbind(linux): pad PHT against patchelf overrun via -z separate-loadable-segments by @Fedr in #6109
  • Bump vcpkg to 2026.04.27 by @MaxRayskiy in #6015
  • Prevent HoleFillPlanner re-entry under nested ParallelFor by @Grantim in #6111
  • ubuntu-x64 CI: pass CMAKE_C_COMPILER to the Build step by @Fedr in #6113
  • macos: bundle Homebrew dylibs into the .pkg framework; cover arm64 .pkg in test-distribution by @Fedr in #6098
  • pip-build CI: consolidate per-py-version Windows/macOS test jobs by @Fedr in #6114
  • macOS CI: extract thirdparty install into reusable composite action (share cache with pip-build) by @Fedr in #6116
  • fix invalid proj result in MeshMesh findSignedDistance by @Grantim in #6115
  • ci: also run macos-pip-test on self-hosted x64 / arm runners by @Fedr in #6112
  • i18n: Translate undo/redo action names in UI by @oitel in #6119
  • add mesh parts over given vacant elements by @Fedr in #6120
  • i18n: Tune msgmerge arguments for less file changes by @oitel in #6123
  • i18n: Fix brush undo/redo translations by @oitel in #6122
  • Planar filling with plan by @Grantim in #6121
  • ci: make MRBind build cache non-fatal by @Fedr in #6125
  • mrbind generate.mk: re-tier NUM_FRAGMENTS / JOBS by cores and RAM by @Fedr in #6117
  • Get rid of mrbind's --buggy-substitute-default-template-args. by @adalisk-emikhaylov in #6118
  • ci(windows): pin clang 22 for MRBind (vs master's clang 18) by @Fedr in #6021
  • optimize MeshTopology::addPartByMask by @Fedr in #6126
  • CI: Upgrade Node.js version for matrix-builder by @oitel in #6124
  • macos: drop unused llvm@14 from requirements by @Fedr in #6127
  • Move MRMeshBoolean gtests to MRTest project by @Fedr in #6132
  • ci: move pip requirements into its own subdir by @Fedr in #6131
  • Disable verbose logging for mrbind. by @adalisk-emikhaylov in #6135
  • Small Boolean Speedups by @Grantim in #6134
  • ci: widen macos-pip-test coverage to macos-15/26 and macos-26-intel by @Fedr in #6137
  • wasm/better-process-empty-drops by @Grantim in #6139
  • macos: pin CMAKE_OSX_DEPLOYMENT_TARGET to 12.7 by @Fedr in #6141
  • ci: install pkg to user home on runners without passwordless sudo by @Fedr in #6142
  • Port MRFixSelfIntersections tests from MRTestC2 to MRTest by @Fedr in #6145
  • CI: Recompile matrix-builder with upgraded dependencies by @oitel in #6146
  • i18n: Translate history action's complex names by @oitel in #6144
  • emscripten: enable WebAssembly SIMD (-msimd128) by default by @Grantim in #6147
  • ci(macOS): build Release on gihub runner by @Fedr in #6143
  • ci: widen test-distribution macos-test Intel coverage; bump fastmcpp by @Fedr in #6148
  • optimize Boolean operations by @Fedr in #6128
  • Add unit tests for find distance by @gorbovskoy-evg in #6140
  • emscripten: opt-out toggle to link with mimalloc (default ON) by @Grantim in #6149
  • MCP: rename tool ids from dot- to underscore-namespacing by @Grantim in #6150
  • ci(macos): wider testing of arm packages by @Fedr in #6152
  • MCP: image / resource content blocks for screenshot + getObject (with /api/ mode parity) by @Grantim in #6151
  • ci(macos): rename self-hosted pkg runners; add arm test on macos-13 by @Fedr in #6154
  • ci(macos): retry Download Distributive on transient gh-api 401 by @Fedr in #6155
  • ci: gate Collect artifact stats to match the upload step by @Fedr in #6156
  • chore(deps): bump docker/login-action from 4.1.0 to 4.2.0 by @dependabot[bot] in #6158
  • Docs: update ThirdpartyList — OpenVDB Apache-2.0, hidapi link fix by @DmitryLambin in #6130
  • ci(macos): bump brew clang toolchain from llvm@18 to llvm@22 by @Fedr in #6153
  • ci(macos): retry Download Distributive via scripts/retry.sh (auth and download separately) by @Fedr in #6157
  • C API: remove unnecessary upcasts in examples and tests by @adalisk-emikhaylov in #6136
  • Add getGlfwKeyDelete() helper for platform-specific Delete key by @meshinspector-agent[bot] in #6161
  • docker(rockylinux8-vcpkg): trim image 4.4 GB -> 1.1 GB (drop nvidia/cuda devel base) by @Fedr in #6160
  • ci(windows): tolerate transient MSYS2 cache restore errors by @Fedr in #6164
  • fix double underline for iconed buttons with hotkey by @Grantim in #6162
  • Brush: rename undo label "Brush: Patch" to "Brush: Fix" by @meshinspector-agent[bot] in #6163
  • docker(ubuntu24): trim CUDA via NVIDIA sbsa repo (3.8 GB -> 1.2 GB on arm64) by @Fedr in #6165
  • C tests/examples: inline Id construction at call sites by @Fedr in #6167
  • ci(windows): tolerate transient CUDA cache restore errors by @Fedr in #6168
  • mrbind/generate.mk: pass -isysroot at link time too (host-independent lld) by @Fedr in #6169
  • Auto-colorize colorless STEP imports by @meshinspector-agent[bot] in #6170
  • CI(macos): silence example-build ld deployment-target warnings in test-distribution by @Fedr in #6159
  • Move all gtests out of MRMesh into MRTest; drop MRMesh's GTest dependency by @Fedr in #6171
  • Link mimalloc with EXE-level redirect on Windows (MeshViewer, MRTest) by @Grantim in #6172
  • Support the Windows CMake build for the mimalloc redirect by @Grantim in #6173
  • macOS: use Homebrew googletest instead of submodule build by @Fedr in #6174
  • Ubuntu: use apt googletest instead of submodule build by @Fedr in #6175
  • Prepend mimalloc lib in EXE link order; add MRTest gate by @Grantim in #6176
  • mrbind: auto-install MSYS2 when missing; switch to clang 22 package set by @Fedr in #6177
  • ci(windows): resolve VS install path via vswhere instead of hardcoding by @Fedr in #6180
  • ci(windows): derive vcpkg & CUDA versions from compiler, drop matrix keys by @Fedr in #6184
  • Make 3mf slice decimation max error configurable by @meshinspector-agent[bot] in #6185
  • Add macOS Cocoa drag&drop handler for drop-zone highlight by @meshinspector-agent[bot] in #6181
  • CI(Windows): pin msvc-2022 toolset to v143 / vcvars_ver=14.4 by @Fedr in #6186
  • CI: derive Windows test_artifacts_path from matrix fields by @Fedr in #6187
  • x64-windows-vs2022-meshlib triplet introduced by @Fedr in #6188
  • Migrate Windows CI to windows-2025 runners by @Fedr in #6189
  • CI: archive Windows binaries with 7z (.7z) instead of zip by @Fedr in #6182
  • ci(pip-build): scope vcpkg & CUDA env vars to the Windows job by @Fedr in #6191
  • ci(windows): add MSVC 2026 build/test jobs by @Fedr in #6190
  • get-aws-instance-type: add 2s timeout to Windows metadata requests by @Fedr in #6192
  • Bump vcpkg to 2026.05.25 by @MaxRayskiy in #6179
  • ci(windows): package C# NuGet bindings on msvc-2026 job (fixes unity-nuget-test) by @Fedr in #6193
  • CI: archive Windows binaries as zip instead of 7z (faster compression) by @Fedr in #6195
  • ci(unity): run unity-nuget-test on full-ci PRs, not only nightly by @Fedr in #6194
  • CI: speed up Windows "Setup python" by skipping redundant Chocolatey install by @Fedr in #6196
  • chore(deps): bump aws-actions/configure-aws-credentials from 6.1.1 to 6.1.3 by @dependabot[bot] in #6198
  • ci(vcpkg): rebuild from source when restored cache is empty by @Fedr in #6199
  • CI: fetch regression test data from MeshLibTestData submodule instead of S3 by @Fedr in #6197
  • fix: quote URL in OpenLink so query strings survive the shell by @Grantim in #6202
  • CI: macOS: Move dylib stripping from install script by @oitel in #6200
  • Use shared precompiled header in more projects by @Fedr in #6203
  • MSBuild: move warnings settings in common.props by @Fedr in #6204
  • Update openctm vcpkg port to OpenCTM master HEAD (throw() -> noexcept) by @Fedr in #6205
  • Boolean: Fill only required side of cut by @Grantim in #6207
  • Raise warning level to /Wall on MSVC and -Wdeprecated on GCC/Clang by @Fedr in #6201
  • MRCuda: use PCH in MSBuild by @Fedr in #6210
  • i18n: Translate controller cube labels by @oitel in #6209
  • Build face connected-components UnionFind in parallel (lock-free) by @Grantim in #6208
  • CI: speed up Linux vcpkg image builds with shared S3 binary cache (OIDC) by @Fedr in #6206
  • permit precompiled header for TBB-free projects on MSVC (CMake + MSBuild) by @Fedr in #6211
  • Use here-docs for Dockerfiles by @oitel in #6214
  • CI: use setup-vcpkg-windows action in prepare-images Windows job by @Fedr in #6217
  • Bump vcpkg to 2026.06.01 by @MaxRayskiy in #6213
  • Add debugSaveMesh_ for diagnostics by @Grantim in #6218
  • printStacktraceOnCrash improvements for Windows by @Fedr in #6219
  • chore(deps): bump astral-sh/setup-uv from 8.1.0 to 8.2.0 by @dependabot[bot] in #6221
  • ci(macos): upload artifacts directly, drop Wandalen/wretry.action by @Fedr in #6222
  • chore(deps): bump aws-actions/configure-aws-credentials from 6.1.3 to 6.2.0 by @dependabot[bot] in #6220
  • ci: extract setup-cuda composite action by @Fedr in #6223
  • ci: pass 3-part CUDA semver to install-cuda action by @Fedr in #6224
  • Add UI::TestEngine::TreeGuard RAII helper for pushTree/popTree by @meshinspector-agent[bot] in #6225
  • CudaBasic: do not include during kernels' compilation by @Fedr in #6227
  • CUDA: do not include in kernels by @Fedr in #6229
  • CI: Add base stage to Docker images by @oitel in #6216
  • Update mrbind-pybind11 by @oitel in #6228
  • Unite SweepLineQueue Params by @Grantim in #6232
  • Add "Hide scene overlays" toggle to Capture screenshot dialog by @meshinspector-agent[bot] in #6231
  • Add experimental vcpkg manifest file by @oitel in #6230
  • ci(vcpkg): survive a failed cache restore, not just an empty one by @Fedr in #6234
  • CI: skip distribution upload & tests when a build failed by @Fedr in #6235
  • MRCuda: use v143 toolset + CUDA 12.0 under VS2026 (MSBuild) by @Fedr in #6233
  • ci(windows): build pip wheel with VS2026 by @Fedr in #6237
  • docs: rewrite plugin install/troubleshooting guide by @DmitryLambin in #6079
  • CI: unify per-OS steps in build-mrbind, fix stale MSYS2 hashes cache key by @Fedr in #6239
  • Mrbind wasm trick by @adalisk-emikhaylov in #6226
  • Define MR_PCH_USE_EXTRA_HEADERS in macOS CI builds by @Fedr in #6242
  • Build generated C bindings with MSBuild by @Fedr in #6238
  • Size C bindings unity batches as one batch per CPU core (capped at 256 files) by @Fedr in #6241
  • Add five most frequently included MRMesh headers to PCH extra headers by @Fedr in #6244
  • Preserve _DEBUG around the pybind11 include baked into the bindings PCH by @Fedr in #6252
  • CI: keep CBindings artifact so failed build jobs can be re-run by @Fedr in #6257
  • CI: build C CUDA bindings (MeshLibC2Cuda) with MSBuild on Windows by @Fedr in #6260
  • ci(win): generate C# bindings using MSBuild by @Fedr in #6258
  • Fix meshconv crash/failure on multi-object scene files by @Fedr in #6261
  • Enable lean precompiled header for GCC builds by @Fedr in #6248
  • Deduplicate binding fragment codegen via -fpch-codegen (link the PCH object) by @Fedr in #6255
  • Fix zero byteStride in vertColorMap for gltf format by @Grantim in #6264
  • Refactor STEP file children retrieval by @VoRodin in #6240
  • Add Python regression test for multi-body STEP loading by @Fedr in #6265
  • CI: generate C bindings in a dedicated image (drop per-run emsdk install) by @Fedr in #6259
  • ci(win): produce separate VS2019/VS2022/VS2026 developer distributives by @Fedr in #6263
  • CMake: Enable vcpkg manifest support by @oitel in #6262
  • CMake: Fix problems with GCC and PCH on Linux by @oitel in #6268
  • CI(windows): fail fast in cmd generate steps with || exit /b 1 by @Fedr in #6269
  • CI: Upgrade matrix-builder dependencies by @oitel in #6276
  • MSVC: cache MeshLib headers in the precompiled header (~11% faster Windows build) by @Fedr in #6278
  • CI: overlap build-test jobs with generate-c-bindings via a reusable wait-for-job action by @Fedr in #6279
  • Add to MRStdlib.h precompiled header by @Fedr in #6280
  • ci: log precompiled-header (.gch) size on ubuntu-x64 by @Fedr in #6282
  • Reduce codegen: extern template common MRSceneStateCheck instantiations by @Fedr in #6285
  • CI: fix wait-for-job matching the wrong job (substring -> exact) by @Fedr in #6289
  • Reduce codegen: extern template common UI::drag<> instantiations by @Fedr in #6287
  • Use lightweight instead of stream headers by @Fedr in #6290
  • Cache OpenVDB in the precompiled header on MSVC by @Fedr in #6293
  • MROpenVDB.h: move from MRVoxels to MRPch project by @Fedr in #6296
  • chore(deps): bump actions/checkout from 6 to 7 by @dependabot[bot] in #6297
  • PCH: enable MR_PCH_USE_EXTRA_HEADERS only in CI (off by default for local builds) by @Fedr in #6295
  • PlanarTriangulation: injectable sweep-line predicates + tbb::parallel_sort by @Grantim in #6294
  • projectSpline: project a spline onto a mesh surface by @Fedr in #6277
  • Detect real ARM processor name in GetCpuId() by @Fedr in #6300
  • projectSpline: fix self-intersecting projection; add cut-by-spline regression test by @Fedr in #6301
  • PlanarTriangulation: decouple SweepLineQueue from Contours2f by @Grantim in #6306
  • CI: Upgrade matrix-builder action's deps by @oitel in #6308
  • MRCuda: add getRuntimeInfo() returning Expected; deprecate isCudaAvailable() by @Fedr in #6307
  • fillContours2D: add tilted-plane regression test by @Grantim in #6310
  • PlanarTriangulation: triangulate mesh hole loops in input space by @Grantim in #6309
  • MRCuda: rename RuntimeInfo to DeviceInfo; report GPU name and total memory by @Fedr in #6314
  • CI: retry collect_ci_stats and report API errors clearly by @Fedr in #6311
  • Reduce telemetry STL-header noise for three more exporters by @Fedr in #6315
  • Reduce PLY comment telemetry noise by @Fedr in #6316
  • A dotnet-wasm distribution by @adalisk-emikhaylov in #6271
  • Reduce OBJ comment telemetry noise by @Fedr in #6317
  • detectTunnelFaces: improvements and classification by @Fedr in #6318

New Contributors

Full Changelog: v3.1.2.192...v3.1.3.249