Fpm 0.11.0 released ๐ŸŽ‰

Dear Fortran enthusiasts, we are excited to announce the release of fpm v0.11.0! :rocket:

This is primarily a maintenance release, with numerous fixes, performance improvements, and compliance updates. However, we also have some notable new features, including:

:white_check_mark: HDF5 metapackage support via pkg_config
:white_check_mark: Expanded parsing to include abstract interfaces
:white_check_mark: Improved handling of --example and --target flags
:white_check_mark: Option to install test programs

Additionally, this release brings several Fortran standard compliance fixes, that allow fpm to be built with more compilers, and enhanced CI robustness.

:wrench: Whatโ€™s Changed

Some key highlights from this release:

  • Performance & Fixes

    • Improved text file reading speed
    • Prevent memory leaks by always initializing redirect_str
    • Fix for --target option only running the specified target
    • install.sh now always bootstraps with fpm v0.8.0
    • Windows archiver now searches for gcc-ar
  • Parsing & Standard Compliance

    • Expanded parsing to support abstract interfaces
    • Properly handle end program without an explicit program header
    • Fixed operator(==) conflicts for Intel Fortran Compiler (ifx)
  • CI & Infrastructure Updates

    • Metapackage CI now uses macos-12
    • Improved Ubuntu metapackage CI
    • Windows-specific fixes for registry uploads

:inbox_tray: Download

You can grab the latest version from our GitHub releases:

:link: GitHub Release Page

:speech_balloon: Feedback & Discussion

A big thank you to all contributors who helped make this release possible! :clap:
Weโ€™d love to hear your thoughts and experiences with this release.

24 Likes

I have just updated mine! Thanks to all contributors.
I have tested fpm run --example --all which is now running fine.

I have just one question on my mind: what is the current status of the fpm registry? It is a long time since I read something about it.

1 Like

Is the GitHub Actions CI package broken? Just got this:

Run fortran-lang/setup-fpm@v6.1.0
fpm-version: latest
fpm-repository: https://github.com/fortran-lang/fpm
This platform is linux
Fetching fpm from https://github.com/fortran-lang/fpm/releases/download/v0.11.0/fpm-0.11.0-linux-x86_64
Error: Error while trying to fetch fpm - please check that a version exists at the above release url.
undefined
Error: The "path" argument must be of type string. Received undefined
1 Like

Until the fpm registry is updated, what features should my unofficial list add?

Surely something got broken during the last year, currently Iโ€™m working on the homebrew tap that was also broken, Iโ€™ll look into that asap. Does that link come from setup-fpm, or should it be in the release assets?

The release asset seems to have a -gcc-12 suffix, no idea why that was added,

Issue appeared during some CI updates, Iโ€™ve deployed a fix and hopefully it should be integrated into setup-fpm soon.
Anyways, this means that to use latest one will likely need to upgrade the setup-fpm action version.

EDIT: setup-fpm@v7 is available!

2 Likes

Iโ€™ll note that the name of the binary in the github release now has -gcc-12 at the end of its name. So if anyone is curling this binary directly from the current release and hasnโ€™t updated the name, theyโ€™ll continue to get version 0.10.1:

curl -o ./fpm -L https://github.com/fortran-lang/fpm/releases/download/current/fpm-linux-x86_64
./fpm --version
# Version:     0.10.1, alpha

curl -o ./fpm -L https://github.com/fortran-lang/fpm/releases/download/current/fpm-linux-x86_64-gcc-12
./fpm --version
# Version:     0.11.0, alpha

I wouldnโ€™t say that this is a problem, but I think itโ€™s a quirk of github releases that is at least worth pointing out

2 Likes

I have noticed that fpm does appear in the Fortran Wiki in the list of Build tools but does not have its own page. We should fix that.

1 Like