New Pioreactor release: 24.4.3

Thanks to the testing work done by @kellyt we were able to get this new version out much faster than anticipated! Our documentation at is behind, and we’re updating that to reflect the (big!) changes in this release.



  • The Pioreactor leader can now support multiple experiments! If you have more than one Pioreactor, this change allows you to run multiple experiments simultaneously, assign Pioreactors to different experiments, and manage all experiments concurrently. No more multi-leader set ups - all you need is a single leader and multiple workers! See video here.
  • Ability to delete experiments from the UI.
  • Better control over your cluster, using the Inventory page in the UI.
  • Ship with network configuration of local-link connections: plug in an ethernet from your Pioreactor to your computer, and after invoking sudo nmcli c PioreactorLocalLink up, you should be able to visit http://pioreactor.local in your browser.


  • replace the ip file that is written to on startup with a new network_info.txt file that contains the hostname, IPv4 address, and MAC addresses.
  • Adding the ethernet (wired) mac address to the system tab.
  • new Python module for controlling workers: pioreactor.cluster_management
  • by default, for new installs, the local-access-point SSID is now pioreactor_<hostname>.
  • UI performance improvements
  • New database tables to handle workers (workers) and experiments assignments (experiment_assignments).
  • New pio workers CLI to mange your inventory. Try pio workers --help to see all the commands available.
  • Better error messages when a self-test fails.
  • pio kill has new options to kill specific actions. Ex: pio kill --experiment this-exp, pio kill --job-source experiment_profile

Breaking changes

  • When a experiment profile stops early (i.e. via “stop early” in the UI), it now will halt any jobs that it started. This is a change from how they worked previously, but this new behaviour is less of a surprise to users.
  • pio add-pioreactor <name> is now pio workers add <name>
  • pio cluster-status is now pio workers status
  • utils.publish_ready_to_disconnected_state changed names to utils.managed_lifecycle
  • config.inventory in the config.ini is no longer used. All that data is now handled in the database on the leader, and managed in the UI or CLI.
  • pio kill <job_name> is removed, use pio kill --name <job_name>.

Bug fixes

  • fix for not being able to access http://pioreactor.local reliably.
  • fix for multiple exporting datasets when selecting “All experiments”

Known bugs

  • removing a Pioreactor leader from an experiment will stop any experiment profiles running that are associated to that experiment.
  • some logs are not showing up in the Recent Logs table
  • Pressing the button on the HAT is not showing up in the UI.

How to update?

If updating over the internet, any workers in the cluster may fail the update with “no such table: experiment_profile_runs” - that’s okay, ignore it - your worker did in fact update. Future releases will suppress messages like this.

Hello Cameron! :slight_smile:

I tried updating our pioreactors to this new release through the zip file and through the command line, but it seems to keep failing. These are the error messages I am getting:

Maybe it’s just some bug and thought it would be good to post it here. Thanks for the help in advance!



Hi @aiseor, ah, thanks for letting me know. Maybe we’ve shipped a broken release archive. Let me check now.

@aiseor, please download the new(er) release_archive here and try again!