Releases: neutrinoceros/inifix
v6.1.1
What's Changed
- BUG: fix error reporting in inifix format pre-commit hook by @neutrinoceros in #410
- REL: prepare release 6.1.1 by @neutrinoceros in #411
Full Changelog: v6.1.0...v6.1.1
v6.1.0
inifix
- ENH: validation now reports as many problems as possible instead of just the first one it finds by @neutrinoceros in #397
inifix-cli (via pre-commit)
- BLD: switch build backend to flit-core on
inifix-cliby @neutrinoceros in #384 - ENH: add a
--sectionsargument toinifix-clicommands (pre-commit) by @neutrinoceros in #407
Internal
- REL: systematically test source distribution in isolation before publication by @neutrinoceros in #381
- RFC: generalize multi-threading parallelism in
inifix_cli(pre-commit hooks) by @neutrinoceros in #234 - Lock file maintenance by @renovate in #383
- Update actions/download-artifact action to v4.1.9 by @renovate in #385
- Update actions/upload-artifact action to v4.6.1 by @renovate in #386
- Update astral-sh/setup-uv action to v5.3.0 by @renovate in #387
- TYP: ensure type checkers run in non-editable installs by @neutrinoceros in #389
- MNT: lock file maintenance by @neutrinoceros in #390
- TST: fix test coverage measurement for CLI package by @neutrinoceros in #391
- TST: allow python3.14-only test to run on older versions using typing-extensions' backports by @neutrinoceros in #392
- Update actions/download-artifact action to v4.2.1 by @renovate in #394
- Update actions/upload-artifact action to v4.6.2 - autoclosed by @renovate in #393
- MNT: migrate typo-checker pre-commit hook (typos -> codespell) by @neutrinoceros in #396
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #395
- TST: fine tune cache keys in CI to better avoid repeated downloads of Python packages by @neutrinoceros in #398
- TST: disable cache pruning by @neutrinoceros in #399
- Update astral-sh/setup-uv action to v5.4.1 by @renovate in #400
- MNT: lock file maintenance by @neutrinoceros in #401
- TYP: parametrize on type checkers by @neutrinoceros in #404
- TST: use default concurrency rules in regular CI by @neutrinoceros in #405
- TST: simplify typechecking commands (invoke type checkers directly) by @neutrinoceros in #406
- TYP: upgrade pyright and basedpyright by @neutrinoceros in #402
- REL: prepare release 6.1.0 by @neutrinoceros in #408
Full Changelog: v6.0.1...v6.1.0
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.castby @neutrinoceros in #329 - TYP: reconfigure mypy (enable strict mode) by @neutrinoceros in #352
- TYP: avoid
typing.Any, prefer annotating vars asobjectin places where type is alrady narrowed by logic by @neutrinoceros in #355 - API: rewrite inifix's CLIs as a separate, private
typerapp 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
basedpyrightto 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__.annotationsby @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.lockby @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_schemaby @neutrinoceros in #308 - ENH: expose sections-mode selection in IO API by @neutrinoceros in #310
- TYP: narrow return type of
inifix.loadandinifix.loadsfollowingparse_scalars_as_listsandsectionsby @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