Skip to content

Commit 45337e6

Browse files
authored
Announce 0.12.0 (#166)
1 parent faacf8e commit 45337e6

File tree

1 file changed

+53
-0
lines changed

1 file changed

+53
-0
lines changed
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
---
2+
author: Federico Perini, Christopher Albert, Ivan Pribec, Minh Dao
3+
date: 2025-05-18
4+
category: release
5+
---
6+
7+
# Fpm version 0.12.0 released
8+
9+
The Fortran Package Manager (FPM) v0.12.0 introduces new powerful features aimed at improving interoperability, build system integration, and modular project design. The release includes continued refactoring and maintenance efforts, enhanced compiler support, and new tooling capabilities.
10+
11+
## Highlights
12+
13+
### 🔧 Build system integration via `compile_commands.json`
14+
15+
Projects built with `fpm` can now export a `compile_commands.json` file compatible with editors and tools like **clangd**, **VS Code**, or **CMake Tools**. This feature enables powerful code navigation, symbol indexing, and auto-completion across large Fortran codebases.
16+
17+
### 📦 New metapackages: BLAS/LAPACK and NetCDF
18+
19+
Two new [metapackages](https://fpm.fortran-lang.org/spec/metapackages.html) simplify integration with widely used scientific libraries:
20+
- **BLAS/LAPACK** support allows linking to external high-performance libraries either when using `stdlib`.
21+
- **NetCDF** support with a pkg-config backend.
22+
23+
### 🧩 Static and shared library targets
24+
25+
Library targets now support both `static` and `shared` output types using the `[library] type = "shared"` or `"static"` settings. This enables use cases such as plugin architectures, dynamic linking with external applications, or bundling all dependencies into a monolithic archive.
26+
27+
## Futher fixes and improvements
28+
29+
- Windows bootstrapping and Flang OpenMP syntax fixes.
30+
- Optional user-defined flags for compiler introspection.
31+
- `--config` flag to specify alternate configuration files.
32+
- Expanded metapackage support: Intel MPI, SLURM `srun`, external BLAS for `stdlib`.
33+
- Continuous improvements to modular structure and CLI argument handling.
34+
35+
## Changelog (selected)
36+
37+
- Export `compile_commands.json` by [@perazz](https://github.com/perazz) in [#1129](https://github.com/fortran-lang/fpm/pull/1129)
38+
- [metapackage] BLAS by [@krystophny](https://github.com/krystophny) in [#1121](https://github.com/fortran-lang/fpm/pull/1121)
39+
- [metapackage] NetCDF by [@krystophny](https://github.com/krystophny) in [#1120](https://github.com/fortran-lang/fpm/pull/1120)
40+
- [metapackage] stdlib: enable external BLAS/LAPACK by [@perazz](https://github.com/perazz) in [#1139](https://github.com/fortran-lang/fpm/pull/1139)
41+
- feat: `shared` and `static` library targets by [@perazz](https://github.com/perazz) in [#1138](https://github.com/fortran-lang/fpm/pull/1138)
42+
- Enter custom path to the config file via command line by [@minhqdao](https://github.com/minhqdao) in [#945](https://github.com/fortran-lang/fpm/pull/945)
43+
44+
**Full changelog**: [GitHub comparison view](https://github.com/fortran-lang/fpm/compare/v0.11.0...v0.12.0)
45+
46+
## New contributor
47+
48+
We welcome [@krystophny](https://github.com/krystophny), who contributed major refactoring and introduced the NetCDF and BLAS metapackages.
49+
50+
## Feedback and discussion
51+
52+
Join the conversation and share your feedback on the [Fortran Discourse thread](https://fortran-lang.discourse.group/t/fpm-version-0-12-0-released).
53+

0 commit comments

Comments
 (0)