Skip to content

Releases: KevinJump/uSync

8.4.0 - One way, not the other.

06 Jan 11:54
Compare
Choose a tag to compare

This patch release adds support for one way dictionary syncing, including and excluding content and media based on path, and improved performance on Umbraco 8.4+ installations and improvements to how Dependencies are calculated.

Get uSync

uSync is best installed via NuGet, as part of a calorie-controlled installation. you can also download it as a Umbraco package via the Umbraco BackOffice or the our.umbraco.com website.

uSync

Sync DataTypes, DocumentTypes, MediaTypes, Languages, Macros, Templates & MemberTypes

PM> install-package uSync

Content Edition

Add Content, Media, Domains, Dictionary Types and Content Templates

PM> install-package uSync.ContentEdition

more info at https://jumoo.co.uk/uSync

Release Notes

in this release, we've added three much requested features: One Way Dictionary Item syncing, include/exclude paths and create date syncing for content and media.

One Way Dictionary Syncing

Adding a new option to the Dictionary Handler will now cause it to only sync new items (existing dictionary items will be left alone).

<Handler Alias="dictionaryHandler" Enabled="true">
  <Add Key="OneWay" Value="true" />
</Handler>

see https://jumoo.co.uk/usync/docs/v8/contentEdition/dictionaryHandler/ for more details

Include / Exclude based on path.

This was in uSync v4.x so we've ported it over. you can have include / exclude path values for content or media

<Handler Alias="contentHandler" Enabled="true">
    <Add Key="Include" Value="/Homepage,/settings" />
    <Add Key="Exclude" Value="/Homepage/Blog" />
    <Add Key="RulesOnExport" Value="true" />
</Handler>

see https://jumoo.co.uk/usync/docs/v8/contentEdition/contentHandler/ for more details.

CreateDate

