Skip to content

Releases: Pioreactor/pioreactor

24.4.10rc0

10 Apr 14:13
Compare
Choose a tag to compare
24.4.10rc0 Pre-release
Pre-release

Upcoming

Enhancements

  • Faster app start-up performance, which should translate to faster response times.
  • Log when workers change experiment assignments.
  • Log when workers change active status.
  • Adding [pioreactor] section to config.inis

Breaking changes

  • pio install-plugin is now pio plugins install. Likewise for uninstall.
  • pio list-plugins is now pio plugins list.
  • pios install-plugin is now pios plugins install. Likewise for uninstall.

Bug fixes

  • fixed Log table in the UI not showing all entries.
  • fixed HAT button response in the UI.

24.4.3

03 Apr 16:38
Compare
Choose a tag to compare

24.4.3

Highlights

  • 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.

Enhancements

  • 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.

24.4.3rc0

03 Apr 15:01
Compare
Choose a tag to compare
24.4.3rc0 Pre-release
Pre-release

Upcoming

Highlights

  • 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!
  • 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.

Enhancements

  • 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 ends early, 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
  • publish_ready_to_disconnected_state changed names to 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.

24.4.2rc0

02 Apr 19:15
Compare
Choose a tag to compare
24.4.2rc0 Pre-release
Pre-release

Upcoming

Highlights

  • The Pioreactor leader can now support multiple experiments! If you have more than one Pioreactor, this change allow you to run multiple experiments simultaneously, assign Pioreactors to different experiments, and control all experiments concurrently. No more multi-leader set ups - all you need is a single leader and multiple workers!
  • 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.

Enhancements

  • replace the ip file that is written to on startup with a new network_info 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 ends early, 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
  • publish_ready_to_disconnected_state changed names to 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"

24.3.10

10 Mar 15:00
Compare
Choose a tag to compare

24.3.10

Enhancements

  • For better consistency between Pioreactors, we've introduced a new configuration option that will automatically adjust the IR LED intensity to match a target value in the reference photodiode, at the start of OD reading. This means that if your IR LEDs are slightly different between Pioreactors, the IR LED output will be adjusted to match a hardcoded value. To enable this feature, change the [od_config] config parameter ir_led_intensity value to auto. For new installs, this is the default configuration. This shouldn't change your actual OD readings very much (since we normalize raw PD by REF, and increase or decrease in REF is balanced by increase or decrease in PD), but it will make analysis easier.
  • Significant UI performance improvements: we are use less MQTT clients, which should mean faster loading, less network overhead, and overall lower resource-usage.

Bug fixes

  • Fixes updating automations in experiment profiles

24.3.8rc0

08 Mar 21:26
Compare
Choose a tag to compare
24.3.8rc0 Pre-release
Pre-release

Upcoming

Enhancements

  • For better consistency between Pioreactors, we've introduced a new configuration option that will automatically adjust the IR LED intensity to match a target value in the reference photodiode, at the start of OD reading. This means that if your IR LEDs are slightly different between Pioreactors, the IR LED output will be adjusted to match a hardcoded value. To enable this feature, change the [od_config] config parameter ir_led_intensity value to auto. For new installs, this is the default configuration. This shouldn't change your actual OD readings very much (since we normalize raw PD by REF, and increase or decrease in REF is balanced by increase or decrease in PD), but it will make analysis easier.
  • Significant UI performance improvements: we are use less MQTT clients, which should mean faster loading, less network overhead, and overall lower resource-usage.

Bug fixes

  • Fixes updating automations in experiment profiles

24.3.6rc1

06 Mar 17:47
Compare
Choose a tag to compare
24.3.6rc1 Pre-release
Pre-release

Upcoming

Highlights

  • For better consistency between Pioreactors, we've introduced a new configuration option that will automatically vary the IR LED intensity to match a target value in the reference. This means that if your IR LED is slightly different between Pioreactors, the intensity % will be adjusted to match an internal value. To enable this feature, change the [od_config] config parameter ir_led_intensity value to auto

Bug fixes

  • Fixes updating automations in experiment profiles

24.3.4

04 Mar 15:10
Compare
Choose a tag to compare

24.3.4

Enhancements

  • reusing more MQTT clients internally => faster job startup and less network overhead

Bug fixes

  • using the archive upload method to update Pioreactors had a bug when distributing the archive to workers on the cluster. That has been fixed. The first time, you archive update may fail. But it should succeed the second time.
  • fix UI bug that was preventing real-time data from showing up in some custom charts.
  • fix UI bug that was causing a stale datum to appear in charts.
  • To avoid downstream permission issues, pio can't be run as root. That is, sudo pio ... will fail.
  • a typo prevented od_config.smoothing_penalizer from being used internally. This is fixed.
  • some retry logic for fixing "lost" state in the UI.
  • fixed numerous MQTT connections from accumulating in the UI

24.2.27rc0

27 Feb 17:11
Compare
Choose a tag to compare
24.2.27rc0 Pre-release
Pre-release

This is a release to test some release changes.

24.2.26

26 Feb 20:33
973748d
Compare
Choose a tag to compare

24.2.26

Highlights

  • Experimental introducing outlier filtering in growth rate calculations. This is tunable with the new ekf_outlier_std_threshold parameter under [growth_rate_calculating.config]. To turn off outlier filtering, set this parameter to some very large number (1000s). Don't put it less than 3.0 - that's silly.
  • With this new filtering, we can provide more reasonable values for the parameters of the growth rate Kalman filter. We previously had to artificially increase the measurement std. deviation (obs_std) to allow for some outliers. This had the knock-on effect of hiding growth-rate changes, so we had to also increase that parameter rate_std. With better outlier protection in the model, we can move these values back. New installs will have the following parameters, and we encourage existing users to try these values if you plan to use the outlier filtering.
[growth_rate_kalman]
acc_std=0.0008
obs_std=1.5
od_std=0.0025
rate_std=0.1
  • added configuration for alternative mqtt brokers with the new configuration
    [mqtt]
    username=pioreactor
    password=raspberry
    broker_address=
    broker_ws_port=9001
    broker_port=1883
    ws_protocol=ws
    use_tls=0
    

Enhancements

  • clear the growth-rate cache with pio run growth_rate_cacluating clear_cache
  • added Pioreactor specific software version to the UI: Page Pioreactors -> Manage -> System -> Version. this requires a restart to display correctly
  • new UI MQTT library. Is it faster? Maybe!
  • increased the default max_subdose to 1.0.

Bug fixes

  • fixed a case where dosing automation IO execution would not run due to a floating point rounding error. Sorry!
  • fixed a memory leak in long running dosing automations that had thousands of dosing events. Sorry!
  • fixed a race condition that caused an error to occur when a software PWM channel was closed too quickly. Sorry!
  • fixed bug that was partially crashing the UI if some bad syntax was entered into a custom yaml file. Sorry!
  • fixed bug that was causing bad json from the server, causing empty / non-loading areas in the UI. Sorry!
  • fixed datum bug in the Overview that was crashing the UI. Sorry!