Description
This release includes a substantial restructuring of the repository to move the `agents/` directory into the `socs` package, making `socs` an [OCS Plugin](https://ocs.readthedocs.io/en/develop/developer/writing-plugins.html). This makes the Agents available through the package for the first time. OCS Plugins are new feature as of ocs v0.10.0, for more details please see the [ocs release notes](https://github.com/simonsobs/ocs/releases/tag/v0.10.0). **Updating to socs v0.4.0 requires some user action, as described below.**
Docker Image Merger
Along with this restructuring comes a merger of most of the Docker images used to run the socs Agents. Most of the Agents can now be run off of a single image, [simonsobs/socs](https://hub.docker.com/r/simonsobs/socs). The only Agents not covered by this are the HWP Picoscope, Pysmurf Controller, and Wiregrid Actuator Agents.
Required Actions
The merger of the Docker images requires users who update to v0.4.0 to update their docker-compose files to use this common image (old per-agent images are no longer published, except for the Agents called out above), and to set common configuration variables via the `environment:` field, such as the instance-id, site-hub, and site-http arguments. For examples, please see any given Agent's reference page in the documentation.
To discuss these changes, please use the GitHub Discussion linked to this release. For any issues that arise in this release, especially due to this restructuring, please file a GitHub Issue.
What's Changed
New Agents
* Chopper MC2000B Agent by sanahabhimani in https://github.com/simonsobs/socs/pull/357
New Features
* Make socs an ocs plugin by BrianJKoopman in https://github.com/simonsobs/socs/pull/352
* Add release and acquire function to cryomech cpa agent by sanahabhimani in https://github.com/simonsobs/socs/pull/359
Documentation Updates
* More docs standarization by BrianJKoopman in https://github.com/simonsobs/socs/pull/367
Testing Updates
* Pysmurf-controller agent unit tests & agent fixes by davidvng in https://github.com/simonsobs/socs/pull/354
* Pfeiffer_tpg366 agent added test mode for integration test by davidvng in https://github.com/simonsobs/socs/pull/363
* iBootBar Integration Tests using SNMP Response Simulator by erfz in https://github.com/simonsobs/socs/pull/338
* iBootbar removed auto-start by davidvng in https://github.com/simonsobs/socs/pull/364
Version Updates
* Bump sodetlib by jlashner in https://github.com/simonsobs/socs/pull/358
* Bump styfle/cancel-workflow-action from 0.10.0 to 0.10.1 by dependabot in https://github.com/simonsobs/socs/pull/353
* Bump styfle/cancel-workflow-action from 0.10.1 to 0.11.0 by dependabot in https://github.com/simonsobs/socs/pull/356
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/simonsobs/socs/pull/360
Misc.
* Update labjack software installation in Docker build by BrianJKoopman in https://github.com/simonsobs/socs/pull/355
* Fix develop/deploy wheel tests by BrianJKoopman in https://github.com/simonsobs/socs/pull/361
**Full Changelog**: https://github.com/simonsobs/socs/compare/v0.3.2...v0.4.0