Skip to content

Releases: Pioreactor/pioreactor

24.6.10

10 Jun 19:20
Compare
Choose a tag to compare

Important

We strongly recommend you be on 24.5.1 or higher before updating. If not, update to 24.5.1 first!

Enhancements

  • we changed the "auto" algorithm for picking a good ir_led_intensity. We now try to maximize the intensity, up to some constraints around saturating ADCs, LED longevity, and signal. In general, we expect a higher IR intensity, but this will help with noise and detecting lower signals.
  • More improvements on the Pioreactor-specific page: added charts and a logs table.
  • Added a "retry failed tests" to the UI's self-test dialog.
  • pio run self_test has a new flag --retry-failed to only retry tests that failed in the previous run (if any).
  • better clean up when a worker is removed from a cluster.
  • reduce the mosquitto logs to reduce writes to disk and speed up connections.
  • Use lexicographical ordering for all displays of workers in the UI
  • This only applies to new installed images, and not updates. Updated to the latest RPI image, 2024-03-15, -> linux kernel update to 6.6. Recent versions of linux have improved support for usb wifi devices.
  • This only applies to new installed images, and not updates. leader-only images will install worker Python libraries.
  • This only applies to new installed images, and not updates. all experiment data will be deleted when the experiment is deleted.
  • performance improvements

Breaking changes

  • Changed the web backend API endpoints for time-series, logs, shutdown, reboot, and plugins to be more RESTful. See docs for updated rules in the docs.

Bug fixes

  • fix performing an "undo" when editing the config.ini and experiment profiles.
  • fix Pioreactor v1.1 bug when change target temperature mid cycle causing the inferred temperature to change significantly.
  • if a worker disconnected from the network, messages are queued in memory until the network reconnects. This has two problems. The first is that there is a finite amount of memory, and we don't want to OOM. The second is that when the worker(s) reconnect, there is a flurry of messages. For some jobs that use messages as events, this can cause multiple triggers in quick succession. We've added some logic that helps avoid these situations:
    1. we max the queue of unsent messages to 100 (arbitrary)
    2. in important jobs, like temperature automations, it will only respond to "recent" messages and not old messages.

24.6.10rc0

10 Jun 15:11
Compare
Choose a tag to compare
24.6.10rc0 Pre-release
Pre-release

Upcoming

Enhancements

  • we changed the "auto" algorithm for picking a good ir_led_intensity. We now try to maximize the intensity, up to some constraints around saturating ADCs, LED longevity, and signal. In general, we expect a higher IR intensity, but this will help with noise and detecting lower signals.
  • More improvements on the Pioreactor-specific page: added charts and a logs table.
  • Added a "retry failed tests" to the UI's self-test dialog.
  • pio run self_test has a new flag --retry-failed to only retry tests that failed in the previous run (if any).
  • better clean up when a worker is removed from a cluster.
  • reduce the mosquitto logs to reduce writes to disk and speed up connections.
  • Use lexicographical ordering for all displays of workers in the UI
  • This only applies to new installed images, and not updates. Updated to the latest RPI image, 2024-03-15, -> linux kernel update to 6.6. Recent versions of linux have improved support for usb wifi devices.
  • This only applies to new installed images, and not updates. leader-only images will install worker Python libraries.
  • This only applies to new installed images, and not updates. all experiment data will be deleted when the experiment is deleted.
  • performance improvements

Breaking changes

  • Changed the web backend API endpoints for time-series, logs, shutdown, reboot, and plugins to be more RESTful. See docs for updated rules in the docs.

Bug fixes

  • fix performing an "undo" when editing the config.ini and experiment profiles.
  • fix Pioreactor v1.1 bug when change target temperature mid cycle causing the inferred temperature to change significantly.
  • if a worker disconnected from the network, messages are queued in memory until the network reconnects. This has two problems. The first is that there is a finite amount of memory, and we don't want to OOM. The second is that when the worker(s) reconnect, there is a flurry of messages. For some jobs that use messages as events, this can cause multiple triggers in quick succession. We've added some logic that helps avoid these situations:
    1. we max the queue of unsent messages to 100 (arbitrary)
    2. in important jobs, like temperature automations, it will only respond to "recent" messages and not old messages.

24.5.31

31 May 17:03
Compare
Choose a tag to compare

24.5.31

Important

We strongly recommend you be on 24.5.1 or higher before updating. If not, update to 24.5.1 first!

Highlights

  • New /pioreactor/worker-name page in the UI for a detailed view of an individual Pioreactor, including a realtime visualization of the Pioreactor!

Enhancements

  • UI now supports external MQTT broker. This configuration lives in the same place as the exiting MQTT settings: in the config.ini, under [mqtt].
  • Added groupings on the Experiment drop down to organize "Active" and "Inactive" experiments. An active experiment has >= 1 Pioreactor assigned to it.

Breaking changes

  • New log topic that partitions by the level. This should make subscribers to the log topic slimmer (like the UI, who previosly would have to accept all messages and filter to what they needed). Should result in a performance increase.

Bug fixes

  • Fix for Pioreactors page when no workers are added to the cluster.
  • Fix for UI labels when trying to remove labels from Pioreactors.
  • Improvements to REF self-tests.

24.5.31rc0

31 May 15:01
Compare
Choose a tag to compare
24.5.31rc0 Pre-release
Pre-release

Upcoming

Highlights

  • New /pioreactor/worker-name page in the UI for a detailed view of an individual Pioreactor, including a realtime visualization of the Pioreactor!

Enhancements

  • UI now supports external MQTT broker. This configuration lives in the same place as the exiting MQTT settings: in the config.ini, under [mqtt].
  • Added groupings on the Experiment drop down to organize "Active" and "Inactive" experiments. An active experiment has >= 1 Pioreactor assigned to it.

Breaking changes

  • New log topic that partitions by the level. This should make subscribers to the log topic slimmer (like the UI, who previosly would have to accept all messages and filter to what they needed). Should result in a performance increase.

Bug fixes

  • Fix for Pioreactors page when no workers are added to the cluster.
  • Fix for UI labels when trying to remove labels from Pioreactors.
  • Improvements to REF self-tests.

24.5.22

22 May 17:13
Compare
Choose a tag to compare

24.5.22

Important

We strongly recommend you be on 24.5.1 or higher before updating. If not, update to 24.5.1 first!

