diff --git a/.github/PULL_REQUEST_TEMPLATE/release_template.md b/.github/PULL_REQUEST_TEMPLATE/release_template.md index f66d10bd..894a5ece 100644 --- a/.github/PULL_REQUEST_TEMPLATE/release_template.md +++ b/.github/PULL_REQUEST_TEMPLATE/release_template.md @@ -3,16 +3,16 @@ Checklist for releasing a new version of openfe. --> Make the PR: -* [ ] Create a new release-prep branch corresponding to the version name, e.g. `release-prep-v1.2.0`. Note: please follow [semantic versioning](https://semver.org/). +* [ ] Create a new release prep branch corresponding to the version name, e.g. `release/v1.2.0`. Note: please follow [semantic versioning](https://semver.org/). * [ ] Check that all user-relevant updates are included in the `news/` rever `.rst` files. You can backfill any additional items by making a new .rst, e.g. `backfill.rst` * [ ] Run [rever](https://regro.github.io/rever-docs/index.html#), e.g. `rever 1.2.0`. This will auto-commit `docs/CHANGELOG.md` and remove the `.rst` files from `news/`. -* [ ] Verify that`docs/CHANGELOG.rst` looks correct. +* [ ] Verify that`docs/CHANGELOG.rst` looks correct and that it renders as expected in the docs preview. +* [ ] If needed, create a release of the [example notebooks repository](https://github.com/OpenFreeEnergy/ExampleNotebooks) and update the pinned release version in the `openfe/docs/conf.py`. * [ ] Make the PR and verify that CI/CD passes. - * [ ] (feedstock packaging tests)[https://github.com/OpenFreeEnergy/openfe/actions/workflows/release-prep-feedstock.yaml] - * [ ] (example notebooks)[https://github.com/OpenFreeEnergy/openfe/actions/workflows/release-prep-examplenotebooks.yaml] - * [ ] (GPU tests)[https://github.com/OpenFreeEnergy/openfe/actions/workflows/aws-gpu-integration-tests.yaml] + * [ ] [feedstock packaging tests](https://github.com/OpenFreeEnergy/openfe/actions/workflows/release-prep-feedstock.yaml) + * [ ] [example notebooks](https://github.com/OpenFreeEnergy/openfe/actions/workflows/release-prep-examplenotebooks.yaml) + * [ ] [GPU tests](https://github.com/OpenFreeEnergy/openfe/actions/workflows/aws-gpu-integration-tests.yaml) * [ ] Merge the PR into `main`. -* [ ] Make a PR into the [example notebooks repository](https://github.com/OpenFreeEnergy/ExampleNotebooks) to update the version used in `showcase/openfe_showcase.ipynb` and `.binder/environment.yml` After Merging the PR [follow this guide](https://github.com/OpenFreeEnergy/openfe/wiki/How-to-create-a-new-release) diff --git a/docs/CHANGELOG.rst b/docs/CHANGELOG.rst index 2fa2fd6d..3e2b01bd 100644 --- a/docs/CHANGELOG.rst +++ b/docs/CHANGELOG.rst @@ -4,6 +4,43 @@ Changelog .. current developments + +v1.11.0 +==================== + +**Added:** + +* Added support for systems with membranes to the following protocols: + PlainMDProtocol, RelativeHybridTopologyProtocol, SepTopProtocol, and AbsoluteBindingProtocol (`PR #1561 `_). +* Added support for membrane systems to ``openfe plan-rbfe-network``. + Use ``--protein-membrane`` instead of the ``--protein`` argument, and see the tutorial on preparing membrane systems (`PR #1896 `_). +* Added API support for resuming the PlainMDProtocol (`PR #1884 `_). +* Added API support for resuming the SepTopProtocol. (`PR #1949 `_). +* The ``validate`` method for the SepTopProtocol has been implemented. + This means that settings and system validation can mostly be done prior to Protocol execuation by calling ``SepTopProtocol.validate(stateA, stateB, mapping=None)`` (`PR #1946 `_). + +**Changed:** + +* The SepTopProtocol now has a dedicated Analysis unit. + At the top level API, this does not change behavior, but if you are directly interfacing with th ProtocolUnits, you will have to account for this change. + The SepTopProtocolResult now solely uses the Analysis units (`PR #1937 `_). +* Updated the chemical systems user guide and the defining protocols user guide to reflect recent protocol updates, including adding membrane support (`PR #1933 `_). +* The default value for the Hybrid TopologyProtocol setting ``turn_off_core_unique_exceptions`` has been changed to ``True``. + This means 1-4 interactions involving the unique alchemical atoms and core regions will now be interpolated on/off accordingly by default (`PR #1856 `_). + +**Deprecated:** + +* Perses atom mapper and scorer functionality is deprecated, now slated to be removed in ``openfe v1.12``. + This includes ``PersesAtomMapper`` and ``default_perses_scorer`` (`PR #1857 `_). + +**Fixed:** + +* Fix erroneous logging information message which would mention setting up the alchemical system when running simulation or analysis units with the hybrid topology, AHFE or ABFE Protocols (`PR #1915 `_). +* System equality checks on resuming no longer expect complete equality in the force parameters. + This fixes a scenario where small changes in precision due to running on different machines would prevent users from restarting their simulations (`PR #1914 `_). + + + v1.10.0 ==================== @@ -19,7 +56,7 @@ See the `quickrun documentation `_). **Fixed:** @@ -90,7 +127,7 @@ v1.8.0 **Added:** -* The ``HybridTopologyFactory`` supports building hybrid OpenMM systems which contain ``CMAPTorsionForces`` on non-alchemical atoms. +* The ``HybridTopologyFactory`` supports building hybrid OpenMM systems which contain ``CMAPTorsionForces`` on non-alchemical atoms. This should allow for simulations using Amber ff19SB (`PR #1695 `_). * Added experimental features ``openfe gather-septop`` and ``openfe gather-abfe``, which are analogous to ``openfe gather`` and allow for gathering results generated by the Separated Topologies and Absolute Binding Free Energy protocols, respectively. These commands are experimental and are liable to be changed in a future release. * Emit a clarifying log message when a user gets a warning from JAX (`PR #1585 `_, fixes `Issue #1499 `_). diff --git a/docs/conf.py b/docs/conf.py index 26f70e91..0fbcd564 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -193,7 +193,7 @@ try: else: repo = git.Repo.clone_from( "https://github.com/OpenFreeEnergy/ExampleNotebooks.git", - branch="main", # TODO: update this after making ExampleNotebooks release + branch="2026.04.28", to_path=example_notebooks_path, ) except Exception as e: diff --git a/environment.yml b/environment.yml index 54a1968d..247f36f1 100644 --- a/environment.yml +++ b/environment.yml @@ -19,7 +19,7 @@ dependencies: - openff-toolkit-base >=0.16.2 - openff-units==0.3.1 # https://github.com/OpenFreeEnergy/openfe/pull/1374 - openmm ~=8.4.0 # omit 8.3.0 and 8.3.1 due to https://github.com/openmm/openmm/pull/5069 - - openmmforcefields >=0.15.1 # min needed for https://github.com/OpenFreeEnergy/openfe/pull/414 + - openmmforcefields >=0.15.1 # min needed for https://github.com/openmm/openmmforcefields/pull/414 - openmmtools >=0.26 # fix to support membrane barostat: https://github.com/choderalab/openmmtools/pull/798 - packaging - pandas diff --git a/news/analysis-septop.rst b/news/analysis-septop.rst deleted file mode 100644 index 6d89e199..00000000 --- a/news/analysis-septop.rst +++ /dev/null @@ -1,27 +0,0 @@ -**Added:** - -* - -**Changed:** - -* The SepTopProtocol now has a dedicated Analysis unit. - At the top level API, this does not change behaviour, but - if you are directly interfacing with the ProtocolUnits, you - will have to account for this change. The SepTopProtocolResult now - solely uses the Analysis units. PR #1937 - -**Deprecated:** - -* - -**Removed:** - -* - -**Fixed:** - -* - -**Security:** - -* diff --git a/news/deprecate_perses.rst b/news/deprecate_perses.rst deleted file mode 100644 index 863aeda2..00000000 --- a/news/deprecate_perses.rst +++ /dev/null @@ -1,24 +0,0 @@ -**Added:** - -* - -**Changed:** - -* - -**Deprecated:** - -* Perses atom mapper and scorer functionality is deprecated, now slated to be removed in ``openfe v1.12``. - This includes ``PersesAtomMapper`` and ``default_perses_scorer`` (`PR #1857 `_). - -**Removed:** - -* - -**Fixed:** - -* - -**Security:** - -* diff --git a/news/fix-setup-messages.rst b/news/fix-setup-messages.rst deleted file mode 100644 index 83581b98..00000000 --- a/news/fix-setup-messages.rst +++ /dev/null @@ -1,25 +0,0 @@ -**Added:** - -* - -**Changed:** - -* - -**Deprecated:** - -* - -**Removed:** - -* - -**Fixed:** - -* Fix erroneous logging information message which would mention - setting up the alchemical system when running simulation or - analysis units with the hybrid topology, AHFE or ABFE Protocols (PR #1915). - -**Security:** - -* diff --git a/news/interpolation_setting_update.rst b/news/interpolation_setting_update.rst deleted file mode 100644 index cc37dc90..00000000 --- a/news/interpolation_setting_update.rst +++ /dev/null @@ -1,23 +0,0 @@ -**Added:** - -* - -**Changed:** - -* The default value for the Hybrid TopologyProtocol setting ``turn_off_core_unique_exceptions`` has been changed to ``True`. This means 1-4 interactions involving the unique alchemical atoms and core regions will now be interpolated on/off accordingly by default PR #1856. - -**Deprecated:** - -* - -**Removed:** - -* - -**Fixed:** - -* - -**Security:** - -* diff --git a/news/issue-1913.rst b/news/issue-1913.rst deleted file mode 100644 index 15fe471c..00000000 --- a/news/issue-1913.rst +++ /dev/null @@ -1,26 +0,0 @@ -**Added:** - -* - -**Changed:** - -* - -**Deprecated:** - -* - -**Removed:** - -* - -**Fixed:** - -* System equality checks on resuming no longer expect complete equality - in the force parameters. This fixes a scenario where small changes - in precision due to running on different machines would prevent users from - restarting their simulations (Issue #1913, PR #1914). - -**Security:** - -* diff --git a/news/membrane.rst b/news/membrane.rst deleted file mode 100644 index 7ac643d7..00000000 --- a/news/membrane.rst +++ /dev/null @@ -1,24 +0,0 @@ -**Added:** - -* Added support for systems with membranes to the following protocols: - PlainMDProtocol, RelativeHybridTopologyProtocol, SepTopProtocol, and AbsoluteBindingProtocol. - -**Changed:** - -* - -**Deprecated:** - -* - -**Removed:** - -* - -**Fixed:** - -* - -**Security:** - -* diff --git a/news/membrane_cli.rst b/news/membrane_cli.rst deleted file mode 100644 index 0126030c..00000000 --- a/news/membrane_cli.rst +++ /dev/null @@ -1,24 +0,0 @@ -**Added:** - -* Added support for membrane systems to ``openfe plan-rbfe-network``. - Use ``--protein-membrane`` instead of the ``--protein`` argument, and see the tutorial on preparing membrane systems (`PR #1896 `_). - -**Changed:** - -* - -**Deprecated:** - -* - -**Removed:** - -* - -**Fixed:** - -* - -**Security:** - -* diff --git a/news/resume-plainmd.rst b/news/resume-plainmd.rst deleted file mode 100644 index 0b0a7ffa..00000000 --- a/news/resume-plainmd.rst +++ /dev/null @@ -1,24 +0,0 @@ -**Added:** - -* * Added API support for resuming the PlainMDProtocol. - PR #1884. - -**Changed:** - -* - -**Deprecated:** - -* - -**Removed:** - -* - -**Fixed:** - -* - -**Security:** - -* diff --git a/news/resume-septop.rst b/news/resume-septop.rst deleted file mode 100644 index 911eae1e..00000000 --- a/news/resume-septop.rst +++ /dev/null @@ -1,24 +0,0 @@ -**Added:** - -* Added API support for resuming the SepTopProtocol. - PR #1949. - -**Changed:** - -* - -**Deprecated:** - -* - -**Removed:** - -* - -**Fixed:** - -* - -**Security:** - -* diff --git a/news/user_guide_membranes.rst b/news/user_guide_membranes.rst deleted file mode 100644 index 0234c32e..00000000 --- a/news/user_guide_membranes.rst +++ /dev/null @@ -1,23 +0,0 @@ -**Added:** - -* - -**Changed:** - -* Updated the chemical systems user guide and the defining protocols user guide to reflect recent protocol updates, including adding membrane support. - -**Deprecated:** - -* - -**Removed:** - -* - -**Fixed:** - -* - -**Security:** - -* diff --git a/news/validate-septop.rst b/news/validate-septop.rst deleted file mode 100644 index 45745f38..00000000 --- a/news/validate-septop.rst +++ /dev/null @@ -1,26 +0,0 @@ -**Added:** - -* The `validate` method for the SepTopProtocol has been implemented. - This means that settings and system validation can mostly be done prior - to Protocol execuation by calling - `SepTopProtocol.validate(stateA, stateB, mapping=None)`. - -**Changed:** - -* - -**Deprecated:** - -* - -**Removed:** - -* - -**Fixed:** - -* - -**Security:** - -*