Release History#

v1.0.0b1 (2026-04-17)#

Features#

  • Manual suggestions: A new method for the Agent that allows manual optimization control (#235).

  • Reconfigurable search spaces: Search spaces can now be modified between optimization steps, allowing dynamic adjustment of DOF bounds and constraints (#268).

  • Model checkpoints: Save and restore optimizer state across sessions (#233).

  • Fixed parameters: Hold specific parameters constant during optimization via Agent.fixed_dofs (#252).

  • Multi-point routing: When suggesting multiple points, suggestions are now routed to minimize actuator travel (#217).

  • Failed and abandoned suggestions: Properly handle and track failed optimization trials (#272).

  • Optimization logging callback: New OptimizationCallbackRouter and logging callback for monitoring optimization progress (#270).

  • Optimization step tracking via event-model: Optimization metadata is now emitted as Bluesky event-model documents (#236).

  • Queueserver support: New QueueserverAgent for running optimization through the Bluesky queueserver (#212, #264, #266).

  • Actuator and Sensor types: Expanded protocol types to support flyable and collectable devices (#211).

  • Python 3.13 support (#206).

Breaking Changes#

  • Plans moved to top-level package: Plans are now imported from blop.plans instead of blop.ax.plans (#259).

  • Simulation code separated: The simulation module has been extracted into a separate blop_sim package (#248, #256).

  • Deprecated code removed: Legacy APIs deprecated in earlier releases have been removed (#218).

  • Deprecated bayesian.acquisition removed: Use BoTorch’s built-in constrained acquisition functions instead (#207).

Dependency Changes#

  • Requires Ax Platform >= 1.2.3 (#241).

  • Requires BoTorch >= 0.16.0 (#221).

Documentation#

  • New how-to guide for using Tiled as a databroker (#215).

  • New how-to guide for using ophyd and ophyd-async devices (#210).

  • New explanation document for the Ax integration (#227).

  • Updated tutorials for the simple experiment and XRT KB mirrors (#222, #223, #224).

Full Changelog

v0.9.0 (2025-12-08)#

What’s Changed#

Full Changelog

v0.8.1 (2025-11-06)#

What’s Changed#

Full Changelog

v0.8.0 (2025-10-13)#

What’s Changed#

New Contributors#

Full Changelog

v0.7.5 (2025-06-18)#

What’s Changed#

New Contributors#

Full Changelog

v0.7.4 (2025-03-04)#

  • Add missing files for documentation

  • Fix trigger condition for releases on PyPI and documentation

v0.7.3 (2025-03-04)#

What’s Changed#

New Contributors#

Full Changelog

v0.7.2 (2025-01-31)#

  • Renamed package in PyPI to blop.

  • bloptools is still avaliable on PyPI.

v0.7.1 (2024-09-26)#

  • Add simulated hardware.

  • Added a method to prune bad data.

v0.7.0 (2024-05-13)#

  • Added functionality for Pareto optimization.

  • Support for discrete degrees of freedom.

v0.6.0 (2024-02-01)#

  • More sophisticated targeting capabilities for different objectives.

  • More user-friendly agent controls.

v0.5.0 (2023-11-09)#

  • Added hypervolume acquisition and constraints.

  • Better specification of latent dimensions.

  • Implemented Monte Carlo acquisition functions.

  • Added classes for DOFs and objectives.

v0.4.0 (2023-08-11)#

  • Easier-to-use syntax when building the agent.

  • Modular and stateful agent design for better usability.

  • Added the ability to save/load both data and hyperparameters.

  • Added passive degrees of freedom.

  • Added a number of test functions / artificial landscapes for optimization.

  • Updated the Sphinx documentation theme to furo.

v0.3.0 (2023-06-17)#

  • Implemented multi-task optimization.

  • Simplified the syntax on initializing the agent.

  • Resolved issues discovered at NSLS-II ISS.

v0.2.0 (2023-04-25)#

  • Rebased the Bayesian optimization models to be compatible with botorch code.

  • Optimization objectives can be customized with experiment modules.

  • Added optimization test functions for quicker testing and development.

v0.1.0 (2023-03-10)#

  • Changed from using SafeConfigParser to ConfigParser.

  • Implemented the initial version of the GP optimizer.

  • Updated the repo structure based on the new cookiecutter.

  • Added tests to the CI.

v0.0.2 (2021-05-14)#

Fixed _run_flyers() for sirepo optimization.

v0.0.1 - Initial Release (2020-09-01)#

Initial release of the Beamline Optimization library.

Used in:

Planned: