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 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.
🛠 Enhancements
- Formatting customization for
PWInput
by @jsukpark in #4001 - DOS Fingerprints enhancements by @naik-aakash in #3946
- Add HSE-specific vdW parameters for dftd3 and dftd3-bj to MPHSERelaxSet. by @hongyi-zhao in #3955
- Add VASP setting for the dftd4 vdW functional and extend PBE_64 support. by @hongyi-zhao in #3967
- Add SOC & multiple
PROCAR
parsing functionalities by @kavanase in #3890 - Add modification to aims input to match atomate2 magnetic order script by @tpurcell90 in #3878
🐛 Bug Fixes
- Ion: fix CO2- and I3- parsing errors; enhance tests by @rkingsbury in #3991
- Fix ruff PD901 and prefer
sum
overlen
+if
by @janosh in #4012 - Explicitly use
int64
in Numpy/cython code to avoid OS inconsistency by @DanielYang59 in #3992 - Update
FermiDos.get_doping()
to be more robust by @kavanase in #3879 - Fix missing
/src
in doc links to source code by @DanielYang59 in #4032 - Fix
LNONCOLLINEAR
match inOutcar
parser by @DanielYang59 in #4034 - Fix in-place
VaspInput.incar
updates having no effect ifincar
is dict (notIncar
instance) by @janosh in #4052 - Fix typo in
Cp2kOutput.parse_hirshfeld
add_site_property("hirshf[i->'']eld")
by @janosh in #4055 - Fix
apply_operation(fractional=True)
by @kavanase in #4057
💥 Breaking Changes
📖 Documentation
- Docstring tweaks for
io.vasp.inputs
and format tweaks for some other parts by @DanielYang59 in #3996 - Replace HTTP URLs with HTTPS, avoid
from pytest import raises/mark
by @DanielYang59 in #4021 - Fix incorrect attribute name in
Lobster.outputs.Cohpcar
docstring by @DanielYang59 in #4039
🧹 House-Keeping
- Use
strict=True
withzip
to ensure length equality by @DanielYang59 in #4011
🚀 Performance
🚧 CI
- Install optional boltztrap, vampire and openbabel in CI by @DanielYang59 in #3985
💡 Refactoring
- Make AimsSpeciesFile a dataclass by @tpurcell90 in #4054
🧪 Tests
- Remove the
skip
mark fortest_delta_func
by @njzjz in #4014 - Recover commented out code in tests and mark with
pytest.mark.skip
instead by @DanielYang59 in #4027 - Add unit test for
io.vasp.help
by @DanielYang59 in #4020
🧹 Linting
- Fix failing ruff
PT001
on master by @DanielYang59 in #4003 - Fix fixable
ruff
rules by @DanielYang59 in #4015 - Fix
S101
, replace allassert
in code base (except for tests) by @DanielYang59 in #4017 - Fix
ruff
PLC0206 and PLR6104 by @janosh in #4035
🏥 Package Health
- Drop Python 3.9 support by @DanielYang59 in #4009 (min supported Python is now 3.10 following numpy)
- Avoid importing namespace package
pymatgen
directly by @DanielYang59 in #4053
🏷️ Type Hints
- Set
kpoints
infrom_str
method as integer in auto Gamma and Monkhorst modes by @DanielYang59 in #3994 - Improve type annotations for
io.lobster.{lobsterenv/outputs}
by @DanielYang59 in #3887
🤷♂️ Other Changes
New Contributors
Full Changelog: v2024.8.9...v2024.9.10