Fpm version 0.8.0 released

Fpm version 0.8.0 released

This release introduces support for enabling and disabling language features in fpm, such as implicit typing or default source form. By default, fpm now tries to disable implicit typing rules, implicit external interfaces and assumes the source form is always free. The options can be overwritten in the manifest for each project.

Furthermore, first support for local and remote registries are integrated in fpm. The registry support can be configured in a new global configuration file. This development was sponsored by the Sovereign Tech Fund.

Bugfixes and improvements to the preprocessor support, C++ compilation, dependency updates and more are included in this release.

Find the full release notes here.

Many thanks to Aarush Bhat (@sloorush), Minh Dao (@minhqdao), Sebastian Ehlert (@awvwgk), Sergey Fedorov (@barracuda156), Sebastien Marie (@semarie), Giannis Nikiteas (@gnikit), Federico Perini (@perazz), Ivan Pribec (@ivan-pi), John Urban (@urbanjost), Zuo Zhihua (@zoziha) for contributing patches to this release.

Changelog

  • Set C++ compiler to clang++ in fpm#787

  • Document FPM_CXX, FPM_CXXFLAGS and options in fpm#788

  • Simplify and update README in fpm#778

  • Add C++ flags to profiles in fpm#786

  • fix 32-bit platform issues with M_CLI2 in fpm#796

  • Fix missing space before -D option for preprocessor in fpm#804

  • Do not pass in quotes in manifest tests in fpm#806

  • Improve error handling for invalid git dependencies in fpm#797

  • Lower windows check precedence in get_os_type function in fpm#802

  • Fix broken links to webpage in fpm#826

  • Consistently call execute_command_line from the run wrapper in fpm#832

  • Fix the build on macOS PPC in fpm#824

  • Query latest release from GitHub in fpm#818

  • Add missing dollar sign in OpenMP directive in fpm#841

  • Fix query for latest release from GitHub on missing curl in fpm#839 and fpm#842

  • Fix unallocated model variables in the testsuite (#844) in fpm#845

  • Add wait when linking library with *.resp file in fpm#808

  • Add option to enforce module naming in fpm#828

  • Fix unhandled error branch in fpm#849

  • Automated dependency tree update in fpm#843

  • Return program’s exit code from fpm run in fpm#852 and fpm#

  • Update gcc version to 10 for CI in fpm#857

  • Fix macOS CI for fpm-bootstrap executables built with gcc-9 in fpm#861

  • Update TOML Fortran to version 0.4.0 in fpm#862

  • Add support for toggling Fortran features in fpm#864

  • Add global configuration file and support local and remote registry fpm#817