Changelog

This is a record of BatConf releases and what went into them, in reverse chronological order. All previous releases should still be available on PyPI.

BatConf 0.x

0.3.1 - 2025-11-13

Bug Fixes:

  • Fix Python version shields in readme and pypi

  • Update supported version classifiers

Project management:

  • Add release issue template

0.3.0 - 2025-10-30

Supported versions:

  • Drop support for python 3.9

  • Add support for python 3.13t

  • Add support for python 3.14 and 3.14t

Features:

  • Support for free-threading/nogil

0.2.1 - 2025-09-18

Project maintenance

  • Updated links on docs page

  • Updated example code in readme

  • Changed build backend to Hatchling

0.2.0 - 2025-07-07

Supported versions:

  • Drop support for python 3.8

  • Add support for python 3.13

Documentation:

  • Extensive additions and improvements

  • Update Example Project

  • Add Legacy Example

  • Add dynamic copyright year (thanks @jgafnea)

  • Add spiffy config composition diagram

Code:

  • Freeform Schemas: Config schemas no longer depend on module names.

  • Add YamlConfig to replace FileConfig

    • Deprecate FileConfig <batconf.sources.file.FileConfig>

  • Add .ini config source IniConfig

  • Add .toml config source TomlConfig

  • Make the pyyaml dependency optional

  • Make [toml] an optional extra for Python version < 3.11

  • Docs: added a migration guide for v0.1 -> v0.2

  • Added Example Jupyter Notebook to notebooks

  • Modify :Example Project to use .ini instead of .yaml

  • Update Example Project to use freeform Schemas, instead of schemas bound to module namespaces.

  • Add default parameters to Configuration class:
    • The Configuration class now handles default values set in Config dataclasses. As a result, we no longer need the DataclassConfig source to lookup default values.

    • Improve Configuration repr for paths and child-configs

    • Remove DataclassConfig from example code and docs

  • Add _path attribute to Configuration

  • Lint with Ruff

0.1.8 - 2024-08-09

Observability improvements

  • Add expressive repr to Configuration class

Project maintenance

  • Improve documentation

  • Add security policy

  • Add project logo

  • Add optional extras for dev and docs

0.1.7 - 2024-06-13

  • Add support for python3.12

  • Various improvements to type hints

  • Add design principles section to README

0.1.6 - 2023-07-19

  • Unpin pyyaml dependency