## Utilities - Support #1973: Add a facility to enable use of custom-made objects in `std::format`. Use it for `StrongType`. - Support #1983: Add a utilities function to generate a key for a `std::source_location`. ## Third Party - Support #1982: Provide a very thin wrapper over `Eigen::internal::set_is_malloc_allowed()` to help find where the issue happen and fix it more efficiently. - __Design #1990__: Replace several `PetscInt` by strong types; use `PetscInt` rather than `std::size_t` for strong types related to Petsc linear algebra. ## Core - Design #1993: Remove `Heart` from input data: its place is in cardiac mechanics model, not in core library. ## Finite element - Design / bug #1980: fix a bug with variants poorly used in `ForUnknownList::ComputeLocalFEltSpaceData`; redesign to avoid checking repeatedly conditions which yield always the same result. - Design / bug #1987: In `ForUnknownList`, `AllocateGradientFEltPhi` should be used only when mesh and geometric element are the same dimension ## Parameters - __Design #1989__: Remove time manager template parameter from the instances of `InitScalarParameterFromInputData`, `InitVectorialParameterFromInputData`, `InitMatricialParameterFromInputData` and `Init3DCompoundParameterFromInputData` that also provides `morefem_data` argument. ## Operators - Test #1936: Add test for visco-elasticity policy. - Bug #1975: A matrix was not properly initialized in visco-elasticity policy. - Support #1978: Remove stupid `return` in `void` methods. - Design #1977: Add PETSc wrappers for matrix initialisation with a matrix pattern and the associated values. - Support #1986: Ensure no Eigen memory allocation in the bulk of computation. ## Model - Documentation #1996: Fix the model tutorial to take into account newly introduced strong type. - Bug #1981: PETSc changed the API to deactivate the divergence check in its v3.22; this broke non linear shell model which counted on it. ## CI - CI #1995: remove Valgrind check on Stokes model as it gets stuck. ## Tools - Bug #1994: Fix errors in the `ModelSettings.cpp` file generated by `new_file.py` script.