Scripting SDK changelog
This document contains all changes of the SDK per version.
[4.2.0]
Added
- Translation client: allows to manage translations.
- Commands client: allows to execute commands in Sitecore Content Hub.
- AssetClient.CreatePublicLinkAsync(): allows to create a public link for the specified asset.
- EntitiesClient.CopyAsync(): allows to copy an entity by id to a new or existing entity.
- String extensions to converts a string that has been HTML-encoded into a decoded string and vice-versa. See Extensions
- Entity relations can be set relations using identifiers instead of ids.
Fixed
- Various bugs
[4.1.0]
Added
- Shared scripts: allows sharing and reusing script code.
- Script execution telemetry: provides insight into what caused scripts to run, how long they took, and what entities they impacted.
- Fluent SDK: is a wrapper that builds on top of the existing SDKs and allows performing certain operations in a fluent manner.
[3.2.0]
This release focusses on some performance improvements for the Entity Definitions client and the culture client.
Added
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
Fixed an issue in the mapping of MemberCondition
s.
[3.1.2]
Fixed
Fixed web fetch jobs not completing successfully.
[3.1.0]
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
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
.
Changed
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, andPathHierarchyScore
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
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).
[3.0.5]
Fixed
Fixed web fetch jobs not completing successfully (backport).
[3.0.1]
This patch release fixes some bugs.
Added
ValidationException
's ToString
now includes its validation failures.
Changed
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
totrue
by default. - Property definitions are now created with
AllowUpdates
totrue
by default. - Relation definitions are now created with
AllowNavigation
totrue
by default.
Fixed
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.
[3.0.0]
Initial release of the SDK.
Can we improve this article ? Provide feedback