New Pioreactor release: 26.6.0

:wave: 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_used and organism_used values to namespaced experiment tags, then removed those columns from the experiments database table.

Enhancements

  • Added boot-partition Wi-Fi setup for new Pioreactor images. Users can place a wifi.ini file with ssid and passphrase values on the boot partition, and the image will try those credentials before starting local access point mode.

  • Added support for installing .py drop-in plugins from Pioreactor-managed USB drives on the Plugins page, alongside existing .whl plugin 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_button option supports auto, true, and false.

  • added git to new Pioreactor images

  • Plugins installation and uninstallation are now part of core pioreactor instead of shelling-out to a bash script.

  • Added a retained MQTT topic for each worker’s current experiment assignment:

    pioreactor/<pioreactor_unit>/$experiment/assignment
    

    This 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 repeat actions in common experiment-profile jobs so each Pioreactor runs the expected number of loops independently.
  • Fixed the MCP endpoint to accept both /mcp and /mcp/ without redirecting, and ensured Lighttpd forwards the roots of the /api, /unit_api, and /mcp namespaces 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.

How to update

1 Like

Hi there! Thanks for the release :slight_smile:
One question, I can’t visualise anymore the graphs from the laerke-eu-pressure-reading-plugin (0.9.0). When going to settings, what name should I add in order to view it?

Here my current setup:

[ui.overview.charts]

optical_density=1
normalized_optical_density=1
implied_growth_rate=1
implied_daily_growth_rate=0
raw_optical_density=0
temperature=1
current_volume_ml=0
fused_optical_density=0
fraction_of_volume_that_is_alternative_media=0

Thanks!!!

Solved… → laerke_eu_pressure_readings = 1

Apologies :slight_smile: