What changed
Wannier90 shipped version 4.0.3 on 5 October 2026. The note lives on the project GitHub CHANGELOG. The patch targets teams that embed the code as a library inside larger materials workflows.
The library now builds as libwannier90 for both serial and MPI runs. The old _mpi suffix is gone. New calls include w90_free() to free a library data object and w90_print_timings() to print timing reports. w90_is_mpi_build() tells the host program whether MPI is enabled.
The test suite moved to pytest and needs Python 3.10 or newer. Executables now exit with a nonzero status on fatal errors, and every MPI rank reports the same code. Docs for developers now build in CI and publish at the FORD site linked from the changelog.
Other fixes cover library keyword handling, removed obsolete keys, and several crash paths in parallel overlap writes. A new keyword write_ndegen_applied changes how some Hamiltonian files are written for Fourier sums on a full Wigner Seitz list.
Why it matters
Many groups no longer run Wannier90 only from the command line. They link it into Python or Fortran drivers for high throughput band and transport jobs. A clear free path and stable error codes reduce silent failures in batch pipelines.
The pytest suite also makes regressions easier to catch before you upgrade a cluster wide install. That matters when a bad point can waste thousands of core hours on a large supercell.
Library timing printouts help you spot hot phases when you embed runs inside an outer optimization loop. That data feeds decisions on whether to cache overlaps or split k point grids.
Who is affected
Computational materials scientists and HPC support staff maintain Wannier90 builds. Software teams that wrap Wannier90 inside workflow engines should read the library API changes. Graduate groups that teach Wannier90 in courses may need to update install notes for pytest and Python version floors.
Downstream packages that assume the old MPI library name must update link lines. Teams that parse log files should note new warnings when convergence windows are set to one or less.
What to do next
Read the v4.0.3 CHANGELOG and compare it to your pinned tag. If you use library mode, add w90_free() where you tear down runs and test w90_is_mpi_build() in your MPI launcher. Run the pytest suite locally before you roll the tag into a shared module on your cluster.
If you rely on keyword files from older releases, check removed keys such as energy_unit and devel_flag. Update scripts that assumed the _mpi library name. Rebuild any Docker images that bake Wannier90 so they pick up INSTALL.md renamed from README.install.
What to watch
Watch the Wannier90 GitHub repo for the next tag after 4.0.3. Watch whether downstream codes like EPW adopt w90_free() in their public APIs. Watch CI docs at the FORD site for new tutorial pages that match the pytest layout.
Watch issue threads on keyword substring matching fixes if you use long control files with similar token names.
Teams that export Wannier functions to tight binding codes should test write_ndegen_applied on a small cell before they regenerate large _hr.dat files. The keyword changes which R grid files use, and downstream parsers may need a version bump. HPC schedulers should also note that pytest adds a Python dependency on login nodes used for preflight checks.
Library callers that pass MPI handles should read the changelog note on integer communicator handles. Some Fortran compilers had typing issues with older f08 handles. If your driver already wraps communicators in C, the new helper may simplify your glue code without changing physics results.
Pack maintainers on Spack or EasyBuild should queue a rebuild once their regression tests finish. Point users to INSTALL.md because the old README.install name is gone.
Photo: RDNE Stock project / Pexels
Sources
- Primary — Wannier Developers, CHANGELOG for v4.0.3 (5 October 2026). Release date, library API names, pytest move, and bugfix list.
- Primary — Wannier Developers, Wannier90 repository (October 2026). Source tree and install path for the tag.
- Secondary — Wannier Developers, FORD documentation site (October 2026). CI built developer docs referenced in the changelog.
Related in Quantum
Continue reading

