Ucommerce for Sitefinity
Release Notes

Ucommerce 9.4.2.21145

May 26, 2021

New

  • Support for Sitefinity 13.3
  • 'Ucommerce.Api.CatalogLibrary' methods that return multiple items now default to returning 64 items instead of 300.

Bug Fixes

  • No longer add unnecessary <httpModules> and <httpHandlers> entries to web.config upon installation, which would result in an "HTTP Error 500.23" when deploying to Sitefinity Cloud.

  • Updated the debug pipelines that were using the "ScratchIndexer" component to use the "DefaultScratchIndexer" component.
  • Deleted selection options (enum) values will no longer be displayed in the UI.
  • ObjectDisposedException when using Elasticsearch clusters. Introduced a new way of configuring our Elasticsearch search provider (see this article).
  • Selecting the "Default" domain in the Stores app would result in failing to resolve the ProductCatalogGroup resulting in a NotSupportedException.
  • Indexing and searching in user-defined fields with the value `null` now works as expected.
  • Not Found exception when a present MVC or Web API controller would have a naming clash with an existing Ucommerce API Controller by prefixing them with "Ucommerce". Freeing up names such as "ProductController" or "CategoryController".
  • The "ProductCatalogGroup" property was not mapped to the ProductCatalog search model, breaking URL generation for multiple product catalogs.
  • Translated values for products are now correctly displayed for non-admin users.
  • Product properties marked as "Variant property" were being displayed on the parent product editor in the Products App.
  • 'Ucommerce.Api.CatalogLibrary.GetCategories' ignored the skip and take parameters, always returning all results without pagination.
  • 'Ucommerce.Api.CatalogLibrary.GetProducts' when called with a categoryId ignored the skip and take parameters, always returning all results without pagination.
  • 'Ucommerce.Api.CatalogLibrary.GetProducts' when called with a list of productIds ignored the skip and take parameters, always returning all results without pagination.
  • Lucene search APIs now return 64 documents by default instead of 100.
  • Performance drastically improved on checkout operations while using Marketing rules.
  • Added support for non-Latin characters in the product titles and the slugs associated with them.
  • Variants will no longer be indexed, when the ParentProduct's DisplayOnSite is set to false, and when the ParentProduct's DisplayOnSite is set to true, only variants whose DisplayOnSite is also set to true will be indexed.
  • Fixed indexing and de-indexing of relationships. Eg. Removing the relationship between a ProductCatalog and a ProductCatalogGroup, if the ProductCatalog has been deleted.
  • GetRateForAllCurrencyExchangeRatesTask no longer floods the log files with null reference when a currency code is missing.
  • Changing the language when editing a product variant now correctly updates the value of multilingual product variant fields.
  • Creating a store or catalog as a non-administrator user will now correctly grant permissions to the newly created entity.
  • Trying to access the Lucene indexes (e.g. via creating an order) before the index files have been created (by indexing from scratch) no longer results in a "no segments* file found" error.

Ucommerce 9.4.1.21068

March 9, 2021

Bug Fixes

FIX: Pricegroups not indexing to Lucene or Elasticsearch when saved, edited or removed.
FIX: Inherited definition fields were ignored when editing stores in the Stores App.
FIX: Search results in the Products app is now correctly filtered by catalog permissions.

 

Ucommerce 9.4.0.21057

February 26, 2021

