Skip to content

Commit dca833b

Browse files
committed
DOC: Improve 0.4.0 release notes
1 parent ab7ff93 commit dca833b

File tree

1 file changed

+32
-6
lines changed

1 file changed

+32
-6
lines changed

docs/releasehistory.md

Lines changed: 32 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,24 +13,50 @@ Please note that all releases prior to a version 1.0.0 are considered pre-releas
1313

1414
## Current development
1515

16-
* #1051 Updates `to_openmm_topology` to place virtual sites at the end, matching the behavior of `to_openmm_system`. The old behavior (collating within molecules) is available with `collate=True`.
17-
1816
## 0.4.0 - 2024
1917

20-
* Pydantic v2 is now used at runtime. As a consequence, models containing `Interchange`s cannot also use models from the v1 API.
18+
### Breaking changes and behavior changes
19+
20+
* Pydantic v2 is now used at runtime:
21+
* V2 must be installed, but other packages may use the `pydantic.v1` backdoor to access the v1 API.
22+
* Models containing `Interchange`s cannot also use models from the v1 API.
2123
* `Interchange.to_gromacs` and similar methods now raise an error if no box is defined.
2224
* Previously, this was a warning.
2325
* GROMACS dropped support for (proper) vacuum simulations in version 2020 and there are no immediate plans to re-introduce it.
2426
* Users freqently approximate vacuum simulation with periodic boundary conditions by applying a large box. This has some performance issues and some non-bonded terms likely differ numerically compared to similar implementations in other engines.
27+
* The `topology` attribute of the `Interchange` class is now required.
2528
* The wrapped use of external readers and writers is removed, and with it arguments like `writer` in many `Interchange.to_x` calls.
2629
* Several classes and methods which were deprecated in the 0.3 line of releases are now removed.
2730
* Previously-deprecated examples are removed.
2831
* `ProperTorsionKey` no longer accepts an empty tuple as atom indices.
29-
* Default densities for Packmol wrapper functions have been lowered to 0.9 g/cc and 0.6 g/cc for water and non-water solvent, respectively.
30-
* Argument `mass_density` to some packing functions has been renamed to `target_density` for consistency and to better reflect its usage.
31-
* Topologies returned by packing functions have boxes scaled up by 10% in linear dimensions compared to the size implied by the target density.
32+
* Packing functions have been overhauled:
33+
* Argument `mass_density` to some packing functions has been renamed to `target_density` for consistency and to better reflect its usage.
34+
* Default densities for Packmol wrapper functions using water as the primary solvent have been lowered to 0.9 g/cc.
35+
* `target_density` is now a required argument to `solvate_topology_nonwater`.
36+
* Topologies returned by packing functions have boxes scaled up by 10% in linear dimensions compared to the size implied by the target density.
37+
* PACKMOL failures are now better reported to the user.
3238
* An error is now raised when HMR would result in an OpenMM particle (aside from virtual sites) having negative (or zero) mass.
39+
* `to_openmm_topology` now adds virtual sites to the end of the topology by default, matching the ordering of particles in `to_openmm_system`. Previous atom ordering can be forced with `collate=True`.
40+
41+
### Documentation improvements
42+
43+
* Documented that existing charges on input topologies are ignored.
44+
* Adds an example of basic Amber usage.
45+
46+
### New features
47+
48+
* `hydrogen_mass` and `ewald_tolerance` are now arguments to `to_openmm_simulation`, passed on to `to_openmm_system`.
49+
* Adds `Interchange.get_positions`, which includes positions of virtual sites by default.
50+
* Adds `Interchange.to_amber`, which writes the parameter/topology, coordinate, and (`sander`) run/input files.
51+
* Improves handling of residue metadata to OpenMM with virtual sites.
52+
* Collections can now be indexed using tuples of atom indices.
53+
* Adds high-level run/input file getters (`Interchange.to_{mdp|lammps_datafile|sander_input}`).
54+
55+
### Bug fixes
56+
3357
* Fixes a regression in which some `ElectrostaticsCollection.charges` properties did not return cached values.
58+
* Better process atom names in `Interchange.from_openmm`
59+
* Fixes regression tests.
3460

3561
## 0.3.30 - 2024-08
3662

0 commit comments

Comments
 (0)