Releases: Pioreactor/pioreactor
25.9.12rc1
bump rc version
25.9.12rc0
Upcoming
- Experiment profile editing in the UI has a new "search" feature to find available capabilities.
- Experiment Overview page no long "hides" chart data for very old experiments. Now it will always select (up to) 720 data points for each line, regardless of the length of the experiment. For larger cluster, this might result in a slower load time - let me know!
- Initial support for eye-spy optics system.
- Export option under Inventory page to export the Pioreactors ~/.pioreactor folder. Likewise on the leader.
- New "sleep" option can be used in
pio run pumps ...to wait between pump actions. - "Advanced" menu in the UI to modify configuration temporarily when starting a job - now available for automations.
Bug fixes
- real time charts in the UI again!
- dataset exports have a corrected timestamp on the folders
- remove instances of double logging from the ui
- fix MCP not respecting "notifications" methods.
- fix not being able to select a model when add a Pioreactor worker from the Inventory page.
Breaking changes
- Turbidostat now forces duration=0.25s for frequent checks. This was always the case when run from the UI.
25.9.11rc0
Upcoming
- Experiment profile editing in the UI has a new "search" feature to find available capabilities.
- Experiment Overview page no long "hides" chart data for very old experiments. Now it will always select (up to) 720 data points for each line, regardless of the length of the experiment. For larger cluster, this might result in a slower load time - let me know!
- Initial support for eye-spy optics system.
- Export option under Inventory page to export the Pioreactors ~/.pioreactor folder. Likewise on the leader.
- New "sleep" option can be used in
pio run pumps ...to wait between pump actions. - "Advanced" menu in the UI to modify configuration temporarily when starting a job - now available for automations.
Bug fixes
- real time charts in the UI again!
- dataset exports have a corrected timestamp on the folders
- remove instances of double logging from the ui
- fix MCP not respecting "notifications" methods.
- fix not being able to select a model when add a Pioreactor worker from the Inventory page.
Breaking changes
- Turbidostat now forces duration=0.25s for frequent checks. This was always the case when run from the UI.
25.8.14
25.8.14
Highlights
-
Custom Bioreactor Models
Our community has been incredibly creative in adapting Pioreactor hardware and software for different vessel types. Now, you can officially add your own custom bioreactor models to the Pioreactor software!
Place your model definitions as yaml files in the new.pioreactor/models/directory. For example:model_name: custom_100ml model_version: "1.0" display_name: "Custom 100 mL, v1.0" reactor_capacity_ml: 100.0 reactor_max_fill_volume_ml: 95.0 reactor_diameter_mm: 50.0 max_temp_to_reduce_heating: 80.0 max_temp_to_disable_heating: 85.0 max_temp_to_shutdown: 90.0
Example file name:
custom_100ml.yamlThis information is used throughout the software (including the UI) to support different shapes, sizes, and safety limits. Tell us what else you’d like supported!
-
New MCP Server (Experimental)
You can now run an MCP server alongside your leader’s web server. It adds a new SSE-based endpoint at:http://<leader-address>/mcp/This exposes some Pioreactor tools in real time. It’s still experimental — your feedback and suggestions for additional tools/resources are welcome!
Enhancements
-
Added Time Range filter to the Export Data UI page.
-
The “Add a new Pioreactor worker” dialog now automatically scans for and lists local workers available to join your cluster.
-
New
config.inioption:[od_reading.config] duration_between_led_off_and_od_reading = <seconds>This adjusts the pause between turning off LEDs and taking an OD snapshot.
-
pios X --experiments <experiment>now lets you target workers by experiment from the leader CLI. -
More CLI options are available for jobs with
settable: Truepublished_settings. -
New API endpoints:
/unit_api/capabilities/api/units/<pioreactor_name>/capabilities
These provide detailed information about what each Pioreactor can run.
Breaking changes
-
API changes:
-
api/units/<unit>/configurationresponse format updated. -
Settings endpoint now scoped to experiments:
/api/workers/unit1/jobs/settings/job_name/stirring/experiments/<exp> -
Removed:
/api/workers/jobs/stop/experiments/<exp>
Use:/api/workers/$broadcast/jobs/stop/experiments/<exp> -
Removed:
/api/experiments/<experiment>/jobs/settings/job_name/<job_name>
Use:/workers/$broadcast/jobs/settings/job_name/<job_name>/experiments/<experiment>
-
-
pio logsno longer follows by default — use-fto follow. -
Developers: We’ve merged our three main repositories (
pioreactor,pioreactorui,pioreactorui_frontend) into a single monorepo:pioreactor. The old repos will be archived, and update code inpio.pywill now point to the new repo. If you have branches on the old repos, rebase ontopioreactor. Discussion: GitHub issue #576.
Bug fixes
- Fixed default sorting when exporting CSV.
- Fixed crash in UI profile editor.
- Fixed pumps not shutting down correctly if active when
dosing_automationstopped. - Fixed cleanup issue in growth rate calculation.
- Fixed plugins page crashing when a plugin doesn't have a homepage associated to it.
25.8.13rc0
Upcoming
Highlights
-
Custom Bioreactor Models
Our community has been incredibly creative in adapting Pioreactor hardware and software for different vessel types. Now, you can officially add your own custom bioreactor models to the Pioreactor software!
Place your model definitions in the new.pioreactor/models/directory. For example:model_name: custom_100ml model_version: "1.0" display_name: "Custom 100 mL, v1.0" reactor_capacity_ml: 100.0 reactor_max_fill_volume_ml: 95.0 reactor_diameter_mm: 50.0 max_temp_to_reduce_heating: 80.0 max_temp_to_disable_heating: 85.0 max_temp_to_shutdown: 90.0
This information is used throughout the software (including the UI) to support different shapes, sizes, and safety limits. Tell us what else you’d like supported!
-
New MCP Server (Experimental)
You can now run an MCP server alongside your leader’s web server. It adds a new SSE-based endpoint at:http://<leader-address>/mcp/This exposes some Pioreactor tools in real time. It’s still experimental — your feedback and suggestions for additional tools/resources are welcome!
Enhancements
-
Added Time Range filter to the Export Data UI page.
-
The “Add a new Pioreactor worker” dialog now automatically scans for and lists local workers available to join your cluster.
-
New
config.inioption:[od_reading.config] duration_between_led_off_and_od_reading = <seconds>This adjusts the pause between turning off LEDs and taking an OD snapshot.
-
pios X --experiments <experiment>now lets you target workers by experiment from the leader CLI. -
More CLI options are available for jobs with
settable: Truepublished_settings. -
New API endpoints:
/unit_api/capabilities/api/units/<pioreactor_name>/capabilities
These provide detailed information about what each Pioreactor can run.
Breaking changes
-
API changes:
-
api/units/<unit>/configurationresponse format updated. -
Stirring settings endpoint now scoped to experiments:
/api/workers/unit1/jobs/settings/job_name/stirring/experiments/<exp> -
Removed:
/api/workers/jobs/stop/experiments/<exp>
Use:/api/workers/$broadcast/jobs/stop/experiments/<exp> -
Removed:
/api/experiments/<experiment>/jobs/settings/job_name/<job_name>
Use:/workers/$broadcast/jobs/settings/job_name/<job_name>/experiments/<experiment>
-
-
pio logsno longer follows by default — use-fto follow. -
Developers: We’ve merged our three main repositories (
pioreactor,pioreactorui,pioreactorui_frontend) into a single monorepo:pioreactor. The old repos will be archived, and update code inpio.pywill now point to the new repo. If you have branches on the old repos, rebase ontopioreactor. Discussion: GitHub issue #576.
Bug fixes
- Fixed default sorting when exporting CSV.
- Fixed crash in UI profile editor.
- Fixed pumps not shutting down correctly if active when
dosing_automationstopped. - Fixed cleanup issue in growth rate calculation.
25.8.12rc0
Upcoming
Highlights
-
Custom Bioreactor Models
Our community has been incredibly creative in adapting Pioreactor hardware and software for different vessel types. Now, you can officially add your own custom bioreactor models to the Pioreactor software!
Place your model definitions in the new.pioreactor/models/directory. For example:model_name: custom_100ml model_version: "1.0" display_name: "Custom 100 mL, v1.0" reactor_capacity_ml: 100.0 reactor_max_fill_volume_ml: 95.0 reactor_diameter_mm: 50.0 max_temp_to_reduce_heating: 80.0 max_temp_to_disable_heating: 85.0 max_temp_to_shutdown: 90.0
This information is used throughout the software (including the UI) to support different shapes, sizes, and safety limits. Tell us what else you’d like supported!
-
New MCP Server (Experimental)
You can now run an MCP server alongside your leader’s web server. It adds a new SSE-based endpoint at:http://<leader-address>/mcp/This exposes some Pioreactor tools in real time. It’s still experimental — your feedback and suggestions for additional tools/resources are welcome!
Enhancements
-
Added Time Range filter to the Export Data UI page.
-
The “Add a new Pioreactor worker” dialog now automatically scans for and lists local workers available to join your cluster.
-
New
config.inioption:[od_reading.config] duration_between_led_off_and_od_reading = <seconds>This adjusts the pause between turning off LEDs and taking an OD snapshot.
-
pios X --experiments <experiment>now lets you target workers by experiment from the leader CLI. -
More CLI options are available for jobs with
settable: Truepublished_settings. -
New API endpoints:
/unit_api/capabilities/api/units/<pioreactor_name>/capabilities
These provide detailed information about what each Pioreactor can run.
Breaking changes
-
API changes:
-
api/units/<unit>/configurationresponse format updated. -
Stirring settings endpoint now scoped to experiments:
/api/workers/unit1/jobs/settings/job_name/stirring/experiments/<exp> -
Removed:
/api/workers/jobs/stop/experiments/<exp>
Use:/api/workers/$broadcast/jobs/stop/experiments/<exp> -
Removed:
/api/experiments/<experiment>/jobs/settings/job_name/<job_name>
Use:/workers/$broadcast/jobs/settings/job_name/<job_name>/experiments/<experiment>
-
-
pio logsno longer follows by default — use-fto follow. -
Developers: We’ve merged our three main repositories (
pioreactor,pioreactorui,pioreactorui_frontend) into a single monorepo:pioreactor. The old repos will be archived, and update code inpio.pywill now point to the new repo. If you have branches on the old repos, rebase ontopioreactor. Discussion: GitHub issue #576.
Bug fixes
- Fixed default sorting when exporting CSV.
- Fixed crash in UI profile editor.
- Fixed pumps not shutting down correctly if active when
dosing_automationstopped. - Fixed cleanup issue in growth rate calculation.
25.8.8rc0
Upcoming
25.8.7rc0
Upcoming
Some big changes internally
Highlights
-
Users have been very creative in adapting the Pioreactor hardware and software to different bioreactors. We have a new tool you can use: adding custom bioreactors models to incorporate into the Pioreactor software! There is a new
.pioreactor/models/directory where you can place custom bioreactors. For example:model_name: custom_100ml model_version: "1.0" display_name: "Custom 100 mL, v1.0" reactor_capacity_ml: 100.0 reactor_max_fill_volume_ml: 95.0 reactor_diameter_mm: 50.0 max_temp_to_reduce_heating: 80.0 max_temp_to_disable_heating: 85.0 max_temp_to_shutdown: 90.0This data will be used throughout the software (including in the UI) to support other bioreactor shapes and sizes. Let us know what else you would like to see!
-
adding mcp server
Enhancements
- time range filter in export data page
- ability to change the pause between LEDs and OD snapshot
pios X --experiments <experiment>can be used to select workers on the leader command line.- ideally, if a
published_settingissettable: True, there should be a CLI option to set it. We've added a bunch of new CLI options to existing jobs. - new
/unit_api/capabilitiesand/api/units/<name>/capabilitiesto get lots of details about what a Pioreactor can run.
Breaking changes
- adding
/experiments/<exp>to the end of endpoint/api/workers/unit1/jobs/settings/job_name/stirring/ - removed
/api/workers/jobs/stop/experiments/<exp>, use/api/workers/$broadcast/jobs/stop/experiments/<exp>instead. - removed
/api/experiments/<experiment>/jobs/settings/job_name/<job_name>, use/workers/$broadcast/jobs/settings/job_name/<job_name>/experiments/<experiment>
Bug fixes
- fix export data sorting
- fix UI profile editing crashing
25.7.15rc0
(Test for monorepo building)
25.7.2
25.7.2
🔥 hot fix release for 25.6.25
Bug fixes
- Fix error when
target_rpm_during_od_readingis 0 and dodging is active. - Fix exporting pioreactor unit labels dataset.
- Fix LED not working when booting a fresh worker.
- Fix for plugins that use the "dodging" behaviour. Your air-bubbler plugin probably broke - this fixes it.