Breaking Changes

  • Type parameter now constrained to a reference type for the 'Ucommerce.Search.IIndex<T>.IRawSearch<TProjection> FindRaw<TProjection>()' method.
  • When using the Lucene search provider, empty facets with 0 hits will be returned.
  • Removed obsoleted method 'Ucommerce.Api.ITransactionLibrary.RequestPayments' and 'Ucommerce.Api.TransactionLibrary.RequestPayments', use 'Ucommerce.Api.TransactionLibrary.GetPaymentPageUrl(Payment payment)' and do a redirect manually with the return value.
  • Removed obsoleted 'Ucommerce.Catalog.IPricingService' and 'Ucommerce.Catalog.PricingService', use 'Ucommerce.Catalog.IProductPriceCalculationService' and 'Ucommerce.Catalog.Impl.ProductPriceCalculationService' or read it from the Bolt product index.
  • Removed obsoleted method 'Ucommerce.EntitiesV2.PurchaseOrder.AddProduct', use 'Ucommerce.Api.TransactionLibrary.AddToBasket' or AddToBasket pipeline.
  • Removed obsoleted method 'Ucommerce.EntitiesV2.PurchaseOrder.CreateShipment', use the CreateShipment pipeline instead.
  • Removed obsoleted method 'Ucommerce.EntitiesV2.PurchaseOrder.RemoveShipment', use the RemoveShipment pipeline instead.
  • Removed obsoleted method 'Ucommerce.Transactions.Payments.AbstractPageBuilder.GetCallbackUrl', use 'Ucommerce.Web.ICallbackUrl' interface instead.
  • Removed obsoleted method 'Ucommerce.Transactions.Payments.AbstractPageBuilder.GetAbsoluteUrl', use 'Ucommerce.Web.IAbsoluteUrlService' interface instead.
  • Removed obsoleted method 'Ucommerce.Transactions.Payments.ExternalPaymentMethodService.GetParameter(string parameterName, string exceptionMessage, params string[] list)', use 'Ucommerce.Transactions.Payments.ExternalPaymentMethodService.GetParameter(string parameterName, string exceptionMessage)' instead.
  • Removed obsoleted method 'Ucommerce.Infrastructure.Globalization.Globalization.CultureCode', use instance property CurrentCultureCode instead.
  • Bolt: Removed specific price facet syntax (IIndexDefinition.PricesField() and IRawSearch.PriceGroup() methods) from index definitions and replace with generalized auto range facet syntax. For more info, visit https://docs.ucommerce.net/ucommerce/v9.4/search-and-indexing/index-definitions.html

New

  • Support for Sitefinity 13.2.
  • Bolt: Any number of price-fields (Dictionary<string, decimal> type) can be range faceted.
  • Bolt: Any number of numeric fields can be range faceted.
  • Bolt: New syntax for automatic range facets.
  • It is now possible to configure SQL read batch size for each indexer by overriding the following Castle Windsor properties: "productFetcherBatchSize", "categoryFetcherBatchSize", "productCatalogFetcherBatchSize", "productCatalogGroupFetcherBatchSize", "priceGroupFetcherBatchSize". The default has not changed from 3000.
  • The Rich Text editor now supports creating and editing links, creating and editing tables, editing HTML source, and full-screen mode.
  • Search APIs now return 64 documents by default instead of 300.
  • Creating a store with the name of a deleted store will now resurrect it.
  • The DeleteProductCatalogGroup pipeline no longer soft-deletes underlying catalogs.
  • ICreateStore argument now accepts an optional hostname parameter.
  • Store and language selectors are moved to the top, so they are always accessible.
  • Language selection is persisted across the solution.
  • It is now possible to search within the language selector.
  • It is now possible to search within the store selector.
  • Search is now available in the products app as an alternative mode of navigation and can be toggled on top of the page.
  • New and redesigned Stores app with search capabilities and lazy-loading making it lightning fast when working with many stores.
  • It is now possible to reorder nodes in the content editor/picker and image picker with drag and drop.
  • IndexDefinition syntax has been updated please visit https://docs.ucommerce.net/ucommerce/v9.3/search-and-indexing/index-definitions.html
  • Legacy Catalog manager app module page replaced with new Stores, Catalogs and Products apps.
  • It is now possible to set per-culture display names for fields in the IndexDefinition using the .DisplayName(string cultureCode, string displayName) extension method. For more information on usage and examples visit https://docs.ucommerce.net/ucommerce/v9.3/search-and-indexing/index-definitions.html
  • Braintree payment integration has been upgraded to v5.2.0 to enable 3DS2 - legacy "Transparent Redirect" integration replaced with "Drop-in UI".

