Skip to content

v18.2.0 - TimeMachine, load balancing & Publisher browser (v17 forward-port)

Latest

Choose a tag to compare

@KevinJump KevinJump released this 30 Sep 19:32
4dc169e

v18.2.0

Brings v17.5.0 to Umbraco 18. This release adds load-balancing support to
uSync.Publisher, a faster and more useful Publisher browser, and a server
identifier in the backoffice header. It also includes uSync.TimeMachine, a new
timeline of site changes with rollback.

Added

  • TimeMachine: uSync.TimeMachine is new in this release. It records what
    happens to a site as a timeline of events, with a property-level diff for
    each item, and lets you roll any of those changes back. It is off by
    default; turn it on with uSync:TimeMachine:Enabled. Events older than
    uSync:TimeMachine:RetentionDays (default 30) are removed. (#141)
  • Publisher: load-balanced targets are supported. Publish requests carry an
    affinity cookie so a session stays on one node, and a session that loses
    affinity is reported clearly. uSync:Publisher:Settings:AffinityFailFast
    (off by default) stops the publish as soon as that happens.
  • uSync:WorkingFolder:Path sets where uSync keeps its working files, so
    every server in a load-balanced site can share one working folder.
  • Publisher: the content and media browsers now have a list view and show
    whether each item is in sync, out of sync or missing on the other server.
    They page through large folders, sort by name, type or last update, and
    search the current folder. Refreshing the page keeps your place.
  • Server identifier: the backoffice header can show which server you are
    logged into, using that server's name, icon and colour. Clicking it opens a
    popover with the servers you can push to or pull from, their status, and a
    link to the same page on each one.
  • Publisher: servers can be sorted with "Sort servers" on the Publisher node.
    The order is used in the tree and wherever you pick a server.
  • Publisher: a "Server json" button on the dashboard shows the current server
    setup as json, ready to save as usync-servers.json to pre-seed servers on
    a new install.
  • Publisher: servers now tell each other what they support, so a publish can
    adapt to the server at the other end.

Changed

  • Publisher sends sync packs between servers in parts, and a pull shows
    progress while it fetches. PackChunkSize and PackChunkMaxBytes under
    uSync:Publisher:Settings set the part size; the defaults suit most sites.
  • Server-to-server messaging gives up quickly on a server it cannot reach,
    and the server configuration page warns when it cannot connect.
  • Exporter downloads are written to disk rather than built in memory, so very
    large exports can be downloaded.
  • Restore points and snapshots on large sites are exported in pages, so they
    complete when the site is hosted out of process in IIS. (#290)
  • New servers start with a random colour and the server identifier turned on.
    Existing servers keep their current appearance.
  • Updated to uSync 18.1.5 and Jumoo.Processing 18.2.0.

Fixed

  • The temp folder cleanup job runs on every server in a load-balanced site.
  • The Publisher browser and Compare dialog show the right status for every
    item in a folder.
  • Saving a server keeps the server order if the list was re-sorted while its
    settings were open.
  • Saving the Publisher settings no longer resets the default server's
    appearance.
  • uSync.Snapshots labels show text instead of raw keys.
  • Domains, relation types, webhooks, users and user groups show a label in
    Publisher instead of a raw key.
  • The unsaved-changes dialog has clearer choices, and the backoffice text has
    been checked for spelling and grammar.

If you have your own IProcessingOptions implementation, note that
polymorphic processing options are now registered with an explicit
discriminator, matching Jumoo.Processing.