## Utilities

- Test #1683: Add tests for numeric utilities.
- Support #1685: Introduce a facility to use around `std::pow`.
- Support #1687: Add `Wreserved-identifier` in clang warnings.
- Support #1690: Add `Wdiv-by-zero` in warnings.
- Support #1691: Create a script to ease the use of IWYU.
- __Support #1692__: Improve the use of `std::filesystem`, which should help to use MoReFEM on Windows environments.
- Test #1693: Rewrite NowAsString test.
- Design #1699: Modify the way unique ids are stored.
- Support #1722: Generalize NumericNS::AreEqual to also handle `LocalVector` and `LocalMatrix`.
- Support #1732: Create a facility to create vectors of StrongTypes.
- __Design #1731__: Extend UniqueId Crtp to enable using strong types instead of `std::size_t`, and apply it in the case of `Domain`.

## ThirdParty

- Feature #1704: Add support to SuperLU_dist solver.
- Bug #1709: Petsc: SetUniformValue() and few other Set methods for `Vector` class didn't properly call UpdateGhosts().
- Support #1725: Few modifications due to update of third party libraries and compilers

## Geometry

- Design #1651: Change the ordering convention for the Q2 geometric nodes.
- Bug #1678: `FromCoordsMatching` test for P2 was buggy: there was a typo and we were comparing an object to itself. Fixing that made the test fail; but this test was in fact assuming something incorrect (namely that the `Coords` constituting an `Interface` were sort the same way for all ranks).
- Bug #1700: Identify clearly when there is an issue with registration within `GeometricEltFactory`.

## Operators

- __Feature #1660__: Add a policy to chose the interpolation rule for the tying points in the Shell operator.
- Feature #1664 - #1586: Implement shell operator.
- Test #1680: Add tests for MITC4 and MITC9.
- Support #1681: Add a facility to easily access a local operator.
- Feature #1586: Implement SecondPiolaKirchhoff operator in local coordinates.

## Parameters

- __Design / Bug #1708__: Change the convention of Parameter::TimeDependency NtimesModified.
- Documentation #1721: Improve documentation for the 'domain' argument in Parameter constructor.
- __Design #1724 - #1718__: Refactor Parameter and add tests to ensure all intended features (noticeably vectorial and
matricial 'Parameter').
- __Design #1723__: `LuaFunction` policy was messy to use and has been overhauled and better documented.
- Design #1726: Value sub structure for input data file now relies more on its underlying Nature.
- Test #1727: Remove TestMoReFEMDataParameter, which is much better covered with new tests introduced in #1724.

## Model

- Support #1695 / Bug #1697: add a safety in debug mode to ensure Model::Initialize() is called at most once per Model.
- __Test #1705__: Replace Mumps by SuperLU_dist in test models.
- Bug #1706: Fix small issues that prevented proper use of MainUpdateLuaFile executables.
- Support #1698: Enable the possibility not to define a TimeManager in a Model.

## Build / IDE

- __Design #1566__: XCode project is now to be generated by CMake if you want to use that IDE. The former hand-made project has been removed (was too painful to handle properly in Git, and was not necessarily up-to-date due to some MoReFEM devs using others IDEs).
- __Bug #1713__: Fix the XCode templates that were no longer recognized properly with XCode 13. This ticket impacts even non XCode users: the minimum CMake version required has been updated as I needed very recent CMake features.

## CI / Tests

- __Support #1696__: streamline more code in the Test/Tools subdirectory.
- Support #1701: Remove linter stage in CI/CD.
- Support #1707: Transform old tests into ones handled in the test suite. Some were completely overhauled.
- Support #1710: Add tags to match the new shared runners in Inria Gitlab
- Support #1735: Update Sonarqube settings in scripts to reflect changes in the new version deployed on sonarqube.inria.fr

## Tools

- Design #1688: Switch to C++ 20 in compilation version.
- Support #1689: Fix gcc compilation warnings.
- Support #1694: Update IWYU configuration file.
- Support #1711: Update Doxygen script to filter out false positives yielded by latest version
- Documentation #1715: Overhaul the README in the project (some informations there were outdated). Also clarify the conventions to activate or deactivate some of the jobs in CI.
- Support #1712: Deactivate deprecated clang warning.
- Support #1734: Fix compilation issues with gcc 12.
- Documentation #1730: Document how to use include-what-you-use facility (Wwich is expected to be done mostly by the integration manager so you shouldn't bother).
- Support #1736: Scripts: make header guards installation independant
- Documentation #1737: Introduce a file "HelpToUpgrade.md" which lists the changes from one version of MoReFEM to another
- Bug #1739: Fix the wrong behaviour when the policy about overwriting output directory is 'ask'.

## Still in progress

- Feature #248: Enable P2/Q2 geometry.
- Feature #1664: Implement shell operator. Lots of work has already been done but the feature is not entirely reliable yet.
- Support #1679: Update SetMovemeshData() for P2 Geometry.
- Documentation #1717: Update the ModelTutorial. The work is done but I don't want to close it until someone unfamiliar with MoReFEM hasn't used it and provided feedback.
- Support #1738: Set up again Sonarqube - some parts of the configuration was lost during major upgrade of Sonarqube server

