Skip to content

chore: Bump uSync from 18.0.3 to 18.1.2 - #28

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/nuget/uSync-18.1.2
Open

chore: Bump uSync from 18.0.3 to 18.1.2#28
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/nuget/uSync-18.1.2

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 1, 2026

Copy link
Copy Markdown
Contributor

Updated uSync from 18.0.3 to 18.1.2.

Release notes

Sourced from uSync's releases.

18.1.2

What's Changed

Full Changelog: KevinJump/uSync@v18.1.1...v18.1.2

18.1.1

Fixes

  • Import: fixed a property that's been moved out of all groups (an empty tab, no matching <Tabs> entry) not actually persisting that move on import — it took a second import to stick. (#​1043)
  • Reliability: save failures rejected by Umbraco (e.g. an invalid ISO code, a rejected content/media/template save) were previously discarded silently, so a failed import step could still get reported as a success. These now surface as proper import failures across Language, DictionaryItem, Webhook, ContentType/MediaType/MemberType, DataType, Domain, Template, Media, and Content serializers. (#​1040, #​1042)
  • Blueprints: fixed bulk-imported content blueprints being saved through the wrong path, which silently corrupted their object type and caused duplicate-key errors on the next import. Blueprints saved during the second-pass bulk import now go through SaveBlueprint like a normal single-item save. (#​1035)

Other

  • Dependency bumps (chalk, vite-plugin-dts, and a few NuGet/npm dependency-group updates).
  • CI/CD: nightly builds are now automatically published to the Azure Artifacts nightly feed on every push to this branch.

18.1.0

This is a minor update to uSync for Umbraco 18 — an opt-in import performance cache, a double-export fix for save-and-publish, several allocation/perf improvements ported from v17, and a move to the Jumoo.Json package for JSON handling.

uSync 18.1.0

Added

  • Opt-in import state cache — uSync:Settings:CacheImportState (default false). uSync normally decides whether an item has changed by loading it, serializing it, and hashing it — every item, every run. With this on, uSync remembers the hash of items it has already confirmed match, so unchanged items are skipped without a database lookup or re-serialize on the next run. The first run after enabling it is no faster than before; the benefit lands on the second run. Read docs/perf/state-cache.md before enabling it, especially the limitations section. (#​1016)
  • Extender API: the cancelable per-item notifications gain an optional Message (used instead of uSync's generic cancel message) and, on the import/report ones, Force, so a subscriber can stand down when the user has asked for a forced import.

Fixed

  • Content and Library items are no longer exported twice by one editor action. Umbraco 18.1 raises the saved notification for a save-and-publish as well as the published one (umbraco/Umbraco-CMS#​23523); uSync now shares a record of exported items across the notifications for one operation, so each item is exported once. (#​1018)
  • HandlerSettings.Clone() no longer drops CreateClean and FullFileOnDifference — handlers that set either value in their own block are now honoured.
  • Property values containing a quote, backslash or control character are now converted to valid JSON (previously produced invalid JSON in the string fallback). Inherited with the move to Jumoo.Json.
  • Restored backoffice guard and content paging fixes that were dropped in the v17 → v18 merge. (#​1012)

Performance

  • Ported the v17 allocation work: fewer redundant dictionary lookups on hot paths, and internal/private classes are now sealed so the JIT can devirtualize their calls. No behavioural changes. (#​1019, #​1020)

    Extender API: SyncHandlerRoot.SyncChangeInfo is now sealed (still protected, so handlers can still construct/return one from IsItemCurrentAsync, just not derive from it).

  • Handler settings now inherit from HandlerDefaults. A handler's own settings block is layered over the set's defaults instead of replacing them wholesale, so it only needs to specify what it wants to change. (#​1001)

    Breaking: a handler block that previously reset settings back to built-in defaults will now inherit the set's HandlerDefaults instead. Review any set mixing HandlerDefaults with per-handler blocks.

  • JSON helpers now come from the Jumoo.Json package, replacing uSync's own copy which had drifted behind it. uSync.Core.Extensions.JsonTextExtensions still works but is [Obsolete] (removed in v20) — switch to using Jumoo.Json;. Note TryGetPropertyAsObjectTryGetPropertyAsJsonObject, GetPropertyAsObjectGetPropertyAsJsonObject, and missing/null values now return null instead of string.Empty. (#​1014, #​1015)
  • Removed three O(n²) lookups from import (duplicate-key/"keys to keep" checks now use set lookups; second-pass content/media imports index the action list once instead of scanning it per item). (#​1017)

    Actions updated by a second pass are now updated in place, keeping their original position in the results list, rather than being moved to the end. Only display/reporting order is affected.
    Extender API: List<uSyncAction>.CreateActionIndex() and a matching UpdateActions(index, key, handlerAlias, attempt) overload are new.

  • Serializing, comparing and expanding large property values allocates far less, some previously on the large object heap. Inherited with the move to Jumoo.Json.

Extender API

  • ISyncManagementService gains UnpackStreamAsync(Stream); the synchronous UnpackStream(Stream) is now obsolete (removed in v19). (#​1005)

Cleanup

  • Cleared the remaining build warnings left over from the Umbraco 18 upgrade: replaced ITemplate.MasterTemplateAlias with LayoutTemplateAlias, and inlined the legacy {localLink:x} parsing Umbraco is removing in v18. No behavioural changes. (#​1002, #​1003, #​1004)

Full Changelog: KevinJump/uSync@v18.0.3...v18.1.0

Commits viewable in compare view.

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

---
updated-dependencies:
- dependency-name: uSync
  dependency-version: 18.1.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added .NET Pull requests that update .NET code dependencies Pull requests that update a dependency file labels Sep 1, 2026
@dependabot
dependabot Bot requested a review from avilmur-md as a code owner September 1, 2026 00:03
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file .NET Pull requests that update .NET code labels Sep 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file .NET Pull requests that update .NET code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants