Dear Dynamo Development Community,
We are getting ready to release Dynamo 1.0.0, which will be characterized primarily by a solidification of our Public API and a massive bug fixing. While there are a number of new tools and features, a big emphasis for us has been to commit to stable code that allows for smoother and more reliable movements from one version to another. To more clearly express this, we have been moving to “semantic versioning” to illustrate the nature of changes in each release.
We will be using the fairly standard version naming with an x.y.z system, where x incrementing represents breaks to the API (requiring developer refactors), y indicates changes that are still backwards compatible, and z are smaller bug fixes. For example, 1.0.1 is a simple bug fix change to 1.0.0 and can still be used in 1.0.0, 1.1.0 adds functionality but does not break API’s used in 1.0.1, and 2.0.0 is a major versioning change that requires developers to adjust their code to comply and is not backward compatible.
The Dynamo 1.0.0 release will break a number of existing API’s that have been in use, and will also affect development that directly call node names in the code. These changes are listed here:
An additional resource for changes to Protointerface can be found here:
Developers are encouraged to try out their code on the pre-release builds and to recompile their code against 1.0. In most cases, the changes required are relatively small and your code can be updated in a couple of hours.
The Dynamo team at Autodesk has been committed to helping the larger community access, expand, and generally use the hell out of Dynamo. While this includes the creation of “end user” documentation like the Dynamo Primer (shout out to ModeLab!) it also includes the few, proud, and growing numbers of software developers. For folks who want to access Dynamo’s API, we now have made available a searchable index of public API calls in the Dynamo API Documentation.
With this document, we hope that both amateur and professional developers will be able to find the tools they need, discover the ones they didn’t know about, and generally be able to build out more Dynamo based functionality for the benefit of the whole community. This is a “living” document that will become more fleshed out over time. At the moment, this only addresses “core” functionality, but we hope to expand this to include Node documentation and Revit functionality.
It is our hope that this resource, in combination with various getting started documents on Github and nuget packages, will make development on the Dynamo platform not only more accessible, but joyful.
-The Dynamo Team