Enhancements

  • Significant performance increase by using force_turbo=1 in the Raspberry Pi. Expect a noticeable improvement in interacting with the Pioreactor. This pushes the Pi to always run "hot" (but we aren't overclocking). This does slightly increase the Pi's internal temperature, so be wary about putting the Pioreactor in very hot environment. This settings requires a reboot to take affect.
  • adding support for changing the port and protocol of the Pioreactor UI webserver in the software. Add the following to your config.ini:
    [ui]
    port=80
    proto=http
    
    This doesn't set the port and proto, that involves changing settings in the lighttpd configuration.

Bug fixes

  • more sane defaults for OD reading for v1.1 when using auto.
  • fix pios plugins uninstall
  • fix leader not correctly being identified in pio workers status
  • For RPi Zero W (first gen), sometimes the load_rp2040 script was failing. A new script will retry a few times. This only applies to new images.
  • fix pio workers update-active using the wrong HTTP verb.
  • Fix using ethernet cable to connect Pioreactor to a router: a new simple ethernet nmconnection has been added, and has higher connection priority than the PioreactorLocalLink nmconnection.
  • Fix race conditions occurring between stirring and growth-rate when they were started too quickly.

Known issues

  • When the local access point would start on a fresh boot, the SSID would start as pioreactor, and then change to pioreactor-<leader-name> after the next reboot.

24.5.22rc0

22 May 13:52
Compare
Choose a tag to compare
24.5.22rc0 Pre-release
Pre-release

Upcoming

Enhancements

  • Significant performance increase by using force_turbo=1 in the Raspberry Pi. Expect a noticeable improvement in interacting with the Pioreactor. This pushes the Pi to always run "hot" (but we aren't overclocking). This does slightly increase the Pi's internal temperature, so be wary about putting the Pioreactor in very hot environment. This settings requires a reboot to take affect.
  • adding support for changing the port and protocol of the Pioreactor UI webserver in the software. Add the following to your config.ini:
    [ui]
    port=80
    proto=http
    
    This doesn't set the port and proto, that involves changing settings in the lighttpd configuration.

Bug fixes

  • more sane defaults for OD reading for v1.1 when using auto.
  • fix pios plugins uninstall
  • fix leader not correctly being identified in pio workers status
  • For RPi Zero W (first gen), sometimes the load_rp2040 script was failing. A new script will retry a few times. This only applies to new images.
  • fix pio workers update-active using the wrong HTTP verb.
  • Fix using ethernet cable to connect Pioreactor to a router: a new simple ethernet nmconnection has been added, and has higher connection priority than the PioreactorLocalLink nmconnection.
  • Fix race conditions occurring between stirring and growth-rate when they were started too quickly.

Known issues

  • When the local access point would start on a fresh boot, the SSID would start as pioreactor, and then change to pioreactor-<leader-name> after the next reboot.

24.5.20rc0

21 May 02:11
Compare
Choose a tag to compare
24.5.20rc0 Pre-release
Pre-release

Upcoming

Enhancements

  • Significant performance increase by using force_turbo=1 in the Raspberry Pi. Expect a noticeable improvement in interacting with the Pioreactor. This pushes the Pi to always run "hot" (but we aren't overclocking). This does slightly increase the Pi's internal temperature, so be wary about putting the Pioreactor in very hot environment. This settings requires a reboot to take affect.
  • adding support for changing the port and protocol of the Pioreactor UI webserver in the software. Add the following to your config.ini:
    [ui]
    port=80
    proto=http
    
    This doesn't set the port and proto, that involves changing settings in the lighttpd configuration.

Bug fixes

  • more sane defaults for OD reading for v1.1 when using auto.
  • fix pios plugins uninstall
  • fix leader not correctly being identified in pio workers status
  • For RPi Zero W (first gen), sometimes the load_rp2040 script was failing. A new script will retry a few times. This only applies to new images.
  • fix pio workers update-active using the wrong HTTP verb.
  • When the local access point would start on a fresh boot, the SSID would start as pioreactor, and then change to pioreactor-<leader-name> after the next reboot. Now, this will now always be pioreactor-<leader-name>.
  • Fix using ethernet cable to connect Pioreactor to a router: a new simple ethernet nmconnection has been added, and has higher connection priority than the PioreactorLocalLink nmconnection.

24.5.13

13 May 19:46
Compare
Choose a tag to compare

24.5.13

Important

We strongly recommend you be on 24.5.1 (the previous release) before updating. If not, update to 24.5.1 first!

Enhancements

  • UI chart legend's will support more than 8 Pioreactors.
  • UI chart colors are consistent across charts in the Overview.
  • reduce the severity of some messages, so there will be less pop-ups in the UI.
  • UI performance improvements.
    • Upgraded to React 18.3.1
    • Removed unused dependencies
  • UI's code sections use syntax-highlighting and other nicer features for editing yaml and ini files.
  • App performance improvements
    • Upgrade paho-mqtt to 2.1
    • faster pio kill
    • faster job start from UI
  • more humane error messages.
  • updated temperature inference model.
  • added exponentiation ** to profile expressions. Ex: ${{ pio1:growth_rate_calculating:growth_rate.growth_rate ** 0.5 }}
  • added random() to profile expressions. This returns a number between 0 and 1. Ex: ${{ 25 + 25 * random() }}

Bug fixes

  • fix pio plugins not working on workers.
  • fix enable_dodging_od=0 for background jobs that can dodge OD.
  • fix PWM jobs not cleaning up correctly if too many jobs try to end at the same time.
  • fix pio kill not returning the correct count of jobs being killed.
  • fix older Pioreactor HATs, with the ADS1115 chip, not have the method from_voltage_to_raw_precise.
  • fix "Manage all" not sending the correct dosing command to workers.

24.5.13rc1

13 May 15:11
Compare
Choose a tag to compare
24.5.13rc1 Pre-release
Pre-release

Upcoming

Enhancements

  • UI chart legend's will support more than 8 Pioreactors.
  • UI chart colors are consistent across charts in the Overview.
  • reduce the severity of some messages, so there will be less pop-ups in the UI.
  • UI performance improvements.
    • Upgraded to React 18.3.1
    • Removed unused dependencies
  • UI's code sections use syntax-highlighting and other nicer features for editing yaml and ini files.
  • App performance improvements
    • Upgrade paho-mqtt to 2.1
    • faster pio kill
    • faster job start from UI
  • more humane error messages.
  • updated temperature inference model.
  • added exponentiation ** to profile expressions. Ex: ${{ pio1:growth_rate_calculating:growth_rate.growth_rate ** 0.5 }}
  • added random() to profile expressions. This returns a number between 0 and 1. Ex: ${{ 25 + 25 * random() }}

Bug fixes

  • fix pio plugins not working on workers.
  • fix enable_dodging_od=0 for background jobs that can dodge OD.
  • fix PWM jobs not cleaning up correctly if too many jobs try to end at the same time.
  • fix pio kill not returning the correct count of jobs being killed.
  • fix older Pioreactor HATs, with the ADS1115 chip, not have the method from_voltage_to_raw_precise.
  • fix "Manage all" not sending the correct dosing command to workers.

24.5.13rc0

13 May 14:59
Compare
Choose a tag to compare
24.5.13rc0 Pre-release
Pre-release

Upcoming

Enhancements

  • UI chart legend's will support more than 8 Pioreactors.
  • UI chart colors are consistent across charts in the Overview.
  • reduce the severity of some messages, so there will be less pop-ups in the UI.
  • UI performance improvements.
    • Upgraded to React 18.3.1
    • Removed unused dependencies
  • UI's code sections use syntax-highlighting and other nicer features for editing yaml and ini files.
  • App performance improvements
    • Upgrade paho-mqtt to 2.1
    • faster pio kill
    • faster job start from UI
  • more humane error messages.
  • updated temperature inference model.
  • added exponentiation ** to profile expressions. Ex: ${{ pio1:growth_rate_calculating:growth_rate.growth_rate ** 0.5 }}
  • added random() to profile expressions. This returns a number between 0 and 1. Ex: ${{ 25 + 25 * random() }}

Bug fixes

  • fix pio plugins not working on workers.
  • fix enable_dodging_od=0 for background jobs that can dodge OD.
  • fix PWM jobs not cleaning up correctly if too many jobs try to end at the same time.
  • fix pio kill not returning the correct count of jobs being killed.
  • fix older Pioreactor HATs, with the ADS1115 chip, not have the method from_voltage_to_raw_precise.
  • fix "Manage all" not sending the correct dosing command to workers.