Skip to content

chore: Bump uSync from 18.0.3 to 18.1.1 - #25

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/nuget/uSync-18.1.1
Closed

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

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 18, 2026

Copy link
Copy Markdown
Contributor

Updated uSync from 18.0.3 to 18.1.1.

Release notes

Sourced from uSync's releases.

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.1
  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 Aug 18, 2026
@dependabot
dependabot Bot requested a review from avilmur-md as a code owner August 18, 2026 00:03
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file .NET Pull requests that update .NET code labels Aug 18, 2026
@dependabot @github

dependabot Bot commented on behalf of github Sep 1, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #28.

@dependabot dependabot Bot closed this Sep 1, 2026
@dependabot
dependabot Bot deleted the dependabot/nuget/uSync-18.1.1 branch September 1, 2026 00:03
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