Releases: neutrinoceros/inifix
v5.0.4
What's Changed
- MNT: migrate requirement files to PEP 735 dependency groups by @neutrinoceros in #273
- TST: use exact commit sha for github actions by @neutrinoceros in #274
- REL: migrate from pypa/build to uv build by @neutrinoceros in #275
- TST: avoid re-installing package when running tests by @neutrinoceros in #276
- TST: ensure GIL is disabled in free-threading concurrency tests by @neutrinoceros in #277
- TST: only install and invoke coverage if needed by @neutrinoceros in #279
- TST: enable branch checking in coverage by @neutrinoceros in #280
- Bump pypa/gh-action-pypi-publish from 1.10.3 to 1.11.0 in /.github/workflows in the actions group by @dependabot in #281
- RFC: flatten logic tree by @neutrinoceros in #282
- MNT: bump all GHA by @neutrinoceros in #283
- RFC: rewrite a complicated string formatting operation with an fstring by @neutrinoceros in #285
- RFC: rewrite a complicated string formatting operation with an fstring (2/2) by @neutrinoceros in #286
- CLN: cleanup unused future imports by @neutrinoceros in #288
- PERF: delay most costly import statements until they are needed by @neutrinoceros in #287
- TST: add support for Python's optimized mode by @neutrinoceros in #289
- REL: prepare release 5.0.4 by @neutrinoceros in #290
Full Changelog: v5.0.3...v5.0.4
v5.0.3
Summary
This release is functionally identical to v5.0.2. The important difference is that tests are now included in source distributions on PyPI, which is done in preparation for making inifix available on conda-forge starting from this version.
What's Changed
- Bump deadsnakes/action from 3.1.0 to 3.2.0 in /.github/workflows in the actions group by @dependabot in #261
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #262
- TST: validate inifix's pre-commit hooks continuously by @neutrinoceros in #263
- TST: test against CPython 3.14-dev by @neutrinoceros in #264
- TST: switch bleeding edge CI to uv by @neutrinoceros in #266
- TST: ensure the GIL is disabled in free-threaded concurrency tests by @neutrinoceros in #267
- BLD: include tests dir in source distributions by @neutrinoceros in #269
- DOC: add (currently 404) conda-forge badge to README.md by @neutrinoceros in #270
- MNT: add missing dev script metadata by @neutrinoceros in #271
- REL: prepare release 5.0.3 by @neutrinoceros in #272
Full Changelog: v5.0.2...v5.0.3
v5.0.2
What's Changed
- DOC: bump self revision in pre-commit example configurations by @neutrinoceros in #254
- TST: add a regression test for #251 by @neutrinoceros in #253
- TST: fix broken test workflow (install missing requirement) by @neutrinoceros in #252
- DOC: auto check pre-commit examples use latest stable version by @neutrinoceros in #255
- Bump mypy from 1.11.1 to 1.11.2 in /requirements in the actions group by @dependabot in #257
- MNT: fixup coverage reporting by @neutrinoceros in #259
- BLD: migrate from setuptools to hatchling by @neutrinoceros in #256
- BUG: fix CPU counting on Linux + Python <=3.12 by @neutrinoceros in #258
- REL: prepare release 5.0.2 by @neutrinoceros in #260
Full Changelog: v5.0.1...v5.0.2
v5.0.1
What's Changed
- DOC: fixup markup by @neutrinoceros in #250
- BUG: fix a crash in inifix-format on single-core machines by @neutrinoceros in #251
Full Changelog: v5.0.0...v5.0.1
v5.0.0
What's Changed
This release introduces a couple minor but technically breaking API changes, though it is not expected to break known applications.
See the CHANGELOG for details.
This release is also more thoroughly tested than previous ones:
- multithreading is now tested for thread safety against the free-threading build of Python 3.13
- roundtrips stability is now tested with property-based testing using
hypothesis
(instead of relying on a set of manually discovered examples). This allowed the discovery (and fixing) of a couple edge case bugs.
Python 3.10 and newer is supported.
Details
- DOC: bump package version in pre-commit setup examples by @neutrinoceros in #222
- Bump mypy from 1.10.0 to 1.10.1 in /requirements in the actions group by @dependabot in #223
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #224
- MNT: drop support for CPython 3.9 by @neutrinoceros in #225
- Bump mypy from 1.10.1 to 1.11.1 in /requirements in the actions group by @dependabot in #226
- TST: add a test case for formatting many files at once by @neutrinoceros in #227
- RFC: refactor inifix-format in prep for threading parallelism by @neutrinoceros in #228
- TST: setup concurrency testing by @neutrinoceros in #230
- TST: add concurrency test case for inifix-validate by @neutrinoceros in #232
- BUG: fix a bug (unreleased) where
inifix-format
outputs would not necessarilly retain chronological order between stdout and stdin by @neutrinoceros in #231 - PERF: implement multi-threading parallelism in
inifix-format
CLI by @neutrinoceros in #229 - TST: run concurrency tests on CPyhton 3.13t too by @neutrinoceros in #233
- CLN: cleanup unused private code by @neutrinoceros in #236
- API: make loaders roundtrip stable by default by @neutrinoceros in #235
- DOC: fixup backward compatibility claims about
integer_casting
by @neutrinoceros in #237 - DOC: fixup documentation for
integer_casting
by @neutrinoceros in #238 - TST: simplify test parametrization by @neutrinoceros in #239
- TST: generalize some property-based tests with hypothesis by @neutrinoceros in #240
- TST: refine a test case by @neutrinoceros in #241
- TST: rewrite roundtrip tests using hypothesis by @neutrinoceros in #242
- BUG: fix a corner case where data would be lost on dump for empty string values by @neutrinoceros in #243
- BUG: fix bugs around decoding supported bool values by @neutrinoceros in #245
- ENH: add and document
inifix.format_string
, replacing previously undocumentedinifix.iniformat
by @neutrinoceros in #246 - DOC: auto fix english typos by @neutrinoceros in #247
- API: restrict bool-like unescaped strings to lower, upper, or title cases by @neutrinoceros in #248
- DOC: proof-read doc for version 5.0.0 by @neutrinoceros in #244
- REL: prepare release 5.0.0 by @neutrinoceros in #249
Full Changelog: v4.5.0...v5.0.0
v4.5.0
What's Changed
- DOC: illustate how to write type-safe applications of inifix.load by @neutrinoceros in #215
- Bump the actions group in /requirements with 1 update by @dependabot in #216
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #217
- Bump mypy from 1.9.0 to 1.10.0 in /requirements in the actions group by @dependabot in #218
- TST: test Python 3.13 both GIL and free-threading flavors by @neutrinoceros in #219
- ENH: inifix-format (and pre-commit hook) now validates that formatted data compares identical to unformatted data (by default) by @neutrinoceros in #220
- REL: prepare release 4.5.0 by @neutrinoceros in #221
Full Changelog: v4.4.3...v4.5.0
v4.4.3
What's Changed
- BUG: fix a bug where inifix-format --diff would print extraneous trailing newlines by @neutrinoceros in #213
- REL: prep release 4.4.3 by @neutrinoceros in #214
Full Changelog: v4.4.2...v4.4.3
v4.4.2
What's Changed
- Bump actions/checkout from 3 to 4 in /.github/workflows by @dependabot in #199
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #200
- TST: move tests to Python 3.12 (stable) by @neutrinoceros in #198
- TST: add CPython 3.13 (pre-releases) to test matrix by @neutrinoceros in #201
- BUG: fix a confusing error message in validation routine for invalid iterable data by @neutrinoceros in #202
- REL: prep release 4.4.2 by @neutrinoceros in #203
Full Changelog: v4.4.1...v4.4.2
v4.4.1
What's Changed
- TST: force color output in pytest config by @neutrinoceros in #178
- Bump mypy from 1.2.0 to 1.3.0 in /requirements by @dependabot in #183
- Bump pypa/gh-action-pypi-publish from 1.8.5 to 1.8.6 in /.github/workflows by @dependabot in #182
- Bump mypy from 1.3.0 to 1.4.1 in /requirements by @dependabot in #185
- Bump pypa/gh-action-pypi-publish from 1.8.6 to 1.8.7 in /.github/workflows by @dependabot in #184
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #186
- REL: migrate to PyPI trusted-publishing by @neutrinoceros in #187
- BLD: drop support for Python 3.8 by @neutrinoceros in #188
- DOC: cleanup out-of-date badge by @neutrinoceros in #189
- TST: add support for CPython 3.12 by @neutrinoceros in #190
- TST: fix testing with future pytest by @neutrinoceros in #191
- Bump mypy from 1.4.1 to 1.5.1 in /requirements by @dependabot in #192
- MNT: switch to faster black pre-commit hook by @neutrinoceros in #193
- DOC: fix a undesired asymmetry in usage example by @neutrinoceros in #194
- DEP: drop more-itertools as a dependency by @neutrinoceros in #196
- REL: prep release 4.4.1 by @neutrinoceros in #197
Full Changelog: v4.4.0...v4.4.1
v4.4.0
What's Changed
This is a pure maintenance release with no additional features of fixes. The source code was re-organized to use a src-layout, which should have no visible effect from the user perspective.
- DOC: update link to Idefix by @neutrinoceros in #170
- MNT: upgrade pre-commit hooks, simplify ruff config by @neutrinoceros in #171
- Bump mypy from 1.0.1 to 1.1.1 in /requirements by @dependabot in #172
- Bump pypa/gh-action-pypi-publish from 1.6.4 to 1.8.4 in /.github/workflows by @dependabot in #173
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #174
- Bump pypa/gh-action-pypi-publish from 1.8.4 to 1.8.5 in /.github/workflows by @dependabot in #175
- Bump mypy from 1.1.1 to 1.2.0 in /requirements by @dependabot in #176
- STY: activate flake8-comprehensions and flake8-2020 (ruff) by @neutrinoceros in #177
- MNT: migrate to src layout by @neutrinoceros in #179
- BLD: use dynamic version metadata by @neutrinoceros in #180
- REL: bump version to 4.4.0 by @neutrinoceros in #181
Full Changelog: v4.3.2...v4.4.0