New Pioreactor release: 24.10.29

:wave: Hello! I’m on pat-leave, but most of this work was done prior. I want to get it out since there are some nice additions and bug fixes.

24.10.29

:bulb: We recommend being on version 24.9.19 or above before updating.

:arrow_down: Download 24.10.29 release zip file

Enhancements

  • dosing_automation.vial_volume replaced with dosing_automation.liquid_volume. You can see the values by watching pio mqtt -t "pioreactor/+/+/dosing_automation/liquid_volume" after starting a dosing automation.
  • Adding a SQL table for tracking liquid_volume.
  • Because we are now storing liquid_volume in the database, you can add charts in the UI that track the volume over time:
    1. Add the following yaml contents to ~/.pioreactor/plugins/ui/contrib/charts/liquid_volume.yaml: liquid_volume.yaml · GitHub
    2. In your config.ini, under ui.overview.charts, add the line liquid_volume=1.
  • New dataset exports from the Export data page in the UI: calibrations and liquid-volumes.
  • Added a “partition by unit” option to the Export data page that will create a csv per Pioreactor in the export, instead of grouping them all together.
  • od calibrations can use the --json-file to edit calibration polynomial coefficients. In the json file, specify curve_data_ fields with values of the curve’s polynomial coefficients (leading term first), and set curve_type as "poly". The routine will begin with that calibration curve displayed.
  • faster UI response times when starting jobs.
  • faster syncing configs.
  • faster copying files across cluster via pio cp.
  • faster clean up of jobs using PWMs.
  • new installs only: updated base RPiOS to 2024-10-22.
  • new database table in /tmp/local_intermittent_pioreactor_metadata.sqlite called pio_job_published_settings that stores the published settings for each job. This powers the next API endpoints:
  • New API endpoints for getting the current settings of a running job:
    • Per pioreactor:
      • GET: /unit_api/jobs/settings/job_name/<job_name>
      • GET: /unit_api/jobs/settings/job_name/<job_name>/setting/<setting>
    • Across the cluster:
      • GET: /api/jobs/settings/job_name/<job_name>/setting/<setting>
      • GET: /api/jobs/settings/job_name/<job_name>/experiments/<experiment>
      • GET: /api/jobs/settings/job_name/<job_name>/experiments/<experiment>/setting/<setting>
      • GET: /api/jobs/settings/workers/<pioreactor_unit>/job_name/<job_name>
      • GET: /api/jobs/settings/workers/<pioreactor_unit>/job_name/<job_name>/setting/<setting>
        Ex: query the temperature of a Pioreactor: curl http://pio01.local/unit_api/jobs/settings/job_name/temperature_automation/setting/temperature

Breaking changes

  • pio kill --name x is now pio kill --job-name x
  • removed publishing published_settings metadata to mqtt. Ex $properties, $settable, $unit, $datatype are no longer being sent mqtt. This was never used, and just a bandwidth suck.

Bug fixes

  • fix for OD calibration graph showing “two lines” in the terminal display
  • fix for updating over the internet when a Pioreactor is on a A.devX or B.rcY release
  • pio kill --all-jobs will no longer kill long-running jobs from plugins (specifically, logs2x jobs.)
  • updating the UI software won’t prematurely stop any currently running activities
  • correct ethernet mac address on RPi5s
  • We weren’t passing all the OS environment variables when jobs were started from the UI. This is fixed now.
  • Fixed circulate media / alt. media in the UI.
  • Fixed manual dosing updates in the UI.

How to update?

1 Like

Known issues

  • If your updating on a leader-only using the release-zip method, the UI may not update to the latest UI version, 24.10.30 . If not (you can check by hovering of the “Version installed on leader” on the Updates page), run:
     pio update ui --source /tmp/pioreactorui_archive.tar.gz
    
  • You may need to reboot/power-cycle your cluster if you experience a no such column: job_name error (or workers are responding in the UI)

Hi Cameron,

I just made the update and the workers are now not responding to the UI. However the UI version that i see when i hover over the leader version is 24.10.30.
I did the pio update you suggested just in case, but it didn’t solve it. Does restarting the cluster mean reinstalling the images?

Nope, just a reboot / power cycle is fine

Amazing that was easy! And now its fixed. Thank you :slight_smile: