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.

31 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

Further announcement:

fpm is now officially supported in the homebrew core tap:

brew install fpm

thanks @ankane for doing this and happy Fortran coding you all!

5 Likes

I’ve noticed that Pypi hasn’t been updated with 0.11.0. Not sure what the process is for that.

We have an open PR about that, hopefully it will be reviewed and merged soon.

I see! Didn’t realise there’s a lot happening behind the scenes. Thanks for your work @FedericoPerini