Dear Sitefinity customers and partners! We are excited to announce the release of Sitefinity 15.1. Below you can find details about what is included in this release.
What's new in Sitefinity 15.1
Decoupled Next.js/React Renderer (early availability)
A decoupled Next.js/React Renderer leveraging Sitefinity's decoupled front end architecture is now available to early adopters. This new frontend presentation solution combines Next.js server-side rendering with widget development on React. The Next.js/React Renderer is fully integrated with the WYSIWIG page editor in Sitefinity and offers:
- Ready-to-use widgets
- Widget and page-level personalization
- Smooth integration with KendoReact components
Learn more...
Redesigned sliding widget selector for ASP.NET Core page and form editors
With a new widget selector, you can add widgets without losing sight of your ASP.NET Core page, form, or template. You can now select any widget without jumping to another screen. The same widget selector is also available when editing the Sitefinity Dashboard.
Learn more...
A new Profile widget is now available, which can be used to expose user profile details on the frontend and allow users to edit them.
It offers configurable display modes and supports custom fields and field validation.
Learn more...
Support for AI-assisted content classification
Out-of-the-box integration with Azure OpenAI Services now enables content editors to efficiently tag existing content using classifications for non-hierarchical taxonomies recommended by the AI service based on content analysis. Content editors can generate the tagging recommendations via the Use AIbutton and then review and use those that they like. When creating or editing a content item, the button is displayed in the
The AI service analyzes the text from the short and long text of the content item and based on that, suggests up to 5 classifications. The AI service might suggest completely new classifications or classifications that already exist in the system. It also takes into consideration the frequency of use of classifications. Newly recommended classifications get the(new)label to indicate that they don't exist yet in the system and will be created. Classifications that were already added to the content item are not displayed in the recommendations list.
Learn more...
The SiteSync module can now be configured without the requirement of a dedicated user. Instead, you configure the synchronization by using a secret key that you create on the target environment and then use it on all of your source environments. This reduces setup time and prevents undesirable user conflicts.
Learn more...
Sync of custom fields for static content types
The SiteSync module can now sync custom fields of built-in content types, such asBlogs,News,Events,Content blocks, etc. When you make structure changes to a module, instead of exporting and deploying your site to the target environment, you can use the SiteSync to sync custom fields of built-in modules to the target environment. The synchronization is configurable and you can choose to sync the structure, or only the values of the custom fields, or both.
Learn more...
General Enhancements & Improvements
Support for .NET 8
With release Sitefinity 15.1, the ASP.NET Core Renderer is upgraded to .NET 8.
With Sitefinity CMS 15.1, Elasticsearch client has been updated. To utilize search capabilities with Elasticsearch server, you have to use version 8.11.0 or higher.
Learn more...
A quick option is now available to reindex all active search indexes in bulk - by using theReindexbutton on theSearchbasic settings screen.
Deprecated capabilities
- The
and
have been deprecated. With the new look and feel of the widget selector, these properties are no longer used.
What's fixed
- LoadBalancing: Sitefinity fails to initialize whether Redis connection string is invalid (512900)
- Forms: After submitting a form, there is no redirection; Cloudflare throws 524 error and the backend freezes (505764)
- Rich text editor: Font size dropdown causes the scroll to jump at the top of the text (506645)
- Widgets in new Dashboard open in the same tab (511644)
- Stackoverflow in hierarchical taxonomies (511641)
- Exceptions logged in AppInsight when a form response is submitted to Insight (513016)
- Missing cache dependency for related data field items on OData web services (510561)
- SiteSync not detecting changes for page related data field (510562)
- Sitemap settings screen displays an empty option for day of the week dropdown instead of the selected option (503918)
- New Dashboard: Items in List widget should be clickable (510862)
- Widgets created in Section presets are not editable, unless the user is assigned an Administrator role (493226)
- Limitations settings section not displayed for long text field (Rich text editor) for Dynamic Content (300773)
- Error message on the Dashboard on clean setup with Progress.Sitefinity package (511480)
- Two redirect pages that point to each other cause a timeout when open to edit the page with navigation (488981)
- Microsoft 365 mail sender not sending modified mail templates for forms - fix available in GitHub repo (510635)
- Locked Angular dashboard page cannot be unlocked by another Admin (505561)
- AI services: AI drop-down menu in the Rich tеxt editor loads with delay (509954)
- Invalid URL for AdminApp web-client error; Sitefinity does not log AdminApp error (499478)
- Related Media items lost upon sorting, when related items are more than 20 (506277)
- Custom MVC widget property does not persist in preview mode (489244)
- Custom widget designer not loading after upgrading to 15.0.8221 (513940)
- Mailing list imported from a form not working with .NET Core forms (509154)
- Email Campaigns: Text fields do not have server-side validation (510007)
- Breadcrumb widget throws error when displaying virtual nodes of dynamic content (514327)
- Dashboard: Recent content widget not loading items when Translations module is deactivated (513447)
- Pages: Null status of a page is displayed in the backend (513008)
- Unable to revert to a version from revision history, if the page has a bracket in the URL (502922)
- The category title is not transferred to the creation screen (512758)
- Error messages are not displayed correctly on "Create search index" screen (481915)
- Upgrade: WebSecurityConfig breaks when values are added to the 'frame-src' directive in the CSP header (513510)
- Forms: Cannot publish forms in Finnish when the browser language & culture is Finnish (513734)
- Headless: Back to all pages button navigation from new Dashboard edit screen returns 404 (510749)
- "CSS Class" property of widget from template not sustaining in live version of the page when the widget is set to "Editable on Pages" (489432)
- Huge Database Performance issue when working with Pages UI (Default.GetAvailableParentPages service method) (510985)
- Cannot uncheck the "show in new tab" checkbox when editing a Link in Kendo editor (511196)
- Forms: Slow response time for service requests when given site have a lot of forms (515342)
- Render the same variations for different pages for related AB tests (513830)
- OData output cache doesn't invalidate on dynamic type with Related media field (515433)
- SiteSync performance improvements (514537)
- Some AdminApp URLs do not comply with RFC and OData standards (495278)
- Site shield: "This site can't be reached!" issue when site name contains special character (513261)
- Forms notifications: Confirmation emails are sent even when "enable notifications" is turned off (512782)
- Cannot upload document with .jar and .jnlp file extension when <documents AllowedExtensions="True" /> (513525)
- Elasticsearch: Search results displaying incorrect words of PDF files (509503)
- AdminApp: Cannot create classification item when "break inheritance" is set for the classification type (516158)
- Sitefinity is allowing duplicate Developer names for page templates (509553)
- Create button not available for role with create permissions on a specific provider (505570)
- Dashboard: Incorrect status displayed after editing title and properties of a page (516222)
- Choices custom field does not work (495934)
- CORS requests for OData fail (514274)
- Authentication: ResponseType is not set to "id_token" for custom authentication providers during upgrade (502249)
- Events: Backend list view does not work with translated Calendar resource (515439)
- Libraries: Image CDN link is saved as full URL (513921)
- Sitemap: "LastError" attribute in the Sitemap config is not being updated (501993)
- Images not rendering on the front end (517035)
- Multisite: Customize site selector menu - frontend needs fixing (514640)
- Multisite: Duplicate site not duplicating related data (514869)
- Multisite: Error when Forms module is inactive/uninstalled (517029)
- Multisite: Creating links from one site to another using Link selector is failing (517310)
- Web API: WebServices - "URL name" for Taxonomies types is duplicated (286335)
- Insight Connector: Error upon updating field in Settings >> Advanced >> DigitalExperienceCloudConnector when using Sitefinity environment variables (510875)
- Libraries: Library cannot be created after switching between "On top level" and "Under parent..." level (515928)
- Forms: Extending Forms connector definition only allows TextField and SingleCheckBox (516234)
- Sitemap: Sitemap generation fails with 404 error (516735)
- Health Check: Returns "Healthy": true when the license is missing (517516)
- Output Cache: KeyNotFoundException is thrown in OutputCacheWorker (517685)
- Dashboard: pagesConfig:isToRedirectFromGroupPage setting breaks the redirect to Dashboard backend page (517723)
- OData: Output cache not invalidated for HierarchicalTaxon (518037)
- OData: Modifying search index breaks web service responses filtered by related data (518190)
- OData: Related media field documents filter is slow (518738)
- Google AMP: AMP pages not working with virtual providers (517173)
- SiteSync: Sync specific page translation results in all language versions been synced (507220)
- SiteSync: Note input not available on the Summary screen after sync is completed (373357)
- SiteSync for content editors with ASP.NET Core widgets does not detect page dependencies (510397)
- SiteSync fails to sync a duplicated redirect page (517732)
- Required configuration property with Default value is not validated (300822)
- Social media section appears on Page creation screen when "quick create" preference is turned on (491004)
- Required DateTime configuration property allows empty values (517260)
- Retrieving related items via API from a provider, which is not enabled for the current site, is not working (519157)
- The Close button in confirmation dialog for bulk reindexing is broken in Multisite setup (521057)
- External user profile fields can be edited (517931)
- Revision history dialog appears minimized on subsequent load for a previous version (512889)
- Rich text editor removes attributes without a value (521568)
- Custom field relations does not show the correct number of related items in "By hierarchy" sort option (518553)
- Adding a facetable field to the widget selects the last imported value by default (521530)
- Personalized NativeChat widget is not loaded in the preview and on the frontend (519490)
- AdminApp: Workflow filters for pages disappear when a workflow is defined only for specific pages (400405)
- CSS styling border appearing in content item selectors (517288)
- "IsTaxonUrlDuplicate" method returns incorrect response by hiding the underlying exception (515991)
- Images stored in resource package src not processed to dist (518742)
- Forms: Field response values lost after SiteSync (504389)
- "FailedPasswordAttemptCount" is not incremented when requesting access token with incorrect password (518785)
- Authentication: User not locked out when authenticating client app (491038)
- Email Campaigns: "SENT TO" number in Campaign Report is inaccurate when message job fails due to application-level error (509349)
- LoginForm: ReturnUrl not respected in a particular scenario where the user accesses a restricted page directly (517198)
- Search: Implement "Reindex all indexes in bulk" functionality in Search basic settings (519068)
- Performance issue while loading Iris extensions (519754)
- Link attributes are lost due to broken HTML sanitizer (520679)
- Site-specific settings: Marking a config as "allowed per site" prevents the site from initializing (497433)
- Workflow: Approval workflow e-mails are not styled (513733)
- Classifications are not assigned as custom fields to profile on edit (514544)
- JS error - inline editing (516728)
- "Test settings" is not implemented for the Amazon blob storage provider (497936)
ASP.NET Core Renderer:
- ASP.NET Core Renderer: Attributes of widget properties are not taken into account when the widget is used in a section preset (516297)
- ASP.NET Core Renderer: When creating a section preset and using a background image set via a DAM provider, the image is not displayed in the section thumbnail (490999)
- ASP.NET Core Renderer: "Share preview link..." for a page does not work with custom .NET Core templates (515933)
- ASP.NET Core Renderer: Sort expression for a Content list widget does not allow sorting by multiple fields (517193)
- ASP.NET Core Renderer: Preview of a dynamic content item returns 404 error page (515143)
- ASP.NET Core Renderer: API GetThumbnail("Name") fails as Name is always null (490995)
- ASP.NET Core Renderer: Issue when translating complex widget properties (516238)
- ASP.NET Core Renderer: Content list mappings not updated in ViewsMetaData.json for the custom resource package (516860)
- ASP.NET Core Renderer: Cache not invalidated when additional URL of content item is updated (513017)
- ASP.NET Core Renderer: Query string and anchor properties not persisted in Link selector (512694)
- ASP.NET Core Renderer: Sort by" text in Search results widget is not translatable. Missing field in Advanced > Labels and messages (511645)
- ASP.NET Core Renderer error on pages when site is in offline mode (514955)
- ASP.NET Core Renderer: Redirect pages and navigation can cause infinite loop (509957)
- ASP.NET Core Renderer: Select ALL to include the levels in Navigation widget property does not persist (511195)
- ASP.NET Core Renderer: Site shield does not work with the Renderer (509298)
- ASP.NET Core Renderer: Dashboard error when Site shield is activated and the site includes special character (511532)
- ASP.NET Core Renderer: SiteSync emails sent via the Renderer have the domain name of Sitefinity (518570)
- ASP.NET Core Renderer: Password reset functionality not working for custom membership providers (518834)
- ASP.NET Core Renderer: Form builder drag and drop of drop down items on countries does not work (491001)
- ASP.NET Core Renderer: ContentList widget with custom filter expression does not get filtered by Classification based URL (519397)
Other:
- Cumulative product security enhancements and updates (514962, 514961, 511916, 516983, 515704, 510798, 515708, 515709,519332, 519179, 519170, 518997, 518990).
For more information, see this KB and this KB.
API and breaking
- API changes
Learn more... Telerik.Sitefinity.Web.Api.OData.Controllers.CustomMetadataController.CurrentUser
is now moved to Telerik.Sitefinity.Web.Api.Controllers.UsersController.Current
.- Sitefinity AdminApp extensions must be rebuilt after upgrading to Sitefinity 15.1.
Angular has been upgraded from version 15 to version 17 and there are breaking changes in Angular API that will likely impact customer extensions. For more information, refer to the following articles:
Regards,
Progress Sitefinity Team