Repository navigation
v19.0.0-beta01
Pre-releaseThis is the first beta of uSync for Umbraco v19. It's built against Umbraco 19.0.0-beta1 on .NET 11.
Warning
This is a beta for testing against the Umbraco 19 betas. Don't run it on a production site.
Changes
uSync has its own Synchronisation section
uSync now opens in its own Synchronisation section instead of the Settings tree.
- On first boot, uSync gives the new section to the Administrators group. Other groups don't get it automatically, so add it to any group that needs uSync (Users > User groups > Sections).
- Users who don't have the section but do have Settings still see uSync in the Settings tree.
- To go back to the old layout, set
uSync:Settings:MoveToSectiontofalse. - The uSync API now uses the same check. A user needs the Settings or Synchronisation section to call it. Before, any user with the Content section could call it. (#1156)
Migrating old editors as you copy a legacy folder
When uSync finds a folder from an earlier version (e.g. uSync/v18), the Migrate tab lets you copy it into uSync/v19:
Umbraco 19 replaces some editors, and the copy can now migrate them. The dialog lists the migrations that apply to your files and how many data types each one changes. You choose which ones run:
- Multi Node Tree Pickers move to the Document, Media or Member picker that matches the tree they pick from. Start node, dynamic root, allowed types and min/max items carry over, and stored media values are converted to the media picker format.
- Single media pickers (a Media Picker that doesn't allow multiple items) move to the new Single Media Picker.
- Single dropdowns move to the new Single Dropdown.
The migrations rewrite the files as they're copied, so the import that follows is a normal import. The editor changes, so templates and models will see a different model type. Values inside blocks and rich text aren't converted yet. (#1155)
Importing pre-v19 data type config
Importing data types from older files (without the Migrate tab) now follows Umbraco 19's own migration. The config is updated and, where the config calls for it, the data type moves onto the new editor (e.g. a Media Picker with multiple: false becomes a Single Media Picker). The new v19 picker editors also have their own value and dependency mappers.
Other changes
- Imports run as the user who started them, or the background user. Content is saved and published as the writer in the file, or the importing user, rather than always the super user.
- Segment values sync as overrides of their culture. Duplicate block expose entries in old segment-era values are cleaned up on import.
- A content schedule's invariant-for-variant flag is now exported and imported.
- Library elements used in blocks are tracked as dependencies.
- Blueprints are exported again when they or their folder are moved. Importing a blueprint for a content type that can't have blueprints now fails with a clear message.
- Publish failure messages name the properties that failed validation.
- SignalR and the uSync API accept Umbraco 19's cookie-based backoffice login.
@jumoo/usync(the client types other packages build against) is now published to npmjs.org. v19 prereleases use thenext-19tag. (#1143)
Breaking
- Members marked obsolete for removal in v18 or v19 have been removed. If your code builds on uSync's services, handlers, mappers or serializers, check the changelog for the full list and their replacements. Members marked for v20 are still there. (#1161)
Known issues
- uSync still uses
Constants.Security.SuperUserId, which Umbraco 19 marks obsolete. It works on 19.0.0-beta1 and will be updated in a later release. (#1162)
What's Changed
- Publish @jumoo/usync to npmjs.org with trusted publishing by @KevinJump in #1143
- Merge v17/main into v18/main (2026-10-26) by @KevinJump in #1146
- Show 18.x as the dashboard version fallback on v18 by @henryjump in #1148
- Migrate deprecated editors in the legacy flow by @KevinJump in #1155
- Show uSync in its own section by default by @KevinJump in #1156
- Label PRs with their expected release by @KevinJump in #1158
- Remove members marked obsolete for v18 and v19 by @KevinJump in #1161
Full Changelog: v18.2.0...v19.0.0-beta01


