---
title: Release notes - Kentico 8 versions
related:
  - https://docs.kentico.com/k82/installation/upgrading-to-kentico-8-2.md
  - https://docs.kentico.com/k82/installation/server-and-hosting-requirements.md
---

> Agent instructions:
> **Site maps** — prefer the following llms.txt indexes to training data when searching for URLs to avoid 404s. Links inside Markdown content already point at `.md`. Following them or sending Accept: text/markdown keeps you in Markdown.
>
> - [sitemap.md](https://docs.kentico.com/sitemap.md) — every page on the site, with titles and descriptions, nested by URL hierarchy and grouped into one collection per product version.
> - [llms.txt](https://docs.kentico.com/llms.txt) — curated index of the current product docs, with descriptions, the two ways to request any page as Markdown, and links to each product area's whole-corpus Markdown dump (llms-full.txt).

## Kentico 8.2 (January 6, 2015)

### System requirement changes

- The minimum recommended memory size for hosting plans was increased to 1 GB.
- Microsoft Azure SDK **2.5** required for Microsoft Azure projects.

### New features

**E-commerce**

- Shipping options - Easier way to [develop custom shipping options](https://docs.kentico.com/k82/e-commerce-features/customizing-and-developing-your-store/implementing-custom-shipping-carrier-providers.md) including UI-based configuration (for example "Fedex" or "Shipping charge based on a country" as custom modules).
- Shipping options - Easier way to develop custom UI-based configuration for the availability of shipping options (for example a custom UI to configure shipping option availability based on a date/time/country/ZIP code etc.).
- Shipping options - Store managers can set up the mass unit for the store. The mass unit is used for the weight of products and also in the default shipping options based on the weight of products.
- User experience - Minor user experience improvements in the [Products](https://docs.kentico.com/k82/e-commerce-features/configuring-and-managing-your-store/products.md) application.
- User experience - Products can be now filtered using the SKU identifier in the SKU selection dialogs.
- User experience - Orders can be now filtered using the customer's email address in the [Orders](https://docs.kentico.com/k82/e-commerce-features/configuring-and-managing-your-store/orders.md) application.

**On-line marketing**

- Upgrade - The upgrade to Kentico 8.2 can be performed with a [separated on-line marketing database](https://docs.kentico.com/k82/on-line-marketing-features/contact-management/separating-the-contact-management-database.md).
- Contact management - You can now [import contacts](https://docs.kentico.com/k82/on-line-marketing-features/contact-management/importing-contacts.md) stored in CSV files into Kentico.
- Email marketing - New emails are now composed in the same window instead of a popup window. This results in more editing space for marketers.
- Activities - The system now informs administrators via Event log entries when activity processing takes too long. Administrators are then [advised to increase](https://docs.kentico.com/k82/on-line-marketing-features/contact-management/tracking-contact-activities/enabling-activity-tracking.md#changing-activity-logging-interval) the activity logging interval.
- [Contact groups](https://docs.kentico.com/k82/on-line-marketing-features/contact-management/contact-segmentation.md) - Performance was significantly improved by the use of smart filtering. Only contact groups that have been affected by relevant contact activities are recalculated.
- [Personas](https://docs.kentico.com/k82/on-line-marketing-features/content-personalization/personas.md) - Recalculation was optimized to improve performance.
- [Geolocation](https://docs.kentico.com/k82/on-line-marketing-features/contact-management/working-with-contacts/using-geolocation-for-contacts.md) - Updated the MaxMind GeoIP database used for contact geolocation to version 2.12.2014.

**Content management**

- New demo site- A [new site](https://docs.kentico.com/k82/configuring-kentico/managing-sites/installing-new-sites/creating-new-sites-from-templates.md) that showcases the capabilities of the Kentico Integrated Marketing Solution. The site also serves as a reference for Kentico's best practices for modern responsive websites.
- [SharePoint](https://docs.kentico.com/k82/integrating-3rd-party-systems/integrating-sharepoint.md) - New support for bi-directional synchronization of files between Kentico and SharePoint.
- [Translation management](https://docs.kentico.com/k82/multilingual-websites/translating-content-using-external-services.md) - Content managers can now translate content to multiple selected languages or all languages at once.
- Translation management - The performance of translation processing was improved.

**Platform**

- [Kentico improvement program](https://docs.kentico.com/k82/release-notes-kentico-8-versions/kentico-improvement-program.md) - New optional mechanism for collecting and sending of anonymous data about the system's usage. Helps guide the development of future versions by targeting features that are most used.
- Modules - New way to [deploy custom modules](https://docs.kentico.com/k82/custom-development/creating-custom-modules/creating-installation-packages-for-modules.md) using NuGet packages.
- Modules - Fields without a database representation can now be added directly when creating new module classes.
- Settings - After changing the data type of [custom setting keys](https://docs.kentico.com/k82/custom-development/creating-custom-modules/adding-custom-website-settings.md), the system now replaces existing values with the default value.
- Settings - When creating custom settings, you can now enter explanation text that appears directly below the setting in the _Settings_ application.
- [Form controls](https://docs.kentico.com/k82/custom-development/developing-form-controls.md) - The administration interface of the _Form controls_ application is now mostly based on page templates instead of physical pages (listing, new and edit pages).
- Form controls - New _Multiple object binding_ _control_ form control that allows users to select related objects (for example selection of discounted products for a given Buy X, Get Y discount).
- [Staging](https://docs.kentico.com/k82/deploying-websites/content-staging.md) - The interface of the _Staging_ application was slightly improved.
- Staging - Target staging servers now require a password to be set.
- [Visual Studio publishing](https://docs.kentico.com/k82/deploying-websites/publishing-projects-from-visual-studio.md) - Simplified publishing for both Web site and Web application projects. Added support for more precompilation options.
- User site prefixes - When using site prefixes for user names (_Security & Membership -> Use site prefix for user names_ setting), global administrators can now create users with the prefix of the currently active site by enabling the _assign to website_ checkbox in the new user form.

### Fixed issues (major)

- Active Directory import - The import no longer changes the GUIDs of existing users or roles. Instead, the tool can delete Kentico users or roles that don't have an AD object with a matching GUID, and then import the given objects again.
- API - DocumentQuery and MultiDocumentQuery now handle advanced constructions correctly (aggregate columns etc.).
- Banner management - Fixed the redirection of visitors for banners that have URLs without the HTTP protocol.
- Database objects - Saving changes made to an indexed view no longer causes errors.
- Debug - Deleting a cache item from the _View object_ dialog now correctly displays a confirmation message.
- Form controls - The 'Time selector' form control no longer stores the current date, which allows correct comparison of values. The date component of the values now always uses _DateTime.MinValue_.
- Localization - Resource strings placed inside page layouts are now resolved into the correct culture.
- Macros - The 'WhereItemInPath' macro now works correctly if the given alias path contains an underscore character (\_).
- Macros - The 'JSEscape' macro method now escapes JavaScript characters correctly in the input string.
- Macro editor - Fixed the positioning of the macro autocomplete help.
- Modules - Fixed the back arrow in the module settings interface.
- On-line users - Caching of on-line users is now thread-safe.
- REST - Fixed the handling of requests for non-existing pages through REST. The 404 HTTP status code is now returned.
- Scoring - Rules with the 'Contains' condition in the _URL referrer_ field are now automatically evaluated.
- Smart search - Indexing was enabled for the _SKUShortDescription_ field of the _SKU_ class.
- Staging - Synchronizing a subtree in the _Staging_ application now also synchronizes all staging tasks related to the given items.
- Staging - Synchronization tasks are now displayed correctly for multilingual pages.
- Staging - Multiple campaigns associated with a single conversion are now synchronized correctly.
- Staging - The creation of a DELETEDOC synchronization task now removes UPDATEDOC tasks previously logged for the given page.
- Time zones - Fixed recalculation of time zone rules during import.
- User interface - Fixed the positioning of asynchronous progress log dialogs.

> **Info:** Additionally, all bugs fixed within the Kentico 8.1 hotfixes are included in version 8.2. See the [Bugtracker on DevNet](http://devnet.kentico.com/download/hotfixes#8) for a full list (select **Fixed Bugs**).

### &#x20;Breaking changes (API, functionality and data structure)

**E-commerce**

- Removed support for global shipping options, i.e. it is not possible to share shipping options across multiple stores running on a single Kentico instance.
  - When upgrading to Kentico 8.2, global shipping options are automatically copied to each site that is configured to use global shipping options.
- When deleting a product page, users are no longer asked what to do with the assigned SKU.
  - When the SKU is not contained in any order and is not assigned to any other page, the SKU is automatically deleted. Otherwise, the SKU remains in the system.
- The _Bundle items selector_ form control is obsolete. Use the _Multiple object binding_ control instead.

**On-line marketing**

- Email marketing:
  - The Newsletters application was renamed to Email marketing. This also applies to certain related web parts.
  - The 'Newsletter queue' tab was hidden from the Email marketing application and will be removed completely in Kentico 9.0. The same functionality is available in the Email queue application.
  - The 'Import subscribers' and 'Export subscribers' functionality is now under the 'Subscribers' tab.
  - Email campaigns are no longer sent to user subscribers when the user is disabled. The same applies for users added via user roles.
- The _\~/CMSPages/WebAnalyticsService.asmx/LogSearch_ web service endpoint with two parameters (keyword, pageGUID) was removed. Use the method with three parameters (keyword, pageGUID, pageSiteId) instead. Originally, there were two methods with the same name and a different signature, which is a scenario not supported by web services.

**Content management**

- jQuery was removed from Kentico. To use jQuery, you have to add it to pages manually (via a JavaScript web part or to a master page). This affects the following web parts and you need to include your own jQuery (version 1.7.2 is recommended) to make them work again:
  - Basic repeater with effect
  - Query repeater with effect
  - JavaScript
  - Zones with effect
  - Repeater with effect
  - Repeater with Carousel
  - Repeater with Lightbox
  - Attachments Carousel 3D
  - Attachments Carousel
  - Custom table repeater with effect
  - Page attachments with effect
- Smart search for pages doesn't index personal categories when the 'Include categories' is enabled for Allowed content.
- When creating or modifying page aliases through the API, make sure to call _TreePathUtils.GetSafeUrlPath()_ for the custom _AliasURLPath_ to ensure a correct format based on the current URL settings.

**Social & Community**

- Google plus - The Google+ web parts were updated from old unsupported API versions to the latest recommended format. The property definitions of the web parts changed, since Google now offers different customization options.

**Platform**

- The following stored procedures were removed:
  - _Proc\_CMS\_WebFarmSync\_SetServerTasks_
  - **Proc\_CMS\_WebFarmTask\_UpdateTaskEnable**
- The _Proc\_CMS\_WebFarmTask\_Insert_ stored procedure was modified.

**API**

- The return type of protected methods _ContentPersonalizationVariantInfoProvider.LoadContentPersonalizationVariantsInternal()_ and _MVTVariantInfoProvider.LoadMVTVariantsInternal()_ changed from _void to bool_.
- The _ThreadQueueProcessor_ class was removed without any replacement. The general functionality is now contained in the _ThreadQueueWorker_ class and the related web farm functionality in the _UrlWebFarmUpdater_ and _DbWebFarmUpdater_ classes.
- Unused calendar icons were removed from the _CMS\CMSAdminControls\Calendar_ folder.
- A new method was added to the _ITableManager_ interface (any custom classes that implement the interface need to be updated).
- The _JsonWebTokenClaims_ class was changed to internal.
- The _CMS.EventLog.EventLogHelper.mLogFile_ variable was made private. Use the public _LogFile_ property instead.
- The following obsolete properties were removed from the _CMS.UIControls_ namespace:
  - UnigridFilterField.Type
  - UnigridFilterField.Format
  - UnigridFilterField.Label
  - UnigridFilterField.OptionsControl
  - UnigridFilterField.ControlPath
  - UnigridFilterField.FilterRow
  - UniGrid.CustomFilters
- The _CMS.Base.ThreadItemsDictionary_ and _CMS.Base.ThreadItems_ classes were removed from the public API.
- The _CMS.Tests.AutomatedTests.LockContext_ and _CMS.Tests.AutomatedTests.UniqueStaticContext_ properties were removed (they must always have true values).
- The _ObjectTypeInfo.HostedByObjectType_ and _ObjectTypeInfo.HostedObjectTypes_ properties were removed.
- Static collections _AbstractProvider.Providers_ and _AbstractProvider.CompleteProviders_ were made private (from protected).
- The _MediaLibraryHelper.GetFolderDataSet()_ method was removed without any replacement. The _MediaLibraryHelper.GetTaskData(TaskTypeEnum, System.Int32, System.String, System.String)_ can be called instead.
- The last parameter of the _TranslationServiceHelper.CreateSubmissionInfo(CMS.TranslationServices.TranslationSettings, CMS.TranslationServices.TranslationServiceInfo, System.Int32, System.Int32, System.String)_ method was changed due to a typographical error.
- The _CMS.DocumentManager.WorkflowManager.MoveToPreviousStep(TreeNode, WorkflowStepInfo, string)_ method was renamed to _CMS.DocumentManager.WorkflowManager.MoveToPreviousSpecificStep(TreeNode, WorkflowStepInfo, string)_ due to collisions with the signatures of the _WorkflowManager.MoveToPreviousStep()_ method.
- The signatures of the following methods were changed:

  | 8.1 Signature                                                                                      | 8.2 Signature                                                                                                   |
  | -------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
  | BaseInfo.ExportDefaultData(String)                                                                 | BaseInfo.ExportDefaultData(String, IEnumerable)                                                                 |
  | BaseInfo.GetDefaultData()                                                                          | BaseInfo.GetDefaultData(IEnumerable)                                                                            |
  | BaseInfo.ExportDefaultData(String)                                                                 | BaseInfo.ExportDefaultData(String, IEnumerable)                                                                 |
  | BaseInfo.GetDefaultDataWhereCondition(Boolean, Boolean)                                            | BaseInfo.GetDefaultDataWhereCondition(Boolean, Boolean, IEnumerable)                                            |
  | BaseInfo.AddDependencyDefaultDataWhereCondition(String, BaseInfo, String, Boolean, String, String) | BaseInfo.AddDependencyDefaultDataWhereCondition(String, BaseInfo, String, Boolean, String, String, IEnumerable) |
  | BaseInfo.AddColumnPrefixesWhereCondition(String, String)                                           | BaseInfo.AddColumnPrefixesWhereCondition(String, String, IEnumerable)                                           |
  | TreeProvider.InitNodeOrders(Int32)                                                                 | TreeProvider.InitNodeOrders(Int32, Int32)                                                                       |
  | TreeProvider.SortNodesAlphabetically(Int32, Boolean)                                               | TreeProvider.SortNodesAlphabetically(Int32, Int32, Boolean)                                                     |
  | TreeProvider.SortNodesByDate(Int32, Boolean)                                                       | TreeProvider.SortNodesByDate(Int32, Int32, Boolean)                                                             |

## Kentico 8.1 (August 22, 2014)

### System requirement changes

- Removed support for hosting in Medium trust environments.
- Microsoft Azure SDK **2.3** required for Microsoft Azure projects.
- Added Microsoft SQL Server 2014 support for the database.
- Windows 7 and Windows Server 2008 R2 systems now require Service Pack 1 to be applied.

### New features

**Content management**

- Documents were renamed to Pages in the administration interface. Keywords in the API and code names remain the same for backward compatibility.
- Performance - Improved performance for websites with a very large number of pages.
- [Editor](https://docs.kentico.com/k82/managing-website-content/working-with-pages/editing-pages/using-the-editor.md):

  - The editor toolbar is hidden until focus enters an editable region. After that the editor toolbar is displayed next to the region.
  - The default editor toolbar contains a reduced set of options and is less confusing.
- [Code generators](https://docs.kentico.com/k82/developing-websites/developing-sites-using-the-mvc-framework/code-generators.md) - Provide an easy way to generate classes for accessing content data through the API (page types, custom tables, forms).
- [51Degrees library](https://docs.kentico.com/k82/developing-websites/developing-websites-for-mobile-devices/configuring-mobile-development.md) - Upgraded to version 3.1.2.3.

**E-commerce**

- [Buy X, Get Y discounts](https://docs.kentico.com/k82/e-commerce-features/configuring-and-managing-your-store/discounts/working-with-buy-x-get-y-discounts.md) - Allow store managers to define a new type of cross-selling promotions. For example, Buy any 3 clothing articles, get the cheapest for free.
- User experience - [Orders](https://docs.kentico.com/k82/e-commerce-features/configuring-and-managing-your-store/orders.md) and [Discounts](https://docs.kentico.com/k82/e-commerce-features/configuring-and-managing-your-store/discounts.md) are now marked with colored tags based on their statuses.

**On-line marketing**

- Performance - Significantly improved recalculation speed and live site traffic of [contact groups](https://docs.kentico.com/k82/on-line-marketing-features/contact-management/contact-segmentation.md), [scoring](https://docs.kentico.com/k82/on-line-marketing-features/contact-management/scoring-contacts.md), and [personas](https://docs.kentico.com/k82/on-line-marketing-features/content-personalization/personas.md).
- [Geolocation](https://docs.kentico.com/k82/on-line-marketing-features/contact-management/working-with-contacts/using-geolocation-for-contacts.md) - Updated the Maxmind GeoIP database used for contact geolocation.
- Activity events - Changed the recommended way of handling "activity logged" events in the API. If you have custom handlers for the _ActivityEvents.ProcessActivity_ or _ActivityEvents.ProcessActivities_ events, use the **ContactManagementEvents.ProcessContactActionsBatch** event instead.

**Platform**

- [Dashboard](https://docs.kentico.com/k82/using-the-kentico-interface.md):

  - Individual users can now customize their system dashboard (add, remove, relocate application tiles).
  - Application tiles on the dashboard now support displaying of live data.
- New HTML5 multifile uploader instead of the Silverlight uploader.
- [Macro rules](https://docs.kentico.com/k82/macro-expressions/writing-macro-conditions/creating-macro-rules.md) - Added support for escaping special string characters inside the values of text macro rule parameters.
- DataQuery:
  - Automatically generated queries now use column names enclosed in square brackets.
  - Added new where condition methods (WhereGreaterThan, WhereGreaterOrEquals, WhereLessThan, WhereLessOrEquals, WhereEndsWith, WhereNotEndsWith, WhereNotEquals).
  - Added support for strongly typed columns (column, expression, value).
- API - New method for safe HTML attribute encoding (HTMLHelper.EncodeForHtmlAttribute).

**Social & Community**

- [LinkedIn](https://docs.kentico.com/k82/community-features/integrating-social-media.md) - New application for managing LinkedIn company profiles from Kentico. Includes analytics.
- [SharePoint](https://docs.kentico.com/k82/integrating-3rd-party-systems/integrating-sharepoint.md) - New connector for SharePoint 2010, 2013 and SharePoint online.

### Fixed issues (major)

- Debug - Optimized memory consumption.
- Design - Fixed several minor design issues in the administration interface.
- Design - Unified the position of site selectors in the administration interface – they are now on the right side of the header action buttons (with the exception of selectors in left menus).
- Design - Header action filters were moved into the content of pages in the administration interface.
- Design - The asp:GridView control was removed from skin files.
- Design - Fixed the design and positioning of tooltips in the macro autocomplete help.
- Design - Images in the database web installer were replaced by font icons.
- Design - Unused E-commerce related styles were removed from CMSDesk.css.
- DocumentQuery - The **Immutable** method was fixed for the **DocumentQuery** and **MultiDocumentQuery** classes.
- E-commerce - The _Shopping cart contains product_ order discount rule was disabled. A new, more flexible rule _Shopping cart contains products_ (any/all) was introduced.
- E-commerce - Added a foreign key constraint for the **CouponCodeDiscountID** column in the **COM\_CouponCode** table.
- E-commerce - Removed a redundant WHERE condition generated by the **Top N products by sales** web part.
- E-mail engine - Improved stability for e-mail sending.
- jQuery - Unified the usage of jQuery in the system (web parts, administration interface). Solves most of the issues when combining two versions of jQuery in the site content.
- Macro data source web part - Added properties for configuring caching.
- ObjectQuery - The 'Count' property now returns the correct number of items for paged queries.
- ObjectQuery - The 'Distinct()' method now works correctly for paged queries.
- On-site editing - The **Edit page** button now uses the content culture instead of the preferred UI culture of the current user.
- Page paths - Page path selectors no longer save special characters in SQL encoded format (for example \_ instead of \[\_]).
- Pages - Changing the initial workflow step for page creation is now supported in the **DocumentEvents.Insert** event.
- Performance - Optimized performance for object deletion.
- Performance - Added a database index to increase the speed of contact group recalculation.
- Smart search - Improved reliability and stability when running on Microsoft Azure.
- Strands Recommender - Fixed the format of the product catalog feed generated by Kentico (including multilingual support).
- UI elements - Fixed unwanted element reordering after the renaming of a UI element.
- WebDAV - Removing the WebDAV module from the installation resulted in errors during the compilation of the solution.

> **Info:** Additionally, all bugs fixed within the Kentico 8 hotfixes are included in version 8.1. See the [Bugtracker on DevNet](http://devnet.kentico.com/download/hotfixes#8) for a full list (select **Fixed Bugs**).

### Breaking changes (API and HTML output code)

- The _CMS.DataEngine.ClassMappingInfo_ and _CMS.DataEngine.ClassMappingInfo_ classes were removed from the public API (not intended for external use).
- Certain overloads of the _MacroCompatibility.TransformToDataMacros()_ method were removed from the public API (not intended for external use).
- The return value of the _DocumentEngine.TreeProvider.SetNodeOrder_ method was changed from int to void. Use the _NoderOrder_ property of the given _TreeNode_ object to get the node order value.
- The _DocumentEngine.DocumentNodeDataInfo_ and _DocumentEngine.DocumentNodeDataInfoProvider_ public classes were made internal (not intended for external use).
- The _DocumentEngine.DocumentURLProvider.UseLiveURLForEditing_ property was removed. Pages with MVC templates always automatically use the live URL in Kentico 8.1.
- The first parameter of the _CMS.Ecommerce.DiscountInfoProvider.IsUserAuthorizedToReadDiscount_ method was renamed from _siteName_ to _site_ and now accepts both site ID and site name values.
- The _CMS.Base.AzureHelper.TempPath_ and _CMS.Base.AzureHelper.CachePath_ properties were moved to _CMS.AzureStorage.PathHelper_:
- The following members were removed from the public DataQuery API (not intended for external use):

  - CMS.DataEngine.IQueryObject.IsNested
  - CMS.DataEngine.AbstractQueryObject.Name.set
  - CMS.DataEngine.IQueryColumn.NestedQuery
  - CMS.DataEngine.QueryColumnBase.NestedQuery
  - CMS.DataEngine.IQueryObject.Name.set
  - CMS.DataEngine.QueryMacros CMS.DataEngine.DataQuerySettingsBase.GetExpressions()
- The _NodeChildNodesCount_ column was removed from the _CMS\_Tree_ database table, replaced by _NodeHasChildren_ (bit data type). To get the number of child nodes in the API, use _TreeNode.Children.Count_.
- The _ContactGroupScheduledTaskID_ column was removed from the _OM\_ContactGroup_ table. You can use the _ContactGroupRebuildTaskManager_ class in the API to manage planned contact group recalculations.
- The _CMSLogActivityImmediatelyToDB_ web.config key was removed and no longer affects on-line marketing functionality. This key was only intended for showcase purposes.
- The _LinkedIn apply with_ web part was removed (LinkedIn no longer supports this functionality).
- Inline styles in the output of the _UniGrid_ control were replaced by CSS classes. May influence live site pages that rely on the inline styles.
- The system generates information messages on the live site with simpler HTML markup (now the same as in Kentico 7).
- The file uploader control has different output HTML, because the Silverlight uploader was replaced by an HTML 5 uploader.
- The markup of the _Tasks.ascx_ live site control used for displaying project management tasks has slightly changed. The FloatLeft CSS class was removed from the div element containing the task listing.
