Sitefinity Release Notes

Sitefinity CMS 12.1.7100 (Official Release)

August 01, 2019

Sitefinity 12.1 - 12.1.7100.0

Dear Sitefinity CMS customers and partners! We are excited to announce the release of Sitefinity CMS 12.1. This version contains the following updates, enhancements and fixes: 

What's new

Visual email template editor for forms completions and system notifications 

Sitefinity CMS adds a visual email template editor that you can use to customize any email that Sitefinity CMS sends. That includes form completion notifications and internal notifications.
The template editor provides options to edit email subject and body, as well as to define sender name and sender email. You can compose templates with rich text with the familiar Sitefinity CMS WYSIWYG editor and insert dynamic data in the email's subject and body.  
The system email templates can be configures for all sites or for selected site only. Learn more... 

Forms: Email widget and confirmation emails

Email widget

With the new Email widget, it is now easier to design forms with email fields. You do not have to make additional configurations to the Textbox widget to get a respondent's email - you simply drag and drop the Email widget.

Confirmation emails

In addition to sending email notifications to a list of subscribers when someone submits a form response, you can now also send confirmation emails to the respondents upon successful form submission. You can also customize the content of the email messages sent to subscribers and respondents. You can insert all form fields as dynamic data in the email subject or body. Learn more...

Mechanism for preventing Cross-Site Request Forgery (CSRF)

Sitefinity CMS Web Security module enables IT Administrators to configure a centralized mechanism that helps secure the website cookies, thus preventing CSRF vulnerability. Website administrators can set a minimum security policy for all website cookies by configuring the SameSite, HttpOnly, and Secure attributes. Learn more…

Back-end search 

Search for users and roles:

  • Find users quickly by searching using their first and last name, in addition to email. Learn more…
  • Search for roles based on the role name. Learn more…

Search in Advanced settings:

Search in advanced settings by title, key, and description. That will make you more efficient when you are dealing with Sitefinity CMS settings. To leverage this search capability, you need to maintain a newly introduce search index. Learn more…

Libraries storage relocation

Improved logging provides more details regarding specific actions performed during library storage relocation. The process has been made more tolerant to failure, so when relocation of a media item fails, the process will continue. A listing of failed relocation steps is provided at the completion. Learn more…

New content editing experience: Add related data and media

As of this release, content editors, working with the new content editing experience, can create related media or related data items on the go from the related data selector. When adding related content, they can either select an item from a list with existing content or create a new item of the same type. By default, the new item is stored in the Default source for this siteLearn more…

Related data and media: Select providers

Once you relate content via Related data and Related media fields, you can configure each field to work with different shared content provider. You can change the provider at any time. You can, for example, decide that you want to provide content editors with the flexibility to use related images from the content sources of all sites, not just one. This way, they can choose from which source to select related data or media. Learn more…


Set predefined values to widget properties

You can now configure how a specific widget behaves and looks and what content it displays by pre-filling the values for a wide range of widget properties. Such properties range from simple ones, such as configuring which news items to display, to more complex, such as a CSS class and canonical URL tags. Properties can also be defined on different levels of the widget properties hierarchy. You can set default values for properties of all Sitefinity CMS widgets, as well as of dynamic content widgets and custom widgets.

This way, you provide consistency in behavior and appearance of a specific widget and make it easier for users to work with widgets by avoiding the need to look for specific properties throughout the widget designer or having to know their exact property values.
Once the property values are set, they are not read-only and can be edited at any time. That is, you can still edit and override any of these predefined properties per widget in the widget designer. Learn more…

User-friendly routing

The out-of-the-box Sitefinity CMS MVC widgets enable you filter the displayed content or change the paging via user-friendly routing options. For example, if you have a news widget on your page, you can directly type a category name, appending it to the page URL in the browser. Sitefinity CMS filters the list of news and display only the ones marked with the specified taxonomy. Learn more...

Optimize the size of loaded client-side scripts

As of this version, by default, Sitefinity CMS serves a minified version of all built-in scripts that are referenced in the out-of-the-box widgets. To make debugging easier, a source map is included alongside each minified script. Developers can provide a minified version of the script files, referenced in their custom widgets, and Sitefinity CMS will load it automatically. Learn more...

Output cache: On-demand distributed cache invalidation mechanism

To assist in situations where distributed output cache must be invalidated on-demand, Sitefinity CMS now exposes a suitable web service. By calling the  /restapi/cache/clear  endpoint, website administrators or authorized users can effectively purge the distributed output cache. Learn more...

Health check service: Search service check

Enables website administrators to add an automated check whether the the website search service is operational. The check covers external search services and can proactively identify connectivity problems. Learn more...

