From 1b3d958106c1fe5a9f36f2194b5c2111000105a7 Mon Sep 17 00:00:00 2001 From: HugoFara Date: Thu, 13 Aug 2026 00:06:48 +0200 Subject: [PATCH 1/2] docs(changelog): correct the v2.5.0 wheel platforms PyPI has three wheels for 2.5.0 -- manylinux x86_64, manylinux aarch64 and macosx_14_0_arm64. There is no Intel macOS wheel: the macos-13 runner was retired and its job dropped in e43e0a0, which is an ancestor of the tag. --- CHANGELOG.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a1a534c1..38df0828 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -96,11 +96,13 @@ Merged since v2.5.0, not yet released. ### Added -- **Pip-installable wheels** for Linux (x86_64, aarch64) and macOS (Apple - Silicon and Intel), CPython 3.9 and newer. `pip install forefire` gives both - the `forefire` command-line interpreter and the `pyforefire` module, with - NetCDF bundled inside the wheel. Wheels are built without MPI and without - `-march=native`. ([#151]) +- **Pip-installable wheels** for Linux (x86_64, aarch64) and macOS on Apple + Silicon, CPython 3.9 and newer. `pip install forefire` gives both the + `forefire` command-line interpreter and the `pyforefire` module, with NetCDF + bundled inside the wheel. Wheels are built without MPI and without + `-march=native`. There is no Intel macOS wheel — the `macos-13` runner was + retired before the release, so Intel Macs build from the source + distribution. ([#151]) ### Changed From 53bc802e386a4a315a13b9ebc3f3afa1428fe385 Mon Sep 17 00:00:00 2001 From: HugoFara Date: Thu, 22 Oct 2026 11:07:32 +0200 Subject: [PATCH 2/2] docs(changelog): add the entries merged since v2.5.0 without one #179, #181, #182, #189, #190, #192 and #197 had no entry, and the listenHTTP entry did not credit #203. Version bumps, merges and the documentation backports are left out. --- CHANGELOG.md | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 38df0828..f3e8484a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -42,12 +42,31 @@ Merged since v2.5.0, not yet released. process, so several simulations in one Python process no longer share state, and a crash in the kernel raises `pyforefire.WorkerDied` instead of ending Python. `ForeFire()` itself is unchanged. ([#175]) +- `forefire-validate landscape.nc fuels.csv` checks a landscape against its + fuel table before a run: fuel indices missing from the table, a fuel and + elevation shape mismatch, and missing elevation or wind. ([#190]) +- `tools/preprocessing/genForeFireCase.py` is back as a general landscape + writer. Its 3-D and 4-D fields are written in the right axis order, it uses + `netCDF4` instead of the deprecated `scipy.io.netcdf`, and it checks the + required `parametersProperties` keys before writing. ([#179]) +- A User Guide page on driving a simulation from NumPy arrays, with no + landscape file and no GIS. ([#189]) ### Fixed - `pyforefire` calls that read the domain (`ff[key]`, `addLayer`, `addScalarLayer`, `addIndexLayer`, `getDoubleArray`) segfaulted Python when run before `FireDomain[...]`. They now raise `RuntimeError`. ([#202]) +- Building a second `FireDomain`, as coupled runs do, wiped the static model + tables and could leave the first domain using the second one's propagation + model, which gave wrong spread rates. Each domain now releases only the + models it registered, and a domain with a propagation layer no longer leaks + about 183 kB. ([#182]) +- `quit[]` called `exit(0)`, ending the host process: Python, or Meso-NH in a + coupled run. It now ends the session only; the `forefire` shell still exits + on it, including over HTTP. ([#181]) +- `clear[]` aborted with a double free after a fire front merged with itself + into an outer loop too small to keep. ([#197]) - Rate of spread stayed finite and decreasing at high dead fuel moisture, and `DataBroker` no longer serves `moisture` through the five-slot getter, which returned a neighbouring property. ([#158]) @@ -90,7 +109,11 @@ Merged since v2.5.0, not yet released. `systemExec` is refused over HTTP, the static file server only serves the run directory and `FOREFIREHOME/tools/htdocs`, and commands from another site or host name are refused. Other commands can still read and write files, so the - server is meant for trusted local use. ([#199]) + server is meant for trusted local use. ([#199], [#203]) +- A safe-topology failure in a step no longer ends the process; the command + reports an error and the coupled run continues. ([#181]) +- `stb_image_write.h` moved to `third_party/`, with its version, origin and + MIT / public-domain licence recorded. ([#192]) ## [v2.5.0] — 2026-08-11 @@ -224,3 +247,10 @@ repository stays easy to return to. [#196]: https://github.com/forefireAPI/forefire/issues/196 [#202]: https://github.com/forefireAPI/forefire/pull/202 [#199]: https://github.com/forefireAPI/forefire/pull/199 +[#179]: https://github.com/forefireAPI/forefire/pull/179 +[#181]: https://github.com/forefireAPI/forefire/pull/181 +[#182]: https://github.com/forefireAPI/forefire/pull/182 +[#189]: https://github.com/forefireAPI/forefire/pull/189 +[#190]: https://github.com/forefireAPI/forefire/pull/190 +[#192]: https://github.com/forefireAPI/forefire/pull/192 +[#203]: https://github.com/forefireAPI/forefire/pull/203