Skip to content

Releases: OpenFreeEnergy/alchemiscale

Release v0.6.1

28 Feb 00:41
bf7d4cf
Compare
Choose a tag to compare

This is a bugfix release in response to a serious bug identified and addressed in #370. We recommend not using the v0.6.0 release due to this bug.

What's Changed

  • Fix broken codepath in compute API for resolving task restarts for failed ProtocolDAGResults by @dotsdl in #370

Full Changelog: v0.6.0...v0.6.1

Release v0.6.0

25 Feb 20:47
d35fc6c
Compare
Choose a tag to compare

This release introduces several major features aimed at improving the overall user experience and result retrieval performance:

  • Task restart policies, which allow users to automate Task restarts for failure modes they encounter from unreliable compute resources
  • compression-at-rest of ProtocolDAGResult objects by compute services, and use of the compact KeyedChain representation for these objects underneath
  • user-configurable ProtocolDAGResult on-disk caching in the AlchemiscaleClient, reducing wait times for pulling results when they have been previously requested

This release also includes the following stack requirements:

  • gufe > 1.2.0
  • pydantic > 2

What's Changed

  • Restart policy: resolve restarts by @ianmkenney in #286
  • Implement task restart policies by @ianmkenney in #280
  • Use pydantic > 1 by @dotsdl in #192
  • Add use of zstd compression on compute services by @ianmkenney in #336
  • Remove Python 3.10 from CI, add SPEC0 badge by @dotsdl in #359
  • Use diskcache for caching ProtocolDAGResults in the Alchemiscale client by @ianmkenney in #271
  • Updated gufe and openfe versions in conda envs, added cuda-version > 12 to avoid pulling cudatoolkit by @dotsdl in #360
  • Added CITATION.cff file with authors involved in alchemiscale working group over the last year by @dotsdl in #362
  • Update user guide install instructions by @dotsdl in #361
  • Pin libsqlite to <3.49 by @ianmkenney in #365
  • Fix sporadic test failures by @ianmkenney in #367
  • Prep for release 0.6.0 by @dotsdl in #363

Full Changelog: v0.5.3...v0.6.0

Release v0.5.3

04 Dec 02:52
c32f00d
Compare
Choose a tag to compare

Small patch release, addressing a bug in protocol filtering in SynchronousComputeService.

What's Changed

  • SynchronousComputeService now properly claims tasks with protocols filter by @dotsdl in #337
  • Update deployment envs, user guide to use release 0.5.3. by @dotsdl in #339

Full Changelog: v0.5.2...v0.5.3

Release v0.5.2

21 Nov 05:29
8fec9d4
Compare
Choose a tag to compare

This patch release includes fixes/changes to alchemiscale internals; there are no new user-facing features or changes in this release. Please note that at minimum gufe v1.1.0 is now required.

Exceptional thanks to both @LilDojd and @ianmkenney for their work in this release cycle, in particular quickly addressing Cypher injection vulnerabilities identified by @LilDojd. This work greatly improves the security posture of alchemiscale, and should also come with performance benefits. 🚀

What's Changed

New Contributors

Full Changelog: v0.5.1...v0.5.2

Release v0.5.1

05 Oct 17:34
7f57c64
Compare
Choose a tag to compare

This patch release includes small fixes identified from the 0.5.0 release, as well as changes needed due to the migration of alchemiscale to the OpenFreeEnergy GitHub org. We now also include openfe 1.1.0 in deployment environments.

Please note that new deployable Docker images for both server and compute are now published to GCR under the openfreeenergy namespace instead of the openforcefield namespace.

What's Changed

  • Set default claim_limit back to 1 by @dotsdl in #289
  • Switch pip installs to conda packages where possible, add restart policies to docker-compose containers by @dotsdl in #288
  • Added UNWIND to cancel tasks query by @ianmkenney in #299
  • Deploy openfe 1.1.0, update deployment apparatus for OpenFreeEnergy namespace by @dotsdl in #308
  • Update tutorial notebook for openfe 1.0, latest cinnabar by @dotsdl in #311
  • Prepping prod environments for v0.5.1 release by @dotsdl in #309

Full Changelog: v0.5.0...v0.5.1

Release v0.5.0

12 Aug 23:07
79ec027
Compare
Choose a tag to compare

This release features changes required to support the following:

If upgrading an existing alchemiscale deployment to this release, result objects (ProtocolDAGResults) produced with openfe and/or gufe versions <1.0 existing in the database will not be usable. Many settings options for common Protocols, such as the RelativeHybridTopologyProtocol, have been refined as part of these 1.0 releases, and these will settings remain relatively stable through the 1.0 series. Extract any results of importance from an existing alchemiscale deployment before upgrading to this release!

What's Changed

  • Added support for NonTransformations by @ianmkenney in #270
  • More HTTPExceptions in the interface API endpoints by @ianmkenney in #269
  • Test new openfe & gufe rc by @mikemhenry in #254
  • Fix regular expression matching in query_networks by @ianmkenney in #275
  • Update operations manual to address changes in Neo4j database management by @ianmkenney in #272
  • Fix for create_network in interface API, properly deserializing AlchemicalNetwork by @ianmkenney in #276
  • Test TaskHub Task claiming by Protocol by @ianmkenney in #279
  • Changes needed to support execution via alchemiscale-fah by @dotsdl in #218
  • Increment compute env to use cudatoolkit 11.8 by @dotsdl in #278
  • release 0.5.0 prep by @dotsdl in #283