Bug Fixes

  • When editing a product variant, if no primary or thumbnail image were selected, the loading indicator would keep spinning.
  • Using CatalogContext.TryUpdateToMatchNewPriceGroup would remove products that have a price in the new Price Group.
  • Using CatalogContext.CurrentPriceGroup would throw an error if the PriceGroupCookie was already present.
  • Querying for products with null values is now more streamlined.
  • Having duplicate entries in the database tables Ucommerce_Role and Ucommerce_UserGroupPermission would break the back-office.
  • Campaign item UI no longer throws null reference exception after changing the user language.
  • The number of facets was capped at 100.
  • The CMS UI language is no longer used as the default content language - instead it now defaults to the first available content language.

Note

  • Obsolete Ucommerce.Catalog.IUrlService, use 'Ucommerce.Search.Slugs.IUrlService' instead.
  • Obsolete Ucommerce.Catalog.UrlService, use 'Ucommerce.Search.Slugs.UrlService' instead.
  • "Order Manager" and "Marketing Manager" module pages renamed to "Orders" and "Promotions".
  • Permissions: One user can have maximum 2100 unique stores permissions assigned.

Known Issues

  • Publishing website to an IIS folder doesn't publish Ucommerce DLLs.
  • Search providers: Changes to entities are not reflected in their parent entities until scratch indexer is run. For example: Newly created product is not automatically added to it's category index, run scratch indexer in order to update the data.

 

 

Ucommerce 9.3.1.20275

October 1, 2020

New

  • Ucommerce widgets for Sitefinity updated to Ucommerce 9.3.1

Bug Fixes

  • Image picker throws 500 when new product is created without primary image.

 

 

Ucommerce 9.3.0.20261

September 22, 2020

Breaking Changes

  • Drop support for Sitefinity 11. Ucommerce.Sitefinity now targets .NET 4.7.2 as does Sitefinity 12.0+.

New

  • New content picker component in the back office.
  • Image picker for KONDO can now select folders as well as any other media type offered by the CMS.
  • Support for Sitefinity 13.1.
  • Sitefinity Cloud support.
  • The new content pickers return guids instead of ints. In case of existing Ucommerce ids stored in the cms, it's now possible to search for products, categories, catalogs, pricegroups and catalog groups by legacy integer id using Bolt. To search for an item by legacy integer Id, use this form: index.Find().Where(p => p["Id"] == 42).Single(). You will need to rebuild your indexes first.

Bug Fixes

  • Selected catalogs not being displayed in the "Selected items" list in a catalog picker.
  • Orphaned products would not show up in search results in the new UIs.
  • When querying using our Lucene provider, OrderBy methods will now ignore boost values when called.
  • Missing user and user group permissions for creating and deleting stores.
  • InvalidOperationException when initializing Ucommerce on some cloud environments.
  • Image not found icon not displayed properly.
  • Languages in language selector are now sorted alphabetically.
  • Clearing a price on a product would change the price to 0.
  • Dropdown selectors would break if the selected value had been removed.
  • ArgumentException getting product prices, when there is no logged in member.
  • Image picker crashes when selected image is permanently removed.
  • Image picker no longer lists images located in recycle bin.



Ucommerce 9.2.0.20195

July 15, 2020

New

  • Support for Sitefinity 13 via NuGet.
  • Support for Sitefinity 13 via Project Manager (requires manual step, please refer to installation instructions).
  • It is now possible to manage relations on a product or variant in the updated product/variant editors.
  • In the updated user interfaces, the selected store will now persist when switching between Ucommerce apps and when the browser is closed.

Bug Fixes

  • No longer display the "Variants" section on products that are not product families.
  • NullReferenceException occurred in TaxService.CalculateTax when no fees were set up for a payment provider.
  • Compatible versions of all payment providers are now included in the Ucommerce packages.
  • Enum multi values used in facets are now correctly stored and queried in the index.
  • Products with empty facet values missing from the index and would not be displayed in the storefront.
  • Price section not showing up on all product types.
  • Renaming a product no longer visually renames the category it resides in.
  • Renaming a catalog with a name that already exists properly prompts the user with an error.
  • Renaming a catalog/category/product that results in an error no longer prevents the user from trying to submit again.
  • Moving a category to a new parent (category or catalog) would not update the Lucene index until a re-index.

 

Ucommerce 9.1.0.20154

June 3, 2020

General

  • Important: Upgrading to a major version requires a new Ucommerce license.

Breaking Changes

  • Ucommerce.Money and Ucommerce.Api.Money consolidated into Ucommerce.Money, which now takes a string for ISO code instead of a Currency object.
  • Ucommerce.Search.Extensions.CollectionExtensions is now Ucommerce.Extensions.CollectionExtensions.

New

  • Support for previously supported versions of Sitefinity 11 and 12.
  • It is now possible to add products to a category in the updated category editor.
  • It is now possible to edit product and variant pricing in their respective updated editors.
  • Added loading indication for "Rename", "Change SKU" and "Change definition" dialogs.
  • Store and language selectors are now always displayed, regardless of the number of options available.
  • When trying to query an empty index, a helpful error message is now shown.

Bug Fixes

  • Adjusted size of submit button for "Rename", "Change SKU" and "Change definition" dialogs.
  • Renamed "sku" to SKU in "Change SKU" dialog.
  • Dropdown rows are clickable across the entire width of the list.
  • Variant list now keeps its state without the need of reloading.
  • Enum Multi Select editor now remains open after toggling an option, making it easier to toggle many items at once.
  • Rich Text values no longer overflow product/variant list rows if the value is too long to be contained within the cell.
  • Ucommerce.Search.Slugs.UrlService now generates the correct URL for two identical, consecutive slugs.
  • Maximum length validation error when working with imported products, categories and catalogs.
  • Product, Category and Catalog properties not saving while there are other validation errors displayed.
  • Product list and editor would break if a definition was inherited from, but not used as a definition on a product.
  • When adding a product to the basket, in some locales, the price got multiplied with 10000
  • Users who had their personal language set to a language not in the list of site languages were not able to add an order through the Ucommerce Back Office.
  • Licenses failed to activate for V9 installations
  • Enum fields could not be saved when the definition was inherited
  • Multi-language product properties could not be saved in other languages than the default language (en-US)

 

Ucommerce 8.4.1.19353

December 20, 2019

Bug Fixes

  • Support Sitefinity version 12.2 by turning off integrated pipeline validation in web.config

 

Ucommerce 8.4.0.19345

December 12, 2019

 

Breaking Changes
  • ISecurityService extended with additional method: 'bool UserCanAccess(guid)'.
  • Language Roles are now globally defined instead of store specific.
  • Price Group Roles are now globally defined instead of store specific.
New
  • Updated Castle.Core version from v4.2.1 to v4.4.0.
  • Updated Castle.Windsor version from v4.1.0 to v5.0.0.
  • Updated target framework to .NET Framework v4.6.1.
  • Updated FluentNHibernate version from v2.0.1 to v2.1.2.
  • Updated NHibernate version from v4.0.0.4000 to v5.2.5.0.
  • Updated NHibernate.Caches.SysCache2 version from v3.3.1.4000 to v5.5.0.0.
  • Definition field descriptions are now displayed as tooltips in the new Catalogs app.
  • It is now possible to create new categories using keyboard shortcuts inside an empty catalog or category in the new Catalogs App.
