Release notes

Change log for 7.7.0.17130

  • BRK: The minimum .NET version is now 4.5 (was 4.0), Sitecore Commerce Connect is still 4.5.2
  • BRK: Moved UCommerce.Transactions.Payments.Common and UCommerce.Transactions.Payments.Configuration namespaces from the UCommerce.Transactions.Payments.dll to the UCommerce.dll
  • BRK: Moved EnumExtensions class for Adyen to the UCommerce.Transactions.Payments.Adyen namespace.
  • NEW: Item names generated by the DataProvider are now always valid. The Sitecore field DisplayName is now set to the original name, so the appearance in the Content Editor is unchanged. (Sitecore)
  • NEW: Support for Umbraco 7.6.0.
  • FIX: ArgumentException in domain service when Umbraco is running on SQL CE. (Umbraco)
  • FIX: PaymentMessages has been changed from Internal to Public. Now they can be used for 3rd party payment providers.
  • FIX: Removed UrlRewriting.config in Umbraco 7.6.0 by Adding Url rewrites to web.config (Umbraco 7.6.0 and newer).
  • FIX: Now Umbraco.Core.Logging.LogHelper instead of deprecated BusinessLogic.Log doing Ucommerce installation.
  • FIX: Query string parameters passed by the EmailService, when retrieving the content of the email template are now URL encoded.

Change log for 7.6.0.17121

  • BRK: Removed the SagePay (Protocol version 2.23) payment method service because it is no longer supported.
  • BRK: SecurityException is now thrown instead of SecurityAccessDeniedException (System.ServiceModel.Security) in order to remove dependency on System.ServiceModel.dll
  • BRK: UCommerce.dll no longer has a dependency on ServiceStack.Text.dll. All Url encoding is now done with System.Uri.EscapeDataString.
  • BRK: UCommerceWeb.dll no longer has a dependency on ServiceStack.
  • NEW: Support for taxation of payment fees (includes three new pipeline tasks in the basket pipeline).
  • NEW: Three new columns have been added payment table.
  • NEW: Three new properties on the Payment entity: GrossAmount, Tax and TaxRate.
  • NEW: UpdateTrackerInformation class now performs the Sitecore tracking. (Sitecore 7.5 and newer)
  • NEW: Support for Sitecore 8.2 update 3.
  • FIX: Exception when applying discounts to an order or when CatalogLibrary.CalculatePrice(...) is used, due to a categories target without any categories selected being active.
  • FIX: Improved overall backend UI performance on Sitecore systems with many users. (Sitecore)
  • FIX: Improved performance when listing orders in the backend UI.
  • FIX: UpdateTrackerInformation won't try to use Sitecore Tracking in Sitecore versions older than 7.5 as it's not available. (Sitecore)
  • FIX: CatalogLibrary.GetProductReviews now honors the ProductCatalogGroup.ProductReviewsRequireApproval flag again.
  • FIX: Changed the 'amount' decimal format for the SagePayV3 payment method, which now correctly works with lower than 1 decimal value totals.
  • FIX: EpayPaymentMethodService now correctly returns a status of AcquireFailed if the acquire fails.
  • FIX: Selected orders will be consistent if multiple users are modifying orders, by not relying on the index but instead on orderId.
  • FIX: issue where shipping address would be sent to the Sitecore tracker if tracking is enabled. (Sitecore)
  • FIX: Error when creating or saving a product definition field or definition field from the back office, with the first character in the name being a number.
  • Fix: UI for updating order status when no option is available.
  • Fix: SessionProvider is now open for extension by refactoring private methods to protected virtual.

Change log for 7.5.0.17040

  • BRK: TransactionLibraryInternal.GetBasket() has a default value of false, just like TransactionLibrary.GetBasket()
  • BRK: .NET framework 4.5.2. is now required for Commerce Connect. (Sitecore)
  • BRK: RemoveMenuButtion changed name to proper name RemoveMenuButton on SectionMenu.
  • NEW: Validation of ObjectFactory dependencies can be disabled with config setting (<add key="Ucommerce:DisableCheckForPotentiallyMisconfiguredComponents" value="True" />).
  • NEW: Order search now has additional fields (Billing address email, Phonenumber and Payment reference)
  • NEW: Create shipment pipeline
  • NEW: Create address pipeline
  • NEW: Remove shipment pipeline
  • NEW: Enabled Sitecore Tracking for visitors when billing information is submitted.
  • NEW: Support for Commerce Connect pipeline "Carts.AddParties". (Sitecore)
  • NEW: Support for Commerce Connect pipeline "Carts.UpdateParties". (Sitecore)
  • NEW: Support for Commerce Connect pipeline "Carts.RemoveParties". (Sitecore)
  • NEW: Support for Commerce Connect pipeline "Carts.AddPaymentInfo". (Sitecore)
  • NEW: Support for Commerce Connect pipeline "Carts.RemovePaymentInfo". (Sitecore)
  • NEW: Support for Commerce Connect pipeline "Orders.SubmitVisitorOrder". (Sitecore)
  • NEW: Support for Commerce Connect pipeline "Payments.GetPaymentMethods". (Sitecore)
  • NEW: Support for Commerce Connect pipeline "Payments.GetPaymentOptions". (Sitecore)
  • NEW: Support for Commerce Connect pipeline "Payments.GetPricesForPayments". (Sitecore)
  • NEW: Support for Commerce Connect pipeline "Payments.GetPaymentServiceUrl". (Sitecore)
  • NEW: Support for Commerce Connect pipeline "Payments.GetPaymentServiceActionResult". (Sitecore)
  • FIX: SectionMenu now has a public list of buttons to better qualify buttons to remove in the UI builder pipeline.
  • FIX: TabViewBuilder now takes into account the configuration for HasSaveButton.
  • FIX: Backend did not show selected tab. (Umbraco7)
  • FIX: Tree nodes didn't support query string parameters in the action url.
  • FIX: Exception argumentNullException when adding new order lines to an existing order in the Ucommerce backoffice when CommerceConnect is enabled.
  • FIX: CatalogLibraryInternal.GetNiceUrlForCategory() has parameters swapped and added a default value, just like CatalogLibrary.GetNiceUrlForCategory()
  • FIX: Saving User Roles no longer throws exception (Sitecore 8.2)
  • FIX: Saving UserGroup Roles no longer throws exception (Sitecore 8.2)
  • FIX: Opening User Groups no longer throws exception, and have proper names instead of id (Umbraco)
  • FIX: Bug where GetProperty with a culture code would not add properties if missing.
  • FIX: Content Editor would not show values for multi lingual fields. (Sitecore)
  • FIX: Slider handles in DateTimePicker were invisible.
  • FIX: When more than one value was selected in a MultiSelectEnum, the Content Editor would show an error. (Sitecore)
  • FIX: When no enum values were selected in either an Enum or MultiSelectEnum fields, the Content Editor would show an Error. (Sitecore)

NOTE: UCommerce.EntitiesV2.PurchaseOrder.CreateShipment(ShippingMethod shippingMethod, OrderAddress shippingAddress) has been marked as obsolete, you should use the new create shipment pipeline.
NOTE: UCommerce.EntitiesV2.PurchaseOrder.CreateShipment(ShippingMethod shippingMethod, OrderAddress shippingAddress, bool overwriteExisting) has been marked as obsolete, you should use the new create shipment pipeline.

Change log for 7.4.0.17010

  • BRK: TransactionLibraryInternal.CalculatePrice method is now non-static and virtual so that it can be overridden (Unit Testing).
  • NEW: Support for PayPal through Global Collect integration.
  • NEW: When building solution MSBuild will automatically install missing files. NuGet installer will modify project file to include additional MSBuild targets. (Umbraco7)
  • NEW: All tables now have indexes on all relevant columns to boots SQL performance. High data volume scenarios have better performance.
  • NEW: ProductCatalogDescription table now has a unique index on the columns ProductCatalogId and CultureCode.
  • NEW: UserGroup table now has a unique index on the columns ExternalId.
  • NEW: Support for Commerce Connect pipeline "GetShippingOptions". (Sitecore)
  • NEW: Support for Commerce Connect pipeline "GetShippingMethods". (Sitecore)
  • NEW: Support for Commerce Connect pipeline "GetShippingMethod". (Sitecore)
  • NEW: Support for Commerce Connect pipeline "GetPricesForShipments". (Sitecore)
  • NEW: Support for Commerce Connect pipeline "AddShippingInfo". (Sitecore)
  • NEW: Support for Commerce Connect pipeline "RemoveShippingInfo". (Sitecore)
  • FIX: All unique constraints have been changed to unique indexes.
  • FIX: Removed markdown feature from service stack as it can in some cases greatly increase startup time.
  • FIX: Bug where a user needed to have access to "settings" in order to delete campaigns and campaign items. (Sitecore)
  • FIX: NullReference exception when saving the Product Catalog, which was introduces in V7.3.0.16343.
  • FIX: Firefox clicking on the menu in backoffice did not open anything.
  • FIX: Creating a new OrderStatus from code did not work. NHibernate mapping is now correct.
  • FIX: Mapping users from Sitecore now works even if the casing is different from the username.
  • FIX: Tabs will have their culture code set before the name so that the name can be culture specific.
  • FIX: Exception was thrown during startup, when running on a CD server without a Master database (Sitecore), even when the SitecoreContext was set to use the Web
  • database.
  • FIX: Setting permissions for a UserGroup would cause a "Sequence contains more than one element" exception due to duplicate entries in the UserGroup table. (Sitecore)
  • FIX: Errors with adding a product to a basket through the Commerce Connect APIs. (Sitecore)
  • FIX: Issue where user group permissions were ignored.

Change log for 7.3.1.16343

  • NEW: Umbraco7 NuGet package now has a dependency on Microsoft.Data.OData version 5.2.0 or higher, not 5.2.0 specifically.

Change log for 7.3.0.16343

  • BRK: TransactionLibraryInternal.CreatePayment method is now overloaded and does not use optional arguments due to a bug in Castle project with decimal values and dynamic proxies.
  • NEW: The scratch indexer now has its own interface: IScratchIndexer. This makes it much easier to replace it with a custom indexer.
  • NEW: The ObjectFactory validates all dependencies are configured correctly at startup.
  • NEW: Cleanup duplicated entries in the CategoryProperties table and added a unique constraint.
  • NEW: Updated the Castle.Core dependency from 3.2.0 to 3.3.3
  • NEW: Updated the Castle.Windsor dependency from 3.2.0 to 3.3.0
  • NEW: Added primary key and clustered index to the table Ucommerce_AppSystemVersion.
  • NEW: Added primary key and clustered index to the table Ucommerce_SystemVersionSitecore.
  • NEW: Added primary key and clustered index to the table Ucommerce_SharedField. (Sitecore)
  • NEW: Added primary key and clustered index to the table Ucommerce_UnversionedField. (Sitecore)
  • NEW: Added primary key and clustered index to the table Ucommerce_VersionField. (Sitecore)
  • NEW: The Document.Product now has a product guid property.
  • NEW: CatalogLibrary.CalculatePrice(...) now uses CatalogLibraryInternal.
  • NEW: TransactionLibrary.GetBillingInformation(...) now uses TransactionLibraryInternal.
  • NEW: TransactionLibrary.GetShippingInformation(...) now uses TransactionLibraryInternal.
  • NEW: Updated the Fluent.NHibernate dependency from 2.0.1-alpha to 2.0.1.
  • NEW: Database Migration task to the app installation pipeline.
  • FIX: Added a unique constraint to the Ucommerce_CategoryProperty to avoid duplicate category properties.
  • FIX: Issue when creating BACPAC file of the database due to tables without a clustered index.
  • FIX: N+1 problem when reading catalog data for the Content Editor. (Sitecore)
  • FIX: PriceCalculation now includes the product in the tax calculation.
  • FIX: TypeError in javascript, could not navigate to a node after image picker has been selected.

Change log for 7.2.2.16293

  • FIX: Roles would be equals if store role compared derived roles and name was the same on both objects even though the role types were different.
  • FIX: UmbracoContentService would throw an exception if a node could not be found on id. (Umbraco7)
  • FIX: EmailService now logs more information if set to debug.
  • FIX: Installation no longer shows errors while installing. (Umbraco7)
  • FIX: Adyen payment provider now uses basic HTML authentication header for server to server notification messages.

Change log for 7.2.1.16274

  • BRK: Changed the namespace for resources include lists.
  • BRK: The basket lifetime option defined on the "ExtendBasketLifetime" task is obsolete. They are moved to the more general Settings.config file.
  • NEW: Support for Sitecore 8.2
  • NEW: Support for Commerce Connect 8.2
  • NEW: IUrlService now has easy overridable human readable description of the url generated for catalog/category/product.
  • NEW: MarketingLibrary gets two new methods used for getting campaignitems for products. GetTargetedCampaignItems(Product) and GetTargetedCampaignItemsForIndicidualProducts(IList<Product>).
  • NEW: Option to configure the basket lifetime is configured in the Settings.config file.
  • NEW: Resources include lists for Sitecore 8.2
  • NEW: Styling changes to match styling in Sitecore 8.2
    FIX: Selected product of the 'Discount specific order line' would be the first in the drop down and not the product previously selected.
  • FIX: GetAvailablePaymentMethods now filters out deleted methods.
  • FIX: Issue with Ucommerce data not being present in the content editor due to the way we register our data providers. (Sitecore 8.2)
  • FIX: Product names with single quotes or other html escapeable characters did not render correctly after save. A consequent save would remove the characters.
  • FIX: Basket cookie now respects domain, this enables a domain and subdomains to share the same basket cookie. Ex. site.com and my.site.com can share the same basket cookie.
  • FIX: YSOD after creating a new category is now fixed (Umbraco).
  • FIX: When creating a new Shop with the same name as a previously deleted one, will revive the delete instance.
  • FIX: Creating a CampaignItem, no longer creates two instances on IE 8/10/11.

Change log for 7.2.0.16251

  • BRK: IRoundingService now defaults to use 2 digits precision. To keep the old 4 digit behaviour you can control the number of digits using a partial component in the new settings config.
  • NEW: 'Catalog Manager' Speak app (Sitecore 8)
  • NEW: 'Order Manager' Speak app (Sitecore 8)
  • NEW: 'Promotion Manager' Speak app (Sitecore 8)
  • NEW: 'Ucommerce' lauchpad application has been renamed to 'Commerce Settings' and its' icon has been updated (Sitecore 8)
  • NEW: Buttons can now be added to a tab at a specific position in the menu bar.
  • NEW: All tabs in the back office, including custom tabs now has a save button if save functionality is available.
  • NEW: Configuration option in Runtime section of web.config. You can now specify a "baseDirectory" property. Use this, if the dynamic find of the base directory fails.
  • NEW: Settings folder with a settings.config file.
  • NEW: Possibility to configure if Ucommerce should include relations data in the Sitecore item data. The values are found in the new Settings file. (Sitecore)
  • NEW: PriceGroupTarget is now a DisplayTarget also.
  • NEW: Option to call the MarketingService with custom targetting contexts.
  • NEW: Option to call the MarketingService with a product, to get the display targets hit by that product in the current context.
  • FIX: Styling for rendering languages and tab menu together on Umbraco 7.
  • FIX: Category.GetProperties(fieldName) now takes multilungual configuration on the field into account when querying for the fieldvalue.
  • FIX: Unamed campaign item can now be selected in the Ucommerce tree (Sitecore).

