Skip to content

Releases: gerlero/foamlib

v1.4.0

07 Dec 18:54
e885bde

Choose a tag to compare

foamlib v1.4.0

New feature: colon (:) as index

FoamFile and related classes now support colons (:) as indices, with the meaning of "this entire file/dictionary". Accessing file[:] returns an independent copy of the entire data (it is equivalent to file.as_dict()), while setting file[:] = data will replace all of the contents of the object (except the header, if present).

File manipulation improvements

File manipulation is now safer and more robust, with minor grammar changes, a much improved data normalization step (whose purpose is to ensure that any data written by foamlib always matches what its parser expects), and additional validation of user inputs for extra certainty.

More modern codebase

Updated a huge portion of the code to use constructs from the newer versions of Python, including the use of match-case (PEP 634 structural pattern matching)—available since Python 3.10—where it makes sense.

Dropped support for Python 3.8 and 3.9

These versions are now end of life and their use is not recommended anymore. However, installing foamlib with these Python versions is still possible: you'll just get an earlier version of foamlib.

All changes

Full Changelog: v1.3.15...v1.4.0

v1.3.21

03 Dec 21:12
edb6acf

Choose a tag to compare

What's Changed

Full Changelog: v1.3.20...v1.3.21

v1.3.20

03 Dec 00:44
fdcec66

Choose a tag to compare

What's Changed

  • Backport log monitoring robustness fix by @gerlero in #640

Full Changelog: v1.3.19...v1.3.20

v1.3.19

26 Nov 15:16
c0d5f99

Choose a tag to compare

What's Changed

Full Changelog: v1.3.18...v1.3.19

v1.3.18

25 Nov 19:20
35d0dab

Choose a tag to compare

What's Changed

Full Changelog: v1.3.17...v1.3.18

v1.3.17

25 Nov 17:08
891e380

Choose a tag to compare

What's Changed

  • Backport data normalization edge-case fix by @gerlero in #626

Full Changelog: v1.3.16...v1.3.17

v1.3.16

25 Nov 16:32
a6a2a56

Choose a tag to compare

What's Changed

Full Changelog: v1.3.15...v1.3.16

v1.3.15

23 Nov 03:35
94ebce3

Choose a tag to compare

What's Changed

  • Update pytest version constraint to <10 by @gerlero in #610
  • Remove license-files from pyproject.toml by @gerlero in #611
  • Update uv_build version range in pyproject.toml by @gerlero in #612
  • Remove license classifier from pyproject.toml by @gerlero in #613
  • Switch to src-based layout by @gerlero in #614
  • Update pytest-asyncio version constraint by @gerlero in #615
  • Revert "Remove license-files from pyproject.toml" by @gerlero in #616

Full Changelog: v1.3.14...v1.3.15

v1.3.14

19 Nov 00:11
4ba7043

Choose a tag to compare

What's Changed

Full Changelog: v1.3.13...v1.3.14

v1.3.13

08 Oct 19:00
75f7cab

Choose a tag to compare

What's Changed

Full Changelog: v1.3.12...v1.3.13