Bug Fixes
    • StackOverflowException when Product was used both in act and as a free gift.
    • The same product can now be used multiple times as a free gift allowing the same free gift being added multiple times.
    • FacetedQueryable.Count() now takes facets into account when showing amount of results for a query.

 

  • Undoing the removal of an image in the Catalogs app would not restore the image until the page is reloaded.
  • Icons in the security tree was missing.
  • Improved experience when selecting media and content in the new Catalogs app.
  • Improved experience when selecting media and content in the new Catalogs app.
  • Some of the dropdowns in the new Catalogs app would not display options if there was only one option available.
  • The value of a custom property of Rich Text data type is now saved correctly.
  • Added missing label for indicating the language when the property of Rich Text data type is multilingual.
  • Definition inheritance page would not show properly.
  • Error 404 on all Ucommerce WebAPI routes after adding a language to Sitefinity.
  • Ucommerce Feed links, if applicable, will now open in the same window instead of a new tab, enabling actions to work as intended.
  • Improved performance when loading products for a category in the Ucommerce administration interface, especially with large data sets.
  • Multilingual labels are now correctly displayed for the User's selected language in the new Catalogs and Products apps.
  • Some multilingual descriptions were erroneously encoded (sanitized) in their respective text fields.

 

Ucommerce 8.3.1.19271

October 2, 2019

Bug Fixes

  • FIX: Potential maximum SQL parameter limit exception during indexing to RavenDB.
  • FIX: Potential maximum SQL parameter limit exception during full-text search in the "Catalog search" widget.
  • FIX: Potential maximum SQL parameter limit exception in Campaign Item listing in the tree navigation.
  • FIX: Potential maximum SQL parameter limit exception in Category listing in the tree navigation.
  • FIX: Potential maximum SQL parameter limit exception in Definition listing in the tree navigation.
  • FIX: Potential maximum SQL parameter limit exception in Definition listing in the tree navigation.
  • FIX: Potential maximum SQL parameter limit exception in Product listing in product pickers.
  • FIX: Potential maximum SQL parameter limit exception in Product search.

Ucommerce 8.3.0.19193

July 15, 2019

New

  • Catalogs (Beta) app, a new way of navigating and building a catalog structure, and working with categories and product catalogs.

Bug Fixes

  • With the Multisite module disabled, the profile dropdown in the header was not clickable while on Ucommerce pages.
  • Buttons no longer disappear when you expand the tree above the dialog's height when selecting new products for a category in the backend.
  • Small screens would have problems fitting the "Add product to order" dialog on screen making it impossible to add new products.
  • InvalidOperationException on checkout if multiple campaign items with the same name were applied to the order.

Ucommerce 8.2.0.19157

June 6, 2019

Bug Fixes

  • Localization exception is no longer thrown if there are periods in the website path.
  • Removed dependency on recently unlisted "Microsoft.CompilerServices.AsyncTargetingPack.Net4.dll" NuGet package.
  • Some dynamic property values were erroneously saved to the database sanitized.

Ucommerce 8.1.0.19093

April 4, 2019

New

  • The GUID columns introduced in Ucommerce 8.0 are now all mapped to the NHibernate entities.
  • New "Dashboard" menu point in the Ucommerce menu for quickly accessing a full-width view of the new Dashboard introduced in v8.

Bug Fixes

  • UpdateLineItemPipeline removes the orderline from the basket if the quantity is less than 0.
  • The Analytics role is now used to determine which statistics show up on the store dashboard. Numbers are now only aggregated and shown for users with A) access to the store, and B) the Analytics role set explicitly. Stores to which the current user is lacking the Analytics role, will not count in the totals. If you find users reporting that their numbers are less than they expected, check that the Analytics role is enabled for that user.
  • The mapping for the GUID column on all entities will now automatically assign a new GUID unless one is provided when saving the entity, preventing duplicate default GUIDs in the database which caused an exception.
  • When creating a new product catalog through the Ucommerce backoffice, it will be assigned a new sort order, instead of 0.
  • When creating a new category through the Ucommerce backoffice, it will be assigned a new sort order, instead of 0.
  • Soft-deleted campaigns and campaign items were not excluded from the FeedCampaignTriggeredTask pipeline task, causing an "InvalidOperationException" if multiple campaigns/campaign items would exist with the same name.
  • SelectFreeGiftProduct dialog now has a scroll bar when the content is too high.
  • SelectProductCatalogGroupTarget dialog now has scroll bar when the content is too high
  • SelectCategoryTarget dialog now has scroll bar when the content is too high.

