Repository: openpathsampling/openpathsampling (language: python)

Issue:
Release 1.6.0
This is a long-overdue (and huge) release for OPS. While the only highlight feature is the addition of S-Shooting, this release contains many updates to maintain usability of OPS as its dependencies change, as well as a number of important bug fixes that are recommended for all users.

**Deprecations:** The `FileSetter` for external engines (e.g., Gromacs) will be changing from a sequential numeric value to a random string. See #1102 for details.

## New features

* S-shooting ([#787](https://github.com/openpathsampling/openpathsampling/pull/787) @singraber)

## Other enhancements

* Clear old ExternalMDSnapshots during `iter_generate` ([#1066](https://github.com/openpathsampling/openpathsampling/pull/1066))
* New analysis testing utilities ([#1068](https://github.com/openpathsampling/openpathsampling/pull/1068))
* Account for modifier acceptance in engine movers ([#1075](https://github.com/openpathsampling/openpathsampling/pull/1075))
* add no_copy option to NoModifier and Deprecate 'subset_mask' ([#1079](https://github.com/openpathsampling/openpathsampling/pull/1079))
* Take care of coordinate modifcation in selector probability_ratio   ([#1076](https://github.com/openpathsampling/openpathsampling/pull/1076))

## Experimental (beta) features

* improvements to unpatch after using SimStore ([#1065](https://github.com/openpathsampling/openpathsampling/pull/1065))
* add simstore table access via slice ([#1050](https://github.com/openpathsampling/openpathsampling/pull/1050))

## Bugs fixed

* Use MDTraj codecs in SimStore JSON serialization ([#1116](https://github.com/openpathsampling/openpathsampling/pull/1116))
* Prevent double monkey-patching experimental storage ([#1109](https://github.com/openpathsampling/openpathsampling/pull/1109))
* Actually check for CVDefinedVolume.lambda_max == "inf" ([#1092](https://github.com/openpathsampling/openpathsampling/pull/1092))
* SimStore: Fix storable function serialization ([#1088](https://github.com/openpathsampling/openpathsampling/pull/1088))
* SimStore: Fix issue with internalized snapshot box vectors ([#1086](https://github.com/openpathsampling/openpathsampling/pull/1086))
* OpenMMEngine: use masses from mdtraj topolgy directly ([#1085](https://github.com/openpathsampling/openpathsampling/pull/1085) @hejung)
* unbreak API call to selector.probability_ratio ([#1082](https://github.com/openpathsampling/openpathsampling/pull/1082))

## Miscellaneous improvements

* Support Python 3.10; Python 3.11 ([#1133](https://github.com/openpathsampling/openpathsampling/pull/1133))
* Fix Dropbox download of precalculated results ([#1128](https://github.com/openpathsampling/openpathsampling/pull/1128))
* revert openmmtools import guard from test notebook ([#1106](https://github.com/openpathsampling/openpathsampling/pull/1106))
* clarify error message on missing units ([#1122](https://github.com/openpathsampling/openpathsampling/pull/1122))
* update copyright to 2022 ([#1097](https://github.com/openpathsampling/openpathsampling/pull/1097))
* Improved implementation of shooting point selector pick (avoid model that might introduce index error in subclasses) ([#1110](https://github.com/openpathsampling/openpathsampling/pull/1110) @hejung)
* Add FutureWarning for default filesetter external engines ([#1102](https://github.com/openpathsampling/openpathsampling/pull/1102) #Deprecations)
* make a missed string into a rawstring ([#1096](https://github.com/openpathsampling/openpathsampling/pull/1096))
* Guard against openmm import warnings (including those from OpenMMTools) ([#1091](https://github.com/openpathsampling/openpathsampling/pull/1091))
* Add CITATIONS.md ([#1064](https://github.com/openpathsampling/openpathsampling/pull/1064))
* Prevent non-string names in StorableNamedObject ([#1052](https://github.com/openpathsampling/openpathsampling/pull/1052))
* Updates in response to changes in dependencies ([#1137](https://github.com/openpathsampling/openpathsampling/pull/1137), [#1136](https://github.com/openpathsampling/openpathsampling/pull/1136), [#1134](https://github.com/openpathsampling/openpathsampling/pull/1134), [#1132](https://github.com/openpathsampling/openpathsampling/pull/1132), [#1129](https://github.com/openpathsampling/openpathsampling/pull/1129), [#1114](https://github.com/openpathsampling/openpathsampling/pull/1114), [#1130](https://github.com/openpathsampling/openpathsampling/pull/1130), [#1126](https://github.com/openpathsampling/openpathsampling/pull/1126), [#1093](https://github.com/openpathsampling/openpathsampling/pull/1093))
* Improvements to continuous integration and testing ([#1123](https://github.com/openpathsampling/openpathsampling/pull/1123), [#1100](https://github.com/openpathsampling/openpathsampling/pull/1100), [#1089](https://github.com/openpathsampling/openpathsampling/pull/1089), [#1081](https://github.com/openpathsampling/openpathsampling/pull/1081), [#1078](https://github.com/openpathsampling/openpathsampling/pull/1078), [#1073](https://github.com/openpathsampling/openpathsampling/pull/1073), [#1058](https://github.com/openpathsampling/openpathsampling/pull/1058))
* Improvements to documentation ([#1090](https://github.com/openpathsampling/openpathsampling/pull/1090), [#1087](https://github.com/openpathsampling/openpathsampling/pull/1087), [#1083](https://github.com/openpathsampling/openpathsampling/pull/1083), [#1057](https://github.com/openpathsampling/openpathsampling/pull/1057) @bdice)


Discussion / hints:

Fix patch:
diff --git a/.github/workflows/autorelease-default-env.sh b/.github/workflows/autorelease-default-env.sh
index 198618484..4a09393a9 100644
--- a/.github/workflows/autorelease-default-env.sh
+++ b/.github/workflows/autorelease-default-env.sh
@@ -1,6 +1,6 @@
-# Vendored from Autorelease 0.3.2
+# Vendored from Autorelease 0.5.0
 # Update by updating Autorelease and running `autorelease vendor actions`
-INSTALL_AUTORELEASE="python -m pip install autorelease==0.3.2"
+INSTALL_AUTORELEASE="python -m pip install autorelease==0.5.0"
 if [ -f autorelease-env.sh ]; then
     source autorelease-env.sh
 fi
diff --git a/.github/workflows/autorelease-deploy.yml b/.github/workflows/autorelease-deploy.yml
index 1cfd18325..73fca082a 100644
--- a/.github/workflows/autorelease-deploy.yml
+++ b/.github/workflows/autorelease-deploy.yml
@@ -1,4 +1,4 @@
-# Vendored from Autorelease 0.3.2
+# Vendored from Autorelease 0.5.0
 # Update by updating Autorelease and running `autorelease vendor actions`
 name: "Autorelease Deploy"
 on:
diff --git a/.github/workflows/autorelease-gh-rel.yml b/.github/workflows/autorelease-gh-rel.yml
index 68506f577..8393d79fc 100644
--- a/.github/workflows/autorelease-gh-rel.yml
+++ b/.github/workflows/autorelease-gh-rel.yml
@@ -1,4 +1,4 @@
-# Vendored from Autorelease 0.3.2
+# Vendored from Autorelease 0.5.0
 # Update by updating Autorelease and running `autorelease vendor actions`
 name: "Autorelease Release"
 on:
diff --git a/.github/workflows/autorelease-prep.yml b/.github/workflows/autorelease-prep.yml
index 93c72aeda..d68853a03 100644
--- a/.github/workflows/autorelease-prep.yml
+++ b/.github/workflows/autorelease-prep.yml
@@ -1,4 +1,4 @@
-# Vendored from Autorelease 0.3.2
+# Vendored from Autorelease 0.5.0
 # Update by updating Autorelease and running `autorelease vendor actions`
 name: "Autorelease testpypi"
 on:
@@ -57,7 +57,7 @@ jobs:
       - uses: actions/checkout@v2
       - uses: actions/setup-python@v2
         with:
-          python-version: "3.x"
+          python-version: "3.11"
       - run: |  # TODO: move this to an action
           source ./.github/workflows/autorelease-default-env.sh
           if [ -f "autorelease-env.sh" ]; then
diff --git a/openpathsampling/netcdfplus/version.py b/openpathsampling/netcdfplus/version.py
index bc7a9eb3b..18fd82b09 100644
--- a/openpathsampling/netcdfplus/version.py
+++ b/openpathsampling/netcdfplus/version.py
@@ -1,4 +1,4 @@
-short_version = '1.5.3.dev0'
+short_version = '1.6.1.dev0'
 version = short_version
 full_version = short_version
 git_revision = 'alpha'
diff --git a/setup.cfg b/setup.cfg
index 824ec1032..066dc0090 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,6 +1,6 @@
 [metadata]
 name = openpathsampling
-version = 1.5.3.dev0
+version = 1.6.1.dev0
 description = A Python package for path sampling simulations
 long_description = file: README.md
 long_description_content_type = text/markdown
@@ -26,11 +26,12 @@ classifiers =
 
 [options]
 include_package_data = True
-python_requires = >3.7
+python_requires = >3.7,<3.12
+# pin to <3.12 until nose is removed from testing
 install_requires = 
     future
     psutil
-    numpy<1.24
+    numpy
     scipy
     pandas
     netcdf4


Test patch:
diff --git a/.autorelease/test-testpypi b/.autorelease/test-testpypi
index fd77e73aa..7c3b02fb2 100644
--- a/.autorelease/test-testpypi
+++ b/.autorelease/test-testpypi
@@ -1,4 +1,4 @@
 #!/bin/bash
 
-python -m pip install pytest nose
+python -m pip install pytest nose sqlalchemy
 py.test --pyargs openpathsampling.tests