# MOOSE Newsletter (March 2022)

!alert! construction title=In Progress
This MOOSE Newsletter edition is in progress. Please check back in April 2022
for a complete description of all MOOSE changes.
!alert-end!

## MOOSE Improvements

## libMesh-level Changes

## Bug Fixes and Minor Enhancements

# MOOSE Newsletter (March 2022)

!alert! construction title=In Progress
This MOOSE Newsletter edition is in progress. Please check back in April 2022
for a complete description of all MOOSE changes.
!alert-end!

## MOOSE Improvements

### C++17 Support

MOOSE now requires a C++17 capable compiler and supports C++17 features. With this, GCC 7 and Clang 5 are now the minimum supported compilers.

## libMesh-level Changes

- Work towards source code compatibility with Windows
- Add an additional `outer_product` definition that supports `scalar * vector -> vector`
- Add auto-detection for PETSc external packages, notably HDF5
- Add internal thread safety within `NumericVector` subclasses
- Add initial support for `Poly2Tri` triangulations and refactor `TriangulatorInterface`
- Optimize `InfFE::reinit` when not all data has been requested
- Support the matrix-free case when computing the residual and Jacobian together
- Add more robust `Packing` for communication of fixed-size classes win variable-size containers
- Enable setting PETSc mat/vec types at runtime for future GPU use
- Require C++17 support and begin using it internally
- Add new static `TensorValue::rotation_matrix` helper functions

## Bug Fixes and Minor Enhancements

Add newsletter entry for c++17 support and libmesh update
Add newsletter entry for c++17 support and libmesh update
