# New Pioreactor release: 25.3.5

**URL:** <https://forum.pioreactor.com/t/new-pioreactor-release-25-3-5/690>\
**Category:** Software\
**Tags:** release\
**Created:** [March 6, 2025, 1:10am UTC](https://forum.pioreactor.com/t/new-pioreactor-release-25-3-5/690 "2025-03-06T01:10:27Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![CamDavidsonPilon](https://forum.pioreactor.com/user_avatar/forum.pioreactor.com/camdavidsonpilon/32/3_2.png) [@CamDavidsonPilon](https://forum.pioreactor.com/u/CamDavidsonPilon)\
**Post date:** [March 6, 2025, 1:10am UTC](https://forum.pioreactor.com/t/new-pioreactor-release-25-3-5/690/1 "2025-03-06T01:10:27Z")

</div>

Mostly an important bug fix release, but some nice OD noise reductions, too!

> 💡 We recommend being on version 25.1.21 or later before updating.

[⬇ Download the release here](https://github.com/Pioreactor/pioreactor/releases/download/25.3.5/release_25.3.5.zip)

### 25.3.5

#### Enhancements

- **New faster ADC firmware with less noise**
  - Upgraded ADC firmware improves signal processing speed and reduces measurement noise, leading to more reliable readings for all sensors.

- **`led_intensity` is now registered in our database**
  - This means that running `pio kill --all-jobs` (and related `pio kill` commands) will now also turn off all LEDs, ensuring a complete shutdown of active processes.

- **New option in `pio workers add` to specify an IPv4 address**
  - When adding a new worker, you can now explicitly provide an IPv4 address instead of relying on the default `hostname.local`. This is useful in networks where mDNS resolution is unreliable or unavailable. Ex: `pio workers add <name> -a 192.168.0.3`

- **New time option on the Overview page: “Now” for only real-time data**
  - The UI now has a “Now” option that filters out historical data, displaying only real-time sensor readings and status updates.

- **Logs for experiment profiles now include an action step number**
  - Each log entry related to an experiment profile now contains a step number, making it easier to track progress and diagnose issues in multi-step workflows.

- **Improved outlier detection in nOD and growth rates**
  - Our outlier detection algorithms for normal optical density (nOD) and growth rates have been refined, reducing false positives and improving tracking accuracy during experiments.

- **Changing OD readings interval programmatically**
  - OD Reading job now exposes `interval` as a editable published\_setting. For example, you can PATCH to `http://pioreactor.local/api/workers/<pioreactor_unit>/jobs/update/job_name/od_reading/experiments/<experiment>` with body:

```auto
{
  "settings": {
    "interval": 10
  },
}

```

to change OD readings interval to 10s.

#### Breaking Changes

- **`id` → `job_id` in `pio_metadata_settings` table**
  - Database schema update: The primary identifier column in `pio_metadata_settings` has been renamed to `job_id`.

- **Changed the scaling of `smoothing_penalizer`**
  - The `smoothing_penalizer` parameter now operates on a scale that is **~100x lower** than before.

- **Deprecation of `/unit_api/jobs/stop/...` endpoint**
  - The `/unit_api/jobs/stop/...` API endpoint is being deprecated in favor of using query parameters:
    - Instead of `/unit_api/jobs/stop/job_name`, use `/unit_api/jobs/stop/?job_name=...`.
    - The special case `/unit_api/jobs/stop/all` remains valid and unchanged.

- **Timestamp precision change: From `xxxxx` milliseconds → `xxx` milliseconds**
  - All timestamps will now be stored with three-digit millisecond precision instead of five. This change optimizes storage efficiency and speeds up queries while maintaining sufficient accuracy for most use cases.

#### Bug Fixes

- **Fix for “More” button in the Logs UI page**
  - Previously, clicking “More” in the Logs UI would default to “Standard” log level instead of retaining the selected filter. Now, it correctly uses the log level chosen by the user.

- **Multiple experiment profiles no longer overwrite each other in MQTT**
  - Previously, running multiple experiment profiles could cause MQTT messages to overwrite each other. This is now fixed, but note that the new MQTT topic format introduces `job_id`, deviating from our usual topic structure.

- **Fix for API returning incorrect responses for Huey-related tasks**
  - API responses related to background tasks (e.g., adding a new Pioreactor, syncing configs, updating firmware) were sometimes incorrect or missing details. This has been fixed.

- **Correction to `od_reading.config`’s `smoothing_penalizer` scaling error**
  - A miscalculated scaling factor in `od_reading.config` caused the smoothing factor to be larger than intended. This has been corrected, and your `config.ini` file has been automatically updated to reflect the new values.

- **Fix for missing log events in Event Logs after worker unassignment**
  - Some log events (such as clean-up and assignment events) were missing when they occurred after a worker was unassigned. These now appear correctly. Additionally, some unrelated log entries that were mistakenly displayed have been removed.

- **Scaling bug fix in the extended Kalman filter affecting nOD detection**
  - A bug in the extended Kalman filter was **causing outlier detections too frequently**. In extreme cases, these detections could compound, driving nOD values negative and corrupting the filter’s internal state. This issue has been fixed with a new, more stable filtering algorithm that significantly improves robustness.

### How to update

> **[Updating the Pioreactor software | Pioreactor Docs](https://docs.pioreactor.com/user-guide/updating-software#method-2-update-using-a-zip-file-and-the-ui)**
>
> We publish new software occasionally that fixes bugs, adds new features, and improves performance. You can update your Pioreactor(s) to the latest software from the UI, or from the command line. We highly recommend keeping your Pioreactor software up...

---

<div class="post-metadata">

**Author:** ![CamDavidsonPilon](https://forum.pioreactor.com/user_avatar/forum.pioreactor.com/camdavidsonpilon/32/3_2.png) [@CamDavidsonPilon](https://forum.pioreactor.com/u/CamDavidsonPilon)\
**Post date:** [March 6, 2025, 2:32am UTC](https://forum.pioreactor.com/t/new-pioreactor-release-25-3-5/690/2 "2025-03-06T02:32:52Z")

</div>

## Known issues

1. You may get a “update failed” error when updating. If your Pioreactors versions are all updated (see Inventory page), you can ignore this. Otherwise, please investigate in the logs.
