NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #5390 most downloaded on PyPI
Integration libraries of Optuna.
Last release 27 days ago
07 Sep 2026
Ships on a steady schedule
a new release about every 2 months
Nearly every release is documented
notes for 17 of 17 stable releases
Nothing withdrawn
no release was ever pulled
3 years old
19 releases · first in 2023
One column per quarter.
This is the release note of v5.0.0 .
This is the release note of v5.0.0.
See the release note of Optuna v5.0.0 for more details.
This is the release note of v4.9.0 .
This is the release note of v4.9.0.
See the release note of Optuna v4.9.0 for more details.
This is the release note of v4.8.0 .
This is the release note of v4.8.0.
See the release note of Optuna v4.8.0 for more details.
This is the release note of v4.7.0 .
This is the release note of v4.7.0.
See the release note of Optuna v4.7.0 for more details.
@yasumorishima introduces the new visualization to OptunaHub. Please refer to https://hub.optuna.org/visualization/plot_beeswarm/ for details.
Add Trackio Integration for Optuna ( optuna/optuna-integration#259 , thanks @ParagEkbote !)
Add constant liar strategy to GPSampler ( #6430 )
Validate artifact_id in FileSystemArtifactStore to prevent path traversal ( #6432 , thanks @RinZ27 !)
fix: correct inverted warning message in pareto front plot ( #6498 , thanks @aerosta !)
Fix shared callback state in parallel OptunaSearchCV with LightGBM ( optuna/optuna-integration#260 , thanks @Quant-Quasar !)
Fix GPSampler crash when torch default device is CUDA ( #6418 , thanks @VedantMadane !)
Fix combination between PartialFixedSampler and TPESampler with group decomposed search space ( #6428 )
Fix TPESampler with multivariate and constant_liar ( #6505 )
Add documentation indicating that WilcoxonPruner requires scipy ( #6477 )
Remove version & language selectors in the sidebar of docs ( #6482 )
Apply black 26.1.0 ( optuna/optuna-examples#348 )
Remove CI workflow for allennlp since no longer maintained ( optuna/optuna-examples#351 )
Reduce the frequency of scheduled CI triggers ( optuna/optuna-examples#352 )
Remove the scheduled trigger for aim CI ( optuna/optuna-examples#353 )
Add constraint to transformers ( optuna/optuna-examples#355 )
Add SamplerTestCase class in optuna.testing package ( #6424 )
Move test_before_trial and test_after_trial_* to test_trial.py and test_study.py , respectively ( #6429 )
Move type-only imports to TYPE_CHECKING in _param_importances.py ( #6423 , thanks @dotz0ver !)
Use future .annotations in matplotlib/_intermediate_values ( #6425 , thanks @Lakshman142 !)
Reformat files with the latest version of ruff ( #6426 )
Replace .format() with f-strings in _parallel_coordinate.py ( #6431 , thanks @yasumorishima !)
Use TYPE_CHECKING for import in pruners/_base.py ( #6434 , thanks @yasumorishima !)
Use f-strings in optuna/storages/_base.py ( #6435 , thanks @edwiniac !)
Use f-strings in _contour.py ( #6436 , thanks @edwiniac !)
Use f-strings in _intermediate_values.py ( #6437 , thanks @edwiniac !)
Use f-strings in cli.py ( #6438 , thanks @edwiniac !)
Use f-strings in optuna/testing/storages.py ( #6439 , thanks @edwiniac !)
Use f-strings in optuna/storages/journal/_storage.py ( #6440 , thanks @edwiniac !)
Use f-strings in _imports.py ( #6442 , thanks @edwiniac !)
Use f-strings in _deprecated.py ( #6443 , thanks @edwiniac !)
Use TYPE_CHECKING for import in pruners/_hyperband.py ( #6447 , thanks @yasumorishima !)
Use TYPE_CHECKING for typing-only imports in test_timeline.py ( #6451 , thanks @KRMed !)
Refactor: Use f string in multi_objective tutorial ( #6455 , thanks @ryota717 !)
refactor: move type-only imports into TYPE_CHECKING in samplers/_grid.py ( #6466 , thanks @dhruvildarji !)
refactor: move BaseDistribution into TYPE_CHECKING in search_space/intersection.py ( #6467 , thanks @dhruvildarji !)
Simplify Union type alias in optuna/samplers/_cmaes.py ( #6478 , thanks @roli-lpci !)
Use f-string in _convert_positional_args.py ( #6483 , thanks @toroleapinc !)
Add acqf import inside a TYPE_CHECKING block ( #6484 , thanks @acabellom !)
Refactor repr in trial/_frozen.py to use f-strings ( #6485 , thanks @Bhavyag1337 !)
Use TYPE_CHECKING in pruners/_threshold.py ( #6487 , thanks @LuciferDono !)
Use f-string in tutorial/10_key_features/005_visualization.py ( #6489 , thanks @maheer14 !)
Move JSONSerializable import to TYPE_CHECKING in study/study.py ( #6490 , thanks @yasumorishima !)
Use f-string and {var_name=} instead of .format and var_name={var_name} ( #6494 , thanks @buddy0452004 !)
Move optuna import to TYPE_CHECKING in pruners/_patient.py ( #6501 , thanks @yasumorishima !)
Move application import to TYPE_CHECKING in pruners/_patient.py ( #6502 , thanks @nightcityblade !)
Move application import to TYPE_CHECKING in pruners/_successive_halving.py ( #6503 , thanks @nightcityblade !)
Replace .format() with f-strings in 002_configurations.py ( #6506 , thanks @acabellom !)
Fix type checking ( #6507 , thanks @sateeshkumarb !)
Fix test for FastAIV2PruningCallback ( optuna/optuna-integration#265 )
Fix windows-test failure due to NamedTemporaryFilePool ( #6417 )
Fix checks-optional CI ( #6422 )
Fix mypy errors in GP module ( #6492 )
Bump up version number to 4.8.0.dev ( optuna/optuna-integration#263 )
Bump the version up to v4.8.0 ( optuna/optuna-integration#269 )
Bump up version to 4.8.0.dev ( #6414 )
Update news section for the v4.7 release ( #6420 )
This release was made possible by the authors and the people who participated in the reviews and discussions.
@Bhavyag1337 , @KRMed , @Lakshman142 , @LuciferDono , @ParagEkbote , @Quant-Quasar , @RinZ27 , @VedantMadane , @acabellom , @aerosta , @buddy0452004 , @c-bata , @dhruvildarji , @dotz0ver , @edwiniac , @gen740 , @kAIto47802 , @maheer14 , @nabenabe0928 , @nightcityblade , @not522 , @roli-lpci , @ryota717 , @sateeshkumarb , @sawa3030 , @toroleapinc , @y0z , @yasumorishima
sateeshkumarb, not522, and 26 other contributors
This is the release note of v4.6.0 .
This is the release note of v4.6.0.
See the release note of Optuna v4.6.0 for more details.
This is the release note of v4.5.0 .
This is the release note of v4.5.0.
See the release note of Optuna v4.5.0 for more details.
This is the release note of v4.4.0 .
This is the release note of v4.4.0.
See the release note of Optuna v4.4.0 for more details.
This is the release note of v4.3.0 .
This is the release note of v4.3.0.
See the release note of Optuna v4.3.0 for more details.
This patch release is just for re-triggering the readthedocs' documentation build. This release includes no changes.
This patch release is just for re-triggering the readthedocs' documentation build. This release includes no changes.
This is the release note of v4.2.0 .
This is the release note of v4.2.0.
See the release note of Optuna v4.2.0 for more details.
This is the release note of v4.1.0.
This is the release note of v4.1.0.
See the release note of Optuna v4.1.0 for more details.
This is the release note of v4.0.0.
This is the release note of v4.0.0.
See the release note of Optuna v4.0.0 for more details.
This is the release note of v4.0.0-b0.
This is the release note of v4.0.0-b0.
See the release note of Optuna v4.0.0-b0 for more details.
This is the release note of v3.6.0.
This is the release note of v3.6.0.
See the release note of Optuna v3.6.0 for more details.
This is the release note of v3.5.0.
This is the release note of v3.5.0.
See the release note of Optuna v3.5.0 for more details.
This is the release note of v3.4.0.
This is the release note of v3.4.0.
See the release note of Optuna v3.4.0 for more details.
This is the release note of v3.3.0.
This is the release note of v3.3.0.
See the release note of Optuna v3.3.0 for more details.
This is the release note of v3.2.0.
This is the release note of v3.2.0.
See the release note of Optuna v3.2.0 for more details.
This is the release note of v3.2.0b0.
This is the release note of v3.2.0b0.
See the release note of Optuna v3.2.0 for more details.
Your coding agent can read these notes before it upgrades. Set up the MCP server →