Translation service: Automatically configure translation connectors

Now you can automatically configure a connector to a translation service using an assembly attribute. When the website initializes, Sitefinity CMS looks in the /bin folder for assemblies that contain connector implementations and are marked with this attribute. In case it finds such assemblies, Sitefinity CMS automatically adds the translation connector’s configurations that are specified in the assembly attribute. Learn more...

Sitefinity DEC connector

Connector access keys

Digital Experience Cloud changed the way you connect your sites with DEC. To secure the connection between Sitefinity CMS and data centers, DEC now uses access keys as the authentication mechanism. Each access key is a JSON Web token which uniquely identifies each connection to Sitefinity CMS, or any specific site or instance. An access key is perpetually valid, however, an admin can deactivate it manually. Thus, you no longer need to enter user credentials when configuring the DEC connector settings. Learn more...

Read only DEC configuration to discard site traffic

With the new read-only DEC connector configuration setting, you can stop all server-side and client-side tracking and data collection for all sites on a particular Sitefinity CMS instance, while still using DEC data to customize content. This option is particularly useful in scenarios with multiple instances serving different purposes, such as content staging and production. In this scenario, a DEC read-only configuration should be set on the staging instance to avoid recording all test traffic on staging sites, and a full read-write configuration on the production instance (default). 

Personas: Enhancements in persona scoring rules

To make audience segmentation more multi-dimensional, in addition to persona scoring rules based on visitor behavior, you can now define rules based on any defined or automatically detected contact profile property and its string value. To define personalization segments with greater accuracy, you can also create rules with a combination of contact properties. Personalizing your visitors’ experiences based on such criteria helps you account for personal characteristics, demographics, or even specific marketing campaigns. Learn more...

Support for longer conversion windows

When defining or editing conversions, you can now specify conversion windows up to 18 months, so that longer transactions are properly captured. To do this, you use the two extra options for 12 and 18 months, added to the Conversion window section. Learn more…

Contacts: Enhancements in searching, filtering, and exporting contacts

You can now search, filter, and export contacts based on the date, on which their last interaction with your website was reported to DEC. This may include visitors' web journey interactions or interactions, imported from other systems.
To filter contacts based on the last interaction date, you use the Last Visit On criterion and filter further via the predefined time periods or custom ones you define. You can combine filtering criteria for a more through search in the contacts' list and more focused result. Learn more…


Machine translation connector for Microsoft Translator

  • When working with the Sitefinity CMS Translations module, you can benefit from a number of translation connectors that you use out-of-the-box with minimum setup. This repo contains a translation connector to work with the  Microsoft Translator Text V3 API service. Learn more...

Database diagnostics

DB diagnostics module

  • The Database diagnostic module integrates with your Sitefinity website and provides administrators with valuable insight about the website database health. Rebuild database indexes with a click of a button. Learn more...

Visual Studio Extension (Sitefinity VSIX/CLI)

  • Added support for Visual Studio 2019
  • You can now add a blank integration test project to your solution via VSIX and use the samples from Sitefinity GitHub repo. This enables developers to verify project functionality after upgrade or adding new customization. Learn more...
  • Integrate custom logic leveraging Sitefinity modular architecture and following best practices. Use the bare bones custom module projects added through VSIX or use the sample from Sitefinity GitHub repo.  Learn more...
  • Added CLI and VSIX versioning dialog
  • Reduced size footprint of the CLI
  • CLI performance improvements 

Security updates

  • Cumulative security fixes and protections.

What's fixed

New content editing experience

  • Guid field in module builder is hidden in AdminApp (FP)
  • Events: AllDay event cannot be edited in AdminApp (FP)
  • Slow redirect when accessing page for the first time in AdminAp
  • Content block could be shared even if Generic content is removed from the site (FP)
  • New Content Block Designer cannot be loaded in non-English setup(FP)
  • Contextual Help configuration - toggle to enable/disable contextual help
  • Slow chained responses waiting each other during AdminApp Start up
  • Cannot create page in SecondSite when AdminApp is enabled
  • Copying text with different size into the AdminApp Rich Text Editor leads to text with smaller font size (FP)
  • AdminApp UI: Scheduled Publish field date will change to Last Modified after an item is published (FP)
  • AdminApp: Custom Filter does not pre-populate the drop down with results (FP)
  • AdminApp: MultipleChoices custom field for Pages doesn't upgrade properly from 11.1 to 11.2 and the AdminApp breaks (FP)
  • AdminApp: SingleChoice field does not work properly with more than 64 items (FP)
  • AdminApp: Custom classifications filters don't fall back to the default language if there is no translation
  • AdminApp Workflow: Cannot reject item without reason
  • AdminApp: The states information in Address field is not fetched from Locations settings (FP)
  • AdminApp: Additional URLs don't work for Pages
  • AdminApp: A potentially dangerous request was detected from the client (FP)
  • AdminApp: When filtering more than 20 content items, the load more button is not shown (FP)
  • AdminApp: Locked for Editing page always shows the LastModifiedBy user of the page as responsible for locking it(FP)


  • When you click on the “Search…” button the cursor is not focused on the search input.
  • When you make a search and then you start to use the filters in the right sidebar the results do not consider the searched keyword.
  • When you make a search and then go to create a new user, after the creation the search filter is persisted.


  • AppRoles tab is added in the roles grid where the roles in AppRoles provider are displayed.


  • Incorrect MVC dynamic module child widget routing (FP)
  • Thumbnail size is not persisted for images inserted in the mvc content block (FP)
  • MVC Login Status widget breaks page indexing for personalized pages (FP)
  • MVC Login Widget doesn't redirect to the Detail view of a restricted item after user authenticates (FP)
  • "Select a page" window is unusable in MVC Navigation widget with using Bootsrap4 page template (FP)
  • Page location gets trimmed inside MVC Navigation widget (FP)
  • Line breaks removed from blog posts for MVC (FP)
  • MVC Navigtation widget can't be added a custom property that can be edited in the designer (FP)
  • MVC selectors: Using sf-master="true" in multilingual site results in No applicable method 'AND' exists in type (FP)
  • Comments for MVC widgets not submitted when containing "\n" in the message
  • MVC: Cannot filter when the taxonomy starts with digit (FP)
  • MVC: Content Widgets cannot be filtered by a non-default taxonomy and paged simultaneously (FP)
  • Subscribe and Unsubscribe widgets on the same page trigger both action on clicking of either button(FP)
  • evt.Controls is empty on MVC IFormValidatingEvent (FP)


  • SEO Description meta tag is not added to head if SEO enabled is false in Settings
  • SEO: The detail item's Title is displayed on a page even if 'DoNotSet' is configured for PageTitleMode of the widget (FP)
  • OpenGraph:  OpenGraph title is automatically taken from the content item Title or the page Title for search engines fields if you do not fill it out, explicitly.

