Skip to content

Releases: SitecoreUnicorn/Unicorn

Support for exclude exception by template ID

13 Nov 08:56
Compare
Choose a tag to compare

There is was previous support for excluding items with a specific template ID, but not for the inverse, excluding items except those with a specific template ID. This will add support for configuration like the following:

<include name="example" database="master" path="/sitecore/content/example">
    <exclude children="true">
        <except templateId="{A87A00B1-E6DB-45AB-8B54-636FEC3B5523}" />
    </exclude>
</include>

Thanks to @BenGGolden for this contribution.

PR here: #419

Publishing Code Updated

23 Oct 10:54
e9028ac
Compare
Choose a tag to compare

Some problems with the publishing code (when using AutoPublish) were identified (see #407) and corrected. Legacy publisher remains in place for people running pre Sitecore 10 (presumably) where the API was broken.

Also fixed a problem that could conflict with SXA Site Cloning (#416)

Removed obsolete reference to [UsedImplicitly] attribute

14 Oct 06:05
Compare
Choose a tag to compare

It was causing trouble when Unicorn was being reflection scanned by SPE/SXA when using the Site Copy functionality.

Updated to AutoPublishing code

31 Jul 09:09
Compare
Choose a tag to compare
Pre-release

The recent updates to Unicorn's AutoPublish functionality is apparently causing problems on some later releases of Sitecore. Look to issue #407 for an in-depth discussion. This release hopes to address everything that was discovered.

The are now only 2 forms of publishing.

  • Legacy Publishing. The tried and true way Unicorn has been publishing your synced items since the beginning of time. Use this if you're on a non-recent Sitecore release. Controlled with setting Unicorn.LegacyPublishing found in Unicorn.AutoPublish.config.

  • The opposite; publishing via the more recent PublishManager API in Sitecore. This will support Publishing Service if you have it installed.

The publishing code now also has a setting to tweak the number of items that will ever be published on a 1-by-1 basis. I recommend setting this to 0 on your local dev environments. Upstream that depends on a lot of things, use your best judgment. The setting is called Unicorn.MaxItemsToQueue and defaults to 1000. If number of synced items in a Sync run is X then if X <= MaxItemsToQueue, they will be processed one by one. Otherwise a database-wide Smart Publish is executed instead.

BranchID deserialization possible again

14 Jun 15:57
e36cef7
Compare
Choose a tag to compare

Long story short, with the release of Sitecore 10, deserializing items that did not already exist in Sitecore and were based on a Branch Template will no longer cause field values - shared field values in particular - to go missing.

The deserialization code from Sitecore 10 was retrofitted into Unicorn and Rainbow and it now works again - universally. Also for Sitecore 9 where the internal deserializer is otherwise broken.

As a result, all exception handling and configuration toggles around the handling of Branch ID have now been removed and Unicorn is back to serializing as was always the case.

Other fixes

  • Fixed a bug in Predicate Presets that could cause an IIS hang/endless loop under certain conditions. b0ae957
  • Fixed a bug in the updated AutoPublish configuration file that incorrectly referenced Sitecore.Kernel instead of the correct Sitecore.Buckets in the configuration patch. 81967fb

Adjustments for Rainbow 2.1.4-pre3

23 May 16:31
Compare
Choose a tag to compare
Pre-release

Just some additional logging.

Minor adjustments for Rainbow 2.1.4-pre2

23 May 12:51
Compare
Choose a tag to compare

Since BranchID handling is now entirely automatic in Rainbow, default configuration no longer includes the ignoreBranchId switch. I've left the constructor in place for compatibility reasons but the switch itself has zero effect from this point forward and will be removed entirely in a later release.

Fix for endless loop with mis-configured predicate preset instantiation

04 May 20:26
Compare
Choose a tag to compare

If a predicate preset included a token which was not defined in the predicate instantiation, an endless loop would be triggered when trying to resolve all tokens in the preset.

e.g.

<preset id="site" database="master">
    <include name="$id.Site.$name" database="$database" path="/sitecore/content/$name" />
</preset>

and then used as

<preset id="site" />

The endless loop would continue trying to resolve $name.

Fixed.

Sitecore 10.1 Support

09 Mar 13:27
Compare
Choose a tag to compare

Sitecore 10.1 introduces a new way for Data Providers to be configured and chained. This required a change in Unicorn.DataProvider.config.

Unfortunately it is either-or. There is no way to create the needed configuration patch in a manner that is compatible with both pre- and post 10.1 versions.

The default Data Provider remains as is. If you are on a Sitecore version prior to 10.1, you don't need to do anything.

For 10.1 and above, the default Unicorn.DataProvider.config must be disabled or removed, and the Unicorn.DataProvider.10.1.config.example but be patched in (remove the .example extension).

Fixed a few configuration/role defaults that got flipped around

20 Dec 14:34
Compare
Choose a tag to compare