Releases: OpenFreeEnergy/alchemiscale
Release v0.7.2
This incremental release includes bugfixes and improvements in support of autoscaling implementations, such as that featured in alchemiscale-k8s.
What's Changed
- update treafik to v2.11 by @jandom in #459
- Fix/compute manager scopes by @ianmkenney in #460
- Drop neo4j driver notifications completely by @dotsdl in #463
- Adjustments to ComputeManagerID, Protocol name validation by @dotsdl in #466
- Added Strategist to docker-compose deployment by @dotsdl in #462
- Prep for release v0.7.2 by @dotsdl in #471
Full Changelog: v0.7.1...v0.7.2
Release v0.7.1
This release includes bugfixes for issues identified in the v0.7.0 release, as well as improvements to the documentation (thanks to @atravitz) and the performance of the test suite (thanks to @jandom).
The Strategist service now starts up as intended, and compute managers can now inject compute service names as commandline arguments.
What's Changed
- Fix indentation errors/warnings in CHANGELOG by @ianmkenney in #439
- Allow commandline level override of compute service name by @ianmkenney in #450
- Fixes #445 by @dotsdl in #451
- feat: parallel test neo4j containers by @jandom in #449
- Add scopes validation for ComputeServiceSettings by @ianmkenney in #453
- Add note to developer docs about docker for running integration tests by @atravitz in #428
- Release v0.7.1 preparation by @dotsdl in #456
New Contributors
Full Changelog: v0.7.0...v0.7.1
Release v0.7.0
This release introduces two major new features:
- a new
ComputeManagerbase class supporting upcoming compute autoscaling implementations across a variety of platforms, such as HPC, Kubernetes, etc. Strategistservice and user-facing client interface for submitting and monitoringStrategys for automatedAlchemicalNetworkcomputation
It also features performance improvements and bugfixes, namely:
- significantly faster
AlchemicalNetworksubmission and retrieval via theAlchemiscaleClient - deprecation fixes for
utcnowin Python 3.12 and above - deprecation fixes for
pydanticv2
What's Changed
- Add CHANGELOG via rever by @dotsdl in #400
- Bump gufe to 1.3.0 in test suite by @dotsdl in #386
- Optimize submission of AlchemicalNetwork objects to the statestore by @ianmkenney in #395
- Update all envs to use openfe 1.4.0, gufe 1.3.0 where missing by @dotsdl in #407
- Retrieve a
KeyedChaindirectly from neo4j by @ianmkenney in #408 - Returned elements of
get_transformation_chemicalsystemsordered byChemicalSystemstate by @ianmkenney in #402 - Disallow claiming many failures by @ianmkenney in #411
- Switch docs to furo theme by @dotsdl in #420
- update for
utcnowdeprecation by @atravitz in #418 - Update test env, deployment envs to latest deps by @dotsdl in #430
- migrating to pydantic v2 model_dump by @atravitz in #419
- Autoscaling support in alchemiscale by @ianmkenney in #424
- Strategist service initial implementation, with help from Claude Code. by @dotsdl in #421
- Manually truncate password at 72 bytes in response to bcrypt v5.0.0 by @ianmkenney in #435
- Ensure PEP-639 Support by @mikemhenry in #436
- Updating conda envs in preparation for release v0.7.0 by @dotsdl in #437
New Contributors
Full Changelog: v0.6.2...v0.7.0
Release v0.6.2
This is an incremental bugfix release, featuring small usability improvements from user feedback. In particular:
- it is now possible to set required arguments for the
AlchemiscaleClientvia environment variables, namelyALCHEMISCALE_URL,ALCHEMISCALE_ID, andALCHEMISCALE_KEY. - users of the
AlchemiscaleClientcan now disable local on-disk caching withuse_local_cache=False - compute services can now be configured to use a local on-disk cache where possible, or disable it completely
Tasks now record theidentityof the user that created them; this may be used in the future as a queryable
Thanks to all our contributors, including @LilDojd, @ianmkenney, @mikemhenry, and @dotsdl!
What's Changed
- feat: add environment variable support for client initialization params by @LilDojd in #368
- Fix docs by @ianmkenney in #381
- Make RTD fail on warning by @ianmkenney in #382
- Allow users to disable AlchemiscaleClient disk cache by @ianmkenney in #380
- Update to current type annotation syntax and clean out general diagnostic issues by @ianmkenney in #354
- Prevent warnings when environment variable is not set, and parameter is supplied by @LilDojd in #390
- switch to using setuptools_scm by @mikemhenry in #379
- Added ability to set cache location, size, or disable entirely for compute services by @dotsdl in #392
- Record the creator of new tasks by @dotsdl in #397
Full Changelog: v0.6.1...v0.6.2
Release v0.6.1
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
This release introduces several major features aimed at improving the overall user experience and result retrieval performance:
Taskrestart policies, which allow users to automateTaskrestarts for failure modes they encounter from unreliable compute resources- compression-at-rest of
ProtocolDAGResultobjects by compute services, and use of the compactKeyedChainrepresentation for these objects underneath - user-configurable
ProtocolDAGResulton-disk caching in theAlchemiscaleClient, reducing wait times for pulling results when they have been previously requested
This release also includes the following stack requirements:
gufe> 1.2.0pydantic> 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
diskcachefor cachingProtocolDAGResults in the Alchemiscale client by @ianmkenney in #271 - Updated
gufeandopenfeversions in conda envs, addedcuda-version > 12to avoid pullingcudatoolkitby @dotsdl in #360 - Added CITATION.cff file with authors involved in
alchemiscaleworking 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
Small patch release, addressing a bug in protocol filtering in SynchronousComputeService.
What's Changed
SynchronousComputeServicenow 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
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
- Addressing failures in CI by @ianmkenney in #317
- Switch to matching against
SettingsBaseModelinstead ofSettingsingufe_to_subgraphby @dotsdl in #316 - Changes to address #292 by @dotsdl in #323
- Adopt code from py2neo to remove the use of the
idfunction in cypher queries by @ianmkenney in #302 - Closes #297 by @dotsdl in #324
- Use python < 3.13 for building docs by @ianmkenney in #325
- Use query parameters wherever possible in Neo4jStore by @LilDojd in #330
- Replace passlib with bcrypt by @LilDojd in #306
- Replace the alchemiscale KeyedChain with new gufe KeyedChain by @ianmkenney in #329
- Release v0.5.2 preparation by @dotsdl in #334
New Contributors
Full Changelog: v0.5.1...v0.5.2
Release v0.5.1
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_limitback 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
This release features changes required to support the following:
openfeandgufeversions >=1.0- Folding@Home execution via
alchemiscale-fah
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_networksby @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-fahby @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