Highlights
In this release we start supporting Python 3.12 and remove the ceiling on most of our dependency versions to support this. We also fix a bug with one-hot encoding and add an additional check to config validation that looks for duplicate output columns for some config sections.
What's Changed
* Refactor to use colorama in a simpler way by jrbalch543 in https://github.com/ipums/hlink/pull/115. User-facing functionality should be unchanged.
* Add checks for duplicated comparison features, feature selection, and column mappings by jrbalch543 in https://github.com/ipums/hlink/pull/113. This will cause a validation error when there are duplicated aliases or output columns for these sections.
* Clean up a couple of core modules by jrbalch543 in https://github.com/ipums/hlink/pull/117. These changes are internal refactoring and don't affect functionality.
* Upgrade dependencies by pinning them more loosely and support Python 3.12 by riley-harper in https://github.com/ipums/hlink/pull/119. This removes the upper limit on almost all of our dependencies so that users can more freely pick versions for themselves. Our tests run on the most recent available versions for each particular version of Python. Unpinning these dependencies allows us to easily support Python 3.12, which we now support and run in CI/CD.
* Update the docs to include Python 3.12 by riley-harper in https://github.com/ipums/hlink/pull/120
* Revert to handleInvalid = "keep" for OneHotEncoder by riley-harper in https://github.com/ipums/hlink/pull/121. This is a bug that we introduced in the last release. Although it's not common, it does sometimes happen that our training data doesn't cover every category present in the matching data. We would rather silently continue and ignore these cases by giving them a coefficient of 0 than error out on them.
* Put the config file name in the script prompt by riley-harper in https://github.com/ipums/hlink/pull/123. This is a small quality of life feature that makes it easier to remember which config file you're running during long hlink runs.
**Full Changelog**: https://github.com/ipums/hlink/compare/v3.5.2...v3.5.3