For version 6.0, the client API has changed to add support for new product features. Some other changes have been made to improve usability and consistency of the API.
Platform Changes
The .NET target has been updated from net6.0-windows to net10.0-windows
Breaking Changes
Some API changes will require minor code changes in code using the API, but most of these changes are in parts of the API that customer applications are unlikely to be using. The following sections describe those changes.
Client Assembly
ApplicationIntegration
The static ApplicationIntegration.Connect now returns an IApplicationIntegration interface rather than an instance of the class. This was done to unify the integration surface used by user scripts, PowerShell scripts, and applications being run by adTempus. Unless you are using ApplicationIntegration.Connect these changes don't affect you.
The IApplicationIntegration interface and the ApplicationIntegration class were inconsistent in a few places; in these cases IApplicationIntegration compatiblity was preserved at the expense of ApplicationIntegration (class) compatibility because the interface is what all user scripts are expecting, whereas there are fewer consumers of the ApplicationIntegration class.
Reading a value with the string indexer (JobVariables["name"]) still works. Code that declares the property type or uses dictionary members (Keys, Values, TryGetValue, enumeration as KeyValuePair) must be updated. Enumeration now yields IJobVariable objects; use ContainsKey and GetVariable for lookups.
These properties changed from TimeSpan to TimeSpan?. Assigning a value still compiles. Code that reads the value into a TimeSpan variable must use .Value, .GetValueOrDefault(), or ??. A null value means the default value is used.