Skip to content

v1.0.0

Choose a tag to compare

@bruno-f-cruz bruno-f-cruz released this 30 May 18:40
· 32 commits to main since this release

VrForaging 1.0.0 release

This tag marks the first stable release of the experimental workflow. Major versions are used to track dataset compatibility. Within a given major version, we may continue to evolve the experimental workflow, experiment control, UI, and curricula, but try our best to keep the data contract backwards-compatible.

Major features

  • Updated against the latest versions of aind-behavior-services and clabe.
  • Introduced script-driven workflows, including task launch, calibration, and session recovery.
  • Refactored infrastructure to use external schema-generator references instead of package-duplicated schemas.
  • Added saturation visualizer support across camera visualizers.
  • Added support for odor mixtures across multiple olfactometers.
  • Added Olfactometer extension support to the data contract and QC pipeline.
  • Added support for terminating patches after N reward sites via OnSiteCountPatchTerminator.
  • Migrated docs from Sphinx to MkDocs.
  • Added delayed experiment start and stop support.
  • Moved curricula into the mono-repo and streamlined project structure and launcher behavior.

Improvements

  • Surfaced annotations in QC reports.
  • Enforced rig_name and computer_name from environment variables.
  • Improved metadata mapping, including olfactometer stimulus mapping.
  • Improved photodiode event detection and aligned QC tests.
  • Refactored ValidateOlfactometerDefinition to return Unit in Process.
  • Updated schema folder layout and refactored Bonsai directory placement.
  • Refactored QA startup ordering to run before task engine startup.
  • Reduced QC stack-trace verbosity.
  • Refactored and stabilized visualizer architecture, including saturation slider and velocity limits.
  • Added commit hash encoding to metadata.
  • Added waterlog integration to the experiment script.
  • Added flexible tracking for external curricula repositories.
  • Added support for automatic dataset version inference.
  • Added curriculum README rendering.

Breaking changes

  • Removed max_open_time from task logic.
  • Rig schema is not backwards compatible in this release due to upstream simplification in aind-behavior-services. (See #499 for migration instructions.)
  • Curriculum state used for sessions is now serialized to trainer_state.json as per aind-file-standards.
  • odor_specification is now represented as List[float].
  • task_logic schema backward deserialization support was explicitly extended for versions >= 0.6.

Bug fixes

  • Fixed lens models in instrument mapping.
  • Fixed Pandas 3.x related QC issues by avoiding in-place mutation of read-only dataframes.
  • Fixed deployment script issues.
  • Fixed native assertion and startup-related native errors in visualizers.
  • Added graceful pre-exit error handling.
  • Generalized environment sampling and implemented sequential sampling.
  • Fixed task logic and bounds for CTCM algorithm.
  • Applied rig-test driven bug fixes.

What's Changed

New Contributors

Full Changelog: v0.6.8...v1.0.0