Release notes v17.6.0

Release Details

v17.6.0-rc1 - Publisher approvals

v17.6.0-rc1

This is a release candidate for 17.6.0. It is published to NuGet as a prerelease, so you need to include prereleases to install it.

The main addition in 17.6.0 is approvals for Publisher: a server can require someone to approve a push or pull before it changes anything. There is also a new API for starting a push, pull or export in a single call.

Added

  • Publisher: approvals. A server can require approval for content pushes and pulls. The push or pull stops once the report is ready, and waits until someone in the server's approver groups approves or declines it. Settings pushes and pulls are not affected.
  • Publisher: when a request is approved, the push or pull is sent again and the target re-checked before anything is applied. If the target changed since the request was made, the result shows what is different.
  • Publisher: a new Approvals dashboard in the Content section lists the requests waiting for you, the requests you have made, and their history. It only appears once approvals are in use.
  • Publisher: approvers get an email when a request needs them, and requesters when theirs is approved, declined, expires or fails. This needs SMTP set up in Umbraco.
  • A single-call API to start a push, pull or export in the background: POST Publisher/Start and POST Exporter/Start, with GET Exporter/Download/{id} to download a finished export.

Setting up approvals

Approvals are set per server, on the server's Permissions view in the Publisher settings:

  • Require approval: turns approvals on for pushes and pulls with this server. Off by default, so existing servers behave exactly as before.
  • Approvers: the user groups that can approve or decline requests. Admins can always approve. Nobody can approve their own request unless they are an admin.
  • Expires after (days): how long a request waits for a decision. The default is 7; 0 means requests never expire.

When someone pushes or pulls with that server, they see the report as usual and choose Request approval, with an optional note for the approver.

Customising the emails

Each email comes from a built-in template. To change one, put a file with the same name in ~/uSync/emails/ in your site's content root: approval-requested.html, approval-approved.html, approval-declined.html, approval-expired.html or approval-failed.html. The file's <title> becomes the email subject, and a comment at the top of each built-in template lists the placeholders you can use.

To send these notifications somewhere other than email, handle PublisherApprovalRequestedNotification, PublisherApprovalDecidedNotification and PublisherApprovalFinishedNotification.

Changed

  • Publisher: the push and pull buttons only appear for user groups whose default permissions allow a push or pull.
  • Publisher: the first step of a push or pull now says it is finding items, and how many it found.

Fixed

  • Publisher: in Safari 26.4 the push dialog no longer collapses to nothing, which left the backoffice looking locked up.
  • Publisher: the progress bar updates during a push or pull again, including the "Uploading to server" and "Packing items" messages.
  • Publisher: items that fail to import are now listed in the push or pull result.
  • Publisher: in the content browser, the focus ring on a card no longer covers the Compare button.
  • TimeMachine: the timeline refreshes when you come back to it.
  • Exporter: asking for an export that doesn't exist, or with an invalid request, now returns Not Found or Bad Request instead of a server error.
  • Publisher: spelling and pluralisation fixes in result messages.

Requirements

  • Jumoo.Processing 17.5.0-rc2 (installed automatically).