Rhino 9 brings a C++ SDK on Mac, Rhino.Compute on Linux, significant improvements to its code editor, support for CPython 3.13 and .NET 10, major improvements to our free SDKs, with API refinements, and the introduction of Grasshopper 2 as a development target. Some changes can also have an effect on your existing plugins.
Platforms and Targets
C++ SDK on Mac
Build with C++ for both Windows and Mac
Rhino.Compute on Linux
Access the Rhino and Grasshopper SDKs through a stateless REST API. Now available on Linux Servers.
.NET 10 Upgrade
.NET 10 framework running on both Windows and Mac.
Grasshopper 2 Components
A beginners guide to creating your first Grasshopper 2 Component
Move to Grasshopper 2
Migrate your Grasshopper 1 Components to Grasshopper 2
SDK Enhancements
C++ to .NET Interop
Named Callbacks in C++ for easier access to .NET functionality
RhinoCommon
New APIs for Markups, Page View Groups, Worksessions, CSV File IO, Mesh Booleans and Curvature, and more...
In-Viewport User Interface
Controls and grips directly in the Rhino viewport
Visual Studio 2026 for C++
The C++ SDK for Windows supports Visual Studio 2026, the v145 platform toolset, and C++20.
Scripting Updates
Python Updates
Support for Python 3 in Rhino and Grasshopper.
Scripting Improvements
Entirely new editor for Python 3 and C#, in Rhino and Grasshopper.
Changes That Can Affect Your Plugin
Be aware of these changes before you release a plugin for Rhino 9.
OpenGL Is Not the Default
Rhino 9 does not use OpenGL by default. Read this if your plugin calls OpenGL directly.
.NET Framework Is Deprecated
Move your plugins to .NET 10. Do not release new plugins that target .NET Framework only.
BinaryFormatter in Rhino.Inside
Hosts that use .NET 10 do not enable BinaryFormatter. Code that uses it will fail.
Toolbars
Toolbars work as they did in Rhino 7. Read how RUI files work in Rhino 9.
