MOOSE Newsletter (October 2026)
This MOOSE Newsletter edition is in progress. Please check back in November 2026 for a complete description of all MOOSE changes.
MOOSE Improvements
MOOSE Bug Fixes
Apps without a Console output (e.g.
[Outputs] console = false) no longer keep every message written to_consolein memory. The buffer was never cleared and was copied at every flush, so long-running (sub-)apps, such as a MultiApp running many solves in one process, became slower and slower with the number of messages. (idaholab/moose#34118)
MOOSE Modules Changes
Contact module
Mechanical mortar contact now assembles the contact force by interpolating the nodal traction vector with the traction basis, instead of scaling an interpolated scalar pressure by the nodal normal of the residual row's own node. Only the former is the transpose of the weighted gap, so the contact force is now self-equilibrated across the interface and no longer depends on secondary node numbering. Contact forces and converged results therefore change on interfaces where the secondary nodal normals vary along the face.
Local-basis quasistatic mortar and mortar_penalty contact Jacobians now also include derivatives of the averaged secondary nodal normals and their tangent basis. These derivatives can require a larger AD container on high-order or high-valence interfaces. Because the contact coupling changes during the solve in most contact problems, such as when surfaces slide or come into contact, set Problem/use_hash_table_matrix_assembly = true to accommodate the changing sparsity pattern (idaholab/moose#33390).
libMesh-level Changes
2026.10.08_342ad76_0 Update
Updated libMesh from
90766057to342ad76bSubmodule moved to libMesh
master(342ad76b, 2026-10-08)libmesh_transform_reduce()shim, enabling fasterstd::transform_reduce()operations on supported compilers, with fallbacks for older compilers. Optimizations in dense vector/matrix functionals.Faster partitioning when using partitioners (most options other than Parmetis) whose partition quality does not improve with an initial "pre"-partitioning
MeshBase::n_constraint_rows()now is an O(1) return of cached data, not a parallel-only recountSupport for calculation of gradients on interiors of H(div) FE types
VariationalSmoother quadrature type can now be user-overridden, enabling users to select vertex-sampling rules that are more robust for smoothing difficult meshes.
Support for computing a "near"-dual basis on Tri6/Quad8 elements where the standard dual fails positivity requirements
Regularized gradient of norm of a zero-vector to be zero rather than NaN. This makes some MOOSE AD kernels more robust.
Autotools detection, build support, and libMesh numerics support for Kokkos
Optional support for ghosting constraint DoFs of ghosted DoFs, as needed by MOOSE Kokkos
Improved support for shell-matrix Jacobian, sparse-matrix preconditioner
PetscNonlinearSolversolve casesAllow applications to flag non-reproducible residuals to
PetscNonlinearSolverMore-accurate ExodusII elemental output of higher-order discontinuous variables
Option to skip spurious interior side generation in
build_side_list_from_node_list()on thin meshesNew
SKEW_ANGLEelement quality metric, with implementations of that and some older metrics on moreElemtypesNew
LOG_ONE_ENTITY_SCOPEmacro for performance logging of high-frequency events that should not be included in per-entity logging like NVTXSupport for more IGA mesh types in
System::solve_for_unconstrained_dofs(), for e.g. more accurate initial conditions setting on spline DoFsSupport for
isfinite/isnormal/signbitin MetaPHysicLSupport for
constexpr, Kokkos, inMetaPhysicL::numeric_limitsFixes in
HIERARCHICbasis evaluation outside of elements, which was triggerable by FDM-basedHIERARCHICgradient evaluation on element boundariesFix for
HIERARCHICshape function orientation consistency on some 3D meshesFix for corner cases in
Poly2TriTriangulatorrefinement code, used byXYDelaunayand other MOOSE mesh generatorsFix for neighbor-finding on polyhedral meshes
Fixes and test coverage for more reference-space node position queries on
Tri7and other high-geometric-order elementsAutomatic calculation of topological data on higher-order geometric elements
Refactoring+optimization+robustness improvements in
DistributedMeshcopy constructorNon-ASCII output fix in
MeshBase::get_info(), and more robustness on unprepared meshesAdded more stringent mesh preparation assertions, made test cases compatible with them
Fix for corner case where a post-redistribution distributed mesh might have ghosted-element neighbors that still have
remote_elemneighbor links to each otherFix for OpenMP libMesh thread backend sometimes using a full thread count when asked to temporarily use a reduced count
Fix for excessive-peak-memory-usage bug in pthreads parallel_reduce() backend
Fix for vector variable output in
Nemesis_IOFix in reduced_basis training
Fix for
BoundaryInfo::syncto an unpreparedDistributedMeshwithMETHOD=dbgC++20 compiler compatibility fixes in MetaPhysicL
Better error message when trying to read a checkpoint split mesh with a bad split count
Avoid dropping error messages from non-rank-0 failures on parallel unit test suite runs
Added
AGENTS.mdand libMesh-Civet-CI-failures skill files for AI agentsApply
--enable-werrorflag to C/C++ preprocessing only, not linking, to avoid triggering errors from warnings in third-party code triggered by compilers using Link-Time Optimization
PETSc-level Changes
The PETSc submodule was updated from 3.25.4 to 3.26.0. OpenBLAS is held at 0.3.33 rather than the 0.3.34 that PETSc 3.26.0 downloads by default, because 0.3.34 hangs in threaded direct solves (MUMPS, SuperLU_DIST and STRUMPACK) when OMP_NUM_THREADS is greater than one.
Conda Package Updates
Pins in conda/conda_build_config.yaml now follow conda-forge-pinning-feedstock: GCC and gfortran moved from 14 to 15, clang on macOS from 19 to 21, libxml2 from 2.14 to 2.15, and ucx from 1.20 to 1.22.
moose-tools 2026.10.19
Updated ruff from 0.15.15 to 0.16.7
Updated clang-format and clang-tools from 19.1.7 to 21.1.8, matching the macOS clang pin
Rebuild due to updated pins in
conda/conda_build_config.yaml
moose-build 2026.10.19
Updated the exported compiler pins to GCC 15,
gxx15 and gfortran 15 on Linux, and toclangandclangxx21.1 on macOS
moose-libmesh-vtk 9.7.0_2 [mpich,openmpi]
Rebuild due to updated pins in
conda/conda_build_config.yaml
moose-petsc 3.26.0_0 [mpich,openmpi]
Updated petsc from 3.25.4 to 3.26.0
Held the PETSc-downloaded OpenBLAS at 0.3.33 to avoid a hang in threaded direct solves with 0.3.34
Built the OpenBLAS
getarchhelper with the plain compiler, because the conda-forge mpich 5.0.2mpiccno longer adds an rpath to$PREFIX/lib
moose-libmesh 2026.10.08_342ad76_0 [mpich,openmpi]
Updated libmesh from
90766057to342ad76bRebuild due to updated Conda packages
moose-petsc 3.26.0andmoose-libmesh-vtk 9.7.0
moose-wasp 2026.08.13_ce25dcd_2
Rebuild due to updated pins in
conda/conda_build_config.yaml
moose-pyhit 2026.10.19
Rebuild due to updated Conda package
moose-wasp 2026.08.13_ce25dcd
moose-dev 2026.10.19 [mpich,openmpi]
Updated conduit from 0.9.7 to 0.9.9
Updated mfem from
a7dbea1to6a858dc, which includes the MFEM 4.10 releaseRebuild due to updated dependencies
moose-pprof 2026.07.09_b9395ee_1
Rebuild due to updated pins in
conda/conda_build_config.yaml
moose-seacas 2025.10.14_6
Rebuild due to updated pins in
conda/conda_build_config.yaml
Apptainer Package Updates
moose-mpi:2026.10.19
Update all base containers
Updated variants: -
ubuntu24_gcc(default): Ubuntu 24.04 base with GCC 14.2.0, MPICH 5.0.2, OpenMPI 5.0.11 -ubuntu24_clang: Ubuntu 24.04 base with Clang 22.1.8, GCC 14.2.0, MPICH 5.0.2, OpenMPI 5.0.11 -ubuntu24_cuda_gcc: Ubuntu 24.04 base with CUDA 13.3.1, GCC 14.2.0, MPICH 5.0.2, OpenMPI 5.0.11 -ubuntu24_gccmin: Ubuntu 24.04 base with GCC 9.5.0, MPICH 5.0.2 -rocky8_gcc: Rocky Linux 8.10 base with GCC 13.3.1, MPICH 5.0.2, OpenMPI 5.0.11 -rocky8_oneapi: Rocky Linux 8.10 base with GCC 13.3.1, oneAPI 2026.1.1, MPICH 4.3.2 -rocky9_gcc: Rocky Linux 9.7 base with GCC 13.3.1, MPICH 4.3.2, OpenMPI 5.0.11
moose-petsc:3.26.0_0
Updated petsc from 3.25.4 to 3.26.0
Held the PETSc-downloaded OpenBLAS at 0.3.33 to avoid a hang in threaded direct solves with 0.3.34
moose-libmesh:2026.10.08_342ad76_0
Updated libmesh from
90766057to342ad76bRebuild due to updated
moose-petsccontainer
moose-dev:2026.10.19
Updated code-server from 4.132.0 to 4.138.0
Updated PyFMI from 2.21.0 to 2.23.0
Updated go from 1.26.1 to 1.27.1
Updated ruff from 0.15.15 to 0.16.7 in
requirements.txtUpdated clang-format from 19.1.7 to 21.1.8 in
requirements.txtUpdated conduit from 0.9.7 to 0.9.9
Updated mfem from
a7dbea1to6a858dc, which includes the MFEM 4.10 releaseBecause the base images changed, every apptainer container is rebuilt.