diff --git a/docs/CHANGES.md b/docs/CHANGES.md index 33e39cc3754..041c6fc3b4b 100644 --- a/docs/CHANGES.md +++ b/docs/CHANGES.md @@ -6,8 +6,162 @@ nav_order: 4 # Changelog +## v2024.9.10 + +๐Ÿ’ฅ **Breaking**: NumPy/Cython integer type changed from `np.long`/`np.int_` to int64 on Windows to align with NumPy 2.x, [changing the default integer type to int64 on Windows 64-bit systems](https://numpy.org/doc/stable/release/2.0.0-notes.html) in favor of the platform-dependent `np.int_` type. +Recommendation: Please explicitly declare `dtype=np.int64` when initializing a NumPy array if it's passed to a Cythonized pymatgen function like `find_points_in_spheres`. You may also want to test downstream packages with [NumPy 1.x on Windows in CI pipelines](https://numpy.org/devdocs/dev/depending_on_numpy.html#build-time-dependency). + +### ๐Ÿ›  Enhancements + +* Formatting customization for `PWInput` by @jsukpark in https://github.com/materialsproject/pymatgen/pull/4001 +* DOS Fingerprints enhancements by @naik-aakash in https://github.com/materialsproject/pymatgen/pull/3946 +* Add HSE-specific vdW parameters for dftd3 and dftd3-bj to MPHSERelaxSet. by @hongyi-zhao in https://github.com/materialsproject/pymatgen/pull/3955 +* Add VASP setting for the dftd4 vdW functional and extend PBE_64 support. by @hongyi-zhao in https://github.com/materialsproject/pymatgen/pull/3967 +* Add SOC & multiple `PROCAR` parsing functionalities by @kavanase in https://github.com/materialsproject/pymatgen/pull/3890 +* Add modification to aims input to match atomate2 magnetic order script by @tpurcell90 in https://github.com/materialsproject/pymatgen/pull/3878 + +### ๐Ÿ› Bug Fixes + +* Ion: fix CO2- and I3- parsing errors; enhance tests by @rkingsbury in https://github.com/materialsproject/pymatgen/pull/3991 +* Fix ruff PD901 and prefer `sum` over `len`+`if` by @janosh in https://github.com/materialsproject/pymatgen/pull/4012 +* Explicitly use `int64` in Numpy/cython code to avoid OS inconsistency by @DanielYang59 in https://github.com/materialsproject/pymatgen/pull/3992 +* Update `FermiDos.get_doping()` to be more robust by @kavanase in https://github.com/materialsproject/pymatgen/pull/3879 +* Fix missing `/src` in doc links to source code by @DanielYang59 in https://github.com/materialsproject/pymatgen/pull/4032 +* Fix `LNONCOLLINEAR` match in `Outcar` parser by @DanielYang59 in https://github.com/materialsproject/pymatgen/pull/4034 +* Fix in-place `VaspInput.incar` updates having no effect if `incar` is dict (not `Incar` instance) by @janosh in https://github.com/materialsproject/pymatgen/pull/4052 +* Fix typo in `Cp2kOutput.parse_hirshfeld` `add_site_property("hirshf[i->'']eld")` by @janosh in https://github.com/materialsproject/pymatgen/pull/4055 +* Fix `apply_operation(fractional=True)` by @kavanase in https://github.com/materialsproject/pymatgen/pull/4057 + +### ๐Ÿ’ฅ Breaking Changes + +* Pascal-case `PMG_VASP_PSP_DIR_Error` by @janosh in https://github.com/materialsproject/pymatgen/pull/4048 + +### ๐Ÿ“– Documentation + +* Docstring tweaks for `io.vasp.inputs` and format tweaks for some other parts by @DanielYang59 in https://github.com/materialsproject/pymatgen/pull/3996 +* Replace HTTP URLs with HTTPS, avoid `from pytest import raises/mark` by @DanielYang59 in https://github.com/materialsproject/pymatgen/pull/4021 +* Fix incorrect attribute name in `Lobster.outputs.Cohpcar` docstring by @DanielYang59 in https://github.com/materialsproject/pymatgen/pull/4039 + +### ๐Ÿงน House-Keeping + +* Use `strict=True` with `zip` to ensure length equality by @DanielYang59 in https://github.com/materialsproject/pymatgen/pull/4011 + +### ๐Ÿš€ Performance + +* add LRU cache to structure matcher by @kbuma in https://github.com/materialsproject/pymatgen/pull/4036 + +### ๐Ÿšง CI + +* Install optional boltztrap, vampire and openbabel in CI by @DanielYang59 in https://github.com/materialsproject/pymatgen/pull/3985 + +### ๐Ÿ’ก Refactoring + +* Make AimsSpeciesFile a dataclass by @tpurcell90 in https://github.com/materialsproject/pymatgen/pull/4054 + +### ๐Ÿงช Tests + +* Remove the `skip` mark for `test_delta_func` by @njzjz in https://github.com/materialsproject/pymatgen/pull/4014 +* Recover commented out code in tests and mark with `pytest.mark.skip` instead by @DanielYang59 in https://github.com/materialsproject/pymatgen/pull/4027 +* Add unit test for `io.vasp.help` by @DanielYang59 in https://github.com/materialsproject/pymatgen/pull/4020 + +### ๐Ÿงน Linting + +* Fix failing ruff `PT001` on master by @DanielYang59 in https://github.com/materialsproject/pymatgen/pull/4003 +* Fix fixable `ruff` rules by @DanielYang59 in https://github.com/materialsproject/pymatgen/pull/4015 +* Fix `S101`, replace all `assert` in code base (except for tests) by @DanielYang59 in https://github.com/materialsproject/pymatgen/pull/4017 +* Fix `ruff` PLC0206 and PLR6104 by @janosh in https://github.com/materialsproject/pymatgen/pull/4035 + +### ๐Ÿฅ Package Health + +* Drop Python 3.9 support by @DanielYang59 in https://github.com/materialsproject/pymatgen/pull/4009 +* Avoid importing namespace package `pymatgen` directly by @DanielYang59 in https://github.com/materialsproject/pymatgen/pull/4053 + +### ๐Ÿท๏ธ Type Hints + +* Set `kpoints` in `from_str` method as integer in auto Gamma and Monkhorst modes by @DanielYang59 in https://github.com/materialsproject/pymatgen/pull/3994 +* Improve type annotations for `io.lobster.{lobsterenv/outputs}` by @DanielYang59 in https://github.com/materialsproject/pymatgen/pull/3887 + +### ๐Ÿคทโ€โ™‚๏ธ Other Changes + +* VaspInputSet.write_input: Improve error message by @yantar92 in https://github.com/materialsproject/pymatgen/pull/3999 + +## New Contributors + +* @yantar92 made their first contribution in https://github.com/materialsproject/pymatgen/pull/3999 +* @kbuma made their first contribution in https://github.com/materialsproject/pymatgen/pull/4036 + +**Full Changelog**: https://github.com/materialsproject/pymatgen/compare/v2024.8.9...v2024.9.10 + ## v2024.8.9 -- Revert bad split of sets.py, which broke downstream code. + +* Revert bad split of sets.py, which broke downstream code. + +### ๐ŸŽ‰ New Features + +* Add multiwfn QTAIM parsing capabilities by @espottesmith in https://github.com/materialsproject/pymatgen/pull/3926 + +### ๐Ÿ› Bug Fixes + +* Fix chemical system method for different oxidation states by @danielzuegner in https://github.com/materialsproject/pymatgen/pull/3915 +* Fix coordination number bug by @jmmshn in https://github.com/materialsproject/pymatgen/pull/3954 +* Fix Ion formula parsing bug; add more special formulas by @rkingsbury in https://github.com/materialsproject/pymatgen/pull/3942 +* Dedup `numpy`dependency in `pyproject` by @janosh in https://github.com/materialsproject/pymatgen/pull/3970 +* test_graph: add filename only to pdf list by @drew-parsons in https://github.com/materialsproject/pymatgen/pull/3972 +* Bugfix: `io.pwscf.PWInput.from_str()` by @jsukpark in https://github.com/materialsproject/pymatgen/pull/3931 +* Fix d2k function by @tpurcell90 in https://github.com/materialsproject/pymatgen/pull/3932 +* Assign frame properties to molecule/structure when indexing trajectory by @CompRhys in https://github.com/materialsproject/pymatgen/pull/3979 + +### ๐Ÿ›  Enhancements + +* `Element`/`Species`: order `full_electron_structure` by energy by @rkingsbury in https://github.com/materialsproject/pymatgen/pull/3944 +* Extend `CubicSupercell` transformation to also be able to look for orthorhombic cells by @JaGeo in https://github.com/materialsproject/pymatgen/pull/3938 +* Allow custom `.pmgrc.yaml` location via new `PMG_CONFIG_FILE` env var by @janosh in https://github.com/materialsproject/pymatgen/pull/3949 +* Fix MPRester tests and access phonon properties from the new API without having `mp-api` installed. by @AntObi in https://github.com/materialsproject/pymatgen/pull/3950 +* Adding Abinit magmoms from netCDF files to Structure.site_properties by @gbrunin in https://github.com/materialsproject/pymatgen/pull/3936 +* Parallel Joblib Process Entries by @CompRhys in https://github.com/materialsproject/pymatgen/pull/3933 +* Add OPTIMADE adapter by @ml-evs in https://github.com/materialsproject/pymatgen/pull/3876 +* Check Inputs to Trajectory. by @CompRhys in https://github.com/materialsproject/pymatgen/pull/3978 + +### ๐Ÿ“– Documentation + +* Replace expired BoltzTraP link by @DanielYang59 in https://github.com/materialsproject/pymatgen/pull/3929 +* Correct method `get_projection_on_elements` docstring under `Procar` class by @DanielYang59 in https://github.com/materialsproject/pymatgen/pull/3945 + +### ๐Ÿงน House-Keeping + +* Split VASP input sets into submodules by @janosh in https://github.com/materialsproject/pymatgen/pull/3865 + +### ๐Ÿšง CI + +* Install some optional dependencies in CI by @DanielYang59 in https://github.com/materialsproject/pymatgen/pull/3786 + +### ๐Ÿ’ก Refactoring + +* Fix `Incar` `check_params` for `Union` type by @DanielYang59 in https://github.com/materialsproject/pymatgen/pull/3958 + +### ๐Ÿฅ Package Health + +* build against NPY2 by @njzjz in https://github.com/materialsproject/pymatgen/pull/3894 + +### ๐Ÿท๏ธ Type Hints + +* Improve types for `electronic_structure.{bandstructure/cohp}` by @DanielYang59 in https://github.com/materialsproject/pymatgen/pull/3873 +* Improve types for `electronic_structure.{core/dos}` by @DanielYang59 in https://github.com/materialsproject/pymatgen/pull/3880 + +### ๐Ÿคทโ€โ™‚๏ธ Other Changes + +* switch to attr access interface for transformation matrix by @tsmathis in https://github.com/materialsproject/pymatgen/pull/3964 +* Fix import sorting by @janosh in https://github.com/materialsproject/pymatgen/pull/3968 +* Don't run `issue-metrics` on forks by @ab5424 in https://github.com/materialsproject/pymatgen/pull/3962 +* Enable Ruff rule family "N" and "S" by @DanielYang59 in https://github.com/materialsproject/pymatgen/pull/3892 + +## New Contributors + +* @danielzuegner made their first contribution in https://github.com/materialsproject/pymatgen/pull/3915 +* @tsmathis made their first contribution in https://github.com/materialsproject/pymatgen/pull/3964 +* @jsukpark made their first contribution in https://github.com/materialsproject/pymatgen/pull/3931 + +**Full Changelog**: https://github.com/materialsproject/pymatgen/compare/v2024.7.18...v2024.8.8 ## v2024.8.8