Scripting SDK changelog

Current version: 3.3

This document contains all changes of the SDK per version.


This release focusses on some performance improvements for the Entity Definitions client and the culture client.


The ContentGroup property was added to the IMemberGroup interface.

The AllowUpdates property is now also supported on relation definitions. Previously this was only supported on property definitions. As a result, the AllowUpdates property was moved from IPropertyDefinition to IMemberDefinition, which is the base interface of both property and relation definitions.

Added cached overloads on the Entity Definitions client:

  • GetCachedAsync
  • GetNameCachedAsync
  • GetNamesCachedAsync
  • GetIdCachedAsync
  • GetManyCachedAsync
  • GetManyCachedAsync
  • GetIdsCachedAsync

Added cached method overloads on the culture client:

  • GetDefaultCultureCachedAsync
  • GetAllCulturesCachedAsync


Fixed an issue in the mapping of MemberConditions.



Fixed web fetch jobs not completing successfully.


This release highlights:

  • The new notifications client. This can be used to send real-time (browser), as well as e-mail notifications to users. (Article)
  • The new Assets client. This client is now mainly for managing the final life cycle status of Assets. (Article)
  • Create, modify and delete support for entity definitions using the entity definitions client. (Article)
  • Strongly typed entities for Asset and Mail Templates.


Added entity definition create, modify and delete operations on the entity definitions client.(Article)

Added the new notifications client. (Article)

Added the assets client. (Article)

This release features the first strongly typed entities. For assets the, IAsset is now available. With the notifications client also comes a strongly typed entity: IMailTemplate. These strongly typed entities are still just an IEntity, but the entities members are also provided as C# properties and methods for a better development experience. In the future, more strongly typed entities will be added and existing ones will be extended.

New features on the IEntityDefinitionsClient:

  • Now supports custom batch size for iterators as an optional parameter when creating the iterators.
  • Added method to get an entity definition by id.
  • Added method to get many entity definitions by ids at once.
  • Added method to resolve definition ids to definition names.
  • Added method to resolve definition names to definition ids. This one is preferred over Task<IList<long>> GetManyIdsAsync(IEnumerable<string> names);.

Added a builder on IEntityLoadConfiguration. This can be used to easily create or extend load configurations. (Article)

The querying filters were extended, the following new string filters are now available (Article):

  • Contains
  • StartsWith
  • EndsWith

More default values were added to the Defaults.

New features on the IEntityDefinition: added the IsNew property.

New features on the ILinkHelper (Web SDK):

  • Improved existing documentation and added documentation where missing (API reference).
  • Added method to create a link to an entity definition by id.

New features on the IUsersClient:

  • Added method to get user id(s) by username(s).
  • Added method to get username(s) by id(s).
  • Added method to get user(s) by id(s).
  • Added method to get user group id(s) by user group name(s).
  • Added method to get user group name(s) by id(s).
  • Added method to get user group(s) by id(s).

Added the AssociatedLabels property on the IRelationDefinition.


Changes on the IMemberDefinition: IsSecured property is no longer nullable.

Changes on the IRelationDefinition:

  • ChildIsMandatory property is no longer nullable.
  • ParentIsMandatory property is no longer nullable.
  • AncestorsAreCopied has been removed, and PathHierarchyScore was introduced. This is related to the change in M.

Both the EntityLoadOptions and LoadConfiguration properties on Query are now obsolete. Load configurations are now always passed separately from the Query or automatically resolved by the SDK. The properties are still there for backwards compatibility only. This also means that WithProperties, WithRelations, InCultures and LoadConfiguration when using LINQ is also obsolete. However, as listed above, the load configurations have a similar builder now.

All load options (PropertyLoadOption, RelationLoadOption, CultureLoadOption) now use arrays instead of IEnumerable to list its custom values.

On IEntity: LoadPropertiesAsync, LoadRelationsAsync, LoadMembersAsync will no longer throws when lazy loading is not possible, but will directly return false.


Fixed an issue where the back-end would throw an exception when executing a query without any filters. It is now possible to query without a filter. This allows for example to get the X newest entities in M.

Fixed web fetch jobs not completing successfully (backport).



Fixed web fetch jobs not completing successfully (backport).


This patch release fixes some bugs.


ValidationException's ToString now includes its validation failures.


RelationMemberCondition was referencing an Entity Definition id instead of an Entity id.

The GetSettingsForCategoryAsync would return an empty list when the category did not exist. This was not a transparent behaviour and it will now throw a NotFoundException.

Some defaults values have been changed:

  • Entities are now created with InheritsSecurity to true by default.
  • Property definitions are now created with AllowUpdates to true by default.
  • Relation definitions are now created with AllowNavigation to true by default.


Fixed IMemberDefinition models (implementations) not being public.

Fixed issue on IEntityDefinitionsClient where definitions by range returned a result with offset and total count swapped.

Fixed issue on IDataSourcesClient where the client was throwing the wrong exception when a validation exception occurred when deleting a data source.

Fixed issue on ISettingsClient where GetCategoryIdAsync would return 0 instead of null when the category does not exist.

Fixed an issue with the entity factory when creating entities that are explicitly created without any cultures. Now culture sensitive properties are not on the entity anymore, when created without any cultures.

Fixed a bug on IEntityDefinitionsClient where GetManyAsync (by definition names), would add null to the result when the definition didn't exist.


Initial release of the SDK.

Do you have some feedback for us?

If you have suggestions for improving this article,