This release summary includes features added in updates 180 through 191 of the Episerver platform. Updates are cumulative, so the latest update always includes previous ones.
What is new for..?
Expand the sections below to find out more about the new features for developers and end-users.
Episerver CMS
Developers
CMS 11 has been released which is a new major version containing some incompatible API changes. See Breaking changes in CMS 11 for more information on these changes.
You can now build rich clients using JavaScript and control the DOM with your chosen JavaScript framework. This lets editors edit content processed by JavaScript in the on-page edit view without breaking the view. See John-Philip Johansson's blog post and Editing user interface.
Profiled and optimized the API used when the cache is missed and data is loaded from the database. This is a common scenario when starting a website with a cold cache. Performance improvements up to 50% for cache misses in some scenarios. The results vary depending on the size of content types and data being loaded.
EPiServer.Core.Transfer.IRawContentRetriever will no longer populate the Value of each RawProperty. This is instead done by calling the IPropertyExporter.ExportProperties method.
EPiServer.Core.Transfer.IPropertyImporter has changed slightly to match the new IPropertyExporter interface.
PropertyData.ToRawString() will no longer be called when exporting data. If a Custom PropertyData type had previously overridden the ToRawValue method, it must now move that functionality to a class that implements IPropertyExportTransform and register it with the Container.
PropertyJson-based properties, such as PropertyList, no longer rely on IObjectSerializer and container registered JsonConverters for its serialization. It now uses Newtonsoft.Json.JsonConvert directly, which means JsonConverters must be defined as attributes on the classes and properties they apply to.
A new property that is a list of items has been introduced. The primary use case is items that represent a single value, such as a string or a content reference. See Bartosz Sekuła's blog post for more information.
The behavior of the default implementation of ITemplateRepository.AddTemplates should match that of automatically registered templates.
Options classes were added to the CMS Core packages as a way of separating the storage of settings, usually in a configuration file in the form of web.config, from their usage in services.
In Episerver CMS 11, some functionality has been moved to separate NuGet packages: EPiServer.CMS.AspNet, EpiServer.Framework.AspNet, EPiServer.Search.Cms, EPiServer.DynamicContent, EPiServer.XForms, EPiServer.CMS.TinyMCE, and EPiServer.ServiceLocation.StructureMap.
These packages have their own version number and may or may not be upgraded together with the core CMS packages. For more information, see New NuGet packages.
Episerver Commerce
Developers
Rewrites the Episerver Personalization integration to use the common API from EPiServer.Tracking.Core, streamlining and integrating the tracking process with other Episerver products like Profile Store and Advance. Also makes it possible to use the same APIs in Commerce for tracking to one or more services with or without Perform product recommendations.
Adds Beta APIs to track visitor behavior and display recommendations in the client, improving performance by offloading the server and enabling the client to start rendering the view earlier.
Removal of the Beta classification of the server-side Commerce tracking and Perform product recommendation APIs. The Perform-specific JavaScript tracking/recommendation API remains in Beta.
Adds extension points to adapt the catalog data exported for use in Perform product recommendations. This includes filtering out products based on custom conditions as well as adapting the exported price, inventory, URL, image and other product properties.
Adds option to base exclusion logic on individual items, as an alternative to an entire cart. Upgraded sites use the previous behavior by default. For details, see Promotion exclusions.
A new indexing queue system with better performance and better consistency. Now, when building an incremental index, the system is fast and predictable no matter how many changes were made since the last build.
Episerver Commerce now supports CMS 11.
Episerver Find
Episerver Find now supports CMS 11.
Episerver Service API
GETA Service API extensions for customers/order/cart added to Episerver Service API implementation.
Episerver Service API now supports CMS 11.
Episerver Forms
Developers
Episerver Forms now supports CMS 11.
End-users
Previously, you could only select and delete submitted form data individually. You can now select and delete all records at once.
Episerver add-ons
Filter data extensions available to connector based on parent folder On the Admin screen, a dropdown has been added listing all folders in the ExactTarget instance. So, a marketer can choose one to filter the Data Extensions.
Submit data directly from Episerver form to Eloqua form An option has been added to submit data from an Episerver form directly to an Eloqua form. So, the site activities of visitors submitting forms can be tracked in Eloqua.
Correct filter when displaying Google Analytics gadget in the context of a page
Only hosts belonging to the site are used to filter data for Google Analytics.
Admin can turn off forms auto-fill An option has been added to the Admin screen to allow admins to turn off the auto-fill feature for forms mapped to MAI connectors.
Admin can turn off forms auto-fill An option has been added to the Admin screen to allow admins to turn off the auto-fill feature for forms mapped to MAI connectors.
EpiserverUser-Generated Content (UGC) is a content discovery tool that can retrieve content from popular social sites (such as Facebook, Twitter, Google) and embed the content into your website.
The following add-ons have been updated with support for CMS 11:
Episerver Forms
Episerver Social Reach
Episerver Languages
Episerver Google Analytics
Third-party add-ons
Added SQL command timeout configuration to connectionstrings.