Skip to content

1.7.0

Compare
Choose a tag to compare
@b-butler b-butler released this 08 Jun 20:57
cf7f0a7

This release adds SyncedCollections, a new, performant, and flexible approach to syncing job state points and documents with an underlying resource. Thanks to all who contributed! 🎨

Added

  • New SyncedCollection class and subclasses to replace JSONDict with more general support for different types of resources (such as MongoDB collections or Redis databases) and more complete support for different data types synchronized with files (#196, #234, #249, #316, #383, #397, #465, #484, #529, #530). This change introduces a minor-backwards incompatible change; for users making direct use of signac buffering, the force_write parameter is no longer respected. If the argument is passed, a warning will now be raised to indicate that it is ignored and will be removed in signac 2.0.
  • Unified querying for state point and document filters using 'sp' and 'doc' as prefixes (#332, #514). This change introduces a minor backwards-incompatible change to the Collection index schema ('statepoint'->'sp'), but this does not affect any APIs, only indexes saved to file using a previous version of signac. Indexing APIs will be removed in signac 2.0.

Changed

  • Optimized internal path joins to speed up project iteration (#515).

Deprecated

  • doc_filter arguments, which are replaced by namespaced filters. Due to their long history, doc_filter arguments will still be accepted in signac 2.0 and will only be removed in 3.0 (#516).
  • The modules signac.core.attrdict, signac.core.json, signac.core.jsondict, and signac.core.synceddict.py are deprecated in favor of the new SyncedCollection classes and will be removed in signac 2.0 (#483).

Fixed

  • Corrected docstrings for Job.update_statepoint and Project.update_statepoint (#506, #563).