Change log for 7.1.0.16202

  • NEW: Support for Umbraco as a Service - very importent, read the instructions
  • NEW: Support for Sitecore CommerceConnect 8.1
  • NEW: The WorldPay integration will now add the order guid in the query string when the customer cancels the payment on WorldPay's website.
  • NEW: UCommerce.API.IRoundingService used for all rounding of amounts on in the Basket pipeline tasks.
  • FIX: Issue granting the current user acess to Ucommerce when Ucommerce is installed in a seperate database (Umbraco)
  • FIX: Attempted to divide by zero when adding a product with 0 as price value to the basket.
  • FIX: When clicking on the already selected node in the Ucommerce tree it didn't reload the content.
  • FIX: Issue where a cached product would be indexed after save, instead of the updated product. (Sitecore)
  • FIX: Ensure that NHibernate maps to an nvarchar(max) on ProductTarget skus to avoid string value exceed the map length.
  • FIX: Avoid SingleOrDefault exception by creating latestPspReference up front when multiple threads tries to create it at once for Adyen.
  • FIX: Issue where the amount of vourchers to generate was validated as a string instead of as an integer in the voucher target.
  • FIX: Issue where the tax on discounted order lines would be wrong after saving an order in the back office.
  • FIX: Braintree Payment Gateway would throw an error, if the amount had more than two digits. (Thanks to Lee Messenger, for finding this issue!)
  • FIX: In some instances, orphaned Categories could cause an "The given key was not present in the dictionary." when publishing (Sitecore)
  • NOTE: The CalculateOrderLineTaxTask fix in 7.0.6.16104 has been reverted as it causes issues when an order is edited in the back office, the
  • CalculateOrderLineTaxTask issue will be fixed in future release.

Change log for 7.0.6.16104

  • NEW: Adyen now supports a new FlowSelection option "SkipSelect" that will let the customer skip selection the payment type, it can only be used if a brand code is provided.
  • NEW: Ucommerce tree support picking single item with more than one node type.
  • FIX: Facets for multilingual properties now only shows values for the actual language.
  • FIX: Adyen the shopper local parameter is now in the right format.
  • FIX: Styling issue in Sitecore where you couldn't scroll all the way to the bottom of tabs in the Ucommerce back office.
  • FIX: Campaigns would be offset by hours depeneding on the local server time.
  • FIX: Styling issue when the Enum multi select data type is used.
  • FIX: Issue where the configuration files located in the Apps folder weren't ignored, when looking for the main "Components.config" file.
  • FIX: CalculateOrderLineTaxTask would always use the order line's VAT rate to calculate the VAT, making it impossible to change the VAT rate on order lines.
  • FIX: NullReferenceException when getting StatelessSession from a ISessionProvider created by ObjectFactory.
  • FIX: Improved performance of MarketingFoundation, when having a large number of targets.
  • FIX: Improved performance of ProductTarget, when having a large number of products configured in one target.
  • FIX: Added missing constants for the product and order pages, in the namespace: UCommerce.Constants.Pages.Stores.Product and UCommerce.Constants.Pages.Orders.Order.
  • FIX: Ucommerce log files working in Sitecore 8.1
  • FIX: Dynamic Order Property Target used in combination with an Order Target, would sometimes give discount to all order lines.

 

Change log for 7.0.5.16060

  • BRK: The pipeline tasks that acquire payments when the payment status is changed to "Completed" has been made into a partial component and can be found at Ucommerce/Apps/AcquirePayments.disabled
  • BRK: The pipeline tasks that cancel/refund payments when the payment status is changed to "Cancelled" has been made into a partial component and can be found at Ucommerce/Apps/CancalPayments.disabled
  • NOTE: Documentation on how use the new partial components to acquire, cancal and refund payments can be found here: http://docs.ucommerce.net/ucommerce/v7.0/payment-providers/general-setup-of-payment-methods.html 
  • FIX: Deleting a variant did not update the data provider correctly. (Sitecore)
  • FIX: Deleting a product did not update the data provider correctly. (Sitecore)
  • FIX: Performance in scratch indexer when indexing large catalogs and categories greatly improved.
  • FIX: Performance when building the master index improved. (Sitecore)
  • FIX: Uninitialised boolean property values, would sometimes cause a NullReference exception to be thrown when accessing the item in the Content Editor. (Sitecore)
  • FIX: If you have "orphaned" categories, where the parent is deleted, publishing might throw a KeyNotFoundException. (Sitecore)
  • NEW: The Adyen payment method service now support the SHA-256 signing algorithm.
  • NEW: Added pipeline that is run when a variant is deleted from a product. The configuration can be found at: Ucommerce/pipelines/Admin/Catalogs.Variant.Delete.config.

Change log for 7.0.2.16034

  • FIX: Combining faceted search with complex where clauses would sometimes give incorrect results.

Change log for 7.0.1.16034

  • FIX: Free gift award in version 7.0.0 was adding two order lines instead of only 1.

Change log for 7.0.0.16029

  • BRK: TransactionLibrary.AddToBasket now returns the OrderLine added instead of void like TransactionLibraryInternal does.
  • BRK: TransactionLibrary.AddToBasket(int quantity, string sku, string variantSku = null, bool addToExistingLine = true, bool executeBasketPipeline = true, int? catalogId = null) is now Removed.
  • BRK: Version 4.0.0 of the Umbraco demo store only works with 7.0.0 of Ucommerce and forward.
  • BRK: Version 6.0.0 of the Sitecore demo store only works with 7.0.0 of Ucommerce and forward.
  • NEW: TransactionLibrary.ClearPayments() now only removes payments that are of status 'New' or 'PendingAuthorization'.
  • NEW: PurchaseOrder.ClearPayments() now only removes payments that are of status 'New' or 'PendingAuthorization'.
  • NEW: Overload on TransactionLibrary.AddToBasket that takes an optional unit price, an optional pricegroup, and a list of properties passed into the AddToBasketPipeline.
  • NEW: Added a new rootnode of type 'apps' to the tree specific for Apps. It will be hidden if no node providers delivers children for it.
  • NEW: The category target now supports multiple categories.
  • NEW: Scratchindexer can now be configured to only index product deltas based on when the last runtime of the indexer was and modified time on products.
  • NEW: Registering EntityUIs now throws an exception in Campaign overview if entity ui does not implement any of the required interfaces.
  • NEW: Ability to get PurchaseOrder by guid exposed on TransactionLibrary.GetPurchaseOrder(Guid).
  • NEW: Ability to get PurchaseOrder by orderNumber exposed on TransactionLibrary.GetPurchaseOrder(string).
  • NEW: Ignores files called "web.config" when including files using the "include-folder" configuration element.
  • NEW: Ignores configuration files located in the Apps folder, when looking for the main "Components.config" file.
  • NEW: The Page builder pipeline will now look for "SaveButtonPlaceholder" and add the page's save button if the page has one.
  • NEW: The Page builder pipeline will now look for "DeleteButtonPlaceholder" and add the page's delete button if the page has one.
  • NEW: RemoveMenuButton method on the SectionMenu that can be used to remove buttons from tabs.
  • NEW: Using the <write-configuration-to-file /> element to write the IOC configuration to disc now adds comments, indicating which files any dynamically added components and partial components come from.
  • NEW: ScratchIndexer can now be configured to clear cache after each product batch exported to prevent running out of resources for large catalogs.
  • NEW: Widgets now has a fixed base size of 100px x 100px instead of a calculated size based on the size of the screen making it easier to style for different sizes always dividable by 100.
  • NEW: Multilingual tabs are now sorted by language culture code in the backend.
  • NEW: Typeloader exceptions will now explicit be extracted and written when logged through LoggingService removing the requirement to attach a debugger when thrown to see the actual error.
  • NEW: AssignOrderNumberTask now explicitly throws an exception if no order number series has been configured for the store in context.
  • NOTE: Clear-cache-in-scratchindexer.example under Apps/debug in the Ucommerce folder shows how to do so.
  • FIX: If the stateless session provided by the SessionProvider was disposed you could not open a new one later within the same thread.
  • FIX: Generating roles would with large data set sometimes duplicate roles.
  • FIX: Better errror handling when no order number series has been configured for the store and the checkout pipeline is being executed.
  • FIX: Bug where discounts wouldn't be awarded when using the "Product catalog" target in combination with order line targets, e.g. "Buy more then"
  • FIX: Now uses the currencies culture to convert the display price to rigth format. 
  • FIX: Baskets that were created prior to Commerce Connect being installed, would throw null reference when trying to resume it. (Sitecore)
  • FIX: Unhandled Null Reference exception when publishing in Sitecore, cause by a ProductProperty with null as value.
  • FIX: Bug where a backend user couldn't  create or delete objects in the backoffice after deleting a price group when a user group has permissions to edit the price group.  
  • FIX: The Content Editor now always gets english names for the items in the catalog structure. (Sitecore)
  • FIX: More stable installation experience.
  • FIX: MultipleProductQuery did not fetch all things on variant level.
  • FIX: Dynamic order property to work on order line level. 
  • FIX: PurchaseOrderTarget combined with OrderLineTargets where some OrderLineTargets is satisfied didn't trigger award on the satisfied orderLine.  
  • FIX: Bug in Basket pipeline when custom TaxService and Order level award is combined.

Change log for 6.9.0.15323

  • NEW: Dropping assemblies under "Ucommerce/apps/*/bin" will now automatically be picked up by Ucommerce
  • NEW: Initialize pipeline with hook-ins that runs when the application starts.
  • NEW: ITreeContentProvider support root nodes for the Ucommerce tree in Umbraco 7.
  • NEW: Pipeline that runs on finalized section group for easier modification of the backend.
  • NEW: Ability to hook in new tabs by adding a new pipeline task instead of registering in the database, by adding a task to the SectionGroup pipeline.
  • NEW: Ability to add new buttons to existing tabs in the backend by adding a new pipeline task to the SectionGroup pipeline.
  • NEW: SampleApp that shows new extension points available for download at: https://bitbucket.org/Ucommerce/ucommerce-sample-app/downloads
  • NEW: Configured timing on InitializePipeline as a disabled app for debugging purposes.
  • NOTE: Remove the .example extension on "Enable-Timing-On-InitializePipeline.config" to log time on executed tasks.
  • FIX: Starting service stack moved to initialize pipeline instead of running as a PreApplicationStartup method on UCommerce.Web.Api.
  • FIX: Users can now change order status of an order from a deleted store on order overview.
  • FIX: The order search will now include orders from stores that have been deleted, when the order group option is set to "(All)".
  • FIX: Adyen: problem with notification and callback from adyen being processed at the same time, causing "Payment XX does not have payment status 'pending authorization'" exception.
  • FIX: Incompatibility issues with Print Studio (PXM). Field type names had incorrect case (Sitecore).
  • FIX: Old values for presentation layout details would linger until a reset of the site, because of too agressive caching. (Sitecore).
  • FIX: Getting pretty URL for a category will now use configured ProductCatalog on the category if passed ProductCatalog is null.

Change log for 6.8.3.15293

  • FIX: All users would get permissions from all user groups. (Umbraco)
  • FIX: The marketing node would show up when a user didn't have permissions to use marketing, the user couldn't access any data in the marketing section. (Umbraco 6)

Change log for 6.8.2.15287

  • FIX: Rounding errors when recalculating VATRate would sometimes throw exception "Purchase order VAT cannot be accurately calculated when using different VAT rate per item combined with order level discounts." when combined with order level discounts.
  • FIX: Exception when publishing, when WeBlog is installed. (Sitecore) (System.Reflection.TargetInvocationException)
  • FIX: Unsorted categories where sorted differently in content editor than in Ucommerce shell in Sitecore. 
  • FIX: If product definition fields had the same name, then saving one of them could potentially delete the facet definition, if the field did not have "Use in faceted search" checked.
  • FIX: Adding a product through the category editor didn't update index in RavenDB and Sitecore Lucene. 
  • FIX: Cloned purchase orders are now be savable.
  • FIX: Wrong text in right click menu on deleting an product catalog group action in Sitecore. 
  • FIX: The reload icon disappeared when title text got to long on widgets. 
  • FIX: The trees in umbraco now uses the ITreeContentProvider. 
  • NEW: Hook new tree nodes into the tree across CMSes by using ITreeContentProvider. 
  • NEW: Support for Smart Publishing of the catalog structure in Sitecore.
  • NEW: Added database columns: CreatedOn, CreatedBy, ModifiedOn, ModifiedBy for the table Ucommerce_Definition (UcommerceDB.140.sql)
  • NEW: Added database columns: CreatedOn, CreatedBy, ModifiedOn, ModifiedBy for the table Ucommerce_ProductDefinition (UcommerceDB.140.sql)
  • NEW: Added database columns: CreatedOn, CreatedBy, ModifiedOn, ModifiedBy for the table Ucommerce_DataType (UcommerceDB.140.sql)
  • NEW: Added database columns: CreatedOn, CreatedBy, ModifiedOn, ModifiedBy for the table Ucommerce_ProductCatalogGroup (UcommerceDB.140.sql)
  • BRK: Fix spelling error in namespace and url when navigating to Ucommerce in Sitecore from Ucommerce icon in the launch pad.
  • BRK: SearchLibrary is using a new index "Products/ByFacetsRecursive/{languageCode}". This means that when using SearchLibrary.FacetedSearch() you will only be able to find products that have a faceted field. If you need to search for all products in Raven, you need to use the old index "Products/ByPropertyRecursive/{languageCode}" when starting a query on a session from the Raven store.

Change log for 6.8.1.15265

  • FIX: Bug in Security foundation when rendering settings for a user group which cause a NullReferenceException in Umbraco.
  • FIX: Now renders user group name instead of index for an user group in security foundation.  
  • FIX: Problem shoving products with MultiSelectEnum fields in backend.

Change log for 6.8.0.15264

  • FIX: Content and Image picker would sometimes throw null-reference exception (Umbraco7)

