this update has lots of changes to new image installs, and some bug fixes for existing installs.
One big change: we added experimental image support for RPi Zero W (the original Zero model) for workers. It should appear if you select the RPi Zero W in the Imager during install.
26.6.0
Breaking changes
- Migrated legacy experiment
media_usedandorganism_usedvalues to namespaced experiment tags, then removed those columns from theexperimentsdatabase table.
Enhancements
-
Added boot-partition Wi-Fi setup for new Pioreactor images. Users can place a
wifi.inifile withssidandpassphrasevalues on the boot partition, and the image will try those credentials before starting local access point mode. -
Added support for installing
.pydrop-in plugins from Pioreactor-managed USB drives on the Plugins page, alongside existing.whlplugin installs. -
Reduced idle CPU usage from Huey on single-core Raspberry Pi leaders by starting the background task queue with fewer workers and a slower polling interval. Multi-core devices keep the existing Huey settings.
-
Reduced idle CPU usage from the monitor job on single-core Raspberry Pis by disabling button controls by default. The new
[monitor.config] enable_buttonoption supportsauto,true, andfalse. -
added
gitto new Pioreactor images -
Plugins installation and uninstallation are now part of core
pioreactorinstead of shelling-out to a bash script. -
Added a retained MQTT topic for each worker’s current experiment assignment:
pioreactor/<pioreactor_unit>/$experiment/assignmentThis gives UI, plugin, and monitoring consumers a lightweight MQTT-native way to observe assignment changes while the leader database remains authoritative.
-
Bumps the base RPi OS image to 18 Jun 2026 which includes Linux kernel 6.18 (new images only).
Bug fixes
- Fixed new Pioreactor images so devices without internet or an RTC restore the last saved system time on offline boots, including local access point mode, instead of reverting to the image build date.
- Fixed
repeatactions in common experiment-profile jobs so each Pioreactor runs the expected number of loops independently. - Fixed the MCP endpoint to accept both
/mcpand/mcp/without redirecting, and ensured Lighttpd forwards the roots of the/api,/unit_api, and/mcpnamespaces to the web application. - Fixed plugin uninstall cleanup for legacy plugin UI assets installed from
ui/contrib/. - Fixed network_info.txt lacking networkmanager logs
- Fixed test_dark_offset_correction_is_effective update missing from self-test dialog.