Dear Sitefinity CMS customers and partners! We are excited to announce the release of Sitefinity CMS 13.0. Below you will find the details about what is included in this release.
We also want to note that Sitefinity DEC has been rebranded to Sitefinity Insight. To learn more, please visit the Sitefinity Insight main page. The release notes for Sitefinity Insight are published separately.
What's new in Sitefinity 13.0
Reinvented digital asset management (Image Library)
We redesigned the
Images module, and it now uses the new interface. The Images module retains most of its previous functionality and also includes a number of new features and improvements such as:
- The new Timeline view to browse all images by date
- Improved search and filtering capabilities that work in all folders and libraries to help you find assets that you need
- Enhanced preview options and larger thumbnails to help you select the most suitable image
Reinvented classification management
We redesigned the
Classification module, and it now uses the new interface. The redesigned module retains all existing capabilities that you are already familiar with, and adds a variety of new options. With the new interface, you will benefit from a simplified UI for managing a large number of tagged items, and the new merge and move capabilities. Working with a large number of taxonomies is much easier now with the ability to sort by most or least used, as well as by filtering tags by letters.
Redesigned personalization setup with user segments
Personalization in Sitefinity allows you to segment your audience and deliver personalized content or experience to each user depending on their matching segment.
In this version, we improved and streamlined the dialogs to create user segments. All
characteristics (criteria) are now grouped in categories in a single drop down. A mapping of a criterion to a category is defined in the Advanced settings, Administration > Settings > Advanced > Personalization section and can be
customized there. If you have custom personalization criteria, they will be displayed in category Other by default, and then you can specify a desired category name for them using Advanced Settings.
Session based personalization logic based on Visited pages, Landing URL, and Visit duration has been reimplemented for better accuracy and performance.
The Search characteristic is now deprecated as we can no longer get the necessary data from the public search engines.
Personalization segments based on contact properties
You can now create user segments in Sitefinity CMS that are based on contact properties stored in Sitefinity Insight. These may include demographic data (e.g. data provided by contacts via forms) as well as added properties, such as campaign labels and other contact data imported into Sitefinity Insight.
Indication when content has been (Site)synced
We have been putting effort to extend and enhance SiteSync to enable more flexible use by content editors. In previous releases, we introduced a new capability for content editors to sync content directly from the page/content edit screen. A missing piece
that has been requested by our customers is the "evidence" ! How to make sure that the content has been promoted?
With this release, we are introducing an additional column for revision histories of pages and content items that shows whether a
particular page or content has been promoted, when, and to what sites.
Simplified connection setup between Sitefinity CMS and Sitefinity Insight
We simplified the setup to connect a Sitefinity CMS site to Sitefinity Insight for tracking. The specifics of the connection are now baked into the Sitefinity Insight Access key generated from your Sitefinity Insight account, and Sitefinity CMS automatically selects the correct hosting location of Sitefinity Insight. This will prevent possible errors connecting to the wrong hosting location.
Expose an easy way for users to retrieve an access token from the Sitefinity Insight connector
We simplified the way you authorize your custom code to use Sitefinity Insight API. We simplified the API, and the Sitefinity Insight connector now automatically takes care of token expiration, renewal, and caching.
Support for SharePoint 2019 Server
You can now create connections and configure synchronization between Sitefinity CMS and SharePoint sites on SharePoint 2019 Server.
A/B Tests now support complex events as goals - even for older versions
Previously, goals for your AB tests could only be defined as conversions with single conversion events, i.e. [visit /purchase] or [download trial /aspnet-ajax]. After recent enhancements in Sitefinity Insight, you can use conversions
with complex events, such as [visit /purchase AND visit /thank-you], in your A/B tests.
This enhancement is available for all Sitefinity Editions and versions that support the A/B test functionality.
Note: Conversions with client/segment filters are not supported for A/B tests.
Improved user experience for specific scenarios
We enhanced the UX for Duplicate Site and Search re-index. These long running operations previously executed in a single request are now performed as scheduled tasks and have notifications showing when the operation is in progress, completes,
To help you prevent unintended changes on a Sitefinity CMS production environment, we changed the UX in the following scenarios:
- Labels & Messages can be configured to be in read-only mode.
- Export/Import menu for Administrators is now hidden when the system is in Target deployment mode.
Sitefinity Ecommerce module disabled for new projects
In keeping with our long term plans to rely on e-commerce partners for implementations, the Sitefinity CMS native Ecommerce module is now deactivated by default for new projects.
Upgrade through CLI
With the help of the CLI developers will rely on a stable upgrade process which will help them to automatically solve underlying issues. No matter whether your project is using the Project Manager or NuGets, the best practices will be applied and possible technical problems like .NET version, reference and breaking changes (through building errors) will be taken into consideration. Projects using the ProjectManager will be automatically migrated to use NuGets. Developers will be able to choose which version to upgrade the solution to. A trace log will be kept with a summary of all executed actions and steps.
Sitefinity ASP.NET Core Renderer .NET Core
Sitefinity ASP.NET Core Renderer is a standalone application that is deployed separately from Sitefinity CMS to offload the task of rendering pages as HTML for improved scalability and performance, and reduce the CPU load for the main CMS node. This new decoupled architecture is quick to setup and deploy.
The Renderer has a New page editor that, among many benefits, provides an enhanced WYSIWYG experience and new styling functionality.
New content editing experience
- New Interface: Hyperlinks with relative url in rich test editor are saved as absolute URLS in DB (FP)
- Can't connect to sharepoint online when AdminApp is enabled
- Feather: MVC ContentBlocks contained on a widget designer lose the buttons layout if a ContentBlock from AdminApp is loaded before while editing a page (FP)
- Cannot create a page that contains additional urls using OData services
- Unable to create child pages with custom role which have permissions (FP)
- Multiple Choice custom field for content type (News/Events/Blog Posts) does not upgrade properly.
- Huge query executed when publishing a newly created dynamic content item
- Revision History: Multiple draft versions are created in the new UI (FP)
- Title for search engines is copied from the default language when translating page using the new UI
- Creating a media content translation through related media field creates a broken version for the translation (FP)
- Analytics fails to load data when opened for given item from Analytics column
- Unable to sort Events Backend (FP)
- Performance: Slow saving operation for content blocks with document links when having a significant number of documents (FP)
- In version 12.2, pages with the UrlName "edit" no longer work in the backend (FP)
- Incorrect Permissions resolved for Dynamic modules and Taxonomies
- Include in Sitemap checkbox is not included in the new UI
- Cannot publish item with RTE field when insert email with apostrophe in it
- Autogenerated widget property editors: Double field doesn't accept double number (FP)
- Users cannot insert documents using 'create a link' tool when they do not have permissions for other library documents (FP)
- Pages and Forms edit and create actions redirect the user to another domain (FP)
- User is redirected when trying to edit or create forms once non-default URL settings are configured (FP)
- Fixed issue for duplicating page in the current language to another site creates the page in wrong language
- Fixed issue for duplicated event start and end date fields (FP)
- Validation problem for the URL used in a redirect page pointing to a web address (FP)
- Dynamic module named "Events" with field named "EventStart", "EventEnd" does not work properly
- AdminApp: Required Long Text Fields fail validation when adding different tags in the HTML (FP)
- AdminApp: Slow page load on content types with multiple related data fields (FP)
- AdminApp: On "Insert a link" correct language is not shown (FP)
- AdminApp: List of parent pages shows the top 50 pages (FP)
- AdminApp: Fixed issue where HTTP requests are sent under SSL Offloading with disabled HTTP traffic (FP)
- Incorrect styling in AdminApp when user is logged with SWT
- Validation of Long Text Field prevents publishing in AdminApp (FP)
- Output Cache Warmup Strategy goes in infinity loop when the output cache vary by host and the site is requestd from different domains (FP)
- Sitefinity output cache warmup doesn't work in multisite with SSL
- Personalization Web Service is cached
- Add setting to specify the header that should be used to send the host for output cache warm-up
- Fixed issue where cache dependencies are causing system slow down (FP)
- Empty recycle bin action invalidates output cache
- Failed to update OutputCache proxy items cache: Transaction was deadlocked (FP)
- The IOutputCacheInvalidationEvent is not fired when moving a page to the Recycle Bin
- Ecommerce Reports not functional from iPad Chrome browser (FP)
- Ecommerce - Discounts anonymous role criteria do not apply (FP)
- Ecommerce: CreatePaymentData method is not virtual and cannot be overridden
- Ecommerce: Unable to modify HTML of PayPal Checkout Window (FP)
- Ecommerce: Paypal Standard Payment not working in Live mode (FP)
- If you have two forms with UseAjaxSubmit on a page the success message of the second form is wrong
- Forms: FormTextBox evaluating if a textbox is required in a view always return false (FP)
- Forms: Hidden fields are not included in form response emails (FP)
- Forms: When the Comments Module is disabled, the Forms Captcha widget does not work (FP)
- Form with Form rule doesn't render in Edit screen (FP)
- Fixed issue for duplicate page URLs in a Multilinglual setup when creating a duplicate site (FP)
- Thumbnail of video not showing when in Multilingual (when switch libraries in different providers e.g DB and Filesystem)
- MVC Navigation widget throws error when permissions for Pages are restricted and page with navigation is browsed by unrestricted user (FP)
- MVC widget showing a single item disappears when the paging on another content widget is used (FP)
- The "Set predefined values for widget properties" functionality doesn't work for MVC FormField widgets
- SSL Offloading - MVC Image widget generates wrong absolute url for the page which the image points to (FP)
- MVC: Odd behavior when classification is not translated (FP)
- POST action of a custom MVC Controller does not receive the JSON body of the request if there is an OOTB widget on the page (FP)
- Search results widget MVC: Wrong URL generated when switching languages (FP)
- Redirection to default URL from additional URL does not work for MVC Blog post widget (FP)
- DisplayCount setting is not possible to configure for the MVC Pager (FP)
- Blog widget throws an exception when deleting a page which is set as the default page for a blog on the site (FP)
- Prevent possible infinite loop when browsing a page on the frontend
- Child pages are resolved under different language parent urls
- Performance: Performance degradation when syncing pages with MVC navigation (FP)
- Performance improvement when having many mainFieldIngoredCultures as Database mappings.
- Performance: Audit trail causes slow image upload when have a lot content locations and filters (FP)
- Personalized versions of a shared content block all display the same content (FP)
- Fixed issue for Widget personalization and Referral url criterion
- 'View personalized widget' event is missing in DEC ( FP )
- Personalization: View site as by Custom > Purchases > Departments doesn't work
- StatsClient blocks UI with sync request when personalized widgets are on page
- Sitemap generates wrong URLs in the backend screen in Single site mode (FP)
- Sitemap generates incorrect links in multilingual, multisite and shared providers (FP)
- Sitemap: Pages are not included in the sitemap when missing translation in the default language (FP)
- Not correctly generated sitemap after content item has been unpublished (FP)
- XML Sitemap Generation extensibility
- Target site of Site sync and Continuous delivery does not register the MVC Grid widgets in the toolbox (FP)
- Restrict Site Sync of only websites that the users have access to (FP)
- Syncing media content items marks more items as updated (FP)
- Moving a library to Amazon S3 storage provider with CDN results in 404 responses for some documents.
- Fixed the behavior of "PageSiteNode.GetCustomFieldValue" to return correct value when language is not set.
- Email Settings in Basic settings page uses a shorter regex for email validation (FP)
- Can't edit custom Model in Advanced settings.
- Exception during upgrade to 12.1.
- Confidentiality problem with dynamic module permissions in Classic Interface (FP)
- You can't use HTML inside a success message of a form.
- Disable the limit of active simultaneous backend users field is not working when using a front-end login page (FP)
- Multisite Management: Changes made to customize the amount of sites to show in the Multisite Management dropdown list is not per user but global (FP)
- When “Enable filtering search results by view permissions” is enabled, search results are shown in the search suggestions popup dialog
- Content locations not working for list items
- Sitefinity doesn't initialize properly when the app status page is disabled
- Lists: Saving List items as an user that is Editor and Author when FilterQueriesByViewPermissions is enabled, throws an exception (FP)
- Comments module doesn`t disable the comments restapi route (FP)
- SecurityManager.RevokeCurrentUser throws null reference exception (FP)
- Domain with hyphen and DomainUrlLocalizationStrategy breaks the pages' url (affecting multiple areas) (FP)
- GetChildItems method have misleading comment (FP)
- ObjectFactory.ResolveAll fails in some cases when the implementation is not registered as singleton
- ProfileURL generated by the Forums widget is Hashed cannot be read from profile widget
- Moving a library to Amazon S3 storage provider with CDN which is the website
- Analytics module breaks backend List views of types without a Title (FP)
- Classifications usage (applied to) is not updated (FP)
- Paging for campaign issues
- System status widget depends on the Recent Items widget (FP)
- The Event SortExpression value does not persist after saving it (FP)
- When "Enable in-line editing" is not set, usage tracking throws error (FP)
- Sync pesonalized page segments dependencies
- Navigation widget throws Exception when set to Group page with Authenticated only permissions (FP)
- After upgrade customized datepickers are not working
- Unable to save the changes in the backend pages (FP)
- Segments' priority is incorrect after sync of deleted user segment
- Dynamic Content: Toolbox Item Parameters reset after content type update (FP)
- 'enableCommentsBackwardCompatibility' value is not respected by the provider
- Diagnostics: Change button in SQL queries not working and error is thrown in console (FP)
- Product updates to comply with the new requirements made by Google Chrome web browser build 80, scheduled for release on February 4, 2020 features a change in how cookies are handled
- After setting the RecurrencyField Hidden field to True, events edit page got broke (FP)
- Concurrent editing of dynamic items causes a System.InvalidOperationException when the default culture is involved
- Huge query when switching between translations of a dynamic content item in the old UI
- Blog, Resources, and News Published Dates are changing when new translations are published (FP)
- Extend the number of allowed characters for Instructional text in dynamic module builder (FP)
- Optimized delete of dynamic content
- Dynamic module choice fields UI issue
- Thumbnails regeneration of libraries in Azure blob storage provider (FP)
- Web Security module improvements
- New dialog to create sources is added
- Fixed issue for setting DNS suffix when using Azure Search Service (FP)
- Improved message for obsolete parameter for customization of the form notification templates
- Fixed issue with huge query when deleting temp item of dynamic content (FP)
- Fixed issue for Dynamic Module providers creation (FP)
- Revision history of dynamic module items throw error in non default providers (FP)
- Fixed issue for regenerating thumbnails of a library in Azure storage provider (FP)
- Card widget internal/external page url radio button not working
- Classification selection not sorted alphabetically (FP)
- ClaimsManager.GetCurrentIdentity() returns Annynoums, in SWT mode, when called in ILoginCompletedEvent (FP)
- Media Content: Links generated for embed media content show the domain of the current request in a Multisite project (FP)
- DEC Connector: PageMetadataProvider cannot be resolved exception when A/B testing module is deactivated (FP)
- Editing items in the backend causes an exception and a deadlock exception is displayed (FP)
- Webhook: CDN for pages in the non-default languages are not invalidated after publish (FP)
- SystemManager.Host has incorrect behaviour or throws NullRefferenceException in certain cases (FP)
- Using precompiled views from external assembly doesn`t work (FP)
- Opening dynamic content item permissions is not possible and leads to error - Item type not correctly specified
Developer Tools updates
- The jQuery library that is bundled with Sitefinity CMS has been updated to the latest jQuery version 3.4.1 from version 1.12.1. The latest jQuery version includes the latest stability and securities fixes.
If you use the Sitefinity CMS built-in
- ElasticSearch updated to 7.5.1. For more information on how to update your ElasticSearch version, see this article.
- Progress Telerik UI for ASP.NET AJAX updated to version to R1 2020.
- Progress Telerik UI for WPF updated to R1 2020.
- Progress Kendo UI updated to R1 2020.
- Service Stack updated to version 5.8.
Telerik.Sitefinity.OpenAccess 12.2.7200 package has been replaced with Telerik.DataAccess.Web35 2018.0.1127.1. After upgrading to 13.0 you can safely remove the Telerik.Sitefinity.OpenAccess package.
API and DB Changes
- For parameter 'itemType' pass the item's actual type. DynamicContent type and null values are not supported. For more information, see this KB article.
- Full list of API changes is available here.
- Full list of database changes is available here.
Progress Sitefinity Team