Release Notes
Full release notes are also available as a PDF: Download PDF
Added
Run in Separate Processoption for optimization, enabled by default. Runs optimization in a process separate from Rhino, avoiding conflicts with Grasshopper's Python.Convert Result to Tunny Logcomponent. Writes variables and objective function values to the Tunny log format, so results from other plugins can be analyzed with Tunny's tools.- Support for
HiddenandFaintwire displays in the Tunny Fishing component. - Support for LAN Zoo licensing.
- Enhanced samplers from the Optuna update:
- GP acquisition functions now allow PI, UCB, and Thompson Sampling in addition to EI.
- CMA-ES sampler split into Restart CMA-ES and CMA-ES with Refinement.
- Tunny Dashboard, a new results analysis feature, is now available.
Changed
- NSGA-III's dividing parameter default is now calculated automatically. The previous fixed default often produced too few divisions.
- Rhino command
TunnyRunDashboardrenamed toTunnyRunOptunaDashboard, to distinguish it from the new Tunny Dashboard. - Visualize tab's "Browser" ribbon group renamed to "Dashboard".
- Improved UI responsiveness during optimization by making progress updates asynchronous.
- Fixed the version check process so it no longer hangs indefinitely on a slow or unresponsive network.
- The Python 3 component warning now suggests enabling
Run in Separate Processto avoid conflicts, and no longer appears if the option is already enabled.
Fixed
- Improved Python environment reinstallation behavior on Windows, including notifying the user when a Rhino restart is required.
- Tunny now shuts down safely if Python environment initialization fails, and recommends reinstalling from the application menu.
- Rhino restart is now requested instead of leaving Tunny in a partially initialized state, addressing Python's restriction against restarting its interpreter within the same Rhino session.
- Installing Python packages after Python has already been used in the same Rhino session no longer corrupts the environment; installation is deferred to the next startup instead.
- An interrupted or failed installation is no longer treated as complete, and is retried automatically at the next startup.
- Failures during Python package installation are now correctly detected and reported, instead of being misreported as success.
- Reinstallation is now scheduled automatically for the next startup if the Python runtime cannot be initialized.
- Errors during plot (graph) generation no longer crash Rhino; an error message is shown instead.
- Errors from the worker process used by
Run in Separate Processare now logged correctly instead of being overwritten by secondary errors. - Corrupted configuration files are now backed up before being deleted, with a notification to the user, instead of being silently removed.
- Fixed CMA-ES and Restart CMA-ES no longer working due to an upstream Optuna API change.
- Fixed CMA-ES / Restart CMA-ES using a hardcoded default Population Size instead of Optuna's automatic calculation.
- Fixed garbled Japanese characters in the Live Chart.
- Fixed a Rhino crash when restoring a non-existent Trial ID to Grasshopper.
- Fixed a crash on first startup on Rhino 7 (.NET 4.8) when agreeing to the Terms of Use.