Skip to content

API Changes

Michael Kirschner edited this page Apr 30, 2019 · 95 revisions

This document details changes to the Dynamo API.

DynamoPackagesWpf

2.0

DynamoPackagesWpf.dll is added to Dynamo 2.0 to facilitate view extensions.

DesignscriptBuiltin

2.0

DesignscriptBuiltin.dll is added to Dynamo 2.0 and contains Dictionary methods.

ProtoCore

2.0

  • VisitIdentifierNode(), VisitIdentifierListNode() new returns bool.

Dynamo Core

2.0.2

Dynamo.Core
  • IsConnected in PortModel.cs is now public instead of internal

2.0

Dynamo.Configuration
  • IsBackgroundPreviewActive in PreferenceSettings.cs is obsolete now. Please use BackgroundPreviews.
  • IPreviewBubblePreference is removed.
  • IBackGroundPreviewPreference is removed.
  • BackgroundPreviews is added to IPreferences interface.
  • ShowPreviewBubbles is added to IPreferences interface.
  • GetIsBackGroundPreviewActive(string) is added to IPreferences interface.

Dynamo.Search
  • CreationName property added to CustomNodeSearchElement.cs. This returns a name using which this node can be created
  • FullName property in NodeSearchElement.cs is virtual property now.

Dynamo.Library
  • DefaultValueString property added to TypedParameter.cs. Use this to get string representation of AST node
  • Dynamo.Library.TypedParameter.ToCommentNameString replaces ToNameString.
  • Dynamo.Library.TypedParameter constructor is changed to take an optional summary string.

Dynamo.Models
  • NodeCommands.ValidateConnectionsCommand has been removed.
  • DynamoModel.DynamoReady event is added.
  • DynamoPreferencesData class is added to DynamoModel.cs. This class contains the extra Dynamo-specific preferences data
  • RequestWorkspaceBackUpSave event added to DynamoModel.cs. This event occurs when a workspace is scheduled to be saved to a backup file
  • WorkspaceOpening event in DynamoModel.cs takes object instead of XMLElement.
  • HostVersion and HostName properties added to DynamoModel.cs.

Dynamo.Core
  • PythonTemplateFilePath property is added to PathManager.cs
  • CustomNodeManager(..) has LibraryServices libraryServices as an option. ex: CustomNodeManager(NodeFactory nodeFactory, MigrationManager migrationManager, LibraryServices libraryServices)
  • TryGetCustomNodeData(..), CreateCustomNodeInstance(..) are added to CustomNodeManager.cs

Dynamo.Migration
  • The property NodeMigrationAttribute.To has been removed.
  • The property NodeMigrationAttribute.From has been renamed to NodeMigrationAttribute.Version.

Dynamo.Extensions
  • ExtensionLoader.ExtensionLoading event was added.
  • Dynamo.Extensions.IExtensionSource was added - this interface backs objects which can load other extensions.
  • Dynamo.Extensions.ReadyParams.StartupParams was added.
  • ExtensionManager class has new methods - RegisterService(), UnregisterService(), GetService(..)

