Releases: Pioreactor/pioreactor
Releases · Pioreactor/pioreactor
24.6.10
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:
- we max the queue of unsent messages to 100 (arbitrary)
- in important jobs, like temperature automations, it will only respond to "recent" messages and not old messages.
24.6.10rc0
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:
- we max the queue of unsent messages to 100 (arbitrary)
- in important jobs, like temperature automations, it will only respond to "recent" messages and not old messages.
24.5.31
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
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
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:
This doesn't set the port and proto, that involves changing settings in the lighttpd configuration.
[ui] port=80 proto=http
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 topioreactor-<leader-name>
after the next reboot.
24.5.22rc0
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:
This doesn't set the port and proto, that involves changing settings in the lighttpd configuration.
[ui] port=80 proto=http
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 topioreactor-<leader-name>
after the next reboot.
24.5.20rc0
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:
This doesn't set the port and proto, that involves changing settings in the lighttpd configuration.
[ui] port=80 proto=http
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 topioreactor-<leader-name>
after the next reboot. Now, this will now always bepioreactor-<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
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
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
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.