Other Fixes

  • Cache doesn't invalidate on load balanced setup when storage mode is set to Database (FP)
  • WorkflowManager.MessageWorkflow does not work under https
  • Allowing the creation of dynamic modules with duplicate name leads to issues (FP)
  • Diagnostics Module not respecting connection String in web.config when in Azure and storage mode set to Database (FP)
  • Tags Widgets does node render correct HTML when widget property ShowItemCount is set to True
  • Hero card view of the Card Widget not working when there is a special character (') (apostrophe) in the Image url (FP)
  • RadEditor's RemoveLink button does not work (FP)
  • Various Languages in Chrome break Tracking Consent settings (FP)
  • You are able to create custom field with name as System name for static modules (FP)
  • Administration backend page styling is broken
  • The Export/Import module of sitefinity doesnt exports the Additional URLs field values of pages (FP)
  • Search: Search results page with View permissions causes incorrect redirect by the Search box widget (FP)
  • "System.Exception: Error extracting the text content of a document..." generic error when indexing documents
  • Forms: When creating a form from a second provider with different connection, a Object reference not set to an instance of an object exception is thrown (FP)
  • In "New form response" notification, the Form link doesn't work when UseAjaxSubmit is true (FP)
  • Database lock issue when syncing content items with taxonomies
  • Revision history for media content does not keep the current file after the upgrade to 12.0
  • Setting for RememberMe checkbox in OpenID backend login page not working
  • Images: SVG image that sets colors in CDATA section is uploaded with black color (FP)
  • Archive widget throws Object reference... error when working with custom DateField
  • Date fields are not visible for the List view of Dynamic Content Modules (FP)
  • Redirect loop after login in case of virtual folder (FP)
  • Amazon Search: Search by custom field does not work
  • Cross links crash the w3wp process (FP)
  • Dоcuments&Files filter section is missing in version 11 (FP)
  • Syncing personalization segment with DEC Persona syncs as inactive in Target (FP)
  • N+1 problem when loading related media (or static related data) items
  • Synchronization.log doesn't show the Id of the synced Personalization segment
  • Personalization: Preview site as does not work if Inline editing is disabled (FP)
  • SiteSync: Template theme reverted to basic
  • Search filters not working as expected in ElasticSearch (FP)
  • HtmlSanitizer changing iframe attr sandbox to allow-scripts allow-same-origin (FP)
  • Scheduling multiple item translations for publishing sets a wrong PublicationDate (FP)
  • ContentLocations are registered to content modules when email campaigns are created with the module widget present in the issues (FP)
  • Client cache is not working for .axd resources requested for the second request, because of the incorrect Vary:* response header
  • When there is a plus (+) symbol in the Settings of PageLayouts the view breaks (FP)
  • Expose public API to generate URL for pages in design mode (FP)
  • Last-Modified header is set with zero date when using output cache profile without sliding expiration (FP)
  • "&" special character forces options to next in WebForms forms (FP)
  • Versioning on javascript files is not added when files are coming from Resource package (FP)
  • useMultilingualSplitTables configuration lost in process of upgrade when storagemode is set to Database (FP)
  • Classifications: Enabling new Languages on a site with existing custom classifications will not show the items published in the default Language (FP)
  • Fix Inline editing upgrade
  • Fix etag header to use double quotes for value
  • Redundant Vary headers returned in response when the client cache is on
  • Introduce API to flush the entire output cache
  • ETag is updated when the page is published with output cache warmup set to Full
  • Saving custom DesignerView.Simple.cshmtl reverts to default designer (FP)
  • Issues with URL's included in rich text editor in 11.0 (FP)
  • Missing properties from ControllerToolboxItemAttribute (FP)
  • Azure Search Service does not respect the orderby Clause from search Results (FP)
  • Multilingual: Orphaned entries in sf_cnt_location table after deleting a page (FP)
  • Archive widget throws Object reference... error when working with custom DateField (FP)
  • Document Manager: Link in table throws an error on Edge (FP)
  • Labels & Messages: Deleting labels from the backend doesn't delete them from the resx files (FP)
  • ModuleBuilder: Items cannot be filtered in case of a category with the same name (FP)
  • Events API: GetOccurances gets all occurrences regardless of date range (FP)
  • Calling the FormsService returns a SQL error (FP)
  • Object references between two different object scopes are not allowed. when changing storage provider (FP)
  • Output Cache: setOmitVaryStar is not taking effect (FP)
  • Database lock issue when syncing content items with taxonomies (FP)
  • JavaScript SDK crashes with there is referrer but no decMetadata/ObjectMetadata (Sitefinity and non-Sitefinity sites scenario) (FP)
  • UrlPath.ResolveUrl returns NullReference in Search Indexing mode when Login Logout widget is dropped on the page/template (FP)
  • Azure Search: Items are not removed from the index when deleted in Sitefinity (FP)
  • Invalid data item type "Telerik.Sitefinity.Publishing.Model.PublishingPoint" when creating search index (FP)
  • Revision history of child dynamic content types cannot be seen when parent type has a classification field (FP)
  • Tracking consent injects script right after the opening head section, displacing the meta charset out of the 1024 first bytes. (FP)
  • Group page does not redirect to first child page when having a child redirect page (FP)
  • Content in specific language is not available when having split table strategy enabled after upgrade in MySQL(FP)
  • Navigation control cache variation is not added to the output cache(FP)

Other changes

Connector for Marketo

  • The connector requires a separate license which activates/enables the connector for Marketo. Licenses are requested through the Sitefinity Customer Advocacy team via email (

Developer Tools updates

  • Progress Telerik UI for ASP.NET AJAX updated to version 2019.2.514.45
  • Progress Telerik UI for WPF updated to version 2019.2.510.45
  • Service Stack updated to version 5.5
  • Angular JS  ( login screen ) updated to version 1.7.8
  • GeoLite database updated with source since July 2019


API and DB Changes

API Changes 

Database Changes 


  • Updated templates for sending workflow and system errors notification emails. You can now edit your system templates using the visual email template editor.
  • A new search index is created and appears under Administration → Serch Indexes. This index is used for the newly introduced search in advanced settings.
  • The sf_oc_items and sf_oc_dependencies tables are no longer used. They will remain in the database to ensure smooth upgrades in NLB scenarios and will be dropped in upcoming releases.
  • Sitefinity DEC connector – When upgrading to version 12.1 or higher, the access token will be migrated from Password field to Access key field in configurations. This change concerns only projects using the newly introduced access token authentication.

Known issues

  • Search in advanced settings uses Lucene.Net implementation of Lucene search by default so when you search for items with "-", it splits the word combination instead of searching for it which is a known bug in the current version of Lucene.Net (e.g. "in-line editing"  will actually search for "in", "line" and "editing" instead of "in-line" and "editing")
  • Search in advanced settings in azure - Due to a bug in azure search there are different search results compared to Lucene search. (problem with wildcards)

Progress Sitefinity Team

Progress Sitefinity

Meaningful engagement, elevated experiences delivered with ease.
Set your sites on Sitefinity.