Story Impact Description
1085587 Breaking Moving elements now has to be done though the detach() function. For a full description of all the states and their meanings, see Element States. This does not affect reading models and elements.
1085587 Breaking Creating, deleting, and changing elements is restricted by their state. For a full description of all the states and their meanings, see Element States. This does not affect reading models and elements.
1031416 Breaking The qualifiedName property for an element that is not attached to the model now returns undefined.
1052744 Breaking Elements that have no name property (like DomainModel) no longer have a qualifiedName property.
1031416 Breaking When assigning an element to a by-name reference (list) property, the element must have a valid qualified name first. This means that the element itself and any named containers should have a valid name.
1085587 Breaking The following methods have been removed from the interface IList<T>: intercept, move, observe, peek.
1109564 Breaking The property typeName that exists on every instance of a structure has been renamed to structureTypeName. All static typeName properties on structure classes are now called structureTypeName as well. (Ticket 49499)
1116073 Breaking Model.closeConnection now no longer calls the (success) callback in addition to the model error handler when an error occurs while sending model changes to the server. Instead, it calls the error callback, or, in case the error callback is not supplied, the model error handler.
1052744 Breaking The behavior of ModelSdkClient.createWorkingCopy has been changed so that it no longer opens the working copy right away. Instead, the specified callback gets passed an IWorkingCopy instance, which can be inspected or used to open the working copy. We have introduced the new method ModelSdkClient.createAndOpenWorkingCopy that mimics the old behavior.
1052744 Breaking We renamed Model.metadata to Model.workingCopy, as that name more accurately reflects its value.
1052744 Breaking We renamed the overload of Structure.load() that does not take a callback to asLoaded().
1052744 Breaking All the interfaces for elements that are not part of the interface of their model unit have been removed, as these were not used in the SDK and served no further purpose (for example, pages.IWidget and all its derivatives).
1052744 Breaking All the properties in interfaces for elements that are part of the interface of their model unit have become readonly to reflect the semantics of the model unit interfaces. If you want to change the value of such a property, you have to load the element using .load(...), or you can use .asLoaded() to convert it to the class type if you know that the element is already loaded.
1189165 Breaking The method Structure.deepCopyInto has been removed. A new method Element.deepCopy has been added.
1052744 Breaking The interface IDimension has been removed, as it was never used.
1052744 Breaking We renamed the class IEnum to AbstractEnum.
1052744 Breaking We removed setters for properties of the type IList. These setters were not really useful, as they required an argument of the type IList.
1052744 Breaking Specifying an error callback for Model.getAppEnvironmentStatus, Model.getAppUpdateStatus and Model.startAppUpdate is now required. The model error handler will no longer be used.
1186227 Breaking The interface IDelta is no longer exposed and has been replaced by the type Delta, which is a union type of all the possible delta types.
1031525 Low We changed the return type of Model.findModuleByQualifiedName to projects.IModule.
1031525 Low Structure.container is now a read-only property.
1031525 None Structure.container is now an observable property.
1052744 None We changed the return type of validateSyntax to string | null.
1052744 None Assigning a false value such as undefined to a property now results in the property value actually becoming null instead.
1026781 None We replaced Restler with Request.