Change log for 6.8.0.15261

  • NEW: Widget framework allows for creating new widgets for configurable dashboards
  • NOTE: Read about widgets and learn to style seamless and have full controll using AngularJS. (http://docs.ucommerce.net/ucommerce/v6.8/extending-ucommerce/extending-ucommerce-admin/widgets/index.html)
  • NEW: Widget that displays turnover by currency
  • NEW: Widget that displays numbers of orders placed by store configurable with interval and order status
  • NEW: Widget that displays an order list configurable by status and interval.
  • NEW: Widget that displays number of orders displayed by date in a coordinate system.
  • NEW: Widget that displays Marketing oveivew of active campaigns per date.
  • NEW: Widget that displays Information comming from Google Analytics in CHART,LINE or GEO charts.
  • NEW: Widget that allows searching products by name with suggestions when published to RavenDB. 
  • NEW: Use new product picker when selecting products to add on a order.
  • FIX: Breaking change from NHibernate 3.0 to 4.0 caused mappings without set specification to sometimes mess up queries.
  • FIX: "multiple controls with the same id" exception when saving an image on a products multilingual tabs.
  • FIX: The variant description editor did not display the non-selected tabs. (Sitecore 7)
  • FIX: The sorting in the parameter list when using Ogone payment provider which had a local comparison set. 
  • FIX: Marketing now reloads properly when store level is present as well.
  • FIX: Bug when clicking on users or userGroups nodes in security foundation which cause a NullReferenceException. (Sitecore)
  • FIX: When creating a product there would no indication of the category the product is created in, in the save product pipeline.
  • FIX: MultiPicker would sometimes display to many items selected.

Change log for 6.7.6.15251

  • FIX: Database script 137 was missing primary keys causing errors on SQL Azure.
  • FIX: Creating new product did not call the SaveCategory pipeline. Causing the category to not be updated. (Sitecore)

Change log for 6.7.6.15244

  • FIX: The Ucommerce tree would not load in Umbraco 6.2.5

Change log for 6.7.6.15243

  • NEW: Simple inventory is now configured as an app. It is disabled by default.
  • NEW: Security foundation now support configuration permissions for userGroups.
  • NEW: Umbraco start nodes on content and media library for a user is now reflected in Ucommerce
  • FIX: Content picker was using the wrong data type for content in Sitecore content editor causing "item not found messages". (Sitecore)
  • FIX: Dynamic order line target with a order target in marketing foundation didn't trigger award.
  • FIX: Umbraco tree nodes disappeared when updating a purchase order status.
  • FIX: Content picker was broken overall for all editors.
  • FIX: Race condition that could throw an exception fixed in ItemResolver. (Sitecore)
  • FIX: InventoryOnHand field via inherited product definition would not be picked up in check for required field in inventory pipeline tasks.
  • FIX: Combination of dynamic order line target and vourcher code didn't trigger award.
  • FIX: The PayPal express service exception when completing the order if the PaymentAction is set to "Sale" and Ucommerce is set to acquire the payment.
  • FIX: The PayPal express service exception when the amount on the payment is less then 1. (System.Exception: Wrong amount)
  • FIX: Order search result could include orders that the user didn't have permission to view, if the user had permission to view a shop, but not to view the orders.
  • FIX: The amount of discounts applied could change when the basket pipeline is used, even though the content of the basket wasn't changed if the "buy for more than" act is used.*
  • *Note that we now reset the discount collections on the purchase order and reset all discount fields in the beginning of the basket pipeline. 
  • FIX: Using fluent nhibernate mappings with SQLite would fail because of mismatched casing of table names. This would cause a "table exists" error.
  • FIX: The Ucommerce tree wouldn't appear in internet explorer 9 and 10. (Sitecore)
  • FIX: The Ucommerce user service now handle cryptographic exceptions (Umbraco 7)

Change log for 6.7.5.15219

  • Fix: Bug where creating product relations could cause a NullReferenceException.

Change log for 6.7.4.15201

  • Fix: Having a language setting on a umbraco content node which is anything but "inherit" would cause exceptions (Invalid URI: The hostname could not be parsed)(Umbraco)

Change log for 6.7.3.15189

  • NEW: Added a TimingInterceptor component. Adding this as an interceptor will log the time spend in method calls on that component. (http://docs.ucommerce.net/ucommerce/v6.7/extending-ucommerce/register-a-component.html)
  • NEW: Enabling debug for a pipeline will log the performance measurements for the tasks in the pipeline. (http://docs.ucommerce.net/ucommerce/v6.7/extending-ucommerce/create-pipeline-task.html)
  • NEW: Ability to have complete configuration file written to an XML-file in App_Data/TEMP/ under the website. 
  • NOTE: For all new features above - take a look at '/UCommerce/Apps/Debug' for a few examples of how to enable the features.
  • NEW: New role for editing products.
  • NEW: ILanguageCodeMapper service used by GlobalCollectService. Can be used to convert language codes to the supported ones. Configuration in Payments.config.
  • NEW: Payment method for SagePay supporting the new 3.0 protocol.
  • NEW: Configuration errors for included folders with configuration files will now tell which file has invalid configuration.
  • NEW: You can now input negative values in all awards in marketing foundation thus increasing the amount the user needs to pay.
  • FIX: Selecting images from the image cropper in Umbraco will now show the proper selected image. (Umbraco)
  • FIX: Installing on Sitecore will now try to move the Sitecore/Settings node out of web.config when installing to avoid default 250 kb config file size. (Sitecore)
  • FIX: Product target in combination with Quantity target on order and orderline would not evalute properly and assign too much discount.
  • FIX: LanguageService filters duplicate culture codes provided from Sitecore. (Sitecore).
  • FIX: Tree's where products are shown under a category e.g the product picker for product target in marketing foundation now observes sort order on products.
  • FIX: Moving a category to another catalog would not update the catalog reference for child categories.
  • FIX: Moving a category would not properly reload the relevant parts of the shell tree (Sitecore).
  • FIX: New Category would not be added to parent Categories list until reset.
  • BRK: If license key is present, it will be validatet also for local requests.

Change log for 6.7.2.15167

  • NEW: Added Index to Ucommerce_CategoryProperty to ensure faster loading of properties. 
  • FIX: Upgrade problem from Ucommerce version 6.0.3.

Change log for 6.7.1.15160

  • FIX: Saving a multilingual product descriptions would not trigger the "SaveProduct" pipeline.
  • FIX: v6.6.6 reintroduced issue around duplicate order numbers under high load.

Change log for 6.7.0.15155

  • NEW: Support for Sitecore Commerce Connect http://docs.ucommerce.net/ucommerce/v6.7/sitecore/Commerce-Connect/index.html.
  • NEW: Partial components for easy registration and patching of existing components http://docs.ucommerce.net/ucommerce/v6.7/extending-ucommerce/register-a-component.html.
  • NEW: Pipeline tasks can be added to existing pipelines without changing the original files via partial components http://docs.ucommerce.net/ucommerce/v6.7/extending-ucommerce/create-pipeline-task.html under the section "Configure the Pipeline".
  • NEW: Overridden components are now placed in /Ucommerce/Apps, e.g. /Ucommerce/Apps/MyApp, where they are automatically picked up. This superseedes Custom.config. http://docs.ucommerce.net/ucommerce/v6.7/manage-ucommerce/upgrading/migration-from-custom.config-to-apps-folder.html.
  • NEW: TransactionLibrary.AddToBasket() now executes "AddToBasket" pipeline.
  • NEW: TransactionLibrary.GetBasket now executes "GetBasket" pipeline.
  • NEW: OrderContext.NewBasket now executes "CreateBasket" pipeline.
  • NEW: CreateCustomerTask in "Checkout" pipeline now executes "CreateCustomer" pipeline.
  • NEW: CreateMemberForCustomerTask in "Checkout" pipeline now executes "CreateMember" pipeline.
  • FIX: The delete options in the right click menus on ProductCatalogGroups and ProductCatalogs now run pipelines. (Sitecore)
  • FIX: Changed GlobalCollectPAymentProducts to be an optional value as not allways required by the gateway. 
  • FIX: When running jobs on 'Managed Thread Pools' (Publish and indexing in Sitecore) we would some times get stale data. (Sitecore)
  • FIX: Variants property on Documents.Product is now part of the default facet indexes for RavenDB.
  • FIX: Products deleted in Ucommerce now gets removed from Sitecore dataprovider. (Sitecore)
  • FIX: Categories deleted in Ucommerce now gets removed from Sitecore dataprovider. (Sitecore)
  • FIX: ProductCatalogs deleted in Ucommerce now gets removed from Sitecore dataprovider. (Sitecore)
  • FIX: ProductCatalogGroups deleted in Ucommerce now gets removed from Sitecore dataprovider. (Sitecore)
  • FIX: Saving products in Sitecore Content Editor and In-Page Editor would some times cause errors to appear in the log.
  • FIX: Using the AsyncPipelineTask would cause data reader errors when indexing products.
  • BRK: AsyncPipelineTask now takes the name of the inner task, excluding "${" and "}".
  • BRK: Pipelines prefixed with their area of concern, e.g. "Checkout" pipeline is now "Baskets.Checkout". Component ids remain the same.
  • BRK: Admin pipelines related to saving and deleting entities in back-end moved to /Ucommerce/Pipelines/Admin folder to clear things up. Component ids remain the same.

Change log for 6.6.6.15141

  • NEW: Datatype for selecting multiple pieces of content for a single field.
  • NEW: Datatype for selecting multiple images for a single field. 
  • NEW: Added an implementation of IRavenDbStoreProvider for an IIS instance.
  • NOTE: Embedded version will still be default choise. Switch by setting the IIS version in custom.config 
  • NEW: Stored procedure to get order number for order now only returns the next number and not the full order number.
  • NEW: NumberSeriesService is now more flexible and easier to extend and format the order number.
  • BRK: Removed the rebuildSchema method from the ISessionProvider interface as the method shouldn't be used.
  • BRK: void IEnsureRolesAreUpToDateService.EnsureRolesAreUpToDate changed to return a bool which indicates whether new roles were added.
  • BRK: EnsureRolesAreUpToDateService.EnsureRolesAreUpToDate reflects changed interface.
  • FIX: User was not properly given permission to see stores they create.
  • FIX: ScratchIndexer would some time remove all documents as modified time was not taken from RavenDB. 
  • FIX: Path for saving data in RavenDB embedded version is now configurable.
  • FIX: Items that a given user should not be able to see will now be filtered away from the tree in the Ucommerce application instead of dimmed. (Sitecore).
  • FIX: Removed the ability to click create on the settings node in the navigation tree if you have no permission to access it (Umbraco7).
  • FIX: You can no longer create campaigns under marketing if you have no access to Marketing under any store.
  • FIX: Increased performance for selecting and browsing images in Image picker (Umbraco7).
  • FIX: It is now possible to set Guids on all entities with a property named Guid and type Guid, if needed.
  • FIX: The height of tabs in Ucommerce backoffice when using the launch pad in sitecore 8.
  • FIX: Image/Content picker properly observe sort order of images and content (Umbraco).
  • FIX: Introduced protected method EmailService.SendEmailInternal() to make it easier to send using something other than SmtpServer like SendGrid.
  • FIX: ServiceStack Windsor adapter TryResolve would always return default(T) and not try and resolve the type.
  • FIX: Dynamic order property target would always trigger on orders when setup to target order lines.
  • FIX: Indexing product data to Raven would sometimes index stale data.

Change log for 6.6.5.15100

  • FIX: Products for category field editor fixed in version 7.1.140130 
  • FIX: DibsPageBuilder now lets DomainService determine the domain.

Change log for 6.6.4.15089

  • NEW: Search option when searching orders which allows from/to date search.
  • NEW: Ucommerce launch pad icon on Sitecore 8
  • FIX: The order overview now shows dynamic orderline properties and orderline discounts.
  • FIX: Order analytics to include the selected end date. 

Change log for 6.6.3.15079

  • NEW: Sitecore8 look and feel for shell application. (Sitecore)
  • NEW: Basket pipeline task removes all orderlines marked as _generated as second task in pipeline to prevent wrong calculation of discounts. 
  • NEW: As default, the data provider now supports the "Is displayed in search results" field for our templates. If you enable this for the thumbnail image on "ProductBaseTemplate", you will see the thumbnail in search results. (Sitecore)
  • NEW: Message shows if no reviews has been placed in reviews tab on store and product editor.
  • FIX: Review tab would some times mess with the entire DOM causing tabs on the product editor to disappear. 
  • FIX: Changed the datatype of AmountOffTotal on the table Ucommerce_Discount from decimal(18,2) to MONEY, the migration will removed all index on the column.
  • FIX: Using inherited definitions would sometimes cause Indexing and Publishing to fail (Sitecore)
  • FIX: Free gift orderlines would sometimes recieve additional discounts even though no further discount should be added.
  • FIX: Error when changing parent category before the category is saved.
  • FIX: Webservice requests to /ucommerceapi could not identify current logged in user, when also logged in as a member causing all authenticated requests to fail e.g. categories picker on categories tab on product editor. (Umbraco)
  • FIX: NHibernate logging enabled using Sitecore's log4net implementation. (Sitecore)

Change log for 6.6.2.15058

  • FIX: Using DynamicProperty() on a multilingual field with no saved value would throw exception.
  • FIX: Saving a rich text value with html tags would throw an exception (Sitecore 8)

Change log for 6.6.1.15055

  • FIX: Setting changeBasketBillingCurrency to true in CatalogLibrary.ChangePriceGroup will now recalculate vat and price for the individual lines.
  • FIX: Permissions for non-admin users was broken in version 6.5.3.

Change log for 6.6.0.15051

  • BRK: AbstractPageBuilder method "BuildHead" has changed signature.
  • BRK: Payment providers are configured in the back-end UI rather than configuration files. Migration instructions at http://docs.ucommerce.net/ucommerce/v6.6/manage-ucommerce/upgrading/move-payment-method-configuration-from-xml-to-ui.html
  • NEW: Sitecore 8 support.
  • NEW: All payment providers support multiple instances with separate configurations.
  • NEW: Updated documentation for all payment providers at http://docs.ucommerce.net/ucommerce/v6.6/payment-providers/index.html
  • NEW: ICacheProvider configured in IoC.
  • NEW: New data type: Enum Multi Select. Define an enum, where multiple values can be selected. The value is a pipe separated list of values.
  • NEW: TransactionLibrary.ClearBasket() to clear the basket for current customer.
  • FIX: Internet Explorer no longer caches result from web services. 
  • FIX: Installing Ucommerce on Sitecore 7.5 and 8 would cause web.config to exceed default max size of 250Kb.
  • FIX: Adyen payments where authorization is "PENDING" are now handled correctly.
  • FIX: Migration script 79 would not work in upgrade scenarios on azure due to not allowing to insert data into a table without a primary key.
  • FIX: Validation bug in inherited definitions would give wrong answer in some situations.
  • FIX: Better visualization of definitions overview. 
  • FIX: Inherited media fields would not be shown under Media tab for the product editor.
  • FIX: PayPal Express service now correctly handles amounts above 1000.
  • FIX: Authorize.Net service upgraded to latest version. This fixes a problem where "acquire" would result in "Credit Card number is required" error.
  • FIX: Content editor shows related products as the product itself rather than the related products (Sitecore).
  • FIX: CatalogLibrary.GetProducts() would only include the current category in the list of categories for a given product.
  • FIX: Implementation of ICacheProvider would throw an exception, when ClearCache() was called.
  • FIX: System.InvalidOperationException: The JsonReader should not be on a token of type StartObject. thrown from Raven due to invalid documents generated during indexing when culture codes were missing on descriptions.
  • FIX: Indexing large sets of products could cause timeouts when reindexing everything from scratch. Products are now indexed in batches of 200 by default (configurable via scratchIndexer.BatchSize property in Search.config).
  • FIX: Infinite loops could in a few instances happen in MarketingFoundation, when calculating discounts.
  • FIX: Header on each page would have hover effect and placeholder "Enter value..." even if the input field was read only.
  • FIX: Styling on tree in Ucommerce shell application in IE fixed. (Sitecore).
  • FIX: Styling on tree in categories picker for the product editor is fixed in IE. (Umbraco6 and Umbraco7).
  • FIX: Better logging, when images cannot be found from Umbraco7

Change log for 6.5.3.14350

  • FIX: Sitecore installer would fail during upgrade from previous versions to 6.5.3.14346 due to race condition when deploying updated dependencies (Sitecore).

Change log for 6.5.3.14346

  • NEW: Support for inherited definitions on products, categories and campaign items. (Thanks to Power house LAIT and MVP's: Nickolaj Lundgreen and Nick Frederiksen for contributing with this feature.)
  • NEW: UI to view all definitions in relations to each other by clicking the 'product definitions node' under settings/definitions
  • NEW: Global Collect OrderId is now saved as TransactionId on the payment.
  • NEW: Updated to NHibernate version 4.0.2.4000
  • NEW: Updated to Fluent NHivernate version 2.0.1.0
  • NEW: Updated to NHibernate.SysCache versuib 4.0.0.4000
  • FIX: Categories picker on product editor now only displays list of already selected categories, the user has access to.
  • FIX: Comparing references on objects would sometimes give wrong result due to NHibernate proxy objects. Equals overridden and comparing on type + id on all entities. 
  • FIX: GetProperties on category did not filter properties associated with another definition away casuing YSOD on the category editor if multiple properties with the same name exists.
  • FIX: Saving a product or a catalog would in some setups create a false detection of a full catalog scan. This would cause the Save to use a huge amount of system resources. (Sitecore)
  • FIX: Improved performance when searching for orders in the backend.
  • FIX: Added correct sorting of ProductCatalogGroups in Sitecore ContentEditor. (Sitecore)
  • FIX: When two out of three orderlines are satisfied and "any target applies" is configured, the discount would only be applied to the first orderline.
  • FIX: The "back" button in the browsers is now enabled for the Ucommerce backend. (Sitecore)
  • FIX: When creating a new catalog and a new category, the category would not be presented in pickers until a reset. (Sitecore)
  • FIX: Sorting on price in the product search list is now correct.
  • FIX: Sorting on the order total in the order search list is now correct.
  • FIX: In case of a PENDING authResult from Adyen, the payment is set to declined. (Adyen)

Change log for 6.5.2.14331

  • FIX: Improved performance when searching for products in the backend.
  • FIX: Search results now display the parent product's name as part of the variant's name.
  • FIX: Removed need for double postbacks on product editor.
  • FIX: Tree no longer wraps when width less than actual size of tree. (Sitecore)
  • FIX: Browser windows smaller than 940px causes the entire editor to go blank. (Sitecore)
  • FIX: Improved performance when saving categories and products.
  • BRK: Removed ProductSearchQuery class.

Change log for 6.5.1.14323

  • NEW: Added ucommerce specific font to support icon as font instead of blue icon. (Umbraco7)
  • NOTE: New font requires clean installation or changing icon on the 'ucommerce' application under '/config/applications.config' to 'icon-ucommerce' instead of old 'ucommerce_tray.png'
  • FIX: Email maps didn't use sets and could cause duplicate instances in the collections as a result.
  • FIX: Redirecting frame url from dialogs after right click actions in the tree, would cause entire page to redirect to Ucommerce editor. (Umbraco7)
  • FIX: Editing relations would only show total list of products and not based on the selected relation type.
  • FIX: Editing the list of related product did not remove the removed items from the list properly.

Change log for 6.5.0.14311

  • FIX: Eventlistener would delete objects covered by cascade on parent object causing a "StaleStateException".
  • FIX: Deleting a product would not reload the frame properly.
  • FIX: Performance improvements when publishing a single item (Sitecore).

Change log for 6.5.0.14310

  • NEW: Catalog item picker based on AngularJS for better performance with large catalogs.
  • NEW: Add products to category from category editor.
  • NEW: Use new catalog picker when setting multi-product targets in Marketing Foundation.
  • NEW: Use new catalog picker when selecting categories for a product.
  • NEW: Use new catalog picker when selecting related products.
  • FIX: Duplicate order numbers would in rare instances be generated under high concurrent transactional volume.
  • FIX: Improved performance when listing orders per order status in back-end.
  • FIX: Improved performance when loading orders/baskets (SingleOrderQuery + SingleBasketQuery).
  • BRK: PurchaseOrderQuery renamed to SingleBasketQuery.

Change log for 6.4.5.14303

  • NEW: ProductTarget rewritten to hold a list of products. Any product from the list will satisfy the target.
  • NEW: General performance enhancements handling collections.
  • NEW: Phone Home for licensing check once a week removed.
  • BRK: ProductTarget Sku and VariantSku columns have been replaces with a Skus column.

Change log for 6.4.4.14301

  • FIX: Un-sealed a number of NHibernate maps to allow customization.
  • FIX: Orders overview Page will no longer throw exception when asking for validation state (Sitecore, Umbraco).

Change log for 6.4.3.14297

  • FIX: When AnyTargetAppliesAwards flag in MarketingFoundation is set, all order lines will always get awards, if any target is satisfied.
  • FIX: AllCategoriesQuery, AllProductsQuery would not always fully hydrate the category and product aggregates (inner vs outer joins).

Change log for 6.4.2.14296

  • FIX: Global Collect, error would potentially occur with HTML encoded values at the end of strings truncated as part of keeping values inside required lengths.

Change log 6.4.1.14295

  • FIX: New input in header for name are no longer thrown away if there's any validation errors.
  • FIX: Marketing service will set internal use of order property to empty string to avoid SQL exception when removing an order property.
  • FIX: Setting an order property or order line property to null and assigning to a new value will no longer cause SQL exception.
  • FIX: Global collect service now truncates address information properly according to limitations to Sitecore.
  • FIX: Marketing service will no longer trigger discounts when AnyTargetAppliesAwards is set to true and pure order line targets are configured.
  • FIX: If a category item was accessed, before the content tree was loaded, the item would be "remembered" as not existing, thus, it would disappear from the list of categories in the Content Editor.

Change log for 6.4.0.14294

  • NEW: Orderline properties prefixed with "_" are now hidden in the back office for order overview.
  • NEW: Sitecore data provider, products are now displayed in a bucket.
  • BRK: Sitecore, Content and Image pickers use master database as default. Change this to original behavior in Shell.config using element <nameOfContentDatabase>web</nameOfContentDatabase>.
  • BRK: Sitecore data provider, products are no longer listed as children on categories in Sitecore data provider. Indexes should point to sitecore/Ucommerce/Products.
  • BRK: Sitecore data provider, products in categories are displayed as an multi list with search. For search to work please remember to reindex master.
  • FIX: Sitecore data provider, 20x performance improvement when publishing and indexing.
  • FIX: Sitecore data provider, reduced warm-up time upon initial request after app pool recycle.
  • FIX: Sitecore data provider, child items would disappear in rare instances in multi threaded scenarios.
  • FIX: Global Collect, if a payment was already cancelled at Global Collect, cancelling it would result in a "Requires Attention" state.
  • FIX: Global Collect, HTML encodes chars invalid in XML sent to the gateway.
  • FIX: Global Collect, when a payment authorization is declined provider will redirect to cancel page and add reason to audit trail.
  • FIX: Global Collect, decline URLs would not recognize optional URL placeholders {protocol}://{domain}:{port}/{language} when building absolute URL.
  • FIX: Deleting definitions and their associated fields through webservices now runs pipelines properly.
  • FIX: More consistent way of telling if you're signed in as a member.
  • FIX: Marketing Foundation advertising would populate targeting context with all products in category, even when there's a single product in context.
  • FIX: Users could access product information from order overview even if they didn't have permission to do so.
  • FIX: New categories would not show up in back-end tree as category structure was cached too aggressively (Umbraco, Sitecore).

Change log for 6.3.2.14281

  • NEW: Optionally configure ComponentsConfig in runtime configuration with the attribute componentsConfig and path e.g: componentsConfig="umbraco\ucommerce\configuration\components.config".

Change log for 6.3.1.14280

  • FIX: Shipment.DeliveryNote could not contain more than 2000 chars even though it's database field is ntext.

Change log for 6.3.0.14269

  • NEW: When publishing dataprovider creates separate product section for all products to keep the number of items to publish as low as possible.
  • NEW: Add billing and shipping addresses for global collect payments.
  • NEW: Global Collect payment provider will automatically decline payment if amount is above or below allowed threshold.
  • FIX: CatalogLibrary.CalculatePrice() would take discounts across all stores into account, even campaigns assigned to other stores than the current store.
  • FIX: Publishing processing speed increased 30x.
  • FIX: Empty CampaignItems would
  • FIX: If localized display name is not available (null or empty) use non-localized product name for order line.
  • FIX: MarketingLibrary.AddVoucher() would report that voucher works even when CampaignItem is disabled.
  • FIX: CampaignItems with no targets configured could block other discounts if "Allow other discounts" is disabled.

Change log for 6.2.3.14263

  • NEW: FreeGiftAward marks order lines it generates with a property of "_generated" set to "true".
  • NEW: Global Collect, ability to override billing country on payment via property "Country" to avoid requirement to create every country with locale.
  • FIX: CategoryTarget would not evaluate all products in a category (issue introduced in 6.2.2.14253).
  • FIX: Added error message to Order Audit trail, when initial payment request is declined by Global Collect.
  • FIX: Concurrency problems in the DataProvider, that would sometimes cause indexing to dead lock. (Sitecore)
  • FIX: ProductIndexer now filters away product properties associated with other definitions than the current one.
  • FIX: Country, if the culture code cannot be converted to a region code (when .NET doesn't support the region) the original value will be passed back rather than causing an ArgumentException.
  • FIX: CatalogLibrary.CalculatePrice() would slow down when customer has items in basket.
  • FIX: Page builders for redirecting customers to hosted payment pages will not force HTTPS, but instead use the same protocol as the request is issued under.

Change log for 6.2.2.14253

  • FIX: If Global Collect rejected the payment authorization attempt, the payment status would remain as "Pending Authorization"
  • FIX: CategoryTarget now targets the correct category in cases where the name of categories are not unique.
  • NEW: IAbsoluteUrlService added for converting a relative url to an absolute one.
  • NEW: Performance improvements for publishing. (Sitecore)
  • NEW: Performance improvements using CategoryTargets.

Change log for 6.2.1.14241

  • FIX: TabViewBuilder uses a Guid for ClientID to avoid duplicate control IDs if the same tab name is used twice.
  • FIX: Deleting a currency and then visiting a price group with the same currency assigned would cause a YSOD.
  • FIX: DefaultTarget- and AwardResolvers load all targets and awards configured in Marketing Foundation to avoid multiple queries to the database.
  • FIX: Removed hardcoded dependency from PriceCalculation to TransactionLibrary. Uses OrderContext instead to enable more testing scenarios.

Change log for 6.2.0.14239

  • NEW: Removed need to synchronize IDTable between environments (Sitecore).
  • NEW: Guids to uniquely identify ProductCatalogGroup, ProductCatalog, Category, Product.
  • FIX: Decreased start-up time for data provider (Sitecore).
  • FIX: When enforceCategoryNameUniqueness is set to false in config multiple deleted categories with the same name would cause an error when creating a new category with the same name.
  • FIX: Languages in Ucommerce back-end matches Sitecore sorting.
  • FIX: Display name of languages in back-end use display name from CultureInfo if available (Sitecore).
  • FIX: Pass calcfee "1" to DIBS instead of value "foo" as the value is present in the return URL from DIBS when the customer returns to the store.
  • FIX: Increased retry window for ServiceStack initialization to 15 secs to avoid race conditions errors during installation with overlapping app pool recycle enabled in IIS (default).
  • FIX: Wrapping of tabs in back-end break layout with multiple rows.

Change log for 6.1.2.14223

  • FIX: DatePicker would change from native format when selecting a new value.
  • FIX: Date pickers would cause YSOD with empty values when saving.
  • FIX: Component config error would take up to a minute to display the error during initialization. Now max 10 secs.
  • FIX: Global Collect rounding error for payment amount on third and fourth decimal.

Change log for 6.1.1.14217

  • BRK: Renamed ISitecoreContext.Database property to ISitecoreContext.MasterDatabase for more expressiveness of API. (Sitecore)
  • NEW: Moved all changes to Sitecore element in web.config to Include folder under App_Config. (Sitecore)
  • NEW: Added new control factory and adapter for new datatype that allows to pick both date and time in all cultures. Converted into universal time.
  • NEW: It is now configurable which Sitecore database the image and content pickers pick from. (Sitecore)
  • NEW: Displays the dates and numbers in the users Regional Iso Code preference. (Sitecore)
  • NEW: Sitecores field "Display Name" can now be set from the Content Edittor. (Sitecore)
  • FIX: Scanning for components.config now ignores: 'obj', 'bin' and 'App_Data' under root since VS publish/Nuget backup would some times add a wrong version under one of those paths.
  • FIX: If tree exceeded available space in vertical direction, no scrollbar would appear. (Sitecore)
  • FIX: Dynamic Date fields would not display correctly in the Content Editor. (Sitecore)
  • FIX: AssignOrderNumberTask would indirectly use the context for finding the ProductCatalogGroup. This would throw an exception in some configurations. (Sitecore)
  • FIX: Added validation in UI for Sku and VariantSku to be max 30 characters long as observed on the database length constraint.
  • FIX: Added cleanup + constraint script for unique culturecode and category on category descriptions.
  • FIX: Payment property could not exceed 4k chars.
  • FIX: Order and order line property could not exceed 4k chars.
  • FIX: Better exception description, when trying to authorize a recurring payment, when the original authorization failed. (Adyen Payment Service)
  • FIX: If a facets query did not use .WithFacets() as the last part of the query, the facets would be ignored.

Change log for 6.1.0.14195

  • BRK: InventoryTask.GetInventortOnHandFieldName method renamed to InventoryTask.GetInventoryOnHandFieldName.
  • BRK: DynamicProperty() extension will now throw an exception if the field accessed isn't defined on the definition for the dynamic entity.
        NB! This change requires update to latest demo store for Umbraco.
  • NEW: Global Collect payment method service supports unique configs per configured instance via payment method definitions.
  • NEW: Convention-based definition support for payment methods. Create a payment method definition with the same name as the service configured for your payment method to enable.
  • NEW: Support for built-in definitions and fields, i.e. non-deleted.
  • NEW: Definition fields support default values.
  • NEW: Property editor that allows to configure and pick content from Ucommerce on content pages in Umbraco. (Umbraco7)
  • NEW: Edit order number on orders in editable state with no prior order number assigned.
  • NEW: DynamicProperty<T>() to support direct conversion to specific type when accessing fields on a dynamic entity.
  • NEW: ShippingMethodTarget allows to target a specific shipping method in marketing foundation.
  • FIX: Dibs page builder now have a virtual method "AddParameters" you can override to add aditional parameters sent to Dibs.
  • FIX: Added descriptions for the application icon in Sitecore for all supported languages (en,da,de,sv).
  • FIX: Added missing regex validator that allows only numbers and letters for name field, for all definition fields.
  • FIX: Available order statuses when changing order status did not observe sort order from the database.
  • FIX: Installing the Ucommerce package now keeps the connections string setting.
  • FIX: We will no longer show a tiny little empty menu when a node in the tree has no options. (Sitecore)

Change log for 6.0.5.14183

  • BRK: Category document, moved ImageUrl property to be a property in the property called "ImageMediaId".
  • FIX: ProductReview and ProductReviewComment would throw NullReferenceException when calling CreatedBy if no customer was linked to the object.
  • FIX: Basket pipeline would fail if no order lines exists on order.
  • FIX: Promocodes for unit level discounts will be included in PriceCalculation
  • FIX: Error in URL for the Ogone payment provider.
  • FIX: The dataprovider would fail to map an enum value if a datatype did not have any enums. (Sitecore)

Change log for 6.0.4.14174

  • NEW: Category now have image url when indexing to raven for primary image.
  • FIX: Product price calculations would reflect promocode unit level discounts in product listings.
  • FIX: Pipeline task would load every product from the database to calculate tax. Now properly only fetches needed ones.
  • FIX: Having null in next order status would return all statuses instead of those only available allways.
  • FIX: Rounding error in VAT calculation would sometimes give a "Purchase order VAT cannot be accurately calculated ..." exception.
  • FIX: Header for each editor page did not allow special characters e.g. having " in the name would cut the rest of the name away.
  • FIX: Content and Image picker was checking for datatype name instead of definition name.

Change log for 6.0.3.14141

  • NEW: Support for setting PaymentMethod, PaymentBrand and other parameters for the Ogone payment provider.
  • NEW: A product can now be selected as a free gift award in marketing foundation.
  • FIX: Facets would not display if the display name of the field did not match the name of the field.
  • FIX: DataProvider improvements in the handling of deleted Ucommerce entities. (Sitecore)
  • FIX: Creating first children for DataTypeEnums and ProductDefinitions would cause errors (Umbraco7)
  • FIX: Secure Trading would some times not find the transaction queried for timing reasons. Added configurable retry strategy.

Change log for 6.0.2.14122

  • FIX: Now correctly respects the disabling of Sitecore Security.
  • FIX: Removed potential "Key is not found" exception in the data provider.
  • FIX: Facets were broken.

Change log for 6.0.1.14120

  • NEW: Secure Trading Payment provider integrated into the core.
  • NEW: When creating a new product, the Sku is used as name, if the Name is not entered. (Sitecore)
  • FIX: Looking for the paymentmethod in the paymentprocessor using name would not find the appropiate one if the name included spaces.
  • FIX: Removed unique name validator on product editor page as not needed.
  • FIX: OGone payment provider did not include all the fields needed for hashing.
  • FIX: Schibsted payment provider did not include order level discounts when creating the payment request.
  • FIX: When running a background thread, the user was not found. (Sitecore)
  • FIX: Installing packages through the admin/UpdateInstallationWizard.aspx page would throw exceptions, when the DataProvider was enabled. (Sitecore)
  • FIX: Creating a new product would not add the product to the category, causing a validation error. (Sitecore)
  • FIX: The indication of HasChildren for categories was wrong, if children were all deleted.
  • FIX: The size of the Ucommerce logo in the "User Defined" template folder was huge. (Sitecore)
  • FIX: Facets was indexed as lowercase.
  • FIX: Sorting of orders by "Submitted Date" was wrong.
  • FIX: Facet index name for product properties was the same as the display name.
  • FIX Targeted .NET Framework 4 for all core projects. Not Umbraco7 and Sitecore, which require .NET 4.5.

Change log for 6.0.0.14094

  • NEW: Umbraco 7 support.
  • NEW: Categories for product are now lazy loaded for faster load of product page. 
  • NEW: It is now possible to create multiple product relations at once.
  • NEW: Payments are now shown on an individual tab in order editor.
  • NEW: All editors show the name of the entity being edited like Umbraco 7 (Umbraco 6, Sitecore).
  • NEW: Permission editor uses the same icons as catalog picker.
  • BRK: MarketingLibrary.AddVoucherCode returns true if the code is valid.
  • FIX: Datepicker now shows when clicking the date field. 
  • FIX: Category and catalog nodes now load faster in all trees.
  • FIX: Deindexing a catalog from RavenDb would try to remove a catalog not associated with the session.
  • FIX: Numbers above two for manual promo codes would cause a validation error.
  • FIX: Newly added promocodes didn't immediately appear in editor once saved.

Change log for 5.3.1.14080

  • NEW: Added Take() to the extension methods for faceted queryables.
  • NEW: Access level for Raven studio can now be configured in IoC. Defaults to None.
  • FIX: Backend shell now uses the UI language (Sitecore).
  • FIX: Editing multilingual variant image properties now possible in the backend shell (Sitecore).
  • FIX: Category targets now filters deleted categories away.
  • FIX: Having an Umbraco radio list property on a category would throw an exception during data binding (Umbraco).
  • FIX: XPathDropDownList datatype would cause an exception when saving (Umbraco).
  • FIX: Retry strategy added for initializing ServiceStack as edge case during install would sometimes cause an issue (Sitecore).
  • FIX: ClientDependency versioning ensures that JavaScript is reloaded when new install is made (Sitecore).
  • FIX: Large category trees would load slowly (3k+ categories spread on two levels).
  • FIX: Indexing multilingual properties for categories and products should not set null or whitespace key for culture.
  • FIX: ScratchIndexer should not index deleted catalogs.
  • FIX: Optimized load time of tabs in backend.
  • FIX: Calling WithFacets() extension method with null would cause a NullReferenceException.

Change log for 5.3.0.14057

  • NEW: Property values can be converted when indexed to search engine. Implement IPropertyValueConverter and register in Custom.config to override property values or change their types.
  • NEW: Index fields containing multiple values so each value can be searched or faceted indiviually.
  • NEW: Index fields containing empty strings will convert them to null.
  • NEW: PurchaseOrder can now be copied to new instance with the same amount of orderlines and order properties on both orderline and order level.
  • NEW: CatalogLibrary.CalculatePrice now also considers order level properties.
  • FIX: Removing a pricegroup would cause the security editor to fail.
  • FIX: Amazon now uses proper implementation of HttpExtractor instead of just the first random implementation.
  • FIX: Adyen no longer throws exception when the payment gateway sends notifications with empty references.

Change log for 5.3.0.14057 (Sitecore)

  • FIX: In some cases we tried to clear the cache of data providers that wasn't initialized at all.
  • FIX: Multilingual variant image properties can now be saved through the Sitecore content editor.

Change log for 5.3.0.14057 (Umbraco)

  • FIX: Installing Ucommerce would fail to insert proper logging levels for Raven and NHibernate.

Change log for 5.2.3.14050

  • NEW: ServiceStack AppHost web service configuration is overridable in Custom.config.
  • NOTE: The moved ServiceStack related classes are closed for extensions and thus never referenced directly your code will keep functioning even though the changes are listed as breaking.
  • BRK: Moved class WindsorContainerAdapter to UCommerce.Web.Api.WindsorContainerAdapter, UCommerce.Web.Api.
  • BRK: Moved class ServiceStackAppHostInit to UCommerce.Web.Api.ServiceStackAppHostInit, UCommerce.Web.Api.
  • BRK: Moved class UCommerceAppHost to UCommerce.Web.Api.UCommerceAppHost, UCommerce.Web.Api.

Change log for 5.2.2.14044 (Umbraco)

  • NEW: Better performance when editing user permissions.
  • NEW: Better performance creating a new price group, when having multiple stores.
  • FIX: Endless loop removed when editing permissions for users with a language that had no culture code.
  • FIX: Viewing orders by order status would not yield results for Orders with no customer or billingaddress.
  • FIX: Sessionprovider is now usable without an IoC container in runtime environment.
  • FIX: Product ratings pipeline now only calculates average rating based on approved reviews.
  • FIX: Permissions now have a constraint to prevent a user having the same permission twice. 
  • FIX: ExternalId now have a constraint to prevent more users linked to the same CMS user.
  • FIX: Category Product relations now have a constraint to prevent multiple relations.
  • FIX: ProductDefinitionFieldDescription now have a constraint to prevent multiple description for the same culture and field.
  • FIX: ProductDescriptionProperty now have a constraint to prevent a product having the same multi lingual property multiple times.
  • FIX: ProductProperty now have a constraint to prevent a product having the same property multiple times.

Change log for 5.2.2.14044 (Sitecore)

  • NEW: Better performance when editing user permissions.
  • NEW: Better performance creating a new price group, when having multiple stores.
  • FIX: Some fields on product variants could not be saved through content editor.
  • FIX: PaymentProcessor failed to determine Sitecore context specific information during checkout pipeline.
  • FIX: Endless loop removed when editing permissions for users with a language that had no culture code.
  • FIX: Viewing orders by order status would not yield results for Orders with no customer or billingaddress.
  • FIX: Sessionprovider is now usable without an IoC container in runtime environment.
  • FIX: Product ratings pipeline now only calculates average rating based on approved reviews.
  • FIX: Allowed Price Groups on the Category template is now ordered by name.
  • FIX: Permissions now have a constraint to prevent a user having the same permission twice. 
  • FIX: ExternalId now have a constraint to prevent more users linked to the same CMS user.
  • FIX: Category Product relations now have a constraint to prevent multiple relations.
  • FIX: ProductDefinitionFieldDescription now have a constraint to prevent multiple description for the same culture and field.
  • FIX: ProductDescriptionProperty now have a constraint to prevent a product having the same multi lingual property multiple times.
  • FIX: ProductProperty now have a constraint to prevent a product having the same property multiple times.
  • FIX: Adding or removing a language in the Master database now correctly updates versions in the Content Editor, without the need to clear the cache.
  • FIX: Modifying a definition or definition field now correctly updates the data in the Content Editor, without the need to clear the cache.

Change log for 5.2.1.14035 (Umbraco)

  • NEW: Better exception descriptions when email content is not configured correctly
  • FIX: Bug preventing creation of products and categories, inadvertently introduced in 5.2.0.
  • FIX: Saving a product would remove it from categories the user did not have rights to see.
  • FIX: Editing a new order with no orderlines would potentially remove only shipment with no way of getting it back.
  • FIX: Added validation for input date fields in Analytics/Orders
  • FIX: Ucommerce shell. Related products link, now opens editor with the parent product.

Change log for 5.2.1.14035 (Sitecore)

  • NEW: Better exception descriptions when email content is not configured correctly
  • FIX: "Number" is now supported for variants and categories.
  • FIX: Removed size limitation on Sitecore field values saved in the Ucommerce database.
  • FIX: Editing a new order with no orderlines would potentially remove only shipment with no way of getting it back.
  • FIX: Saving a product would remove it from categories the user did not have rights to see.
  • FIX: Ucommerce shell. Added validation for input date fields in Analytics/Orders
  • FIX: Ucommerce shell. Related products link, now opens editor with the parent product.

Change log for 5.2.0.14030 (Umbraco)

  • NEW: The orders are no longer displayed as nodes in the tree in the Ucommerce shell by default.
  • NEW: Price group target in Marketing Foundation.
  • NEW: Better performance of Basket API, when retrieving properties on a basket.
  • FIX: Added a new BooleanConverter, to handle the situation where an empty string is returned for a boolean property.
  • FIX: Better check for web context when asking for current username.
  • FIX: Reload of umbraco tree nodes when moving a category.
  • FIX: Adding new order line now updates the view.
  • FIX: Display of Shipping Method and Media page for products would not frame the controls properly.
  • FIX: Generate voucher dialog did not always respect the back office language.
  • FIX: Adding a new order manually could add a deleted shipping method or language.

Change log for 5.2.0.14030 (Sitecore)

  • NEW: The orders are no longer displayed as nodes in the tree in the Ucommerce shell by default.
  • NEW: Price group target in Marketing Foundation.
  • NEW: Better performance of Basket API, when retrieving properties on a basket.
  • FIX: Added a new BooleanConverter, to handle the situation where an empty string is returned for a boolean property.
  • FIX: Categories list would sometimes give a wrong list of categories.
  • FIX: Better check for web context when asking for current username.
  • FIX: Sitecore editors did not refresh when dialogs are closed.
  • FIX: Adding new order line now updates the view.
  • FIX: Display of Shipping Method and Media page for products would not frame the controls properly.
  • FIX: Generate voucher dialog did not always respect the back office language.
  • FIX: Adding a new order manually could add a deleted shipping method or language.

Change log for 5.1.1.14007

  • NEW: Schibsted payment provider.
  • FIX: Tax rate was calculated without taking discounts into account.

Change log for 5.1.0.13354

  • NEW: Added ability to remove shipment on order.
  • NEW: Added ability to move Category to new parent.
  • NEW: Adyen payment provider with recurring support.
  • BRK: Removed paymentmethodservice from PaymentUrlInformation as reduntant.
  • BRK: CreatePayment now returns the actual payment rather than void.
  • FIX: Saving an order will only remove an empty shipment if another one exists.
  • FIX: Paymentmethod services can now be extracted in the paymentprocessor by name.
  • FIX: Edit promo code preview now works properly.
  • FIX: Minor styling issues with promo code generation dialog.
  • FIX: Basket cookie life extended by 30 days every time it is fetched rather than only when created.
  • FIX: Creating a new ENUM data type would create temporary problems until data is reloaded.

Change log for 5.0.0.13332: Ucommerce for Sitecore

  • NEW: Creating a new language in Sitecore triggers creating a new index in RavenDB.
  • NEW: Security settings from Securityfoundtaion are reflected in content editor for stores and catalogs.
  • NEW: Ability to extend the UcommerceApi web app host with your own services. Added markerinterface to implement and configure in custom.config.
  • BRK: Pulled away Servicestack services for frontend.
  • BRK: ISecurityService extended with 1 method that can provide access information for a given object for a given user.
  • FIX: Prerequisites for installing Ucommerce for sitecore
  • FIX: Missing icon in tray in desktopmode of Sitecore
  • FIX: Image size on images may exeed frame in imagepicker in shell.
  • FIX: Display names are getting prefilled for every entity when they are created.
  • FIX: ContentPicker now have a safe cast on contentId preventing it from throwing exceptions.
  • FIX: Some minor styling issues.
  • FIX: Entities now have the same default settings and supposed when creating them.
  • FIX: Now properly adding roles for user when creating a new store.
  • FIX: Validation error when saving ucommerce items in content editor due to broken link fixed.
  • FIX: Scrupped all JS files for Console.log
  • FIX: Content Editor much more responsive to changes in Ucommerce data.
  • FIX: Content Editor now reacts with a correct "item could have been deleted" error when it can't find the corresponding Ucommerce item.

Changelog for 4.0.6.13304

  • FIX: Category display name and description weren't indexed.
  • FIX: Custom category properties weren't stored.

Change log for 4.0.5.13302

  • FIX: Marketing Foundation would not include campaigns with on the same date as "StartsOn".
  • FIX: SoftDeletable repository would not return deleted entities when specifially asked for them.
  • FIX: Deleted fields with same name as non-deleted would sometimes cause editor to not get the proper value and cause NullReferenceException.
  • FIX: Products with duplicate properties would fail getting indexed.

Change log for 4.0.4.13301

  • FIX: Extensive RavenDB logging.
  • FIX: Category propertiy queries were not automatically batched by NHibernate.
  • FIX: Indexing upon deleting a category would cause an exception.
  • FIX: Changing category name would not be reflected in the tree.
  • FIX: Improved performance when indexing large catalogs with thousands of categories.

Change log for 4.0.3.13287

  • FIX: PayPal recurring payment provider would remove decimal of payment amount.
  • FIX: PayPal providers used "Sum" for item description rather than actual product name.
  • FIX: When creating or deleting a language in Umbraco subsequent calls the search engine would throw an error.

Change log for 4.0.2.13277

  • FIX: Orders without CompletedDate would not be displayed in the backend unless filter is set to "all".
  • FIX: Campaigns could not be assigned to all stores at once.
  • FIX: Improved security on promocode export.
  • FIX: Newly generated promocodes would not immediately should up in the campaign editor

Change log for 4.0.1.13255

  • FIX: Billing address line 2 not sent to SagePay.
  • FIX: Ucommerce 4 licensing.

Change log for 4.0.0.14239

  • NEW: Faceted search API via SearchLibrary.
  • NEW: Promote product fields to facets.
  • NEW: Multilingual faceted search indexes for facets and facet values (enums).
  • NEW: Multiple price group support in faceted search.
  • NEW: Consolidation of multiple facet values into one via enum mapping.
  • NEW: Pluggable facet factories for setting up custom facets.
  • NEW: CatalogLibrary.ChangePriceGroup() API for easier multi-currency and -price list scenarios.
  • NEW: Set up multiple allowed price groups on individual catalogs.
  • NEW: Full low-level search engine.
  • NEW: Scratch indexer for full indexing of all information.
  • NEW: Save/Delete pipelines for DataType, Language, Definition, DefinitionField, ProductCatalogGroup, ProductCatalog.
  • FIX: Product categorization editor did not properly sort catalogs and categories.
  • BRK: Removed IOrderContext.GetAvailableShippingMethods() method. Use TransactionLibrary.GetShippingMethods instead.
  • BRK: Removed OrderContext.GetAvailableShippingMethods() method. Use TransactionLibrary.GetShippingMethods instead.
  • BRK: Added ICatalogContext.CurrentPriceGroup.
  • BRK: Added IDefinition.Guid.

Change log for 3.6.4.13211

  • FIX: Reports did not take billing currency from order into account when summarizing results.

Change log for 3.6.3.13183

  • NEW: Performance improvements and enhancements for Marketing Foundation.
  • NEW: PayPal Express payment provider. Much simpler setup. No certs required. Auth, Acquire, Void, Refund supported as always. Thanks to Morten Bock for contributing it.
  • NEW: XSLT API CommerceLibrary:GetProductById(catalogName, productId).
  • NEW: XSLT API CommerceLibrary:GetCategoriesForProduct(catalogName, productId).
  • NEW: .NET API Product.AddCategory(category, sortOrder).
  • FIX: Money.ToString() will use the current culture rather than invariant culture by default.
  • FIX: CommerceLibrary:FormatCurrency() includes thousands separator.
  • FIX: Product.GetPrice(PriceGroup) would throw a NullReferenceException if no price is set up for requested price group.
  • FIX: Media fields were not properly aggregated under the Media tab for products.
  • FIX: When upgrading to 3.6 dynamically compiled assemblies for cshtml, aspx, ascx, etc. would throw an exception when using ObjectFactory directly in view code.

Change log for 3.6.1.13149

  • FIX: Discount specific order line award saved with "Any" as the value in the target an exception would occur.
  • FIX: Overflowing order level discounts applied to shipping and payment fees would be added incorrectly.
  • FIX: Category product listing would be duplicated for products with multiple price groups attached.
  • FIX: Multi node tree picker did not retain view state after save in variant editor.
  • FIX: Authorize.net payment provider would throw an exception when credit card is declined rather than displaying the configured decline page.

Change log for 3.6.0.13142

  • NEW: Fix Umbraco DLL hell by rolling out dependencies to /bin/ucommerce.
  • NEW: Dependencies like NHibernate, Castle Windsor are downloaded from NuGet on install.
  • NEW: ePay payment provider updated to use latest version of payment window.
  • FIX: WorldPay provider updated to use the latest form URLs.
  • FIX: Deleting an order line would cause an exception on subsequent save in order editor.
  • FIX: Locales for users like US English would cause an error when loading the commerce tree due to non-standard representation of culture locale, e.g. en_us instead of en-us.
  • FIX: Excessive logging from NHibernate causing log files to grow massive.
  • FIX: When license exceeds its activation limit an exception would be thrown trying to load version number from license.
  • FIX: Products without a price in configured price group on catalog would not show up in backend even when put in category in that catalog.
  • BRK: Installer types moved from UCommerce.Umbraco.dll to UCommerce.Umbraco.Installer.dll.

Change log for 3.5.0.13091

  • NEW: Place new orders in back-end.
  • NEW: Add new shipments to orders in back-end.
  • NEW: Drag and drop order lines between shipments in back-end.
  • NEW: Change order status on multiple orders in back-end.
  • NEW: Add discounts to existing orders in back-end.
  • NEW: Edit discounts on existing orders in back-end.
  • NEW: Edit billing information for existing orders in back-end.
  • NEW: Edit shipping information for shipments in back-end.
  • NEW: Edit unit prices on existing order lines in back-end.
  • NEW: Filter order lists in back-end by orders from "Today", "This Week", "This Month", "Last 3 Months", "This Year", "All".
  • NEW: QuickPay payment provider.
  • NEW: Nets Netaxept payment provider.
  • NEW: SaveCategory and DeleteCategory pipelines in back-end.
  • NEW: Ucommerce will use overriden connection string from "commerce" section to install in separate database for upgrade scenarios.
  • NEW: Paging in variant editor when there are more than 100 variants present on a single product.
  • FIX: Saving a product with a large amount (1k+) of variants 100x faster.
  • FIX: Security Foundation would fail when showing security roles for cultures not supported by CultureInfo.
  • FIX: Multiple properties with the same name will no longer cause an exception in the product editor.
  • FIX: Licensing should not be activated for JSON/XML service requests.
  • FIX: Validation would trigger for empty variant for required fields are with no user input.
  • FIX: Category.RemoveProduct and Product.RemoveCategory would only remove product from category if both are called.
  • FIX: Ogone payment provider used erronous production URL.
  • BRK: EditCategoryPresenter requires constructor (requires recompile against new binaries).
  • BRK: Extension method AddOrderGuidParamter renamed to AddOrderGuidParameter (requires recompile against new binaries).

Change log for 3.0.8.13078

  • NEW: Logging interceptors on API configurable via XML.
  • FIX: DynamicOrderPropertyTarget did not evaluate properly when combined with a ProductTarget.
  • FIX: Enum values duplicated in the product editor.
  • FIX: Product mapping did not cascade deletes, i.e. Product.RemoveVariant(variant) did not work.

Change log for 3.0.7.13056

  • FIX: Improved performance when displaying a product in back-end with many Umbraco data types enabled (30+).
  • FIX: Further improved performance in products lists in back-end.

Change log for 3.0.6.13052

  • FIX: Improved performance when viewing categories in back-end with many products.
  • FIX: Improved performance when viewing a single product with many properties.
  • FIX: Improved performance when saving a single product with many multi-lingual properties.

Change log for 3.0.5.13045

  • NEW: Made Current properties on CatalogContext virtual to allow for more easily overriding CatalogContext.
  • NEW: SessionProvider accepts IUserService dependency in ctor for easier testing support.
  • FIX: PriceCalculation did not provide product context to TaxService. Thanks Fabrice.
  • FIX: Removing product from category would produce a save cascade error in rare instances.

Change log for 3.0.4.13032

  • NEW: Umbraco 6 support.
  • FIX: Admin UIs didn't take up entire vertical space in IE8 compatibility mode.
  • FIX: Licensing service would fail to determine embedded license version in rare instances.

Change log for 3.0.3.13009

  • FIX: PayPal provider couldn't authorize new payments per updated payment status response "pending" instead of expected "completed" from PayPal.
  • FIX: When installed in non-standard CMS path, e.g. /MyCms instead of /Umbraco, dialogs would cause parent page to display a 404 when closed.

Change log for 3.0.2.12355

  • NEW: Checkout pipeline configured automatically for default payment methods Account and Invoice.
  • FIX: ePay payment provider didn't set language for remote form based on order culture.
  • FIX: Catalogs for deleted stores shouldn't count against license restrictions.
  • FIX: Order discount total used for display purposes only would include order levels discounts twice.

Change log for 3.0.1.12331

  • NEW: License keys for newer versions work with older version, e.g. a 3.0 key works for 2.0 and 1.0.
  • FIX: Review list remained unpopulated in product editor.
  • FIX: Order editor did not update with new values on saving.
  • FIX: DataTypeDefinitions with all UPPERCASE names would get a space between all letter, e.g U P P E R, which should remain UPPER.
  • FIX: Umbraco DataTypeControlFactory would fail for data type definitions, which don't produce a DataEditor or DataType object.

Change log for 3.0.0.12320

  • NEW: Better validation messages for variant editor.
  • NEW: Payment method service inheriting ExternalPaymentMethodService will force redirect instead of waiting to the thread to finish to avoid subsequent redirects breaking the flow.
  • FIX: Friendly URLs no longer include duplicated dashes.
  • FIX: XML renderes for percentage based awards would output localized decimals, e.g. "10,10" instead of "10.10".
  • FIX: Marketing Foundation, Order total target would not display updated amount before postback.
  • FIX: Marketing Foundation, Campaign items with only order-level targets would evaluate to true always (affects only 3.0).
  • FIX: Marketing Foundation, Better support for evaluating targets when editing baskets.
  • FIX: PurchaseOrder.DiscountTotal includes all types of discounts: Order-, Order line-, and shipping discounts.
  • FIX: Removing a product from a category would remove all products in that category.

Change log for 3.0.0.12306

  • NEW: Price group information is rendered with product catalog XML.
  • FIX: Removing product from a category would remove it from all categories.
  • FIX: Products not in a category would not show up in back end search.
  • FIX: Going to product definition from product search would cause a 404.
  • FIX: Viewing thousands of orders in the back end would take around 10 seconds to load up. Now down to less than 1.
  • FIX: Marketing Foundation, Dynamic order property target would take 2+ seconds to load with many dynamic order properties (150,000+).
  • FIX: Product search used German localization for header when using Danish language.
  • FIX: Discount renderers did not take catalog setting "show prices including VAT" into account.
  • FIX: Orders belonging to a deleted store would be filtered from the orders list.

Change log for 3.0.0.12303

  • NEW: DynamicProperty() support on Category and Campaign.
  • FIX: DynamicProperty() support for multilingual fields on Product.
  • FIX: Missing registration of client side namepace "Umbraco.Controls" when using uComponents UI Modules.
  • FIX: Data type control factory did not properly pick up all uComponent data types.
  • FIX: Multilingual field validation message didn't display proper locale in message.
  • FIX: Licensing would kick in for Umbraco dialogs involing Ucommerce content.

Change log for 3.0.0.12298

  • NEW: Updated log4net dependency to 1.2.11.0 in anticipation of Umbraco 4.10 using it.
  • FIX: PayEx payment provider would throw an exception on bad payments instead of just setting payment status to declined.
  • FIX: Licensing kicked in for service requests for JSON/XML. Ignoring application/json and application/xml accept types.
  • FIX: YSOD would occur if selected component id on payment- or shipping method does not exist in config.

Change log for 3.0.0.12290

  • FIX: Deleted default store would still be used if no other default store with lower database rank existed.
  • FIX: Multilingual category media would show in both language- and media tabs.
  • FIX: SendEmailTask disregarded culture code stored on order when sending e-mails.
  • BRK: IEmailService signature changed. Added ILocalizationContext parameter to support above scenario.

Change log for 3.0.0.12286

  • FIX: Adding product with overriden currency to basket didn't use the overrriden currency.
  • FIX: SendEmailTask uses catalog context to find e-mail profile instead of the product catalog group stored on the purchase order.
  • FIX: Expose TransactionLibrary.RequestPayment(s) methods.

Change log for 3.0.0.12278 

  • NEW: .NET Framework 4.0 required.
  • NEW: Windows Azure Websites compatibility (requires clean install).
  • NEW: Razor optimized API (using UCommerce.Api).
  • NEW: Experimental support for Umbraco data types including uComponents data types.
  • NEW: Content data type.
  • NEW: Custom data types for definitions (IControlFactory and IControlAdapter interfaces).
  • NEW: Display field descriptions for custom properties in all editors.
  • NEW: Sorting and filtering for lists.
  • NEW: Sorting of fields on definitions.
  • NEW: Save product pipeline for easier plug into save event in backend.
  • NEW: New basket API will auto discover currency for new baskets.
  • NEW: CatalogContext will auto discover current catalog for store.
  • NEW: Discount specific order line (great for bundles!).
  • NEW: Target dynamic order properties in Marketing Foundation.
  • NEW: All tax calculations centralized to ITaxService.
  • NEW: Relative URLs for accept/cancel URLs for all payment providers.
  • NEW: PaymentMethodServices are registered in /configuration/Payment.config instead of web.config.
  • NEW: ShippingMethodServices are registered in /configuration/Shipping.config instead of web.config.
  • NEW: Name property removed IPaymentMethodService and IShippingMethodService interfaces.
  • NEW: Unified dynamic property handling on Product, Category, and Campaign Item via IDynamicEntity.
  • NEW: Builds are version with year + day number of year, e.g. 2012/09/26 is 12270 (day 270 of 2012).
  • NEW: Automatic lifestyle selection for configured IoC components (API easier to use in apps and web services).
  • NEW: Delete product pipeline.
  • NEW: Persistent component overrides via Custom.config.
  • NEW: Ability to turn off Security Foundation.
  • FIX: Adding a product without price to basket would cause an exception.
  • FIX: SagePay and eWAY payment providers would fail on missing customer information.
  • FIX: Ogone provider did not enable MasterCard.
  • FIX: Targets implementing both IPurchaseOrderTarget and IOrderLineTarget would be duplicated in Act list.
  • FIX: Trees are not duplicated when reinstalling.
  • FIX: Ucommerce section shows up as undefined in Umbraco.
  • FIX: Tab would incorrect set focus when creating product relations for products without variants.
  • BRK: Foreign keys removed from entities, use entities for relations instead, e.g. PurchaseOrder.CustomerId becomes PurchaseOrder.Customer.CustomerId.
  • BRK: Some .NET method signatures have changed. Your existing solution needs to be recompiled against 3.0.
  • BRK: IPricingService returns Money objects instead of PriceGroupPrice objects.

Change log for 2.6.1.0

  • FIX: Google Checkout payment provider did not take shipping fees and order level discounts into account.

Change log for 2.6.0.0

  • NEW: Quantity target for order- and line aggregate- and individual line quantity targeting.
  • NEW: Multi targeting for categories.
  • NEW: Multi targeting for catalogs.
  • NEW: Improved bundle support.
  • NEW: Order line qualifier for discounts (IOrderLineQualifier).
  • NEW: Revamped act targeting engine for Marketing Foundation produces more predictable results for order line discounts.
  • NEW: Improved support for combining multiple targets on a single campaign item.
  • NEW: IWebControlAdapter interface for saving values from custom controls.
  • FIX: BOGOF support for mix discounts.
  • FIX: Category target did not display properly for users without permission to any product catalog groups.
  • FIX: NHibernate matches Umbraco Courier to avoid conflicts when both Ucommerce and Courier are installed.
  • FIX: PayPal payment provider would in rare cases fail on verification of business id.
  • FIX: Calculating order totals would round decimals to two places, which would cause tiny amounts to be rounded to zero.
  • FIX: Deleting a price group in Enterprise Edition would cause permission editor to fail.
  • NOTE: If you created assembly redirects for NHibernate or FluentNHibernate in web.config please remove them.

Change log for 2.5.2.0

  • FIX: Updated TinyMCE to 2.4.9 to fix issue with multiple RTEs on same page in Firefox.
  • FIX: Custom product images fields are now displayed with the image and name instead of just the name.

Change log for 2.5.1.0

  • NEW: Order guid included automatically on accept URL for all payment providers.
  • NEW: Authorize.Net payment provider supports itemizing receipt on gateway and adding logo.
  • NEW: ePay payment provider supports instant capture.
  • FIX: Authorize.Net payment provider sends customer e-mail with the payment request.
  • FIX: Searching for order numbers in backend would cause an error.
  • FIX: Surplus order total discounts from order sub total will be applied to shipping total and payment total. In that order.
  • FIX: Custom audit messages were not saved to the order.

Change log for 2.5.0.0

Security Foundation overview video.

  • NEW: Security Foundation adds business and role based authorization.
  • NEW: Security roles for foundations.
  • NEW: Security roles for catalog management.
  • NEW: Security roles for order management.
  • NEW: Security roles for campaign management.
  • NEW: Distributed catalog management for Enterprise Edition.
  • NEW: Distributed order management for Enterprise Edition.
  • NEW: Configure which languages are available in any given store.
  • NEW: Store specific campaigns.
  • NEW: Authorize.NET provider with authorize, acquire, void, and refund.
  • NEW: Amazon Payments provider with authorize, acquire, void, and refund.
  • NEW: Google Checkout provider with authorize, acquire, void, and refund.
  • NEW: Braintree Payments provider with authorize, acquire, void, and refund.
  • NEW: Ogone payment provider with authorize, acquire, void, and refund..
  • NEW: MultisafePay with acquire and callback support for updates in MultiSafepay back office.
  • NEW: Ideal (via ING bank) with acquire.
  • NEW: eWAY Payment Provider (AU) with authorize.
  • NEW: Automatic recheck of license when the license is exceeded. No more apppool recycles.
  • FIX: Newly added voucher codes would not immediately be picked up by the basket pipeline.
  • FIX: CommerceLibrary:RequestPayments() caused "collection modified error" when using DefaultPaymentMethodService.
  • FIX: Shipments created with CommerceLibrary:CreateShipment() would require a database roundtrip before showing up on the order.
  • FIX: E-mail service would fail with Umbraco configured to use domain prefixes (useDomainPrefixes on).
  • FIX: In very rare instances Ucommerce would to revert to developer mode with a valid license present.

Change log for 2.1.0.0

  • NEW: "Amount off order total" and "Percentage off order total" award are now applied on the order level when same VAT rate is used on all order lines.
  • NEW: Advertise now uses OR instead of AND for displaying advertising information.
  • NEW: Differentiated VAT on order lines supported by order level discounts by spreading the discount total across all order lines.
  • NEW: Basket pipeline tasks for calculating PurchaseOrder SubTotal and TaxTotal.
  • NEW: Added Swedish translations for the Admin UI.
  • NEW: Added German translations for the Marketing UI.
  • NEW: CommerceLibrary:GetPurchaseOrderByPaymentReference extension - useful when displaying the order confirmation page.
  • NEW: Added payment guid to new payments to make it impossible to guess payment ids passed to payment gateways.
  • FIX: Added state to the billing information sent to SagePay.
  • FIX: Recreating a root category with the same name as deleted one deeper in the catalog structure would cause it to reappear in the location instead of in the root.
  • FIX: CreatePayment did not add the new payment to the order thus a refresh of order was required for payment to be added.
  • FIX: CommerceLíbrary:GetNiceUrlForCategory did not work for category name, only for category ids.
  • FIX: CommerceLibrary:GetProduct would load product by id before SKU.
  • FIX: Made default PricingService members virtual for easier overrides.
  • FIX: Made the default TaxService members virtual for easier overrides.
  • FIX: URLs are pruned more extensively for illegal chars. Names are trimmed for trailing "." chars.
  • FIX: Missing speech bubble when saving categories.
  • FIX: Length of Shipment name could not accommodate long display names from Shipping Methods.
  • FIX: Order overview displayed name from Customer instead of Billing Address.
  • FIX: Added better error message when trying to send an e-mail type which does not exist.
  • FIX: Campaign items for deleted campaigns would be evaluated for discounting.
  • FIX: "Amount off order line total" and "Amount off unit price" would only get applied to the first satisfied order line.
  • FIX: Next campaign item would not get evaluated if "Allow next" was unchecked and one order level target was satisfied while line level was not.
  • FIX: Product catalog target crashing with catalogs named the same in different stores.
  • FIX: Product catalog group target crashing with one deleted group with the same name as a non deleted group.
  • FIX: Removed addtional special chars from URLs generated by UrlService.
  • FIX: Product 10 report mark had closing tags for table and div reversed.

Change log for 2.0.5.0

  • NEW: Catalog XML structure now contains showPricesIncludingVat config value and selected priceGroupId (Thanks to Kim Hansen for suggesting the feature).
  • NEW: RBS WorldPay provider now supports accept and decline URLs for custom response pages (Thanks to Chris Knowles for suggesting the feature).
  • NEW: Free Edition will enable a single language (as specified in CatalogConfiguration defaultCultureCode).
  • NEW: Order audit trail is updated when an order line is deleted.
  • NEW: Order audit trail is updated when a discount is deleted.
  • FIX: Order audit trail did not reflect new entries until page was refreshed.
  • FIX: When running Free Edition access could not be set for new shipping methods.
  • FIX: When running Free Edition template for e-mails could not be selected.
  • FIX: CommerceLibrary:SetOrderProperty would not save the property.
  • FIX: Payment XML did not contain referenceId.

Change log for 2.0.4.0

  • FIX: CommerceLibrary:DeleteLineItem would cause an error when deleting.
  • FIX: CommerceLibrary:GetBasket would display old shipping method id after changing shipping method until subsequent request.

Change log for 2.0.3.0

  • FIX: Disabled payment methods would be returned as available for product catalog groups.

Change log for 2.0.2.0

  • FIX: Null display name for shipping method would cause a transient error in NHibernate when saving a new shipment.
  • FIX: Get Product Top 10 report included "Cancelled orders" instead of "Requires Attention".
  • FIX: Store sales total report, which didn't get transformed to the proper type safe object and casued an exception at runtime.
  • FIX: Uninstalling would leave cache config behind, which would have to to be removed manually.
  • FIX: Calculating totals in basket pipeline would cause totals with more than two decimals.
  • FIX: Shipment fields Tax, TaxRate, and ShipmentTotal were not rendered in order XML.
  • FIX: Add variant SKU to Product Top 1o Reports.

Change log for 2.0.1.0

  • NEW: Removed definition restriction from Ucommerce Free Edition.
  • FIX: XSLT extension for loading order history throws exception.
  • wFIX: PurchaseOrder ModifiedOn was always set to the date when the order created instead of when it was last updated.

Change log for 2.0.0.0: Marketing Foundation

  • BREAKING: UCommerce.Entities replaced by UCommerce.EntityV2.
  • Information on migrating .NET code to 2.0.
  • BREAKING: Ucommerce 2.0 will not work with existing 1.0 keys.
  • NEW: Ucommerce Free, Charity, Pro, Enterprise Editions.
  • NEW: Time limited marketing campaigns.
  • NEW: Site ads based on Umbraco content.
  • NEW: Multilinugal site ads.
  • NEW: Prioritize order of evaluation of campaign items.
  • NEW: Targeted ads and content based on the customer's context.
  • NEW: Targeted discounts based on the customer's context.
  • NEW: Percentage off shipping fee (Free shipping discounts).
  • NEW: Unit price discount (percentage off).
  • NEW: Order total discount (amount and percentage off).
  • NEW: Order line discount (amount and percentage off).
  • NEW: Product bundle discount (amount and percentage off).
  • NEW: Buy 2 get 1 free discount.
  • NEW: Free shipping vouchers/promocodes.
  • NEW: Personal, single use vouchers.
  • NEW: Generic, multiuse vouchers.
  • NEW: Product vouchers/promocodes.
  • NEW: Product group vouchers/promocodes.
  • NEW: Store specific vouchers/promocodes.
  • NEW: Voucher/promocode export to third party systems.
  • NEW: Target combinations.
  • NEW: Award combinations.
  • NEW: Configurable rules for multiple awards per customer behavior.
  • NEW: XSLT extensions for working with Marketing Foundation.
  • NEW: .NET API for working with Marketing Foundation.
  • NEW: Extendable framework for adding custom targets and awards.
  • NEW: Dynamic UI support for custom targets and awards.
  • NEW: View information about applied campaigns and discounts in backend.
  • NEW: Edit order discounts in backend.
  • NEW: Recurring payments with PayPal (subscriptions).
  • FIX: Performance improvements when generating nice urls for large product listings.
  • FIX: CommerceLibrary:GetCatalog would load by name only, instead of name and catalog group.
  • FIX: XSLT outputs prices in US format exclusively instead of based on server/browser locale.
  • FIX: Upped timeout on installer due to failure on slow machines and 30 sec timeout on database connection.
  • FIX: Submitting reviews with no rating for products with no prior ratings would cause an error.
  • FIX: Products with integers for SKUs could not be loaded by SKU, only by product id.
  • FIX: Fallback to product name when no display name is set.
  • FIX: Customers could be dulicated when creating them using EditCustomer extensions.

Change log for Ucommerce 1.5.1.0

NEW: EmailService accepts multiple CC and BCC addresses for e-mail (comma separated in admin gui).
NEW: EmailService can insert dynamic data in subject and for template, e.g. "Confirmation for order number {orderNumber}." combined with Send() which takes a dictionary parameter.
NEW: Purchase order maintains a ModifiedOn field to make it easier to discover abandoned baskets.
NEW: Shipments can have tax applied via new CalculateShipmentTaxForShipments pipeline task.
FIX: SendEmailTask will use the culture code on the purchase order instead of current thread for the language of e-mail.
FIX: Payment fee added to requested amount automatically.
FIX: Rich text editor would change URLs to be relative to the editing page.
FIX: Billing- and shipping addresses would be duplicated with each call to EditBillingAddress and EditShipmentInformation.
FIX: Order lines will contain information about both the product family and variant instead of just the variant.
FIX: Performance increases when generating nice URLs for catalog, categories, and products using ids instead of names and SKUs.
FIX: Culture codes will hold codes longer than five chars, e.g. en-029 for Carribbean.
FIX: Umbraco installs done via Web Platform Installer would not grant db user exec permissions on stored procs.
UPD: Updated to NHibernate 3.1 (including Castle Windsor and FluentNHibernate).
(Thanks to Tim Gaunt from The Site Doctor, Fabio Bongiovanni from Taipan, and Jeavon Leopold from Crumpled Dog for helping with this release).
  • NEW: EmailService accepts multiple CC and BCC addresses for e-mail (comma separated in admin gui).
  • NEW: EmailService can insert dynamic data in subject and for template, e.g. "Confirmation for order number {orderNumber}." combined with Send() which takes a dictionary parameter.
  • NEW: Purchase order maintains a ModifiedOn field to make it easier to discover abandoned baskets.
  • NEW: Shipments can have tax applied via new CalculateShipmentTaxForShipments pipeline task.
  • FIX: SendEmailTask will use the culture code on the purchase order instead of current thread for the language of e-mail.
  • FIX: Payment fee added to requested amount automatically.
  • FIX: Rich text editor would change URLs to be relative to the editing page.
  • FIX: Billing- and shipping addresses would be duplicated with each call to EditBillingAddress and EditShipmentInformation.
  • FIX: Order lines will contain information about both the product family and variant instead of just the variant.
  • FIX: Performance increases when generating nice URLs for catalog, categories, and products using ids instead of names and SKUs.
  • FIX: Culture codes will hold codes longer than five chars, e.g. en-029 for Carribbean.
  • FIX: Umbraco installs done via Web Platform Installer would not grant db user exec permissions on stored procs.
  • UPD: Updated to NHibernate 3.1 (including Castle Windsor and FluentNHibernate).

Thanks to Tim Gaunt from The Site Doctor, Fabio Bongiovanni from Taipan, and Jeavon Leopold from Crumpled Dog for providing feedback for this release.

Change log for Ucommerce Store 1.1.1.0

  • NEW: Prices will be indexed by Google and displayed as part of search results.
  • FIX: Performance increase generating nice URLs using ids.
  • FIX: Product list would be placed after categories list.

Change log for Ucommerce 1.5.0.2

  • NEW: Added product id to rendered XML for product.
  • NEW: Added vat rate to rendered XML for order lines.
  • FIX: SagePay provider did not pass on customer e-mail and delivery phone to SagePay.
  • FIX: Calculate order total pipeline task didn't subtract order line discount from order sub total.

Change log for Ucommerce 1.5.0.1

  • FIX: Product thumbnail and primary image could not be saved.

Change log for Ucommerce 1.5.0.0

  • NEW: Nice URLs for catalog, categories, and products. Use CommerceLibrary:GetNiceUrlForCatalog, GetNiceUrlForCategory, GetNiceUrlForProduct.  Nice URLs Optimize Webshop Google Page Rank with Ucommerce.
  • NEW: Category definitions: Add custom properties to categories.
  • NEW: Social commerce with product reviews, ratings, and comments.  Social Commerce Explained: Product Ratings, Products Reviews, and Comments.
  • NEW: ProductReview and ProductReviewComment pipelines extension point to override default behavior.
  • NEW: Optional moderation of new reviews and comments (configure setting on individual product catalog groups).
  • NEW: XSLT extension for getting entire category hierarchy for catalog GetRootCategories(CatalogName, true).
  • NEW: Full Razor support  Building Webshops with Umbraco, Razor, and the Ucommerce E-commerce Framework. Oh My!.
  • FIX: Related products picker buttons would be placed far down the dialog when picking from a long category list.
  • FIX: Custom product images would display a textbox instead of media picker UI.
  • FIX: SKU / category name longer than 30 chars caused an error.
  • FIX: Removed price editing checkboxes for easier management of price information.
  • FIX: Creating members during checkout would fail if a member with the same e-mail but different user name existed.
  • FIX: Disabled payment methods would still be returned when retrieving available via API.
  • FIX: Deleting an order line with custom properties in the backend caused a SQL error.
  • FIX: New enum data type didn't allow adding enum values without refresh.
  • FIX: Navigating to a product from search and deleting it in backend would cause an exception when delete was complete.
  • COMPATIBILITY: Works with latest Umbraco 4.7.

Change log for Ucommerce Store 1.1

  • NEW: Product rating, review, and comment pages.
  • NEW: Report abuse in the store.
  • NEW: Product reviews displayed as part of Google search results.
  • NEW: Improved Google Page Rank with nice URLs.

Change log for 1.3.0.3

  • FIX: Rich texts field support for more than 4,000 characters.

Change log for 1.3.0.2

  • FIX: Support Umbraco 4.6.2 changed behavior for missing images.

Change log for 1.3.0.1

  • FIX: WYSIWYG rich text editor replaced with TinyMCE due to incompatibility with IE8 - would cause product editor to fail.

Change log for 1.3.0.0

  • NEW: Works beautifully with Umbraco 4.6 (Ucommerce 1.1 and up are compatible with Umbraco 4.6).
  • NEW: Product search in backend.
  • NEW: Rich text editor data type for product definitions.
  • NEW: Date picker data type for product definitions.
  • NEW: Related products picker with full catalog structure UI for selecting products.
  • NEW: Backend UI available in German. Thanks to Christian Wendler of Byte5 for providing the translations.
  • NEW: Order sorting in search listings in admin UI.
  • NEW: The Product tab is displayed by default when clicking a category in the backend.
  • NEW: Ability to configure default tab for any section in Ucommerce admin. Please refer to the table Ucommerce_AdminPage and Ucommerce_AdminTab to change defaults.
  • NEW: Full API available through EntitiesV2 for improved performance and querying.
  • NEW: Caching of product catalog available through UCommerce.EntitiesV2. Please refer to runtimeConfiguration section in web.config to change settings.
  • NEW: Payment method service post processing pipeline can now be configured via UI in admin.
  • FIX: Large number of custom properties (40+) would cause the product viewer to slow down.
  • FIX: Display names for custom product definition properties are display in the backend.
  • FIX: Long text data type would display a tiny text box.
  • FIX: UI consistency for backend listings.
  • FIX: Subsonic delete would not take into account multiple clauses.
  • FIX: Removed the requirement for a display name on products.

Change log for 1.2.0.0

  • NEW: Ability to change quantity on existing order lines in the backend.
  • NEW: Ability to delete order lines in the backend.
  • NEW: Ability to search on order numbers in backend order search.
  • NEW: Variant SKU is displayed on the order overview in the backend.
  • NEW: RBS WorldPay payment provider with support for authorization, acquire (capture), cancel, and refunds.
  • NEW: SagePay payment provider with support for authorization, acquire (capture), cancel, and refunds.
  • NEW: PayEx payment provider with support for authorization, acquire (capture), cancel, and refunds.
  • NEW: Payer.se payment provider with support for authorization with instant acquire (capture).
  • NEW: Support for multiple shipments per order.
  • FIXED: Large number of orders would cause a timeout in the backend when listing orders for a given order status.
  • FIXED: Product relations mappings added to EntitiesV2.Product.
  • FIXED: Performance issue on loading products for a category using XSLT extensions.
  • FIXED: Baskets and cancelled orders were included in Product 10 report.
  • FIXED: DIBS payment provider picks up configured language form the domain.

Change log for 1.1.1.0

  • NEW: XSLT API for adding products to basket without adding the product to existing order line.
  • NEW: Pipeline task for sending e-mails, SendEmailTask. By default order confirmation is configured to be sent during checkout. See Checkout pipeline on how to configure your own e-mail types.
  • NEW: Pipeline tasks for basic inventory handling during checkout and in the backend for returns, DecreaseInventoryOnHandTask, IncreaseInventoryOnHandTask - just add a field to your product definition called InventoryOnHand and Ucommerce will decrement and increment during checkout and if an order is cancelled in the backend.
  • NEW: License banner will not be displayed for staging URLs containing the words "stage", "staging", and "preview".
  • FIXED: Javascript conflict with Umbraco would cause the Ucommerce data type UI to be displayed for Umbraco data types, if a user accessed Ucommerce prior to accessing the Umbraco data type UI.

Change log for 1.1.0.1

Tiny fix for installations running IIS6 or IIS7 classic mode app pools. HTTP handlers for these types of settings were rolled out using IIS7 integrated mode.

Download Ucommerce 1.1.0.1

Change log for 1.1.0.0

Ucommerce 1.1 brings out of the box support for three payment gateways: PayPal, DIBS, and ePay. Each of the providers support your basic authorization of credit cards and aqcuiring payments once the store owner is ready to ship the goods, and finally refunding money if the customer decides to return goods to the store.

More importantly 1.1 introduces an extended framework for integrating with payment gateways when you need to pass the customer to the payment gateway for authorization of payments and back to your store once complete.

A nice additional for store owners is the ability to add custom messages to the audit trails, which enables them to keep track of additional order information without having to plaster their monitors with post it notes :)

  • NEW: Framework for integrating with payment providers using remote pages at the provider
  • NEW: Paypal payment method service with support for authorization, acquire, cancel, and refund
  • NEW: DIBS payment method service with support for authorization, acquire, cancel, and refund (capture, cancel, and refund require Premium plan with DIBS or the integration package)
  • NEW: ePay payment method service with support for authorization, acquire, cancel, and refund (capture, cancel, and refund require Pro plan with ePay)
  • NEW: Backup is performed of pipelines and configuration files when upgrading to newer versions of Ucommerce
  • NEW: Custom messages can be added to the order audit trail using the admin interface
  • FIXED: New data objects would be duplicated if Save() was called multiple times
  • FIXED: Categories could be loaded from other catalogs than the one specified when using CommerceLibrary:GetCategory()
  • FIXED: Creating a new basket from scratch and running basket pipeline would only calculate totals on second request

Change log for 1.0.5.3

  • FIXED: Updating existing order properties would cause a SQL error.

Change log for 1.0.5.2

Maintenance release in preparation of 1.1. Fixes an issue with new baskets which can't be recalculated on the same request as they were created.

  • FIXED: Accessing new baskets immediately after persisting with the client cookies would load the basket until the next request.
  • FIXED: Clearing basket information in a context without access to client cookies would produce an error.
  • FIXED: Deleting a line item with dynamic order properties attached would produce an error.

Change log for 1.0.5.1

A minor issue was discovered which would cause order total to be incorrect when two circumstances are true: 1) catalog is configured to display prices including VAT and 2) the customer has multiple items in her basket.

Change log for 1.0.5.0

This version introduces two new extensibility features. The first extension point, the checkout pipeline, was already there but all logic associated with checkout is now present in the pipeline making it easier and more useful than ever tocustomize the checkout logic to your needs. The checkout pipeline is configured in the file /umbraco/ucommerce/pipelines/Checkout.config.

The second extension enables you to override the default pricing schema of Ucommerce with your own. Simply implement your own version of IPricingService or override the standard Ucommerce pricing service to match your needs.

Finally as part of the pricing extension point tax calculations can be overridden as well in the same manner as IPricingService. ITaxService and IPricingService are both configured in /umbraco/Ucommerce/configuration/Components.config.

  • NEW: Checkout process is now handled exclusively through the checkout pipeline
  • NEW: Pipeline tasks for assigning order number, adding audit trails to purchase order, creating customers, creating members for customers, clearing basket information
  • NEW: XSLT extension for assigning an order number by config or a custom order number to basket
  • NEW: Payment fee total added to payments
  • NEW: Price calculation extension added. Override pricing calculations by replacing IPricingService in components.config
  • NEW: Tax calculation
  • FIXED: Purchase order subtotal calculated with VAT - order subtotal now excludes VAT
  • FIXED: Duplicate addresses no longer created for customers
  • FIXED: Basket.SubTotal was used for the default payment amount instead of Basket.OrderTotal
  • FIXED: Catalog nodes with no sub nodes were expandable in the admin tree
  • FIXED: Missing buttons for date picker for Umbraco 4.5
  • FIXED: Javascript error due to undefinied variable _tabs
  • FIXED: Validation expression missing for number data type - only integers and decimals from here on in :) 

Change log for Ucommerce 1.0.4.2

  • NEW: Ability to add two-way product relationships - available from the Product / Product Relations tab
  • FIXED: Deleted countries showing up when editing Shipping Methods and Payment Methods accessibility
  • FIXED: Support for virtual paths introduced with Umbraco 4.5
  • FIXED: "Create customers as members" enabled would cause an error when executing checkout pipeline due to missing user when creating new members

Change log for Ucommerce 1.0.4.1

  • FIXED: Small issues with the way Javascript is injected into custom node actions by Umbraco 4.5 causes issues with Product and Category Sort and affected some functionality in TinyMCE

Change log for Ucommerce 1.0.4.0

  • NEW: Umbraco 4.5 compatibility
  • NEW: Language specific images for products and variants
  • FIXED: YSOD due to session not being initialized by default for extensionless URLs
  • FIXED: Products related to other products can't be deleted
  • FIXED: Installing Ucommerce on an Umbraco installed from WebPI would cause an error due to the datalayer keyword in the Umbraco connectionstring which is incompatible with ADO.NET
  • FIXED: Deleting a shipping method would only delete it from the backend

Change log for Ucommerce Store 1.0.1.2

  • Support for Umbraco 4.5
  • Optimizations for SmallCart macro

Change log for Ucommerce 1.0.3.2

Ucommerce 1.0.3.2 includes compatibility with Umbraco 4.0.4.x. Also released is the Ucommerce Store with a minor change with regards to which API is used to requesting payment.

  • NEW: Umbraco 4.0.4.x compatibility
  • NEW: Library.RequestPayment() introduced to support two-step payment providers, i.e. CreatePayment() and later RequestPayment(). For more information please read   Integrating Ucommerce with a Payment Provider
  • FIXED: Multilingual product property enums are rendered as text fields under language tabs
  • FIXED: CatalogContext relies on URL to determine current catalog and SKU
  • FIXED: Product definition fields allow spaces in their names which causes problems with XML rendering
  • FIXED: Product properties are displayed in editor regardless of Render in Editor setting
  • FIXED: Product save fails for products with custom image fields
  • FIXED: Payment fee total is not calculated during checkout
  • FIXED: GetBasket() extension fails when user is logged in
  • FIXED: Change country during checkout causes an error on subsequent check out steps
  • FIXED: CC and BCC for mail types are stored for all mails on a profile

Change log for Ucommerce 1.0.3.1

  • NEW: Ability to run with non unique category names by setting the enforceCategoryNameUniquenessWithinCatalogs configuration setting in web.config to false
  • NEW: Library.GetCategoryById() for working with categories by id instead of name
  • NEW: SiteContext, OrderContext, CatalogContext, ContentService, and LocalizationContextare now pluggable via components.config
  • FIXED: Context tightly bound to url param "Catalog"
  • FIXED: Product definition fields allow spaces in their names
  • FIXED: Product properties are displayed in editor regardless of their Render in Editor setting
  • FIXED: Save fails for products with custom images
  • FIXED: Multilingual product properties are rendered as text only
  • FIXED: Duplicate variant XML returned for variants with multiple multilingual fields
  • FIXED: Add related product for a product not yet saved would fail
  • FIXED: Library.GetBasket() does not render variantSku

Change log for Ucommerce 1.0.3.0

Ucommerce Starter Edition is targeted at smaller solutions, which require less functionality than larger scale operations. Ucommerce Starter Edition is priced accordingly and will enable store owners to get started with e-commerce without breaking the bank.

Upgrading from Ucommerce Starter Edition to Pro is as easy as entering a new key in an existing Starter installation. No upgrades of the site needed - you just start using the additional features right away.

Related Products will help increase conversion rates by relating product to each other thus helping potential customers find the products they want. You can define a number of relation ship kinds, which are used to relate products to each other, e.g. Cross Sell, Up Sell, Accessory. Ucommerce gives you complete control over which kinds of related products you wish to maintain.

Dynamic Order Properties is a way for the developer to add new properties to baskets, orders, and even order lines. Any information you wish to capture during browse or checkout can be added to the basket or order for later use - be it reporting, fulfillment, or something else altogether. 

Change log for Ucommerce 1.0.3.0

Ucommerce Starter Edition is targeted at smaller solutions, which require less functionality than larger scale operations. Ucommerce Starter Edition is priced accordingly and will enable store owners to get started with e-commerce without breaking the bank.

Upgrading from Ucommerce Starter Edition to Pro is as easy as entering a new key in an existing Starter installation. No upgrades of the site needed - you just start using the additional features right away.

Related Products will help increase conversion rates by relating product to each other thus helping potential customers find the products they want. You can define a number of relation ship kinds, which are used to relate products to each other, e.g. Cross Sell, Up Sell, Accessory. Ucommerce gives you complete control over which kinds of related products you wish to maintain.

Dynamic Order Properties is a way for the developer to add new properties to baskets, orders, and even order lines. Any information you wish to capture during browse or checkout can be added to the basket or order for later use - be it reporting, fulfillment, or something else altogether.

  • NEW: Ucommerce Starter Edition (Compare Starter Edition to Pro)
  • NEW: Related Products
  • NEW: Dynamic properties on baskets, orders, and order lines
  • NEW: API for working directly with order addresses - Library.EditOrderAddress()
  • FIXED: Shipping method is not executed during checkout
  • FIXED: Baskets are not persisted across sessions
  • FIXED: TransactionLibrary.GetPurchaseOrde with string and guid cannot be called from XSLT
  • FIXED: CreateErrorMessageXml fails when called with a single string parameter
  • FIXED: Library.DeleteLineItem() doesn't delete
  • FIXED: Library.ClearBasket() doesn't clear
  • FIXED: Cannot delete data type
  • FIXED: OrderGuid not set on orders
  • FIXED: Adding an image to a product, category, or payment method doesn't display the image name when first added
  • FIXED: Deleted catalogs and catalog groups are displayed on product categories tab
  • FIXED: Cannot save property field (ProductDefinitionField) when name has been used before

Changelog for Ucommerce 1.0.2.0

  • NEW: Sorting of products and categories in Ucommerce Admin
  • NEW: 10k product SKUs supported in each category in Ucommerce Admin
  • NEW: 10k product SKUs supported in each category using the XSLT API
  • NEW: HTML support in product and category descriptions
  • NEW: Validation messages appear on all tabs in uCommece Admin
  • FIXED: Issue with order addresses, which would change whenever the customer changed her customer address. Addresses are now copied to the order. Requires a small update to the XSLT becuase we introduced a new extension to handle it.
  • FIXED: Displaying long product lists in Ucommerce Admin would cause a timeout
  • FIXED: Displaying long product lists using the XSLT API would cause a timeout
  • FIXED: Deleting an active price group would cause an error on editing product catalog
  • FIXED: Product description fields are too small
  • FIXED: Product definition are not deleted properly

Updating to Ucommerce 1.0.2

To update an existing version of Ucommerce 1.0.1 you simply install Ucommerce 1.0.2 on top of your existing installation. Ucommerce will migrate any resources required to the latest version including the database.

Please note that if you've made changes to the pipeline configuration files you need to make a backup of these before installing Ucommerce 1.0.2 as Umbraco will overwrite any modified files with the new versions during installation.

Please make a backup of your Ucommerce database as schema updates will be rolled out with 1.0.2. Your 1.0.1 schema will be migrated forward which means that you cannot rollback to 1.0.1 easily without a database backup should you need to do so.

Updating to Ucommerce Store 1.0.2

If you have an existing version of Ucommerce Store installed you will need to uninstall it before installing Ucommerce Store 1.0.2 as Umbraco will duplicate any content rolled out with the package including macros, XSLT files, and document types.

Category and product sorting

You can now manually sort products and categories in Ucommerce Admin to your heart's content. Of course you can still optionally resort using the Commerce XSLT API or the Foundation API. Your choice.

New API for handling addresses

An issue with address handling in Ucommerce 1.0.1 would cause customers who place an order under one address and later update their account information with new address information to also update all previous orders placed under that address.

To fix the issue a new XSLT API was introduced for version 1.0.2, which replaces EditAddress and requires a change when working with address information.

Addresses are now split between customer- and order addresses. Addresses maintained as part of the user account are considered customer addresses and should be maintained using the EditCustomerAddress() API (previously: EditAddress()).

Both billing address and shipment addresses are considered order addresses and are maintained with two completely new APIs: EditBillingInformation() and EditShipmentInformation().

Removed XSLT APIs:

  • SetBillingAddress() - replaced by EditBillingInformation()
  • EditAddress() - replaced by EditCustomerAddress() and EditShipmentInformation()

Example of address XSLT for version 1.0.1

<xsl:variable name="editCustomerResult" select="CommerceLibrary:EditCustomer($firstName, $lastName, $email, $phone, $mobile)"/>

<xsl:variable name="editAddressResult" select="CommerceLibrary:EditAddress('Billing', $company, $line1, $line2, $postalCode, $city, '', $attention, $countryId)"/>

<xsl:variable name=" editResult " select="CommerceLibrary:EditAddress('Delivery', $del_company, $del_line1, $del_line2, $del_postalCode, $del_city, '', $del_attention, $del_countryId)"/>

<xsl:variable name="setInvoiceAddressResult" select="CommerceLibrary:SetBillingAddress('Billing')" />

Example of new XSLT for version 1.0.2

<xsl:variable name="editResult" select="CommerceLibrary: EditBillingInformation ($firstName, $lastName, $email, $phone, $mobile, $company, $line1, $line2, $postalCode, $city, '', $attention, $countryId)"/>

<xsl:variable name="editShipmentInformationResult" select="CommerceLibrary:EditShipmentInformation('Delivery', $shipment_firstName, $shipment_lastName, '', '', '', $shipment_company, $shipment_line1, $shipment_line2, $shipment_postalCode, $shipment_city, '', $shipment_attention, $shipment_countryId)"/>

Pipeline configuration updates

The Ucommerce component configuration system was updated for version 1.0.2, which requires modifications to pipeline configuration files. Basket and checkout pipelines are automatically updated.

<component id="Basket.CalculateOrderLinesTotals"  service="UCommerce.Pipelines.IPipeline`1[[UCommerce.Entities.PurchaseOrder, UCommerce]], UCommerce"  type="UCommerce.Pipelines.Basket.CalculateOrderLineTotalsTask, UCommerce.Pipelines"  lifestyle="Thread" />

To

<component id="Basket.CalculateOrderLinesTotals"  service="UCommerce.Pipelines.IPipelineTask`1[[UCommerce.Entities.PurchaseOrder, UCommerce]], UCommerce" type="UCommerce.Pipelines.Basket.CalculateOrderLineTotalsTask, UCommerce.Pipelines" lifestyle="Thread" />

The UCommerce.EntitiesV2 namespace

The short story: You should continue to use the entities in UCommerce.Entities.

The slightly longer story: To achieve the performance we want from the Ucommerce subsystems we're in the process of replacing our data access strategy moving from Subsonic 3 to NHibernate 3. NHibernate provides a more robust data access strategy but it's only partially implemented at this point.

Key areas of the Ucommerce API already leverages NHibernate, but the new entities are created specifically for these areas. Thus you'd find things missing for for general purpose use, so you should stick with UCommerce.Entities.

Once our work in this area is completed the change to the new data access strategy will happen transparently provided you stick with the UCommerce.Entities namespace.

Error when saving a macro using GetBasket extension

When using CommerceLibrary:GetBasket() extension in a macro you see an error when saving. Ucommerce 1.0.2 is using a new Umbraco API as part of GetBasket, which reports an error under Umbraco 4.0.2.0.

Updating your Umbraco install to version 4.0.3.0 fixes this issue. If you don't want to update you can check the "Skip testing (ignore errors)" checkbox. The macro will work fine on your frontend site.

Cart

Cart

Item removed. Undo