Full Changelog: v0.4.0...v0.5.0

Release v0.4.0

05 Apr 05:02
7284ee2
Compare
Choose a tag to compare

This release focused on performance improvements throughout alchemiscale, both user-facing and compute-facing. In particular:

  • performance improvements to Task creation, actioning, and claiming by compute services
  • new client methods for getting and setting many network weights at once
  • new client methods for getting Tasks statuses and actioned Tasks for many networks at once
  • added concept of network state, allowing users to set networks to inactive, deleted, or invalid when no longer relevant
  • now using neo4j 5.x, and the official neo4j Python driver for database communication

If upgrading an existing alchemiscale deployment to this release, please follow the migration guide.

What's Changed

New Contributors

Full Changelog: v0.3.0...v0.4.0

Release v0.3.0

19 Jan 18:28
b1cd4d7
Compare
Choose a tag to compare

This release focused on improving users' ability to influence compute effort allocation on their Tasks, as well as enabling support for large AlchemicalNetworks. This includes:

  • the ability to set and get Task priority, set and get AlchemicalNetwork weight relative to others, and set and get actioned Task weights. These give users several levers of control for getting results of greater interest more quickly. Big thanks to @ianmkenney for working on these pieces in detail.
  • vast improvement to AlchemicalNetwork submission and AlchemicalNetwork, Transformation, and ChemicalSystem retrieval through smarter serialization via use of keyed dicts, thanks to work by @ianmkenney and @dotsdl to solve alchemiscale#216:
    • users should see very fast submission times compared to previously, even on relatively slow internet connections
    • "large" networks (>1000 chemical systems) should be ingestible without issue

What's Changed

  • Set minimum for openmmforcefields version in conda envs to 0.12.0 by @dotsdl in #193
  • Fixing broken CI due to lomap import failures by @dotsdl in #196
  • Update prod envs to use gufe 0.9.5, openfe 0.14.0 by @dotsdl in #197
  • Make test env use latest release of openfe and gufe instead of main by @dotsdl in #203
  • Add the visualize kwarg to the create_network method by @ianmkenney in #207
  • Add ability to sort ScopedKeys by @dotsdl in #199
  • Remove return_gufe kwarg from AlchemiscaleClient.query_networks by @ianmkenney in #206
  • Add client/API getter and setter methods for network weights by @ianmkenney in #212
  • Add weight kwarg to AlchemiscaleClient.action_tasks method by @ianmkenney in #209
  • Add getters and setters for Task priority in AlchemiscaleClient by @ianmkenney in #213
  • Add get_network_actioned_tasks and get_task_actioned_networks to AlchemicaleClient by @ianmkenney in #214
  • Network representation optimizations for JSON encoding by @ianmkenney in #217
  • Optimization to gufe_to_digraph to avoid repeated traversals, calls to GufeTokenizable.to_shallow_dict by @dotsdl in #219
  • Added docs on getting and setting AlchemicalNetwork weights, Task actioned weights, and Task priorities by @dotsdl in #223
  • Attempting to fix seemingly random failures on CI by @dotsdl in #224
  • Adding KeyedChain class by @ianmkenney in #227
  • QA tests for impending 0.3.0 release by @dotsdl in #226

Full Changelog: v0.2.1...v0.3.0

Release v0.2.1

06 Oct 23:16
813cc5a
Compare
Choose a tag to compare

This is a bugfix release for the v0.2.x release series.

What's Changed

  • Added n_retries usage for SynchronousComputeService by @dotsdl in #186
  • Added validation guardrail for AlchemicalNetworks with self-Transformations by @dotsdl in #189
  • Updates for release 0.2.1 by @dotsdl in #190

Full Changelog: v0.2.0...v0.2.1

Release v0.2.0

23 Sep 00:57
535ea22
Compare
Choose a tag to compare

This release focused on adding documentation for alchemiscale, including a user guide, a first tutorial, deployment, compute, and operations guides, a developer guide, and an API reference. It also added efficient methods for getting network-wide results to the AlchemiscaleClient in #178, and some smaller fixes to the alchemiscale CLI.

What's Changed

  • Fixed version mismatch of alchemiscale in conda environments by @ianmkenney in #165
  • Add user guide to docs, restructure some other documentation pages by @dotsdl in #166
  • Added compute doc, adding other operations docs (e.g. backups) by @dotsdl in #167
  • Support adding and removing multiple scopes from identity with single CLI call by @dotsdl in #172
  • Add developer-facing docs by @dotsdl in #175
  • Review and refinement of API docs by @dotsdl in #177
  • Added get_network_results method to AlchemiscaleClient by @dotsdl in #178
  • Add Alchemiscale Demo as first tutorial by @dotsdl in #174
  • Updated prod-oriented conda envs to use latest openfe, gufe, and python 3.11 by @dotsdl in #181

New Contributors

Full Changelog: v0.1.4...v0.2.0