Releases: neutrinoceros/inifix
v6.0.1
What's Changed
- BLD: ensure conftest.py is included in source distributions by @neutrinoceros in #379
- REL: prepare release 6.0.1 by @neutrinoceros in #380
Full Changelog: v6.0.0...v6.0.1
v6.0.0
Summary
This release is marked as breaking because command line interfaces (inifix-validate
and inifix-format
) were removed and all submodules were marked as private. In practice none of this is expected to break any known use case.
Many small internal improvements were applied. The code now type checks even in strict mode with both mypy and basedpyrigth, and is even more thoroughly tested.
There are no intended user-visible changes beyond the aforementionned breaking changes.
What's Changed
- TYP: improve some excessively vague (or missing) type annotations by @neutrinoceros in #330
- TYP: refine pyright configuration to allow defensive programming patterns currently flagged as unreachable by @neutrinoceros in #331
- STY: update internal string formatting for stability against ruff 0.9 by @neutrinoceros in #348
- RFC: prefer dataclasses to named tuples by @neutrinoceros in #349
- RFC: refactor internals of section parsing to avoid
typing.cast
by @neutrinoceros in #329 - TYP: reconfigure mypy (enable strict mode) by @neutrinoceros in #352
- TYP: avoid
typing.Any
, prefer annotating vars asobject
in places where type is alrady narrowed by logic by @neutrinoceros in #355 - API: rewrite inifix's CLIs as a separate, private
typer
app by @neutrinoceros in #354 - API: mark all submodules as private by @neutrinoceros in #359
- DOC: remove linting-related badges, add uv's by @neutrinoceros in #365
- RFC: move CLI's logic to
__main__
module by @neutrinoceros in #367 - TST: test against oldest dependencies by @neutrinoceros in #366
- TYP: add
basedpyright
to type checking test matrix by @neutrinoceros in #368 - RFC: rewrite enotation module by @neutrinoceros in #369
- DEPR: ensure deprecated import still works in inifix 6.0 by @neutrinoceros in #371
- TST: add property-based tests for enotation module by @neutrinoceros in #373
- RFC: refactor float encoding (encapsulate the case we e-notation is not explicitly asked for) by @neutrinoceros in #375
- TST: add a workflow to check pre-commit hooks by @neutrinoceros in #376
- TST: show diff on failure in pre-commit trial checks by @neutrinoceros in #377
- REL: prepare release 6.0.0 by @neutrinoceros in #378
Full Changelog: v5.1.3...v6.0.0
v5.1.3
What's Changed
- TYP: prefer absolute forward references and avoid
__future__.annotations
by @neutrinoceros in #326 - TYP: ensure type annotations of the IO API are accessible at runtime in Python 3.14 by @neutrinoceros in #327
- REL: prepare release 5.1.3 by @neutrinoceros in #328
Full Changelog: v5.1.2...v5.1.3
v5.1.2
What's Changed
- MNT: add uv-lock to pre-commit by @neutrinoceros in #322
- TYP: complete partially unknown type information by @neutrinoceros in #323
- REL: prepare release 5.1.2 by @neutrinoceros in #324
- REL: bump pypa/gh-action-pypi-publish by @neutrinoceros in #325
Full Changelog: v5.1.1...v5.1.2
v5.1.1
What's Changed
- BUG: restore IDEs' ability to obtain IO API docstrings (avoid dynamic string interpolations) by @neutrinoceros in #320
- REL: prepare release 5.1.1 by @neutrinoceros in #321
Full Changelog: v5.1.0...v5.1.1
v5.1.0
What's Changed
- Bump astral-sh/setup-uv from 4.0.0 to 4.2.0 in /.github/workflows in the actions group by @dependabot in #291
- TST: bump astral/setup-uv (4.0.0 -> 4.2.0) by @neutrinoceros in #292
- TST: rewrite testing workflows around
uv.lock
by @neutrinoceros in #293 - TST: leverage dependency group nesting by @neutrinoceros in #294
- TST: re-introduce CPython 3.14 testing in bleeding-edge CI and use Quansight-Labs/setup-python for freethreaded CPython 3.13 by @neutrinoceros in #295
- TST: test against CPython 3.10.0 (instead of latest 3.10.x) by @neutrinoceros in #296
- BLD: refine exclude patterns for sdist building by @neutrinoceros in #297
- TYP: add missing
__all__
symbol by @neutrinoceros in #300 - MNT: bump pre-commit hooks (typos + ruff) by @neutrinoceros in #302
- TYP: fix errors reported by pyright by @neutrinoceros in #303
- TYP: fix a warning reported by pyright by @neutrinoceros in #304
- MNT: expand pre-publication checks and block publication if they fail by @neutrinoceros in #306
- ENH: add
inifix.__version_tuple__
by @neutrinoceros in #305 - DOC: add missing changelog entries by @neutrinoceros in #307
- ENH: add sections-mode selection to
inifix.validate_inifile_schema
by @neutrinoceros in #308 - ENH: expose sections-mode selection in IO API by @neutrinoceros in #310
- TYP: narrow return type of
inifix.load
andinifix.loads
followingparse_scalars_as_lists
andsections
by @neutrinoceros in #311 - CLN: drop unused future import by @neutrinoceros in #312
- TYP: systematically typecheck with pyright as well as mypy by @neutrinoceros in #313
- DOC: avoid duplicated docstring sources using string interpolation by @neutrinoceros in #314
- TST: run pre-publish-checks when affected files are updated by @neutrinoceros in #316
- TST: bump uv.lock (hypothesis 6.122.1 -> 6.122.3) by @neutrinoceros in #317
- TST: do not run CI on changelog-only changes by @neutrinoceros in #318
- DOC: add narative docs for sections argument and type narrowing by @neutrinoceros in #315
- REL: prepare release 5.1.0 by @neutrinoceros in #319
Full Changelog: v5.0.4...v5.1.0
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