The CreateDate value for content and media is now included in the .config files and synced when imported. this change is backwards compatible (as in it will be left if the value isn't in the config) - but you will see much improved syncing speeds if you perform a full export to get the value into all your config files.

Speed

As always we have been working on speed, in this version we've removed a double lookup workaround we had in place for Umbraco issue 2997 with content and media items. the underlying issue has been fixed in Umbraco 8.4.

So now if you are running Umbraco 8.4 or above we will do a single lookup - hitting the DB one less time, making it all a bit quicker.

Updates:

  • 78a0513 Update to how Dependency Checks work
  • 122e3ee New setting for Dictionary Items - allowing you to sync only new items.
  • 9fa9597 serialize the CreateDate for content/media as part of the sync.
  • 40010d9 Remove the double lookup on post-Umbraco 8.4 installations.
  • 31a4ee0 Include/exclude path settings.

⚠️ Version bump

We have gone to v8.4 in this release as we have changed (added to) the .config file format for content and media, this means existing files will still sync but uSync will consider each file to have changed - the recommendation is to do a full content/media export to get the files up to the new format, as this will reduce false positives and increase the speed of all checks.

8.3.1 - Domains r' us

10 Dec 13:14
Compare
Choose a tag to compare

This patch release fixes an issue with domain syncing and improves (and speeds up) content item syncing.

Get uSync

uSync is best installed via NuGet, as part of a calorie-controlled installation. you can also download it as a Umbraco package via the Umbraco BackOffice or the our.umbraco.com website.

uSync

Sync DataTypes, DocumentTypes, MediaTypes, Languages, Macros, Templates & MemberTypes

PM> install-package uSync

Content Edition

Add Content, Media, Domains, Dictionary Types and Content Templates

PM> install-package uSync.ContentEdition

more info at https://jumoo.co.uk/uSync

Release Notes

#content-speedy
The fix for null/blank values #70 will reduce the number of false positives on content changes, the initial change check is done against the XML files and if there are no changes, then there is no subsequent setting of values, this makes that much quicker.

The commit 1fb0eaf introduces a simple caching of path lookups when building content XML we do a lot of path lookups, so this makes that quicker and fewer round trips to the DB.

Fixes

#69 - Fix domain configs being written out multiple time
#70 - ensure that blank and null properties are treated the same when coming from a manual export or a content save.

Updates

1fb0eaf - introduces some basic caching of path lookups in the content serializers so we hit the database-less when working out the paths.
#71 - Improve the detail tracking to remove false positives when comparing the JSON of grid values.
0648d4d - improve the tracking of the media file changes (via the hash)
6d3d440 - improve the change detail tracking dialog.

Breaking Change

c2a6049 - Updates the RebuildOn Completion setting will now only fire on sites below Umbraco v8.4.0 - We don't think this setting is needed post v8.3 and there is a breaking change in v8.4 that means its not worth us keeping it on, and breaking the backwards compatability of this version of uSync.

8.3.0 - Language Rename support (Umbraco 8.3.x)

12 Nov 11:07
Compare
Choose a tag to compare

This release introduces support for Umbraco 8.3.0's language change functionality. (see Umbraco Blog)

n.b this release will still work on Umbraco 8.1/8.2

Details

When you change the language in Umbraco, uSync will clean up the language files on disk, and trigger an export of content (as the language codes have all changed) this can take a while but is preceded by Umbraco warning you that changing the language is a costly operation. This export is only triggered when the language iso code changes.

Fixes

#64 - fix when Datatype's Database type to be changed
#65 - Add support for renaming languages

Installation

via NuGet

Install-Package uSync -Version 8.3.0

or download from our.umbraco.com
https://our.umbraco.com/packages/developer-tools/usync/

8.2.4 - Stop, Look and path fix.

21 Oct 09:27
Compare
Choose a tag to compare

Patch release for uSync, compatible with uSync v8.0 through to 8.2 release

  • return of the uSync.once and uSync.Stop files #63

  • Improved change reporting #59

  • A better finding of custom views in GridValue Mapper #58

  • fix for media paths when Umbraco is installed in a subfolder #62

also

  • fix for null values in RTE causing mapping issues in dependency checker (uSync.Complete issue)
  • minor style tweaks on the reporting page (the icons are now Umbraco blue!)

8.2.3 - Startup Content issues fix - context is king

30 Sep 09:51
Compare
Choose a tag to compare

This release fixes issues people have been having importing content during Umbraco startup.

With ImportAtStartup set to true, uSync will attempt an import as it starts as part of the Umbraco startup process, issues with how content saves and publishes are handled when there is no UmbracoContext cause issues with this process. this release has some fixes and workarounds to fix these issues.

PR #56 - Addresses this by :

  • Adding an EnsureContext wrapper around the uSync startup processes (0352af0)
  • Putting in some checks so we don't completely fail if the notification service throws an exception

The second of these issues has a corresponding issue in the UmbracoCms project. (umbraco/Umbraco-CMS#6464) - after content is saved a notification process hooks into the events in an attempt to send notifications, this, however, throws an exception because Umbraco does not yet know the URL of the application. Ideally, this error shouldn't stop the save process but it does at the moment, so uSync ignores that specific exception - we have tested this and don't think it has any side effects.

8.2.2 Cache n' fix Release

27 Sep 10:43
Compare
Choose a tag to compare

There have been a number of reports of a corrupt cache message after a uSync import #18. While we don't have a root cause for this, or even if its something uSync is doing or if its deeper in the Umbraco core; we have a couple of mitigations in this release to hopefully negate the issue.

#51 Cache Rebuild - When an import is complete uSync will request a cache rebuild, this should remove any corruptions that might occur.
#49 / #54 Reduce the number of saves a handler makes - during our investigations we discovered internal cache rebuilds can get triggered even if nothing is changed, as such we have brought forward the change checks into uSync so it calls less save methods on items that haven't changed,

We also have a number of tidy up fixes/improvements :

#50 - fix false change positive when content has empty values
#46 - fix attempt to remove containers when they are not empty.
#52 - fix issue wherein certain configs two items with the same name can overwrite files

#48 - Culture-based publishing (publish nodes based on culture)
#47 - Improve the handling of trashed items.
#53 - Improve content handlers change detection (description field)
#55 - Improve the reporting of new property values in the details view

8.2.1 - 'Things we forgot to port' release

24 Sep 09:01
Compare
Choose a tag to compare

Patch release - consisting mainly of things we didn't port across from the v4 release of uSync, but its since turned out people would like 😃 with extra fixes by @JoseMarcenaro

Updates:

#42 Web.Config override: put some settings in the web.config to override the usync8.config file
#41 Bulk Events: events that fire before and after uSync runs.
#18 Updates to Bulk Save mode: To reduce restart potential with ModelsBuilder in PureLive (not a complete fix)

Fix:

#35 uSync shows angular: if you override the default JSON casing behaviour in your site, some usync dashboard things fail.
#44 Fix Structure items order by Alias - broken when Export On Save - @JoseMarcenaro
#43 Fix version description when no add-ons present - @JoseMarcenaro

Known Issues :

You still may encounter site restarts and incomplete behaviour if you are running Models Builder in PureLive modes and a sync contains too many changes (see #18 for discussion on this).

Eight-Two - Major Minor - Complete Release

16 Sep 11:51
Compare
Choose a tag to compare

uSync now keeps its primary version number in sync with the Umbraco version, this is a major-minor release with some breaking changes.

uSync 8.2 introduces several new features that let us do clever things in the uSync.Complete packages, as well as making uSync more robust.

uSync

  • Dependency checking, implementing the new ISyncDependency interface lets us work out what elements are required to import/export a setting or piece of content
  • Single Item Import/Export - Exposing some of the more internal import/export methods means anything can manipulate the XElements that come in and out while still benefiting from the uSync backoffice settings.
  • Improved change tracking - better tracking of the changes in items, so the messages make more sense.
  • Handler Type Groups - let the user import/export by type e.g settings or content.
  • Handler Groups - allow us to have different collections of handlers for different things.

Content Edition

  • Value Mappers - the new uSync8.Community.Contrib project contains mappers for things like doctypegrideditor, and more so we can support new property editors as they are released.

There are lots of little tweaks and fixes in this release, including:

  • Language Key Consistency - the guid value isn't always consistent so we have removed it from the file
  • Media File Hash - we now include a hash of the physical file in the media.config to improve change detection
  • Macro key handling - macro keys are not always the same, we have added better detection for this
  • multiple template fix - content can have multiple templates, we weren't always storing this.

breaking changes

  • Custom Handlers now need to implement ISyncExtendedHandler if they want to ensure that they always get called during import/exports.
  • Value Mappers ISyncMapper has changed this now includes extra items that need to be implemented in a valuemapper.

Eight One One - One Language only please

26 Jul 09:12
Compare
Choose a tag to compare

Patch release to fix an issue where uSync can delete the wrong language when parent language code is present.

Fixes #33 - issues where deleting language "en-US" results in "en" being deleted instead.

this patch works around an UmbracoCMS issue (umbraco/Umbraco-CMS#5959) - and ensures we only ever do things to the exact language we where looking for.

Also contains*

#32 Typo Fix in ContentEdition nuget package
87abf3b - Don't delete files from DomainFolder on full delete

*these fixes have little to no impact on operation of uSync

uSync 8.1.0

09 Jul 09:56
Compare
Choose a tag to compare

uSync Umbraco 8.1 Compatability Release

We were quite lucky - uSync missed most of the breaking changes with Umbraco 8.1 - so in theory version, 8.0.1 will still be fine with the Latest Umbraco release - but with 8.1 some of the UI doesn't line up and we had some goodies we been waiting to package together.

Fixes

  • Language Guid Consistency - The Key for a language item doesn't stay the same between restarts, so we have replaced it with a pseudo-Guid of the language code - just makes for cleaner compares. (42eb12b)

Updates

New: Config Serialization :

Allows you to get some say on what happens when a datatypes properties are serialized in and out of an usync file. - this will be needed if we want to map ids at this point (mostly we don't because everything is GUIDS). and as a proof of concept, we have a MediaPicker Config Serializer (https://github.com/KevinJump/uSync8/blob/master/uSync8.Community.DataTypeSerializers/Examples/MediaPickerConfigSerializer.cs) that blanks the start node on import.

this will be getting more work over the next few releases, we will add mapping helper methods so its easier to maintain ids etc - but this gets the process started.