## 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