Releases: KevinJump/uSync
v15.1.0 - uSync Fifteen-zero-one
This is the v15.1.0 release of uSync for Umbraco v15.1 - it contains updates for uSync to work with the latest release of Umbraco.
What's new
- ⭐ Groups result boxes . Making it easier to see changes by type on an import
- ⭐ Support Remote Management API calls for uSync methods
- ⭐ Improved styling and layout for imports and change lists
Full Changelog: v15.0.2...v15/15.1-dev
v15.0.2 - Block Values fix.
This is a minor patch update for uSync for Umbraco v15 - it contains fixes for how some properties are serialized inside block list/grid elements.
Changes
- 🐛 : Fix #691 - Some properties are a serialized incorrectly inside blocklist and blockgrid elements
- ➡️ : Merge #686 - Add states to cancellable events (v13 update).
Full Changelog: v15.0.1...v15.0.2
v15.0.1 - Quick release fixes.
What's Changed
- Fix case sensitive folder on linux, means dashboard is blank #683
- Fix unawaited tasks causing bad serialization by @matthewcare in #685
New Contributors
- @matthewcare made their first contribution in #685
Full Changelog: v15.0.0...v15.0.1
v15.0.0 - async all the things! and rip of the band-aid 🩹
This is the main release of uSync for Umbraco v15. It contains a ton of breaking changes and updates, which means we are ready for the future 👨🚀
It also means that any code written to work alongside uSync will need some alterations to work with the v15 one. (but your code probably needed updates to work with Umbraco v14 and v15 anyway).
If v14 was all about the new Web Components based front end, v15 is all about the backend, changes to caches, internal services and all that stuff. it's been described as the closest thing to brain surgery on the cms by the umbraco team.
async all the things.
Where possible everything is now async which is why this release has over 22,000 lines of 'code' changed compared to v14. (I mean i don't think we have that much 'code' but it just means we've touched almost everything this time)
We have done this because well quite frankly its time but also because this is where Umbraco is heading / already at, and v15 is where some of the non-async stuff starts to drop away. So having everything async means we can move to that brave new world, and while on a super-fast SSD local development machine you might not notice, on slow, latency inducing cloud platforms things should be a lot smoother.
There are still little bits of Umbraco that are not async yet, but we have prepared usync for when they are so hopefully the transition for us will be less painful.
breaking bad.
Speaking of pain, moving to async we have broken a lot of stuff, we considered transition and then decided that we are not a development framework, we are a tool so we would take the hit, and while we are doing that, we would also break some more stuff.
We have marked many a thing (175 methods) as obsolete in v15, but even then, there are still a few things you might just have to do - to get things to actually work in uSync v15
So, in no particular order and almost certainly missing things out. If you have any code using uSyncs internals you will need to do the following:
- sync handlers and serializers are now async : you will need to move from the non-async to the async methods (e.g
FindItem
is obsolete and you need to implementFindItemAsync
) - ** dependency checkers and trackers are async:** e.g. moving to
CheckDependencyAsync
- ** service operations are async:** you get the idea,
Import
- still works but - is nowImportAsync
- **all services are now interfaced: ** any references to the uSync services should now be via the interface, also because visual studio moans at us every day the
u
has gone from uSync (e.guSyncService
is now accessed viaISyncService
)
v14.2.0 - The Possimpible
This is a major minor release of uSync for Umbraco v14. it contains a number of changes/improvements and feature refinements.
n.b. - we are skipping right to v14.2 because uSync now requires Umbraco v14.2. So we are (for know alignling the versions).
What's new.
- Less agressive notifications
- Improved packaging
- better migration handling .
Code tidy.
Firstly there are loads of small tweaks and changes, as we use v14 more we are finidng the best way to do certain things, so code updates and migrates to these newer 'best practices' making it all a bit more stable and hopefully usefull - the big highlights for these changes are below:
Less agressive delayed notifications.
During testing between versions we have noticed that when all the notifications are delayed and handled together a single content failure can cause none on the content items to appear on an import - if we split it all back into invidiual imports and notifications then the content that works will show up.
Umbraco v14 is a lot less forgiving of property data than Umbraco v13 which means if you have a single property with invalid data you can't import or see the content page inside umbraco. This wouldn't be a real problem as long as you never corrupt your property data. which again won't be a problem if you don't migrate and certainly will be less of a problem if you don't use the v13 Umbraco StarterKit package as a test source!
the Umbraco v13 package imports content where the property values are setup using grid JSON values inside BlockGrid properties . as an example of v13 vs v14 - this is OK on a v13 site the property doesn't load the data, but you can see the page, and you can fix that single property by updating it and editing it.
In umbraco v14 the invalid property data means the import fails, and if the page is already imported and you break the property data the actual content page will not load at all, and you would need to delete it and recreate the whole page. (we had an issue in the Umbraco Core for this type of failure, it has however being closed for now :( umbraco/Umbraco-CMS#16165 )
Improved packaing.
Its still a big learning curve how to package up things for Umbraco v14, and because uSync is actually then used inside other packages (uSync.Complete) we need to package it up in such a way that you can install it 'normally' via nuget and for development you can also install the npm client package so you can access and re-use all the components and dialogs.
with a lot of hints and help from @mattbrailsford (see https://dev.to/mattbrailsford/deploying-typescript-type-definitions-for-umbraco-v14-packages-5eg4) we know have a deployable npm package which we have been using in the contining development of uSync.Complete.
We have also followed @skttl's example and put the packagemanifest into c# code. ( https://dev.to/skttl/server-side-registering-of-package-manifest-in-umbraco-14-49go ) - the big advantage here is versioning, the version number can now be dynamically pulled from the site assemblies, so when we update the version it all happens automagically, and it doesn't change any files in the repo, so there are less random check ins. (you can see our manifestreader implimentation here : https://github.com/KevinJump/uSync/blob/v14/dev/uSync.Backoffice.Management.Client/uSyncManifestReader.cs)
Better migration handling.
uSync v14 does light touch migration when you give it v13 files, it detects this and will handle some changes from old data types into the new ones. for this version we've fixed an issue with Umbraco.Tags migrations, and we are looking again at others.
Cleaner UI.
We've added some nicer UI around progress, and errors, and details of what is going on, these don't change functionality but do make it all a bit easier to use.
v13 fixes,
- All the fixes in v13.2.4 / 2.5 and 2.6 are incorprated into this release.
Getting uSync
The normal way. is via nuget.
dotnet new add package uSync --version 14.2
v13.2.5 - LuCID/templates.
This is a patch release of uSync for Umbraco v13, it contains some fixes to reported issues.
Fixes
- 🐛 Fix #663 - Some Languages clash when they share an LCID
- ⭐ Allow for "clean" roots so items can deleted from the root of media/content on publish
- 🐛 #656 - Template deletes can sometimes happen out of order and cause templates to be recreated and change id,
Full Changelog: v13.2.4...v13.2.5
v13.2.4 - Patches and 🕸️🪝icon fixes
This is a patch release for uSync for Umbraco v13, it contains patches and updates for known issues.
What's Changed
- Fix #648 - Blueprint templates are not imported if the handler is disabled in the default set but enabled in another set.
- Fix #653 - Check for null 'allowedContentTypes' by @KevinJump in #654
- Fix #649 - Member composition not added to Member type on synching
- Solution re-org (makes it easier to work on multiple versions of the package)
- Fix the webhooks icon on the uSync dashboard.
Full Changelog: v13.2.3...v13.2.4
v14 - Insert AI generated image of a number 14 here.
This is a Major release of uSync for Umbraco v14 and the new Umbraco Backoffice.
Warning
Things have changed! Read all the release notes before running that add package command!,
The latest v14 release of uSync works on Umbraco v14 only. v14 of Umbraco is a complete replacement of the backoffice user interface, alongside significant changes to the API that Umbraco and packages use to communicate between the user interface and the server.
This release comes with a number of known issues with Umbraco v14, and you should check these, alongside our known issues, before you fully commit to using Umbraco v14 and/or uSync v14 on a live production site.
What's New
- New Backoffice UI.
- New Management API
- New shared npm library for other uSync packages
Known Issues
- Check Umbraco's list of v14 issues before you start.
- uSync v14 issues
- uSync.History is not yet part of this package
- See our status page for the status of all the uSync packages.
Installing
uSync can be installed as part of a calorie-controlled diet. and via NuGet for your umbraco projects.
dotnet add package uSync --version 14.0.0
Umbraco v14 Support Lifetime
It is worth noting that Umbraco v14 is a Short-Term Support (STS) release and has a limited support lifetime. Bug fix level support ends in November 2024 and the release is End of Life (EOL) March 2025. v13 of Umbraco has Long Term Support (LTS) until Dec 2025 (security updates until Dec 2026) and we would still consider v13 the sensible choice for any large-scale production-ready site development at this time.
Migrating to Umbraco v14 using uSync
Where possible, we have attempted to make it as seamless as we can to use uSync v13 files on a new uSync v14 site. However, with the number of changes to the Backoffice, alongside several property editors being removed from v14, we strongly recommend that you only migrate sites to Umbraco 14 from Umbraco v13 if you are not using any obsoleted property editors (datatypes) and you are happy with the functionality of your site and the Backoffice on Umbraco v13.
Migrating while you are using obsolete property editors might result in data and content loss, and you can’t then easily know if the issue with your migrated site is related to the new v14 Backoffice / APIs or the property editor changes you will have made.
Converting uSync/v9 to uSync/v14
For uSync v14 we have changed the default folder that uSync files are stored in from the existing uSync/v9 folder to uSync/v14. This reflects the fact that there are some changes between the uSync files on v14 and it is better to have a new clean folder for your setup then continue with the existing v9 files.
Legacy Conversion
If your site contains a uSync/v9 folder uSync will detect this and display a ‘legacy’ tab in the uSync dashboard.
This legacy tab will provide you with some information about the v9 folder and any removed property editors that it finds. It will also give you the opportunity to either ignore the legacy folder or copy it to the uSync/v14 folder where you can use it to seed your new site.
We strongly recommend that this is only performed on a development copy of your site where you have full database backups and are willing to reset the site should the migration not go smoothly.
After copying the v9 folder to uSync/v14, you can import your settings to your new v14 site. If this is successful, you should perform a clean export to get the new uSync/v14 files in the latest format for the site.
Happy uSyncing...
v13.2.3 - Patching up relations
This is a minor patch release for uSync v13 for Umbraco v13 it contains minor fixes to known issues.
What's Changed
- 🐛 Fixed #683 - relations not exporting. by @KevinJump in #639
- 🐛 Fixed #635 - duplicates when same item has multiple delete records.
Full Changelog: v13.2.2...v13.2.3
v13.2.2 - Duplicate handling fix
This is a minor release of uSync for Umbraco v13 it contains a fix to stop the false reporting of duplicates when the usync folder contains renamed elements /
Fixes
#634 & #635 - Duplicate items reported, when there are none
when something is renamed usync saves a 'empty' file over the existing item so that duplicate files don't hang around on deployments. an error creeped in v13.2.0 that didn't take full account of this and sometimes reported the renames as duplicates.
this is now fixed with this patch release.
dotnet add package uSync --version 13.2.2