githubEdit

Updating your Packages and Dynamo Libraries for Dynamo 4.x

Introduction

This section contains information on issues you may encounter while migrating your graphs, packages and libraries to Dynamo 4.x. Dynamo 4.0 introduces:

  • Significant performance improvements

  • Stability and bug-fix updates

  • Modernization of the codebase

  • Removal of APIs previously marked obsolete in 1.x

  • A major runtime update from .NET 8 to .NET 10

  • PythonNet 3 is now the default Python engine for all new Python nodes

The .NET 10 migration effort ensures Dynamo remains aligned with Microsoft’s technology roadmap, well ahead of the end of support for .NET 8 in November 2026.

When you launch Dynamo 4.0, you’ll be asked to update to .NET 10 if you haven’t already. Package authors are required to update their projects to target .NET 10 to ensure full compatibility.

All new Python nodes created in Dynamo 4.0+ start with PythonNet3. Don’t worry about backward compatibility: For those who work in multi-version shops (e.g., Revit or Civil 3D 2025/2026), install the PythonNet3 Engine package in Dynamo 3.3–3.6 to maintain compatibility. More information can be found herearrow-up-right.

API and nodes that were marked as obsolete in 1.x have been removed in Dynamo 4.0. You can reference the full list of changes herearrow-up-right.

Package Compatibility

Using Dynamo 2.x and 3.x Packages in Dynamo 4.x

Because Dynamo 4.x now runs on the .NET 10 runtime, packages that were built for Dynamo 2.x (using .NET48) and Dynamo 3.x(using .NET 8) are not guaranteed to work in Dynamo 4.x. When you attempt to download a package in Dynamo 4.x that was published from a Dynamo version less than 4.0, you will get a warning that the package is from an older version of Dynamo.

This does not mean the package will not work It's simply a warning that there could be compatibility issues, and in general it's a good idea to check if there's a newer version that has been built specifically for Dynamo 4.x.

You may also notice this type of warning in your Dynamo log files at package load time. If everything is working correctly, you can ignore it.

Using Dynamo 4.x Packages in Dynamo 2.x

It's very unlikely that a package built for Dynamo 4.x (using .Net 10) is going to work on Dynamo 2.x. You will also see the below warning when you try to install packages built for Dynamo 4.x in Dynamo 2.x.

Package Compatibility Warning

Using Dynamo 4.x Packages in Dynamo 3.x

The package built for Dynamo 4.x (using .Net 10) might work on Dynamo 3.x as long as if all the APIs used in the package exist in .NET 8. But there is no guarantee that it will work. You will also see the below warning when you try to install packages built for Dynamo 4.x in Dynamo 3.x.

Package Compatibility Warning

Best Practice for Package Authors

Best practice is to multi-target your project to both .NET 8 and .NET 10 by modifying your .csproj.

This ensures:

  • Support for Revit-hosted Dynamo versions still on .NET 8

  • Compatibility with standalone Dynamo 4.x on .NET 10

Last updated