Releases: neutrinoceros/inifix
v4.1.0
What's Changed
- STY: migrate linting to ruff by @neutrinoceros in #142
- STY: upgrade black by @neutrinoceros in #143
- MNT: move requirement files to dedicated directory + update docs by @neutrinoceros in #145
- TST: setup dependabot by @neutrinoceros in #146
- ENH: allow special character '.' in parameter names by @neutrinoceros in #151 (fix issue #148 by @xshaokun)
- ENH: allow skipping validation in IO operations by @neutrinoceros in #150
- REL: prep release 4.1.0 by @neutrinoceros in #152
Full Changelog: v4.0.0...v4.1.0
v4.0.0
What's Changed
- TST: use requirement files instead of optional dependencies for tests and type checking by @neutrinoceros in #141
Full Changelog: v3.1.0...v4.0.0
v3.1.0
What's Changed
- TST: upgrade GHA by @neutrinoceros in #117
- TST: workaround an issue with Python 3.11 breaking pytest by @neutrinoceros in #115
- rollback unnecessary workaround (Python 3.11.0b3 is out) by @neutrinoceros in #118
- TYP: upgrade type annotations (
__future__
) by @neutrinoceros in #116 - ENH: drop niche, untestable, try/except block by @neutrinoceros in #119
- DOC: improvements to README.md by @neutrinoceros in #124
- DOC: simplify Python version requirement declaration by @neutrinoceros in #125
- TST: run normal CI on Python 3.11 for all platforms, combine existing workflows, drop codecov.io by @neutrinoceros in #128
- MNT: houscleaning for GHA by @neutrinoceros in #129
- BLD: migrate static metadata and tool configurations from setup.cfg to pyproject.toml (semi automated with ini2toml), adapt pre-commit hooks by @neutrinoceros in #132
- ENH: optimize startup time by @neutrinoceros in #135
- TST: make a flaky test more robust by @neutrinoceros in #138
- MNT: move flake8 configuration to dedicated file by @neutrinoceros in #139
- REL: fix auto-publish workflow by @neutrinoceros in #140
- ENH: add option to load scalars as single-element lists by @neutrinoceros in #137
Full Changelog: v3.0.0...v3.1.0
v3.0.0
What's Changed
This release contains a small, yet breaking change: in previous versions of inifix, t
and f
were read as booleans. This feature was never documented and was never supported in Idefix. Meanwhile, Idefix (dev) now supports reading yes
and no
as booleans, so inifix will now also automatically parse these special strings to booleans.
- ENH: add special rules to parse 'yes' and 'no' as booleans (follow Idefix dev) by @neutrinoceros in #114
Full Changelog: v2.3.0...v3.0.0
v2.3.0
What's Changed
- ENH: add support for binary IO by @neutrinoceros in #112
Full Changelog: v2.2.1...v2.3.0
v2.2.1
What's Changed
- BUG: fix a regression (inifix 2.2.0) where inifix.dump was able to write to a file even if user doesn't have permission to by @neutrinoceros in #110
Full Changelog: v2.2.0...v2.2.1
v2.2.0
What's Changed
- BUG: fix casting for numeric str by @neutrinoceros in #108
- ENH: make file writing operations atomic (inifix.dump, inifix.format.iniformat) by @neutrinoceros in #109
Full Changelog: v2.1.2...v2.2.0
v2.1.2
What's Changed
- BUG: fix a bug where formatting would affect spacing within quoted str values
- BUG: fix a bug where strings containing spacing would be dumped without correct quotes,
making them appear as multiple separate values - BUG: fix a bug where special strings 'true', 't', 'false' and 'f' would decay to boolean after two parsing cycles
- BUG: fix import * for inifix.io (add loads and dumps)
by @neutrinoceros in #107
Full Changelog: v2.1.1...v2.1.2
v2.1.1
What's Changed
- BUG: fix a bug where string values containing whitespaces would incorrectly be splitted by @neutrinoceros in #106
Full Changelog: v2.1.0...v2.1.1
v2.0.0
What's Changed
The format enforced by inifix-format was changed to improve compacity and readability. The new format is designed to be closer to manual formatting that is actually perfomed by Idefix users and contributors.
This is considered a major version change because the new formatter, by design, is no configurable, and in particular doesn't support the --name-column-size
flag implemented in inifix 1.2
The API is otherwize identical to version 1.2.1
- better formatting by @neutrinoceros in #103
Format differences
Values and comments are aligned in columns and by section. In previous versions they were aligned globally, with hard coded column widths, resulting in much more space being wasted.
The new format is intended to be more legible and closer to what Idefix users actually do manually.
Here's a small example of the previous format compared with the new one
inifix 1.2.1
[Grid]
X1-grid 1 0.3 32 u 3.0
X2-grid 1 1.15 32 u 3.141592653589793 # leave out the pole
X3-grid 1 -3.141592653589 32 u 3.141592653589793 # full azimuthal domain
[TimeIntegrator]
CFL 0.5 # loose CFL
tstop 1.e-4 # short run
first_dt 1.e-4
nstages 2
[Hydro]
solver hllc
gravPotential userdef
csiso userdef
viscosity rkl userdef
fargo userdef
[Boundary]
X1-beg userdef
X1-end userdef
X2-beg userdef
X2-end userdef
X3-beg periodic
X3-end periodic
inifix 2.0.0
[Grid]
X1-grid 1 0.3 32 u 3.0
X2-grid 1 1.15 32 u 3.141592653589793 # leave out the pole
X3-grid 1 -3.141592653589 32 u 3.141592653589793 # full azimuthal domain
[TimeIntegrator]
CFL 0.5 # loose CFL
tstop 1.e-4 # short run
first_dt 1.e-4
nstages 2
[Hydro]
solver hllc
gravPotential userdef
csiso userdef
viscosity rkl userdef
fargo userdef
[Boundary]
X1-beg userdef
X1-end userdef
X2-beg userdef
X2-end userdef
X3-beg periodic
X3-end periodic
Full Changelog: v1.2.1...v2.0.0