Release r202610
What's new
This release contains the following new features and improvements:
- Improved package transfer: exclude execution settings
- Use Microsoft Graph SendMail API with certificate
- HTTP and REST functions support Microsoft Graph authentication
- Serve static assets from the file repository
- New worked example: Calendarific -> Xurrent
Improved package transfer: exclude execution settings
Packages often have different execution settings in sandbox and production, such as a different log level or a different email address to send error reports to. However, when you use the transfer wizard to move a package from sandbox to production and then change its execution settings in production, this would again be detected as a change and marked as a conflict by the transfer wizard.
This has now been improved. When transferring existing packages from one environment to another, only the following fields are synchronized:
- Name
- Description
- Package type
- Script
- Libraries
In addition, the transfer wizard now only marks a package as changed, when one of the above fields has been changed.
The new way of marking packages as changed will take effect when this release is deployed. Packages that were already marked as changed and/or conflicted before this release, will stay so. When this release is deployed, you will need to transfer such a package at least once to reset the marker.
Use Microsoft Graph SendMail API with certificate
A new option has been added to the "Mail server" selectbox on the Outbound email configuration form for using the Microsoft Graph SendMail API with a client ID and certificate, besides the already existing option to use a client secret.
When this option is selected, you will be asked to provide the private key of the certificate and the certificate thumbprint. More information about these fields, and how to create such a certificate, can be found in the Microsoft Graph documentation.
HTTP and REST functions support Microsoft Graph authentication
The HTTP and REST functions now support Microsoft Graph authentication. This means that these functions take care of obtaining and managing access tokens, and support automatic retries for rate limited requests and other errors.
To use this, create an account of type "Microsoft Graph" and configure it with the appropriate credentials. Both authentication with a client secret and with a certificate are supported.
Serve static assets from the file repository
Files served from a published file
repository are now returned with a
Content-Type header, derived from the file extension (e.g. a
.pdf file is served as application/pdf, a .css file as text/css, and a
.png file as image/png). Files with an unknown or missing extension are
served as application/octet-stream.
This makes the file repository suitable for serving static assets directly to a
browser: images, stylesheets, JavaScript, PDFs, and so on can now be linked to
or embedded in HTML services and external pages. Prior to this change, this was
only possible by manually wrapping each asset in a package that set the
Content-Type header.
New worked example: Calendarific -> Xurrent
We have added a new worked example to the documentation that explains how to automate the yearly task of creating national holidays in Xurrent and linking them to the appropriate calendar, using the (free) Calendarific API.
Read all about it in the Calendarific -> Xurrent worked example.
Important updates
Scheduled execution skipped when previous execution still in progress
When packages have a time-based trigger that runs very frequently, it could sometimes occur that a previous execution was still in progress when the next execution was already scheduled. This could lead to the package being run multiple times simultaneously. This has now been fixed: a scheduled execution will only be triggered if the previous execution has finished.
Other changes
This release also contains a number of smaller changes:
- Fix: improved error handling in PDF, template, XML and SFTP functions to prevent packages from hanging in certain edge cases.
- Fix:
Array.findIndex()now correctly handlesnullmatches (which previously always returned-1), and returns the index of the actual matched element rather than the first occurrence of its value when the array contains duplicates. - Fix: the comma operator now returns the value of its last expression (e.g.
(a, b, c)evaluates toc). - Fix: clicking a library reference in a stack trace now navigates correctly when two packages share the same name with different casing (e.g.
MyLibandmylib). - Fix: details of errors that occur during package transfer (e.g. validation or network failures) are now correctly shown in the UI.
- Fix: corrected the type of
referenceon closure codes and shop articles, andclosure_codeon requests, in the Xurrent REST API model.
Timeline
The expected deployment dates for this release are:
| Environment | Date |
|---|---|
| Demo | Sunday, April 26th |
| Production (automator-eu) | Thursday, April 30th |
| Production (automator) | Thursday, April 30th |
| Production (other instances) | Tuesday, April 21st |
The deployment of the Production environments will be conducted outside of office hours (Central European Time Zone).