Utilities

  • Test #1683: Add tests for numeric utilities.
  • Support #1685: Introduce a facility to use around std::pow.
  • Support #1687: Add Wreserved-identifier in clang warnings.
  • Support #1690: Add Wdiv-by-zero in warnings.
  • Support #1691: Create a script to ease the use of IWYU.
  • Support #1692: Improve the use of std::filesystem, which should help to use MoReFEM on Windows environments.
  • Test #1693: Rewrite NowAsString test.
  • Design #1699: Modify the way unique ids are stored.
  • Support #1722: Generalize NumericNS::AreEqual to also handle LocalVector and LocalMatrix.
  • Support #1732: Create a facility to create vectors of StrongTypes.
  • Design #1731: Extend UniqueId Crtp to enable using strong types instead of std::size_t, and apply it in the case of Domain.

ThirdParty

  • Feature #1704: Add support to SuperLU_dist solver.
  • Bug #1709: Petsc: SetUniformValue() and few other Set methods for Vector class didn't properly call UpdateGhosts().
  • Support #1725: Few modifications due to update of third party libraries and compilers

Geometry

  • Design #1651: Change the ordering convention for the Q2 geometric nodes.
  • Bug #1678: FromCoordsMatching test for P2 was buggy: there was a typo and we were comparing an object to itself. Fixing that made the test fail; but this test was in fact assuming something incorrect (namely that the Coords constituting an Interface were sort the same way for all ranks).
  • Bug #1700: Identify clearly when there is an issue with registration within GeometricEltFactory.

Operators

  • Feature #1660: Add a policy to chose the interpolation rule for the tying points in the Shell operator.
  • Feature #1664 - #1586: Implement shell operator.
  • Test #1680: Add tests for MITC4 and MITC9.
  • Support #1681: Add a facility to easily access a local operator.
  • Feature #1586: Implement SecondPiolaKirchhoff operator in local coordinates.

Parameters

  • Design / Bug #1708: Change the convention of Parameter::TimeDependency NtimesModified.
  • Documentation #1721: Improve documentation for the 'domain' argument in Parameter constructor.
  • Design #1724 - #1718: Refactor Parameter and add tests to ensure all intended features (noticeably vectorial and matricial 'Parameter').
  • Design #1723: LuaFunction policy was messy to use and has been overhauled and better documented.
  • Design #1726: Value sub structure for input data file now relies more on its underlying Nature.
  • Test #1727: Remove TestMoReFEMDataParameter, which is much better covered with new tests introduced in #1724.

Model

  • Support #1695 / Bug #1697: add a safety in debug mode to ensure Model::Initialize() is called at most once per Model.
  • Test #1705: Replace Mumps by SuperLU_dist in test models.
  • Bug #1706: Fix small issues that prevented proper use of MainUpdateLuaFile executables.
  • Support #1698: Enable the possibility not to define a TimeManager in a Model.

Build / IDE

  • Design #1566: XCode project is now to be generated by CMake if you want to use that IDE. The former hand-made project has been removed (was too painful to handle properly in Git, and was not necessarily up-to-date due to some MoReFEM devs using others IDEs).
  • Bug #1713: Fix the XCode templates that were no longer recognized properly with XCode 13. This ticket impacts even non XCode users: the minimum CMake version required has been updated as I needed very recent CMake features.

CI / Tests

  • Support #1696: streamline more code in the Test/Tools subdirectory.
  • Support #1701: Remove linter stage in CI/CD.
  • Support #1707: Transform old tests into ones handled in the test suite. Some were completely overhauled.
  • Support #1710: Add tags to match the new shared runners in Inria Gitlab
  • Support #1735: Update Sonarqube settings in scripts to reflect changes in the new version deployed on sonarqube.inria.fr

Tools

  • Design #1688: Switch to C++ 20 in compilation version.
  • Support #1689: Fix gcc compilation warnings.
  • Support #1694: Update IWYU configuration file.
  • Support #1711: Update Doxygen script to filter out false positives yielded by latest version
  • Documentation #1715: Overhaul the README in the project (some informations there were outdated). Also clarify the conventions to activate or deactivate some of the jobs in CI.
  • Support #1712: Deactivate deprecated clang warning.
  • Support #1734: Fix compilation issues with gcc 12.
  • Documentation #1730: Document how to use include-what-you-use facility (Wwich is expected to be done mostly by the integration manager so you shouldn't bother).
  • Support #1736: Scripts: make header guards installation independant
  • Documentation #1737: Introduce a file "HelpToUpgrade.md" which lists the changes from one version of MoReFEM to another
  • Bug #1739: Fix the wrong behaviour when the policy about overwriting output directory is 'ask'.

Still in progress

  • Feature #248: Enable P2/Q2 geometry.
  • Feature #1664: Implement shell operator. Lots of work has already been done but the feature is not entirely reliable yet.
  • Support #1679: Update SetMovemeshData() for P2 Geometry.
  • Documentation #1717: Update the ModelTutorial. The work is done but I don't want to close it until someone unfamiliar with MoReFEM hasn't used it and provided feedback.
  • Support #1738: Set up again Sonarqube - some parts of the configuration was lost during major upgrade of Sonarqube server.