=============
Release notes
=============
4.0.11 (2025-03-13)
------------------
- Support for OpenMM XML force field files (in combination with a PDB structure file)
- Added support for simulating triclinic boxes (i.e. truncated octahedra, rhombic dodecahedra)
- Removed parmed parsers to only depend on OpenMM. Fixes non-bonded CHARMM forces.
4.0.9 (2025-02-25)
------------------
- Improved protocol setup for CHARMM systems with multiple prm files
- Fixed a bug where minimization was incorrectly performed on restarts
- Added support for virtual sites (TIP4P water models)
- Massive speed-up for AceFF NNP simulations using CUDA graphs
- Improved solvent handling. No more HMR on rigid water molecules
4.0.1 (2024-12-05)
------------------
- Added python setup for equilibration and production protocols
- Fixed incorrect total charge of molecules in NNP/MM simulations
- Updated documentation with warnings for NNP/MM simulations when simulating charged molecules
4.0.0 (2024-12-01)
------------------
- Added support for NNP/MM simulations
- Support for latest OpenMM 8+ versions
- Added support for ``.yaml`` and ``.json`` input files
- Simplified the input file options
- Added new external force description format
- Added a basic Python API for executing simulations
3.7.3 (2024-01-02)
------------------
- Fix the licence checking again
3.7.2 (2023-06-07)
------------------
- Fix the licence checking
3.7.1 (2023-04-14)
------------------
- Fix the reading of ``parmfile`` when it does not have an extension.
- Update MolekuleKit to fix an atom selection issue when passing a list of integers to a float property.
3.7.0 (2023-03-27)
------------------
- Removed the device and virtualization limits for non-commercial users.
- Renamed the package and executable from ``acemd3`` to ``acemd``. For backward compatibility, the old name still works.
3.6.0 (2023-02-01)
------------------
- Updated to OpenMM 7.7
- Replaced the old atom selection code with MoleculeKit to be fully compatible with HTMD
- Improved the setup of the implicit solvent
- Improved the configuration file parser to give better error messages
- Improved licence checking and notifications
- Improved documentation
- Fixed the pinning of the CUDA Toolkit package so that the latest compatible toolkit is installed
3.5.1 (2022-09-30)
------------------
- Fix a licensing issue
3.5.0 (2021-09-27)
------------------
- Update to OpenMM 7.5.1 and PLUMED 2.7.1
- Implement support for IBM POWER9 (ppc64le) machines
- Improve CHARMM parameter parser (`CHARMM-GUI `_-generated files are parsed without errors)
- Implement the trajectory output of force and velocities (``trajForceFile`` and ``trajVelocityFile``)
3.4.1 (2021-04-21)
------------------
- Fix a dependency conflict with HTMD
3.4.0 (2021-03-30)
------------------
- Update to OpenMM 7.5.0 and PLUMED 2.7.0
- Improve Conda package and start using the conda-forge channel for dependencies
- Refactor licence checking and implement ``--licence`` argument
- Refactor the CMAP parameter parser and improve error messages
- Switch to the standard PLUMED parser after its has been fixed
3.3.0 (2020-06-23)
------------------
- Implement PLUMED support and add a :ref:`tutorial `
- Update to OpenMM 7.4.2
- Refactor the PRMTOP parser and improve error messages
- Refactor the command-line parser and improve logging
3.2.4 (2020-04-23)
------------------
- Fix a bug in the CHARMM improper dihedrals
- Fix occational crashes due to the Boost library
- Fix the documentation of ``fbRefCoor``
3.2.3 (2019-11-12)
------------------
- Fix the DCD writer to include the size of a simulation box
- Fix overwriting/appending of trajectory files
- Fix ``--ngpus`` for more than 4 GPUPs
3.2.2 (2019-10-08)
------------------
- Fix a corruption of the restart file
- Fix the name of the velocity file (``output.vel.coor`` --> ``output.vel``)
3.2.1 (2019-09-20)
------------------
- Fix the input file reader to handle tabs as a separators
3.2.0 (2019-08-27)
------------------
- Implement the multi-step integrator (``slowPeriod``)
- Implement a DCD trajectory writer
- Uniform input keywords
- Limit restart to the same GPU
- Implement a trajectory writer for forces (``trajForceFile``)
- Implement a keyword (``stepZero``) to enable output at step 0
- Implement ``--deterministic`` argument
- Refactor code and improve log messages
- Improve testing
- Update performance benchmarks
- Update documentation
3.1.2 (2019-06-04)
------------------
- Fix a bug in the PDB reader again!
3.1.1 (2019-05-08)
------------------
- Fix a bug in the PDB reader (only two characters of a residue name were read)
3.1.0 (2019-04-18)
------------------
- Optimize the code for performance
- Implement ``--precision`` argument
- Update documentation
- Add performance benchmarks
- Fix a bug in the setup of constraints
- Fix a bug in the minimizer to handle constraints correctly
3.0.4 (2019-02-27)
------------------
- Fix a code to report a correct version
3.0.3 (2019-02-25)
------------------
- Improve the setup of group restraints
- Improve energy conservation of the simulations
- Enable minimizer to switch temporally to CPU to avoid an overflow
- Extend the test suite of the code
- Fix a bug in the MD loop to run the exact number of steps
- Fix a bug in the minimizer to write the minimized positions
- Fix a bug in the minimizer to apply restraints
- Fix the restart of simulations
3.0.2 (2018-03-28)
------------------
- Implement the implicit solvent model
- Improve package building
- Make the packages self-contained (i.e. no dependencies)
3.0.1 (2017-12-18)
------------------
- Fix a bug in the license validation
3.0.0 (2017-12-12)
------------------
- Initial release of the new *ACEMD*