Dynamo.Engine
  • The LibraryServices.GetFunctionDescriptor method has been made public.
  • CompilationServices(..) takes LibraryServices instead of ProtoCore.Core.
  • IsLacingDisabled property added to FunctionDescriptor.cs.
  • GetFunctionDescriptor(.. is added to LibraryServices.cs.
  • GetPriorNames() added to LibraryServices.cs. This returns a dictionary of old names vs. new names for node migration
  • GetAllFunctionDescriptors() added to LibraryServices.cs. This returns a list of function descriptors associated with the function name.

Dynamo.Graph
  • Dynamo.Graph.SaveContext.None was added.
  • UndoRedoRecorder.RecordModelAsOffTrack(Guid) was removed.

  • Workspace:

  • X and Y, Zoom, Height, Width on WorkspaceModel have been made obsolete and should be retrieved via the WorkspaceViewModel instead as these are view properties.

  • X and Y and Zoom on NodeModel have been made obsolete and should be retrieved via the NodeViewModel instead as these are view properties.

  • CanUndo and CanRedo removed from WorkspaceModel.cs

  • The DynamoModel.AddWorkspace method has been made public.

  • A new constructor was added for WorkspaceInfo to facilitate deserialization.

  • A new constructor is added for HomeWorkspaceModel to facilitate deserialization.

  • The DSFunction.FunctionName property is added to facilitate serialization.

  • The VariableInputNode.VariableInputPorts property is added to facilitate serialization.

  • Converter classes are added to support serialization and deserialization.

  • Some method parameters have changed names to align with the properties which they set internally. This facilitates deserialization.

  • The Function.IsCustomNode and Function.FunctionUuid properties have been added to facilitate serialization.

  • WorkspaceModel.save now returns void.

  • constructor HomeWorkspaceModel(...) added to HomeWorkspaceModel.cs

  • SerializationExtensions.cs class is added to facilitate serializing a WorkspaceModel to json

  • UndoRedo.cs class is added to WorkspaceModel.

  • WorkspaceInfo(..) constructor added to WorkspaceInfo.cs.

  • ScaleFactor property added to WorkspaceInfo.cs.

  • ExtraWorkspaceViewInfo , ExtraNodeViewInfo ExtraNoteViewInfo , ExtraAnnotationViewInfo class added to WorkspaceModel.cs. This is a Non view-specific container for additional view information required to fully construct a WorkspaceModel from JSON

  • Dependencies property is added to WorkspaceModel.cs. This gathers the direct workspace dependencies of this workspace

  • Annotations is obsolete in WorkspaceModel.cs. please use Annotations on the WorkspaceViewModel.

  • FromJson(...) added to WorkspaceModel.cs. This loads a WorkspaceModel from json

  • UpdateWithExtraWorkspaceViewInfo(..) method added to WorkspaceModel.cs. This Updates a workspace model with extra view information

  • DeleteModel(..), CreateModel(..), ReloadModel(..), GetModelForElement(..) GetModelInternal(..) methods removed from `WorkspaceModel.cs.

  • SerializationExtensions class has been added to provide the WorkspaceModel.ToJson(...) extension method

  • DynamoModel.SaveWorkspace is removed. Use WorkspaceModel.Save instead.

  • WorkspaceModel.WorkspaceSaved event is now WorkspaceModel.Saved

NodeModel:


  • NodeModel.HasInput(...) has been removed. Use PortModel.IsConnected instead.

  • NodeModel.ValidateConnections() has been removed.

  • NodeModel.RegisterInputPorts() is now NodeModel.RegisterInputPorts(IEnumerable<PortData> portDatas). But NodeModel.RegisterInputPorts is deprecated. Please use the InPortNamesAttribute, InPortDescriptionsAttribute, and InPortTypesAttribute instead.

  • NodeModel.RegisterOutputPorts() is now NodeModel.RegisterOutputPorts(IEnumerable<PortData> portDatas). But NodeModel.RegisterOutputPorts() is deprecated. Please use the OutPortNamesAttribute, OutPortDescriptionsAttribute, and OutPortTypesAttribute instead.

  • NodeModel.AddPort(...) has been removed. Ports can now be added using NodeModel.InPorts.Add(...) and NodeModel.OutPorts.Add(...)

  • The PortModel.Data property has been removed.

  • The PortModel.ToolTipContent property is now PortModel.ToolTip.

  • PortModel.DefaultValueEnabled has been removed. Please use PortModel.DefaultValue == null to check whether a port has a default value.

  • NodeInputData.cs class is added to Nodes.

  • NodeOutputData.cs class is added to Nodes.

  • NodeOutPutTypes enum is added for supported output data types.

  • Statement.GetDefinedVariableNames has a boolean parameter removed.

  • Variable.NameWithIndex was added.

  • IsUpstreamVisible, OverrideNameWithNickName are removed from NodeModel.cs. DictionaryLink property added to NodeModel.cs.

  • SetNickNameFromAttribute() changed to SetNameFromNodeNameAttribute() in NodeModel.cs.

  • ClearRuntimeError() changed to ClearErrorsAndWarnings() in NodeModel.cs.

  • ValidateConnections() is removed from NodeModel.cs.

  • PortName property is now Name property in PortModel.cs.

  • ToolTipContent property is now ToolTip in PortModel.cs.

  • ShouldKeepListStructure is now KeepListStructure in PortModel.cs.

  • IsOutPutNode and IsSetAsOutput are added to NodeModel

  • OutputData is added to NodeModel

Other Models:


  • Many properties now include attributes from Json.net.

  • AnnotationModel has been made Obsolete should be retrieved via the WorkspaceViewModel instead.

  • AnnotationModel.SelectedModels is changed to AnnotationModel.Nodes

  • PresetModel has been made obsolete.

  • TextMaxWidth property is added to AnnotationModel.cs

  • ConnectorModel(PortModel start, PortModel end, Guid guid) constructor is added to ConnectorModel.cs.

  • ShouldSerializeX() and ShouldSerializeY() added to ModelBase.cs. Guid property in ModelBase.cs is now virtual.

  • UpdatePortsForUnresolved(..) method added to Function.cs. constructor Symbol(IEnumerable<PortModel> inPorts, IEnumerable<PortModel> outPorts, TypedParameter parameter) and Output(IEnumerable<PortModel> inPorts, IEnumerable<PortModel> outPorts) added to Function.cs

  • constructor DummyNode(..) added to DummyNode.cs. This function creates DummyNode with specified number of ports

  • OriginalNodeContent in DummyNode.cs returns object instead of XMLElement.

  • NickName is changed to Name in FunctionCallNodeController.cs.

  • FunctionSignature property is added to DSFunction.cs and DSVarArgFunction.cs. Also, DSVarArgFunction.cs has FunctionType property added.

  • LayoutExtensions.cs class is added to Workspaces. This contains methods for organizing graphs.

  • NodeReadConverter, WorkspaceReadConverter, WorkspaceWriteConverter, DummyNodeWriteConverter, ConnectorConverter, IdToGuidConverter, TypedParameterConverter , IdReferenceResolver are added to the new class SerializationConverters.cs.

  • CodeBlockNodeModel.TempVariables and IsTempIdentifer are removed.

  • CodeBlockNodeModel.LoadAndCreateConnectors signature has changed to accept a SaveContext parameter.

  • Dynamo.Updates.IHostManager folded into IUpdateManager.

1.1.0

  • Dynamo.Models.DynamoModel added IStartConfiguration2 derived from IStartConfiguration. It contains a single property IsHeadless. If the object passed to DynamoModel.Start is derived from this new interface, and the IsHeadless property is true, then update checking and analytics are disabled. This interface should be merged with IStartConfiguration in 2.0
  • Dynamo.Interfaces.IPreviewBubblePreference is added, this interface defines a single bool representing if preview bubbles should be on or off. This interface should be merged with IPreferences in 2.0
  • Dynamo.Interfaces.IBackgroundPreviewPreference is added, this interface defines settings about different background previews. This interface should be merged with IPreferences in 2.0
  • PreferenceSettings now also implements IPreviewBubblePreference and IBackgroundPreviewPreference
  • Dynamo.Wpf.ViewModels.Watch3D.IWatchPreferenceProperties is added which defines a background preview name used to store the background preview state (on or off) for background preview preferences.
  • DefaultWatch3DViewModel now also implements IWatchPreferenceProperties

0.9.1

  • Dynamo.Visualization

    • The Dynamo.Rendering namespace has been replaced with Dynamo.Visualization
    • Dynamo.DefaultRenderPackageFactory is now Dynamo.Visualization.DefaultRenderPackageFactory
    • Dynamo.Interfaces.IRenderpackageFactory is now Dynamo.Visualization.IRenderPackageFactory
    • Dynamo.Interfaces.IRenderPackageSource is now Dynamo.Visualization.IRenderPackageSource
  • Dynamo.Configuration

    • Dynamo.UI.Configurations is now Dynamo.Configuration.Configurations
    • Dynamo.Core.DebugSettings is now Dynamo.Configuration.DebugSettings
    • Dynamo.Core.PathManagerParams is now Dynamo.Configuration.PathManagerParams
    • Dynamo.Core.PathManager is now Dynamo.Configuration.PathManager
    • Dynamo.Core.Context is now Dynamo.Configuration.Context
    • Dynamo.Interfaces.IPathResolver is now Dynamo.Configuration.IPathResolver
    • Dynamo.Interfaces.IPathManager is now Dynamo.Configuration.IPathManager
    • Dynamo.Interfaces.IPreferences is now Dynamo.Configuration.IPreferences
    • Dynamo.PreferenceSettings is now Dynamo.Configuration.PreferenceSettings
  • Dynamo.Logging

    • net.reversofdata.dhlogger.Log is now Dynamo.Logging.Log
    • Dynamo.Core.DynamoLogger is now Dynamo.Logging.DynamoLogger
    • Dynamo.Interfaces.ILog is now Dynamo.Logging.ILog
    • Dynamo.Interfaces.Ilogger is now Dynamo.Logging.ILogger
    • Dynamo.Services.Heartbeat is now Dynamo.Logging.Hearbeat
    • Dynamo.Services.InstrumentationLogger is now Dynamo.Logging.InstrumentationLogger
    • Dynamo.Services.StabilityTracking is now Dynamo.Logging.StabilityTracking
  • Dynamo.Graph

    • Dynamo.Core.NodeGraph is now Dynamo.Graph.NodeGraph
    • Dynamo.Models.ModelBase is now Dynamo.Graph.ModelBase
    • Dynamo.Graph.Annotations
      • Dynamo.Models.AnnotationModel is now Dynamo.Graph.Annotations.AnnotationModel
    • Dynamo.Graph.Connectors
      • Dynamo.Models.ConnectorModel is now Dynamo.Graph.Connectors.ConnectorModel
    • Dynamo.Graph.Nodes
      • Dynamo.Graph.Nodes.CustomNodes
        • Dynamo.Nodes.CustomNodes.CustomNodeController is now Dynamo.Graph.Nodes.CustomNodes.CustomNodeController
        • Dynamo.Nodes.CustomNodes.Function is now Dynamo.Graph.Nodes.CustomNodes.Function
        • Dynamo.Interfaces.ICustomNodeManager is now Dynamo.Graph.Nodes.CustomNodes.ICustomNodeManager
        • Dynamo.Interfaces.ICustomNodeSource is now Dynamo.Graph.Nodes.CustomNodes.ICustomNodeSource
      • Dynamo.Graph.Nodes.NodeLoaders
        • Dynamo.Models.NodeLoaders.CodeBlockNodeLoader is now Dynamo.Graph.Nodes.NodeLoaders.CodeBlockNodeLoader
        • Dynamo.Models.NodeLoaders.CustomNodeLoader is now Dynamo.Graph.Nodes.NodeLoaders.CustomNodeLoader
        • Dynamo.Models.NodeLoaders.InputNodeLoader is now Dynamo.Graph.Nodes.NodeLoaders.InputNodeLoader
        • Dynamo.Models.NodeLoaders.CustomNodeLoader is now Dynamo.Graph.Nodes.NodeLoaders.CustomNodeLoader
        • Dynamo.Models.NodeFactory is now Dynamo.Graph.Nodes.NodeLoaders.NodeFactory
        • Dynamo.Models.NodeLoaders.ZeroTouchNodeLoader is now Dynamo.Graph.Nodes.NodeLoaders.ZeroTouchNodeLoader
      • Dynamo.Graph.Nodes.ZeroTouch
        • Dynamo.Nodes.ZeroTouch.DSFunction is now Dynamo.Graph.Nodes.ZeroTouch.DSFunction
        • Dynamo.Nodes.ZeroTouch.DSFunctionBase is now Dynamo.Graph.Nodes.ZeroTouch.DSFunctionBase
        • Dynamo.Nodes.ZeroTouch.DSVarArgFunction is now Dynamo.Graph.Nodes.ZeroTouch.DSVarArgFunction
        • Dynamo.Nodes.ZeroTouch.UnresolvedFunctionException is now Dynamo.Graph.Nodes.ZeroTouch.UnresolvedFunctionException
      • Dynamo.Nodes.NodeNameAttribute is now Dynamo.Graph.Nodes.NodeNameAttribute
      • Dynamo.Nodes.NodeCategoryAttribute is now Dynamo.Graph.Nodes.NodeCategoryAttribute
      • Dynamo.Nodes.NodeSearchTagsAttribute is now Dynamo.Graph.Nodes.NodeSearchTagsAttribute
      • Dynamo.Nodes.NotSearchableInHomeWorkspace is now Dynamo.Graph.Nodes.NotSearchableInHomeWorkspace
      • Dynamo.Nodes.NotSearchableInCustomNodeWorkspace is now Dynamo.Graph.Nodes.NotSearchableInCustomNodeWorkspace
      • Dynamo.Nodes.IsInteractiveAttribute is now Dynamo.Graph.Nodes.IsInteractiveAttribute
      • Dynamo.Nodes.NodeDescriptionAttribute is now Dynamo.Graph.Nodes.NodeDescriptionAttribute
      • Dynamo.Nodes.NodeSearchableAttribute is now Dynamo.Graph.Nodes.NodeSearchableAttribute
      • Dynamo.Nodes.NodeTypeIdAttribute is now Dynamo.Graph.Nodes.NodeTypeIdAttribute
      • Dynamo.Nodes.DoNotLoadOnPlatformsAttribute is now Dynamo.Graph.Nodes.DoNotLoadOnPlatformsAttribute
      • Dynamo.Nodes.NodeDeprecatedAttribute is now Dynamo.Graph.Nodes.NodeDeprecatedAttribute
      • Dynamo.Nodes.AlsoKnownAsAttribute is now Dynamo.Graph.Nodes.AlsoKnownAsAttribute
      • Dynamo.Nodes.IsMetaNodeAttribute is now Dynamo.Graph.Nodes.IsMetaNodeAttribute
      • Dynamo.Nodes.IsDesignScriptCompatibleAttribute is now Dynamo.Graph.Nodes.IsDesignScriptCompatibleAttribute
      • Dynamo.Nodes.NodeObsoleteAttribute is now Dynamo.Graph.Nodes.NodeObsoleteAttribute
      • Dynamo.Nodes.InPortNamesAttribute is now Dynamo.Graph.Nodes.InPortNamesAttribute
      • Dynamo.Nodes.InPortDescriptionsAttribute is now Dynamo.Graph.Nodes.InPortDescriptionsAttribute
      • Dynamo.Nodes.InPortTypesAttribute is now Dynamo.Graph.Nodes.InPortTypesAttribute
      • Dynamo.Nodes.OutPortNamesAttribute is now Dynamo.Graph.Nodes.OutPortNamesAttribute
      • Dynamo.Nodes.OutPortDescriptionsAttribute is now Dynamo.Graph.Nodes.OutPortDescriptionsAttribute
      • Dynamo.Nodes.OutPortTypesAttribute is now Dynamo.Graph.Nodes.OutPortTypesAttribute
      • Dynamo.Nodes.CodeBlockNodeModel is now Dynamo.Graph.Nodes.CodeBlockNodeModel
      • Dynamo.Nodes.CodeBlockUtils is now Dynamo.Graph.Nodes.CodeBlockUtils
      • Dynamo.Nodes.DummyNode is now Dynamo.Graph.Nodes.DummyNode
      • Dynamo.Nodes.FunctionCallBase is now Dynamo.Graph.Nodes.FunctionCallBase
      • Dynamo.Nodes.FunctionCallNodeController is now Dynamo.Graph.Nodes.FunctionCallNodeController
      • Dynamo.Nodes.BuiltinNodeCategories is now Dynamo.Graph.Nodes.BuiltinNodeCategories
      • Dynamo.Models.NodeModel is now Dynamo.Graph.Nodes.NodeModel
      • Dynamo.Nodes.NodeModelExtension is now Dynamo.Graph.Nodes.NodeModelExtension
      • Dynamo.Models.PortModel is now Dynamo.Graph.Nodes.PortModel
      • Dynamo.Models.ScopedNodeModel is now Dynamo.Graph.Nodes.ScopedNodeModel
      • Dynamo.Models.TypeLoadData is now Dynamo.Graph.Nodes.TypeLoadData
      • Dynamo.Nodes.VariableInputNode is now Dynamo.Graph.Nodes.VariableInputNode
      • Dynamo.Nodes.VariableInputNodeController is now Dynamo.Graph.Nodes.VariableInputNodeController
      • Dynamo.Graph.Notes
        • Dynamo.Models.NoteModel is now Dynamo.Graph.Notes.NoteModel
      • Dynamo.Graph.Presets
        • Dynamo.Models.PresetModel is now Dynamo.Graph.Presets.PresetModel
      • Dynamo.Graph.Workspaces
        • Dynamo.Model.CustomNodeWorkspaceModel is now Dynamo.Graph.Workspaces.CustomNodeWorkspaceModel
        • Dynamo.Model.HomeWorkspaceModel is now Dynamo.Graph.Workspaces.HomeWorkspaceModel
        • Dynamo.Interfaces.ICustomNodeWorkspaceModel is now Dynamo.Graph.Workspaces.ICustomNodeWorkspaceModel
        • Dynamo.Model.IWorkspaceModel is now Dynamo.Graph.Workspaces.IWorkspaceModel
        • Dynamo.Model.WorkspaceInfo is now Dynamo.Graph.Workspaces.WorkspaceInfo
        • Dynamo.Model.WorkspaceModel is now Dynamo.Graph.Workspaces.WorkspaceModel
  • Dynamo.Services has been removed.

  • Dynamo.Search

    • Dynamo.Interfaces.ISource is now Dynamo.Search.ISource
    • Dynamo.Search.SearchElementGroup is now Dynamo.Search.SearchElements.SearchElementsGroup
    • Dynamo.Search.Interfaces.ISearchEntry is now Dynamo.Search.ISearchEntry
    • Dynamo.Search.Interfaces.ISearchCategory is now Dynamo.Search.ISearchCategory
  • Dynamo.Updates

    • Dynamo.UpdateManager is now Dynamo.Updates
    • Dynamo.UpdateManager.UpdateDownloadedEventArgs is now Dynamo.Updates.UpdateDownloadedEventArgs
    • Dynamo.UpdateManager.IUpdateManager is now Dynamo.Updates.IUpdateManager
    • Dynamo.UpdateManager.IDynamoLookup is now Dynamo.Updates.IDynamoLookup
    • Dynamo.UpdateManager.IUpdateManagerConfiguration is now Dynamo.Updates.IUpdateManagerConfiguration
    • Dynamo.UpdateManager.IAppVersionInfo is now Dynamo.Updates.IAppVersionInfo
    • Dynamo.UpdateManager.IAsynchronousRequest is now Dynamo.Updates.IAsynchronousRequest
    • Dynamo.UpdateManager.AppVersionInfo is now Dynamo.Updates.AppVersionInfo
    • Dynamo.UpdateManager.UpdateRequest is now Dynamo.Updates.UpdateRequest
    • Dynamo.UpdateManager.UpdateManagerConfiguration is now Dynamo.Updates.UpdateManagerConfiguration
    • Dynamo.UpdateManager.UpdateManager is now Dynamo.Updates.UpdateManager
    • Dynamo.UpdateManager.DynamoLookUp is now Dynamo.Updates. DynamoLookUp
    • Dynamo.UpdateManager.BinaryVersion is now Dynamo.Updates.BinaryVersion

0.9.0

  • All node attributes, NodeNameAttribute, NodeCategoryAttribute, NodeSearchTagAttribute..., have been moved from the Dynamo.Models namespace to the Dynamo.Nodes namespace. This namespace will change again in the next release.

DynamoCoreWPF

2.0

  • DynamoView.LibraryCollapsed is added.

  • DynamoView.GetUniqueAddOnCategories is added.

  • ShowHideConsoleMenuConverter is removed.

  • SHowHidePreviewBubblesConverter is removed.

  • DefaultWatchHandler.Process and ProcessThing now accept a new parameter - a preferred Dictionary ordering of keys names.

  • IWatchHandler interface is updated with new process signature.

  • GenerateWatchViewModelForData() is updated with new signature accepting preferred ordering of keys.

  • WatchHandlerCallback invoke and beginInvoke updated with new signature accepting preferred ordering of keys.

  • DynamoViewModel.TogglePreviewBubbleShowingCommand is removed.

  • NodeViewModel.IsOuput is added.

  • NodeViewModel.IsSetAsOutput is added.

  • Dynamo.Wpf.Extensions.IViewExtensionSource is added.

  • Dynamo.Wpf.Extensions.ViewExtensionLoader.ExtensionLoading event is added.

  • Dynamo.wpf.Extensions.ViewLoadedParams.ViewStartupParams is added.

  • Dynamo.Wpf.ViewModels.Watch3d.CameraData.Equals is added.

  • Dynamo.Wpf.ViewModesl.Watch3d.IWatchPreferenceProperties folded into Dynamo.Wpf.ViewModels.Watch3d.IWatch3dViewModel.PreferenceWatchName.

1.2

  • DynamoViewModel.OpenIfSaveCommand is added, which wraps a DynamoModel.OpenFileCommand but requests a save check and dialog
  • class ShowHidePreviewBubblesConverter, method TogglePreviewBubblesShowing, DelegateCommand TogglePreviewBubblesShowingCommand are obsolete

Workspaces

2.0

  • The Workspaces assembly is added with methods for serializing and deserializing WorkspaceModel objects to json.

Libraries

ProtoInterface

1.0.0

  • ProtoInterface.dll has been removed from Dynamo project and some of the common interfaces and Attributes defined inside ProtoInterface.dll are now moved to DynamoServices.dll. If your library/package was referencing ProtoInterface.dll then it is recommended to update the reference and re-compile your projects with DynamoServices.

    • Attributes defined in Autodesk.DesignScript.Runtime namespace such as [SupressImportIntoVM], [IsVisibleInDynamoLibrary(bool)] and [MultiReturn(params string[])] are now part of DynamoServices.dll
    • Graphics visualization related interface and class defined in Autodesk.DesignScript.Interfaces namespace are IRenderPackage, IGraphicItem, IGraphicDataProvider and TessellationParameters. All the other interfaces defined in Autodesk.DesignScript.Interfaces have been made internal or removed and they are no longer supported.
    • If your application used IExtensionApplication interface from Autodesk.DesignScript.Interfaces namespace or related interfaces, then it is recomended to use Dynamo.Events.ExecutionEvents and Dynamo.Events.WorkspaceEvents class to get execution specific notifications as well as session parameters.

DynamoServices

1.1

  • The ITransformable interface has been introduced, this interface can be applied to a render package implemenation to provide users of those render packages with the ability to transform their geometry inside the visualization pipeline. For example, HelixRenderPackge as part of Dynamo Studio can make use of Transforms that a node author sets during tessellation. Note: this API is still in development and is a new addition post Dynamo 1.0, currently it requires using reflection to make sure it exists to avoid breaking backward compatibility with Dynamo 1.0. see this entry for more information: here

1.0.0

  • ExecutionEvents and WorkspaceEvents have been moved to Dynamo.Events namespace from earlier DynamoServices namespace.
    • The ExecutionStateHandler delegate is modified to pass session objects of type IExecutionSession defined in Dynamo.Session namespace. Hence the GraphPreExecution and GraphPostExecution events on ExecutionEvents class are impacted with this change.

CoreNodeModels

2.0.0

  • Public default constructors have been added for CombinatorNode types to facilitate serialization.

1.0.0

  • Changes made to CoreNodeModels.DynamoDropDownItem
    • CoreNodeModels.DynamoDropDowBase.PopulateItems is no longer a virtual method, custom population logic should now be implemented in CoreNodeModels.DynamoDropDownBase.PopulateItemsCore method instead.

0.9.1

  • DSCoreNodesUI assembly is renamed to CoreNodeModels. All namespaces are renamed correspondingly
    • The DSCoreNodesUI namespace has been renamed to CoreNodeModels:
      • DSCoreNodesUI.ColorRange is now CoreNodeModels.ColorRange
      • DSCoreNodesUI.CreateList is now CoreNodeModels.CreateList
      • DSCoreNodesUI.DynamoDropDownItem is now CoreNodeModels.DynamoDropDownItem
      • DSCoreNodesUI.DSDropDownBase is now CoreNodeModels.DSDropDownBase
      • DSCoreNodesUI.DynamoConvert is now CoreNodeModels.DynamoConvert
      • DSCoreNodesUI.EnumAsInt<T> is now CoreNodeModels.EnumAsInt<T>
      • DSCoreNodesUI.EnumAsString<T> is now CoreNodeModels.EnumAsString<T>
      • DSCoreNodesUI.EnumBase<T> is now CoreNodeModels.EnumBase<T>
      • DSCoreNodesUI.AllChildrenOfType<T> is now CoreNodeModels.AllChildrenOfType<T>
      • DSCoreNodesUI.Formula is now CoreNodeModels.Formula
      • DSCoreNodesUI.SelectionType is now CoreNodeModels.SelectionType
      • DSCoreNodesUI.SelectionObjectType is now CoreNodeModels.SelectionObjectType
      • DSCoreNodesUI.IModelSelectionHelper<out T> is now CoreNodeModels.IModelSelectionHelper<out T>
      • DSCoreNodesUI.Range is now CoreNodeModels.Range
      • DSCoreNodesUI.Sequence is now CoreNodeModels.Sequence
      • DSCoreNodesUI.ElementsSelectionDelegate is now CoreNodeModels.ElementsSelectionDelegate
      • DSCoreNodesUI.SelectionBase<TSelection, TResult> is now CoreNodeModels.SelectionBase<TSelection, TResult>
      • DSCoreNodesUI.ToStringNodeBase is now CoreNodeModels.ToStringNodeBase
      • DSCoreNodesUI.FromObject is now CoreNodeModels.FromObject
      • DSCoreNodesUI.FromArray is now CoreNodeModels.FromArray
      • DSCoreNodesUI.Watch is now CoreNodeModels.Watch
      • DSCoreNodesUI.WatchImageCore is now CoreNodeModels.WatchImageCore
      • DSCoreNodesUI.WebRequest is now CoreNodeModels.WebRequest
    • The DSCoreNodesUI.HigherOrder namespace has been renamed to CoreNodeModels.HigherOrder:
      • DSCoreNodesUI.HigherOrder.ApplyFunction is now CoreNodeModels.HigherOrder.ApplyFunction
      • DSCoreNodesUI.HigherOrder.ComposeFunctions is now CoreNodeModels.HigherOrder.ComposeFunctions
      • DSCoreNodesUI.HigherOrder.Map is now CoreNodeModels.HigherOrder.Map
      • DSCoreNodesUI.HigherOrder.CombinatorNode is now CoreNodeModels.HigherOrder.CombinatorNode
      • DSCoreNodesUI.HigherOrder.Combine is now CoreNodeModels.HigherOrder.Combine
      • DSCoreNodesUI.HigherOrder.ForEach is now CoreNodeModels.HigherOrder.ForEach
      • DSCoreNodesUI.HigherOrder.LaceShortest is now CoreNodeModels.HigherOrder.LaceShortest
      • DSCoreNodesUI.HigherOrder.LaceLongest is now CoreNodeModels.HigherOrder.LaceLongest
      • DSCoreNodesUI.HigherOrder.CartesianProduct is now CoreNodeModels.HigherOrder.CartesianProduct
      • DSCoreNodesUI.HigherOrder.Reduce is now CoreNodeModels.HigherOrder.Reduce
      • DSCoreNodesUI.HigherOrder.ScanList is now CoreNodeModels.HigherOrder.ScanList
      • DSCoreNodesUI.HigherOrder.Filter is now CoreNodeModels.HigherOrder.Filter
      • DSCoreNodesUI.HigherOrder.Replace is now CoreNodeModels.HigherOrder.Replace
    • The DSCoreNodesUI.Input namespace has been renamed to CoreNodeModels.Input:
      • DSCoreNodesUI.Input.StringInput is now CoreNodeModels.Input.StringInput
      • DSCoreNodesUI.Input.ConversionDelegate is now CoreNodeModels.Input.ConversionDelegate
      • DSCoreNodesUI.Input.DoubleInput is now CoreNodeModels.Input.DoubleInput
      • DSCoreNodesUI.Input.BasicInteractive<T> is now CoreNodeModels.Input.BasicInteractive<T>
      • DSCoreNodesUI.Input.Bool is now CoreNodeModels.Input.Bool
      • DSCoreNodesUI.Input.BoolSelector is now CoreNodeModels.Input.BoolSelector
      • DSCoreNodesUI.Input.DateTime is now CoreNodeModels.Input.DateTime
      • DSCoreNodesUI.Input.Double is now CoreNodeModels.Input.Double
      • DSCoreNodesUI.Input.DoubleSlider is now CoreNodeModels.Input.DoubleSlider
      • DSCoreNodesUI.Input.FileSystemBrowser is now CoreNodeModels.Input.FileSystemBrowser
      • DSCoreNodesUI.Input.Filename is now CoreNodeModels.Input.Filename
      • DSCoreNodesUI.Input.Directory is now CoreNodeModels.Input.Directory
      • DSCoreNodesUI.Input.FileSystemObject<T> is now CoreNodeModels.Input.FileSystemObject<T>
      • DSCoreNodesUI.Input.FileObject is now CoreNodeModels.Input.FileObject
      • DSCoreNodesUI.Input.DirectoryObject is now CoreNodeModels.Input.DirectoryObject
      • DSCoreNodesUI.Input.Integer is now CoreNodeModels.Input.Integer
      • DSCoreNodesUI.Input.IntegerSlider is now CoreNodeModels.Input.IntegerSlider
      • DSCoreNodesUI.Input.SliderBase<T> is now CoreNodeModels.Input.SliderBase<T>
      • DSCoreNodesUI.Input.String is now CoreNodeModels.Input.String
    • The DSCoreNodesUI.Logic namespace has been renamed to CoreNodeModels.Logic:
      • DSCoreNodesUI.Logic.BinaryLogic is now CoreNodeModels.Logic.BinaryLogic
      • DSCoreNodesUI.Logic.And is now CoreNodeModels.Logic.And
      • DSCoreNodesUI.Logic.Or is now CoreNodeModels.Logic.Or
      • DSCoreNodesUI.Logic.If is now CoreNodeModels.Logic.If
      • DSCoreNodesUI.Logic.ScopedIf is now CoreNodeModels.Logic.ScopedIf

CoreNodeModelsWpf

  • All classes in CoreNodeModelsWpf in Dynamo.Wpf moved to CoreNodeModelsWpf namespace
    • The Dynamo.Wpf namespace has been removed to CoreNodeModelsWpf
      • Dynamo.Wpf.DoubleSliderSettingsControl is now CoreNodeModelsWpf.DoubleSliderSettingsControl
      • Dynamo.Wpf.ElementSelectionControl is now CoreNodeModelsWpf.ElementSelectionControl
      • Dynamo.Wpf.IntegerSliderSettingsControl is now CoreNodeModelsWpf.IntegerSliderSettingsControl
      • Dynamo.Wpf.ConverterViewModel is now CoreNodeModelsWpf.ConverterViewModel
      • Dynamo.Wpf.SliderViewModel<T> is now CoreNodeModelsWpf.SliderViewModel<T>
    • The Dynamo.Wpf.Controls namespace has been removed to CoreNodeModelsWpf.Controls
      • Dynamo.Wpf.Controls.DateTimeInputControl is now CoreNodeModelsWpf.Controls.DateTimeInputControl
      • Dynamo.Wpf.Controls.DynamoConverterControl is now CoreNodeModelsWpf.Controls.DynamoConverterControl
      • Dynamo.Wpf.Controls.DynamoSlider is now CoreNodeModelsWpf.Controls.DynamoSlider
    • The Dynamo.Wpf.Converters namespace has been removed to CoreNodeModelsWpf.Converters
      • Dynamo.Wpf.Converters.SelectionButtonContentConverter is now CoreNodeModelsWpf.SelectionButtonContentConverter
      • Dynamo.Wpf.Converters.StringToDateTimeConverter is now CoreNodeModelsWpf.Converters.StringToDateTimeConverter
    • The Dynamo.Wpf.Nodes namespace has been removed to CoreNodeModelsWpf.Nodes
      • Dynamo.Wpf.Nodes.BoolSelectorNodeViewCustomization is now CoreNodeModelsWpf.Nodes.BoolSelectorNodeViewCustomization
      • Dynamo.Wpf.Nodes.ColorRangeNodeViewCustomization is now CoreNodeModelsWpf.Nodes.ColorRangeNodeViewCustomization
      • Dynamo.Wpf.Nodes.CreateListNodeViewCustomization is now CoreNodeModelsWpf.Nodes.CreateListNodeViewCustomization
      • Dynamo.Wpf.Nodes.DirectoryNodeViewCustomization is now CoreNodeModelsWpf.Nodes.DirectoryNodeViewCustomization
      • Dynamo.Wpf.Nodes.DoubleInputNodeViewCustomization is now CoreNodeModelsWpf.Nodes.DoubleInputNodeViewCustomization
      • Dynamo.Wpf.Nodes.DropDownNodeViewCustomization is now CoreNodeModelsWpf.Nodes.DropDownNodeViewCustomization
      • Dynamo.Wpf.Nodes.DummyNodeNodeViewCustomization is now CoreNodeModelsWpf.Nodes.DummyNodeNodeViewCustomization
      • Dynamo.Wpf.Nodes.FormulaNodeViewCustomization is now CoreNodeModelsWpf.Nodes.FormulaNodeViewCustomization
      • Dynamo.Wpf.Nodes.SelectionBaseNodeViewCustomization is now CoreNodeModelsWpf.Nodes.SelectionBaseNodeViewCustomization
      • Dynamo.Wpf.Nodes.StringInputNodeViewCustomization is now CoreNodeModelsWpf.Nodes.StringInputNodeViewCustomization
      • Dynamo.Wpf.Nodes.WatchNodeViewCustomization is now CoreNodeModelsWpf.Nodes.WatchNodeViewCustomization
      • Dynamo.Wpf.Nodes.WatchImageNodeViewCustomization is now CoreNodeModelsWpf.Nodes.WatchImageNodeViewCustomization
    • The Dynamo.Wpf.NodeViewCustomizations namespace has been removed to CoreNodeModelsWpf.NodeViewCustomizations
      • Dynamo.Wpf.NodeViewCustomizations.ConverterNodeViewCustomization is now CoreNodeModelsWpf.NodeViewCustomizations.ConverterNodeViewCustomization
      • Dynamo.Wpf.NodeViewCustomizations.DateTimeNodeViewCustomization is now CoreNodeModelsWpf.NodeViewCustomizations.DateTimeNodeViewCustomization
      • Dynamo.Wpf.NodeViewCustomizations.DoubleSliderNodeViewCustomization is now CoreNodeModelsWpf.NodeViewCustomizations.DoubleSliderNodeViewCustomization
      • Dynamo.Wpf.NodeViewCustomizations.IntegerSliderNodeViewCustomization is now CoreNodeModelsWpf.NodeViewCustomizations.IntegerSliderNodeViewCustomization

Python

2.0.0

  • PythonNodeModelsWpf.ScriptEditorWindow now requires three arguments

0.9.0

  • DSIronPythonNode.PythonNodeBase is now PythonNodeModels.PythonNodeBase
  • DSIronPythonNode.PythonNode is now PythonNodeModels.PythonNode
  • DSIronPythonNode.PythonStringNode is now PythonNodeModels.PythonStringNode.
  • DSIronPythonNode.PythonNodeViewCustomization is now PythonNodeModelsWpf.PythonNodeViewCustomization
  • DSIronPythonNode.ScriptEditorWindow is now PythonNodeModelsWpf.ScriptEditorWindow

UnitsUI

2.0

  • Public constructors have been added to MeasurementInputBase to facilitate serialization.

Releases

Roadmap

How To

Dynamo Internals

Contributing

Python3 Upgrade Work

Libraries

FAQs

API and Dynamo Nodes

Clone this wiki locally