Major Changes:
- Automated matrix-testing on Linux / Mac / Windows with Python 3.9 / 3.10 / 3.11 through GitHub Actions CLI. Core functions are tested across all of them, and badges in the README indicate test status after every code change
[![Partial Test](https://github.com/PhasesResearchLab/pySIPFENN/actions/workflows/partialTest.yml/badge.svg)](https://github.com/PhasesResearchLab/pySIPFENN/actions/workflows/partialTest.yml) [![Full Test](https://github.com/PhasesResearchLab/pySIPFENN/actions/workflows/fullTest.yml/badge.svg)](https://github.com/PhasesResearchLab/pySIPFENN/actions/workflows/fullTest.yml)
- Automated test coverage analysis through GitHub Actions CI and reporting through Codecov service
[![codecov](https://codecov.io/gh/PhasesResearchLab/pySIPFENN/branch/main/graph/badge.svg?token=S2J0KR0WKQ)](https://codecov.io/gh/PhasesResearchLab/pySIPFENN)
- Many improvements in the testing procedures and additional tests bringing the coverage up from 74% (in v0.11.0) to 86%.
- (affects backward compatibility) The models download and run functions built around MxNet, which have been deprecated for a while since v0.9.0, have been removed.
- (affects backward compatibility) Small change in the behavior of the runModels_dilute() function. Now it expects the _descriptor_ / _feature vector_ input "KS2022" to run the "KS2022_dilute" _descriptor calculator_ / _featurizer_. This change is due to a few new _featurizers_ being in the works, including for approximating random solid solutions and quasicrystals, and all of them will use the "KS2022" _descriptor_, so this will make workflows much more clear.
- Added official Python 3.11 support and tests using it.
- Added small automated benchmarking on Linux using different Python versions so that users can select one that works best. Generally, Python 3.10 is the fastest. Across all 3 featurizers (KS2022, KS2022_dilute, and Ward2017), relative to the Python 3.9 baseline, 3.10 is around 35-40% faster, while 3.11 is 25-30% faster, based on the tests in GitHub Actions CI.
Minor Changes:
- Minor bug fixes, mostly in tests, not the user code.
- The wget dependency has been removed, as we moved to the multi-threaded pySmartDL package for model download.
- Documentation updates.
**Full Changelog**: https://github.com/PhasesResearchLab/pySIPFENN/compare/v0.11.0...v0.12.0