Ucommerce 8.0.1.19053

February 22, 2019

New

  • This release contains an important security update to the platform.

Bug Fixes

  • ExchangeRateAPICurrencyConversion app is now correctly part of the installation package.
  • The default service implementation responsible for loading up-to-date exchange rates (ICurrencyExchangeRateService) no longer fails if there are invalid currencies in the system resulting in no exchange rates being saved correctly.
  • UpdateCurrencyExchangeRatesPipeline no longer takes into account deleted currencies.
  • Custom price on orderline was overridden when TransactionLibrary.UpdateLineItem was executed.
  • Issue where IProductPriceCalculationService did not apply discounts.

Ucommerce 8.0.0.18352

December 18, 2018

General

  • Important: Upgrading to a major version requires a new Ucommerce license.

Breaking Changes

  • Any tables with a GUID colum with multiple rows with the same GUID, has a new GUID set so that all rows are unique.
  • Removed ServiceStack.

New

  • All Ucommerce tables and entities now have GUID column and corresponding indexes.
  • Introducing the new Ucommerce Dashboard, with quick metrics overview for the Digital Merchant.
  • First name property on the UCommerce.EntitiesV2.User.
  • Dashboard Feed that displays activities on the store(s).
  • Backoffice - Ordermanager dialogs resized to fit content better
  • Refreshing EntitiesV2.Product fields on EditProduct UI if there have been changes doing Save Product Pipeline.
  • Feed type, when an order is placed.
  • Feed type, when a campaign is used on an order.
  • Feed type, when a new customer checks out.
  • Feed type, when a returning customer checks out.
  • Feed type, when a customer is about to check out.
  • ICurrencyExchangeRateService interface for getting exchange rates between two currencies.
  • ICurrencyConversionService interface for converting a value from one currency to another.
  • GenericPipelineTaskAsync<T> (implementation of IPipelineTask<T>) for asynchronous task for subjects that are not an IEntity.
  • UpdateCurrencyExchangeRatesPipeline, used to update the CurrencyExchangeRates table with current values and create missing exchange rates based on currencies in the system.
  • ExecuteUpdateCurrencyExchangeRatesPipelineTask, that is executed asynchronously during the InitializePipeline.
  • "uCommerce_CurrencyExchangeRate" table to store exchange rates between two currencies.

Bug Fixes

  • Setting displayName on product definition fields would make the facets for that field disappear.
  • Products that did not have the "ModifiedOn" property set would not be indexed during indexing from scratch.
  • Product price query now has cachable per default.
  • Selected shipping countries will no longer get cleared on save when modifying shipping method access.
  • Selected available payment methods will no longer get cleared on save when modifying shipping method access.
  • Selected available countries will no longer get cleared on save when modifying payment method access.

Removed

  • BatchSave<T>(...) from System.Web.UI.WebControls.CheckBoxListExtensions.
  • ServiceStack dependency.

 

Ucommerce 7.19.0.18260

September 18, 2018

Breaking Changes

  • Payment providers are now deployed as individual apps, allowing them to be disabled individually.

Bug Fixes

  • ArgumentNullException in DomainService when not using a multisite Sitefinity license.
  • ExportCategoryProducts was not working due to a missing type.
  • All methods in our IDomainService implementations are now virtual and thus overridable.
  • Backoffice - Multipicker UI has been given a visual facelift
  • Backoffice - Catalog mananger dialogs have been resized to better fit the content
  • Backoffice - Ordermanager dialogs resized to fit content better
  • Refreshing EntitiesV2.Product fields on EditProduct UI if there have been changes doing Save Product pipeline.

Removed

  • Payments.config which is deployed as individual apps.

 

{{lineitem.ProductName}}

{{lineitem.VariantName}} - {{lineitem.Quantity}} x {{lineitem.FormattedPrice}} {{lineitem.FormattedPrice}}

Your cart is empty ;(
Total {{basket.FormattedProductsTotal}}
Checkout