Some of the issues described on this page contain internal reference numbers. You can use these reference numbers when communicating with Sitecore about a particular issue or feature.
As part of our commitment to continually improving our software and listening to our customer’s feedback, Sitecore regularly releases new versions of our CMS product. Each release undergoes careful quality assurance procedures to minimize the number of issues.
January 26, 2016
Released Sitecore CMS and DMS 7.2 rev.160123 (7.2 Update-6)
Note: This is a product update. Sitecore recommends that you upgrade to this release if it includes fixes that meet the specific needs of your organization. If this release does not include new functionality or specific fixes that your organization requires, you may benefit from waiting to upgrade until Sitecore releases a Service Pack for this series. This is especially true in production environments.
To learn more about the versioning system in Sitecore, see the Sitecore Versioning Policy page.
For instructions on how to download and install this release, please visit the appropriate Sitecore CMS 7 downloads page.
Highlights
- Item Clones, Content Editor and Item Buckets features were improved
- Improved overall security - several potential security vulnerability fixes applied
- A set of administration pages extended with a number of new tools
- Add changes about Upgrade
Important changes
Improvements
- Content Editor
- 376973: Add a setting that prevents creating an item with a duplicated name on a same level
- 382868: Add support for SVG images
- Item Buckets
- 388622: Add ability to display items of content language only in ‘Multilist with Search’ field
- 388624: Add ability to select items of specific or latest version only in the ‘Multilist with Search’
- Item Clones
- 339260: Add possibility to clone the item without its descendants
- 344196, 371544: Add an option to delete all clones when base item is deleted
- 387584: Add support for internal link between clones
- 344971: Add possibility to sort languages in the language selection dropdown
- 399340: Add Acknowledge option for the “The original item has been moved.” notification
- 381831: Add ability to copy and paste a protected item under itself.
- Administration
- 68008: User Info admin page was introduced. It shows details about logged in user
- 66466: Raw Search admin page was introduced. It allows searching for the specific string in database or on the file system
- 66990: Sql Shell admin page was introduced. It allows executing Sql scripts using the specific connection strings
- 66467: Security Tools admin page was introduced. It provides various login and user management features
- 66472: Database Cleanup admin page was introduced. It allows performing various cleanup operations on specific databases
- 66516: Jobs Viewer admin page was introduced. It provides overview of jobs execution
- 66532: Package Item admin page was introduced. It allows packaging of specific items with their dependencies
- 68295: PublishingQueue Statistics admin page was introduced. It provides overview of the PublishQueue processing
- 68294: EventQueue Statistics admin page was introduced. It provides overview of the EventQueue processing.
Issues resolved
- Archiving
- 421362: RecycleBin incorrectly calculates page count for admin user.
- Caching
- 443763: Wrong work of PropertyStore with case-sensitive keys
- 451362: Settings class caches default values when value in the config file is invalid.
- Engagement Analytics
- 453160: Scan method of the ItemRecords class ignores TemplateID parameter
- 407419: Report layout is broken
- 439368: Sitecore.Analytics.Pipelines.InsertRenderings.Personalization.Evaluate method cannot be fully altered.
- Item buckets
- 408894: The GetDatasourceDependencies processor does not work and throws InvalidCastException
- 408898: Reindexing dependencies causes an infinite loop in case of circular references
- 383160: ‘Semantics’ field shows all versions and languages for tags
- 402604: Search in ‘Treelist/Multilist with Search’ field ignores the Source value
- 410621: ‘Multilist with Search’ field does not support query in StartSearchLocation
- 408011: Language and version of an item disappear in ‘Multilist with Search’ fields
- 404260: The FieldTypeRenderer for the ‘Multilist with Search’ field type is not properly resolved
- 397981: Selected items does not disappear from the unselected box
- 448413: Updating indexes on Content Management could cause exceptions on Content Delivery due to unknown index
- 388614: ‘Multilist with Search’ allows to select a specific language or version of an item but stores only ID of the item
- 407727: Display name in the tagging list suddenly changed to item name
- 455339: Processor Sitecore.Shell.Framework.Pipelines.AddFromTemplate.Execute in pipeline uiAddFromTemplate does not pass the result to next processor
- 412550: Search among results of the ‘Multilist with Search’ returns nothing when contains “must” conditions (“+” symbols in filter)
- 451051: syncMaster strategy updates same item language versions multiple times
- 452712: Bucket folder item is selected when adding new item to the bucket
- 453779: $CurrentLanguage token doesn't get replaced with the content language name
- 452791: ‘Multilist with Search’ field returns no results after clicking the Refresh button
- 444492: ‘Multilist with Search’ field returns no results when custom indexes are configured
- 440949: Filed ‘Name’ is used instead of field ‘Title’ to display field in search results
- 423230, 441841: ‘Multilist with Search’ doesn't work on first load of Content Editor
- 442796: ‘Multilist With Search’ incorrectly translates a query from the AJAX
- 407006: Controls of the ‘Multilist with Search’ field and ‘Treelist with Search’ fields don't work without caching
- 424575: The Go To Item button doesn't work for items from Selected Items List
- 422831: ‘Multilist with Search’ field displays different results before and after clicking the Refresh button if few filters specified
- 407010: Pages number is not constant in ‘Multilist with Search’ or “Treelist with Search’ fields
- 407051: Symbol “+” from the field Datasource is decoded as a space for ‘MultiList with Search’ field
- 416813: Go To Item functionality in ‘Multilist with search’ does not go to the selected item language
- 402800: Page number of ‘Multilist With Search’ field shows confusing results
- 453739: Buckets can be published using Incremental Publish
- 452872: Incremental Publish deletes items moved by Bucket Sync operation
- 449350: Newly created bucket folders are obsoleted in caches and are not added to the PublishQueue
- 416553: Indexing Manager Wizard performs rebuild using the obsolete GetIndexJobOptions method
- 414724: Sitecore adds an empty English version to items after adding them to Item Buckets folder
- 401115: Order Manager application not working with SOLR
- 437821: Content Search Indexes are populated during Sitecore Update package installation.
- Item Clones
- 453398: Published clone can show non-published values from the master database
- 454201: The ‘__Source Item’ field is not cleared after publishing
- 430135: Notification provider is slow
- 428529: The “A field in the original item has been changed” notification doesn’t appear in an item clone when we add a new version of the original item
- 414642: Cloned item Presentation is not updated after incremental publish of its template
- 420916: Moving items is not reflected correctly in clones
- 386215: Inconsistency of Clone/Unclone(Unclone item) commands execution
- 336070: Item clone doesn't reflect template change when it is changed on the original item
- 348308: item:added event is raised before the item becomes a clone
- 367488: Orphaned notifications lock the Content Editor clone notification warnings
- 438555: Every item is read many times from database
- 434765: Changes in the cloned items are not published when you use Incremental Publish
- 434785: Clone items are not picked up by the Smart Publishing
- 441220: Warning isn't appeared during deleting all versions of original item
- 441230: Clone version should be created from the latest version
- 453964: Unclone action removes data in other language versions.
- Content Editor
- 431565: Deleting large set of subitems causes the "Invalid URI: The Uri string is too long" exception
- 432330: Empty "Permissions" area in the "Assign Security Rights" dialog
- 426066: Subitems menu in the Navigate tab does not have a scroll bar
- 410792: In the Page Editor, the Edit the related item option opens the Content Editor with broken markup
- 414200: Wrong location of chunks after adding the separator item to the list of items of the Customize My Toolbar dialog
- 416747: Fatal error causes losing data when the user navigate other item in the Content Tree
- 417272: Absence of confirmation dialog for the Security Presets
- 417889: Session timeout issue of the Favorites button in the Navigate tab
- 404020: General Link field throws uninformative exception when its value is corrupted and the buttons are clicked above the field
- 406348: Confirmation dialog doesn't appear when there are unsaved changes during the switch from Content Editor to Media Library or Workbox
- 406818: Do not translate the title in case it has a value in current language
- 406948: Content Editor freezes while a previewed page is being loaded
- 397066: Open Media Library button doesn't work if Media Library item is not visible in content tree
- 384925: User with language:write set to denied can remove version in this language
- 378250: The long name of a template is not displayed correctly in the Insert chunk
- 381251: Display name dialog shows Item Name instead of Display Name when the Item Key option is enabled
- 382609: Select the value of the ‘Item Name’ field when you click on it
- 316236: Long template names as Insert options cause a scroll bar to be shown
- 316754: Open Media Library button on the image field should open Media Library if entire item tree is not shown
- 328421: Check in unlocks should unlock the selected version of item
- 328877: Multiple controls with the same IDs
- 329492: Temp folder cannot be moved outside of web root
- 342340: It is possible to rename locked item by clicking on its title in the header
- 346837, 379814, 310033: ItemUtil.ProposeValidItemName method returns incorrect values
- 361198: Display name is translated in the item insert options
- 373466: Content Editor fails to load item if its fields contain some encoded symbol
- 433879: Test in Insert Panel is overlapped
- 432459: Text overlay happens on ribbon panel list
- 357597: Display name dialog shows incorrect value when the Item Key option is enabled
- 452241: Links dialog fails if cross-database links are present
- 426406: General link dialog changes the query string value
- 414946: Media browser shows only selected image
- 439119: Query string of the General Link field gets encoded
- 388264: Re-ordering issue in the Presentation Details dialog.
- Media
- 386277: Thumbnails for SVG images return exception.
- Miscellaneous
- 424573: The “Multiple controls with the same ID” error appears in the ItemSecurityEditor.xaml.xml control when the trace debugging is enabled
- 453112: Installer for Sitecore 7.2 Update-5 requires .NET 4.5.1
- 443748: Database properties are updated on every click during login process
- 437844: Sitecore Update package installation would freeze Sitecore due to Descendants rebuild.
- Multibrowser fixes
- 405361, 375356: Line separator character ( ) breaks RTE functionality.
- Performance Improvements
- 331608: Item loading speed for SQL Server can be increased
- 452796: Item loading optimization: reduce the complexity of SQL query.
- Pipelines
- 449959: Sitecore.Diagnostics.Statistics.AddPipelineTiming suffers from excessive locking.
- Publishing
- 401203: Clones publishing may lead to huge overhead and performance issues.
- 453501: Incremental publish republishes redundant version of the item.
- Oracle
- 363485: Sitecore CloneNotificationsCleanupAgent doesn't work.
- Rich Text editor
- 407683: Unicode char “\0x2028” stops field from being saved and can break Content Editor
- 342993: The content of the EditHtml dialog in Rich Text Editor isn't transmitted to the handler.
- Sitecore.ContentSearch
- 452387: BaseAsynchronousStrategy.OnIndexingStarted event may fail if EventQueue is empty
- 406929: The RemoteRebuild strategy is not invoked if indexes were rebuilt using the Indexing Manager Wizard
- 452577: Asynchronous strategies skip Copied and Restored events.
October 23, 2015
Released Sitecore CMS and DMS 7.2 rev.151021 (7.2 Service Pack-2, originally released as 7.2 Update-5)
Note: This is a product Service Pack. Sitecore recommends customers to install service packs for any feature release that the customer has installed. This is especially true in production environments.
To learn more about the versioning system in Sitecore, see the Sitecore Versioning Policy page.
For instructions on how to download and install this release, please visit the appropriate Sitecore CMS 7 downloads page.
Highlights
- A number of improvements in the Item Clones feature
- Improved overall security – several potential security vulnerability fixes applied
- A number of performance improvements
- A number of fixes in parallel publishing and indexing
Improvements
- Content Editor
- The ability to change the order of tabs in the Content Editor has been implemented. A New Tab Sort Order field has been added to /sitecore/templates/Sitecore Client/Content editor/Editor template in the core database. (318593)
- Sitecore.ContentSearch
- A number of methods in the LuceneSearchContext and LuceneDeleteContext classes have been made virtual. (420013)
- Item Clones
- Item Clones had its own workflow information which did not reflect changes made from the original item. This has been changed so that you can configure Sitecore to inherit workflow information from the original item by using the ItemCloning.InheritWorkflowData setting. (336081, 364573)
- Changes to an original item, like adding a new version or creating a version in a new language, were not automatically applied to clone items. This has been fixed by introducing setting ItemCloning.ForceUpdate. This setting allows you to configure Sitecore to automatically create a version for an item clone when a new version is created for original items. This setting is also considered for other operations such as creating a first version in new language or creating a child item. (343487, 344195, 364553)
- The performance of the get item operation for both regular and clone items has been increased by introducing a separate shared field called ‘__Source Item’. This now allows you to keep a reference to original item. (436659)
- Media
- The setting MediaResponse.VaryHeader has been added to Sitecore configuration. This allows you to specify the value for the “vary” header that has been added to media response stream. By default, no “vary” header is selected. (365655)
- It was not possible to disable the logic responsible for checking and removing old blob values when updating or creating media items. On large databases, checking whether the media stream should be removed from the database may have taken a lot of time. This has been fixed so that the new setting RemoveUnusedBlobsOnSave has been added. The setting is responsible for controlling if unused blobs should be deleted from a database when a media item is saved. (436978)
- Miscellaneous
- The dbo.Fields view now contains the WITH (NOLOCK) statement and is consistent with the changes made in the #397521 bug fix. (451265)
- The ability to allow non-administrator users to see all items in the Recycle Bin application has been implemented. This permission can be configured on the item /sitecore/system/Settings/Security/Policies/Recycle Bin/Can See All Items in the core database. The default behavior has not been changed. (354831)
- Support for the “format” attribute has been added to the FieldRenderer control. The attribute allows specifying the format for the following field types: date, datetime, number and integer. (373185)
- Performance
- The Cleanup Database operation scripts have been optimized. The operation is now several times faster than it had been. (378825, 419345, 435339, 436985, 437739, 444348, 448452)
- Attaching a new image to a media item or uploading a new media item may take a long time on large databases. This may cause deadlocks on large solutions. To address this issue, the scripts responsible for scanning for orphaned media blobs have been optimized. (391556, 430993)
- Rebuilding the Link database would sometimes fail and throw a timeout exception. This has been fixed so that link database processing has been split into batches. The size of the batch is controlled by the LinkDatabase.MaximumBatchSize setting. (431417)
- The Save item operation has been optimized to minimize the number of requests to the database. Operation performance has doubled. (431718)
- The path logic for getting items has been optimized to minimize the number of database requests. It now no longer loads all siblings for all processed ancestors (436011)
- The DatabaseCacheWriteDisabler class has been implemented. This allows reading data from cache but does not allow updating. This disabler should be used when you need to process a number of items but do not want to add these items to the cache, for example, indexing, publishing, cloning, and so on. (438527, 448645)
- The CreateCultureInfo class has been reworked to avoid global locking. Code that uses this class should now perform better. (435527)
- Code for the ItemPathsCache class has been optimized for improved erformance. (434425)
- Queued events processing was done synchronously during an instance restart. This had delayed startup time. This has been fixed so that queued events are processed asynchronously during startup. (442162)
- The ItemsContext class has been reworked to now use a thread static dictionary. This performs better than the ThreadData API. (405080)
- The AsyncEventProvider class has been reworked not to add duplicated tasks into ManagedThreadPool. (442194, 442467)
- A number of classes have been reworked to better perform in a multithreaded environment. (443702, 443768)
- Setup.exe installation program
- The Japanese installation program has been deprecated. A new feature has been added to the default installation program that enables installation in an additional language and configuring SC to use a new language as the default. (440166, 442195)
Breaking Changes
- IntervalAsynchronousStrategy has been reworked to use EventQueue instead of History engine. This means that in case EventQueue is disabled the strategy will not be corking correctly. (378584)
Issues resolved
- Configuration
- An HttpException exception had been raised when Sitecore was configured to store icon caches outside the website root in the Icons.CacheFolder. This has been fixed. (329493)
- Caching
- The security cache had not updated correctly after changing security rights on workflow items. As a result, some actions like Edit were available for content items even if they are denied on workflow state items until cache is cleared. This has been fixed. (364063)
- The security cache had not updated correctly after an item was moved in the content tree. This has been fixed. (402736)
- The IndexOutOfRangeException exception had sometimes appeared in Sitecore log files when using the get item API. This has been fixed so that the ItemPathsCache cache has been corrected. (439802)
- The ArgumentNullException exception had sometimes appeared when trying to get an item from cache on a ‘high load’ solution in a multithreaded environment. This has been fixed. (449017)
- Engagement Analytics
- Tracker.EndVisit had not behaved correctly, which could lead to incorrect tracking of user visits. This has been fixed. (377049, 432581)
- Item buckets
- The Unbucketing operation had not worked correctly and may have caused lost data when Sitecore was configured to use a custom bucket structure. This was done by changing the value of the setting BucketConfiguration.BucketFolderPath. This has been fixed. (421604)
- The cache had not updated correctly on remote servers when bucketing items in a scaled environment. As a result, duplicated buckets structures could be created. This has been fixed.(406507)
- Bucketed items were not published if items from the bucket structure did not have a version in the publishing language. This has been fixed. (423267, 423944)
- Item Clones
- Workflow information had not registered correctly when creating a clone of a version in new language by clicking Accept on the “Version was created” notification. This has been fixed. (423100)
- The unclone operation had applied only to the latest versions of the clone and had not uncloned the whole item. This has been fixed so that the unclone operation now converts all clones to a regular item. (440579)
- The validations for __Source and __Source Item fields have been added to the Content Editor. These fields are used by the Item Clones feature. These items must be synchronized. You must never change these fields manually. (440997)
- Content Editor
- The spelling operation had not applied to the single-line text fields. This has been fixed so that these fields are included in the spell checking list. (313080)
- Spell checking was always performed using English as the default language. The operation had not respected the selected content language. This has been fixed. (374365)
- A JavaScript error had appeared when changing item ownership. This has been fixed. (342562)
- Server- and client- side item validation had not worked properly. For example, it was not possible to create an item with Danish characters on the client-side buut you were able to do this on the server side. This has been fixed so that you cannot create items with non-English characters in the name from API. (342622)
- Aliases which did not have a reference to a content item were sometimes created when creating an alias for an ancestor located deep in the content tree. This has been fixed so that an alert is shown when trying to create an alias for a content item that does not have aliases for its ancestors. (343567)
- Content language had not been preserved when switching between applications in Content Editor. This has been fixed. (346249)
- The InvalidOperationException exception would occur when editing a profile card in Card Editor dialog box. This exception occurred only when the AutomaticDataBind setting was changed to true. This has been fixed. (361245)
- The message ‘The Validator service could not be invoked because of an error.’ had been shown when using the Markup button on Proofing chunk of Review tab in Content Editor ribbon. This has been fixed. (442888, 447238)
- The Device Editor dialog box could fail with an ArgumentNullException when the user clicked OK in the dialog box. This could happen if the item did not have any presentation assigned to it and the user had not made any changes in the dialog box. (359491)
- Unsaved changes to a content item in the Content Editor might be lost without notification when you added a new language using Language selector menu. This has been fixed. (421328)
- The Broken Links gutter processed all item versions in the current language instead of reporting problems for current version only. This has been fixed. (404252)
- Media
- ResizeProcessor in the getMediaStream pipeline had changed a picture’s colors when resizing an image according to media URL parameters. This has been fixed. (423175)
- An error would occur where some media files that were placed into the /upload folder would fail to be picked up and added to Media Library. The problem was related to the buffer size of the FileWatcher, which could not be changed. This has been fixed so that a new setting that controls the buffer size has been added. The setting name is Media.FileSystemWatcher.BufferSize. (323775)
- Options selected in the Advanced Upload dialog had not applied when uploading media. This has been fixed. (439231)
- Miscellaneous
- The InvalidOperationException exception might sometime appear when executing the “cleanup unused blobs” step of the cleanup database operation. This exception terminated the entire cleanup database task. This has been fixed so that other steps of the operation are executed even if the “cleanup blobs” step was not successful. (310319)
- The description of the validateRequest attribute in /system.web/pages node was outdated and had not explained its default value correctly. The description has been corrected. (322178)
- The Workflow State gutter had allowed you to execute workflow commands even when the user did not have appropriate access rights. This has been fixed. (325141, 337841, 382843)
- Some content items links had not processed correctly and were not added to the link database. This has been fixed to add support for extracting and updating links for a number of field types. (395100, 392621)
- The confirmation dialog shown when the operation of creating new user was canceled had not supported localization to other languages. This has been fixed. (435707)
- Virtual users had remained logged into Sitecore, but lost all assigned roles when their user session had expired. This has been fixed so that a virtual user does not lose its roles while it is logged in. (365855, 441004)
- Context items for the request to the item with “-” (dash) character in the name was not resolved correctly when Sitecore was deployed on an operation system using .NET Framework 4.6. This has been fixed so that changes in .NET 4.6 API were taken into consideration during item name processing. (449251)
- The FileWatcher implementation had not handled ThreadAbortException exception correctly. This had sometimes resulted in a high CPU load. This has been fixed. (386565)
- The Memory Monitor (MemoryMonitorHook class) had initialized even when Sitecore was configured to disable performance counters. This has been fixed. (394956)
- Serializing an item after it had been renamed had caused the item and all serialized children to be deleted. This has been fixed. (400558)
- Sitecore may show the "Item Not Found" page as a result of requests to the media item when the media prefix or the name of the item contain characters included in the "encodeNameReplacements" configuration section. This has been fixed. (414259)
- Any roles that had been added to a virtual user after it was logged in were not preserved between requests. This has been fixed. (381352)
- When a virtual user logged in to a shell site, the InvalidOperationException error had occurred if they tried to access to http://<hostname>/sitecore URL. This has been fixed. (408264)
- A requested item had not resolved correctly if the item content path contained a combination of characters specified in replace node of encodeNameReplacements section. (408384, 416567, 416797, 431208, 434065)
- ‘The data could not be loaded’ message was shown when navigating between pages in the User Manager application. The message appeared when Sitecore was configured to use item display names in the link generation API. This has been fixed. (387348)
- The RuleFactory.ParseRules raised an exception when parsing empty field values. This has been fixed. (431195)
- The Placeholder Settings dialog was not fully translated. This has been fixed. (436694)
- A modification to the Sitecore.Data.Database.Properties collection that is used to access the Properties table resulted in the PropertyChangedRemoteEvent event being recorded in the EventQueue table event if code was wrapped in the EventDisabler. This has been fixed. (420602)
- Sitecore had not process routed POST requests correctly when running the 'Integrated' mode. This has been fixed. (338084)
- The information added t o Sitecore log file in the case of an exception that appeared inside the Retryer scope did not contain information about the exception. This has been fixed. (435355)
- Multibrowser fixes
- [IE11] The Publishing timeline rendering was corrupted in the Publish Viewer dialog. This has been fixed. (415170)
- The Create New User dialog layout had been broken when it was opened in the Danish client language. This has been fixed. (416151)
- Page Editor
- The NullReferenceException exception would appear when clicking the Delete Page command in the Page Editor and then choosing Cancel in confirmation dialog. If the Ok button was clicked, the page was removed but not would not refresh. A similar error was shown when trying to delete the item in the Media Library application. This has been fixed. (404366, 439567)
- The Delete Page command caused NullReferenceException and would not redirect to the parent item. This has been fixed. (49533, 404366)
- The Insert component command resulted in an uncaught exception for empty components. This has been fixed. (49459, 359113)
- The Workflow command would not refresh a page. This has been fixed. (49538, 405652)
- The Page Editor did not redirect after inserting or moving a page in Firefox. This has been fixed. (49534, 404378)
- A Javascript error occurred when inserting a sublayout into an item, if the placeholders were not set in Presentation. This has been fixed. (51557, 380995)
- The unwanted <h1> tag was added to the field value when you edited an item with the Edit command. This has been fixed. (49502, 389855)
- A page would not refresh after deleting when using the EditFrame command. This has been fixed. (49440, 351106)
- A page would not refresh after removing a datasource item via EditFrame. This has been fixed. (49497, 387856)
- An error message appeared if you tried to change the value of an Integer field to blank. This has been fixed. (49517, 398156)
- Inline editing did not work correctly in Firefox when you would copy and paste content from an edited field. This has been fixed. (51474, 330685)
- Inline editing in Rich Text fields in Chrome added unwanted span tags. This has been fixed. (49562, 415254)
- The Before and After properties of the FieldRender were added to field value on save. This has been fixed. (49434, 318619)
- The Select Media dialog had displayed incorrectly on a page that contained a large amount of content. This has been fixed. (49528, 403109)
- The injection of a <script > into page's <head> had broken Device Simulation functionality. This has been fixed. (49527, 402719)
- The [No text in field] label was not shown when a Rich Text Field was empty in Chrome and Safari. This has been fixed. (51577, 390673)
- The additional parameters on the command template were not used in the execution of the command. This has been fixed. (49515, 397460)
- Field parameters values were not passed to popup dialogs. This has been fixed. (49535, 404386)
- The displayed languages in the Page Editor drop down were not synchronized with the Content Editor. This has been fixed. (51530, 367416)
- Preview mode had ignored publishing restrictions for media items. This has been fixed. (54015, 398694, 49519)
- A rendering had beem lost after moving a presentation component in some cases. This has been fixed. (49728, 422629)
- There were Javascript errors when deleting an item in the Page Editor. This has been fixed. (51618, 407731)
- The [No text in field] watermark did not show up after deleting the field's contents. This has been fixed. (49451, 355773)
- The Move component button did not work from the More section. This has been fixed. (49523, 399717)
- The Edit Component Properties command did not properly handle simultaneous editing. This has been fixed. (49503, 389967)
- The Replace Rendering button broke page rendering if placeholders were not set explicitly. This has been fixed. (49490, 379073)
- It was not possible to add a rendering to a placeholder on MVC Layout in the Page Editor. This has been fixed. (51605, 402308)
- The Page Editor was not refreshed after deleting an opened page. This has been fixed. (49549, 410777)
- Renderings had sometimes disappeared after changing position. This has been fixed. (49439, 349911)
- The Page Editor commands had sometimes redirected to an external URL. This has been fixed. (51573, 387029)
- The Date Selector ignored client language of Sitecore. This has been fixed. (51553, 379588)
- The Choose an Image dialog had displayed images from a different language version. This has been fixed. (51560, 382594)
- The language switching functionality had been broken in the Page Editor when useDisplayName="true" and languageEmbedding="never". This has been fixed. (49473, 367029)
- The placeholder path of a child component was not updated when moving parent component. This has been fixed. (49453, 356895)
- An empty rendering could not be inserted using the Page Editor. This has been fixed. (49556, 412546)
- The content tree was not shown in the Content Editor inside the Page Editor. This has been fixed. (60274, 360049)
- The inline content editor had broken the Page Editor in some cases. This has been fixed. (49433, 361703)
- The Page Editor’s ribbon had overlaid the html elements on the page. This has been fixed. (49466, 361703)
- The Page Editor was not refreshed after changing the preview date in Firefox. This has been fixed. (49552, 411608)
- The Save button was disabled in Page Editor after having performed the Publish process. This has been fixed. (49662, 421692)
- Page Editor mode did not remember the selected device after navigating to another page. This has been fixed. (51494, 340034)
- A datasource’s location was shown incorrectly in a multivariate test. This has been fixed. (49512, 395557)
- Renaming an item in the Page editor had resulted in a 404 error. This has been fixed. (51467, 316350)
- It was still possible to execute a workflow action if the item was locked by another user. This has been fixed. (50022, 430898)
- Firefox reloaded a page with a modal dialog window on. The modal dialog action was not executed. This has been fixed. (49529, 403433)
- A jQuery-UI theme was ignored in different Page Editor modes. This has been fixed. (49546, 409077)
- The Replace with another rendering feature did not work in some instances. This has been fixed. (49487, 377543)
- Simultaneous editing using the Component Properties dialog resulted in an "error occurred" warning and a lost layout. This has been fixed. (68227)
- Using backspace when performing inline editing cut the content in the field. This has been fixed (51627, 416711)
- A new item was not created if page had not been saved. This has been fixed. (65719)
- Potential security vulnerabilities
- Opening the Security Editor application for any database was possible using a direct link to the application with the appropriate query string parameters. This action was available for logged in user only with appropriate permissions for using this Security Application but without access to specified database. This has been fixed. (368660)
- User cookies in Preview mode were not marked as HTTP-only and were available from JavaScript code. This has been fixed so that cookies are marked as HttpOnly flag. (422755)
- The JavaScript code that defined the style attribute of some HTML elements in the Rich Text Editor field could be executed even when the editor control was configured to remove any scripts from its content. This has been fixed. (422845)
- User that did not have write permission could see items in a workflow using the RSS view. This did not make sense, as these users did not have permission to execute any commands. This has been fixed so that items shown in the RSS view correspond to ones that are shown in Workbox application. Additional changes were made to protect executing commands from using direct URLs. (350933, 426266)
- The password recovery page had shown different validation messages for cases when a user with specified name already exists in Sitecore database. This has been fixed so that a generic validation message is shown. (363086)
- A potential cross-site scripting vulnerability in the media upload control has been fixed. (415861)
- Some potential cross-site scripting vulnerabilities in the logic responsible for processing the query parameters in the SiteContext class have been fixed. (416948)
- Some potential cross-site scripting vulnerabilities in the Content Editor application, Edit User dialog, and Sitecore Desktop have been fixed. (428986, 429290, 432461)
- The Microsoft assembly System.Web.Mvc.dll - version 5.1.20129.0 - has a security problem and could allow security feature bypass. This has been fixed. The assembly has been updated to version 5.1.20821.0 where the problem was fixed. (449856)
- The Search tab in Content Editor had returned the search result event after a user session was expired. This has been fixed so that user is redirected to the Login page. (429472)
- Publishing
- When publishing an item that had child items, sometimes not all of the child items were published when the Publish related items option was enabled. This was due to a setting which did not allow publishing the same item twice, but had not considered publishing child items. This has been fixed. (436451, 438574, 436732)
- The publishing process had not recovered correctly after an application pool restart. This had occured when Sitecore was configured to recover publishing by setting Publishing.Recovery.Enabled to true, and the Publishing.CheckSecurity setting had been set to true. This has been fixed. (436593)
- Items in an item bucket may not have published correctly when system bucket items had publishing restrictions. This has been fixed. (437012)
- The publish:complete:remote setting had not fired in a scaled setup after publishing was completed. This has been fixed. (414237)
- The same items were published several times when publishing with the Publish Related Items option. This has been fixed. (417352)
- The same items could be published several times when incremental publish had been initiated while a long-running republishing was in progress. This has been fixed. (442806)
- The Publish dialog would sometimes hang in the case of a distributed publish. This has been fixed. (442136, 443168)
- The number of threads used during parallel publishing was sometimes higher than what had been defined in Publishing.MaxDegreeOfParallelism setting. Some of these threads were not used efficiently and were idle. This has been fixed. (404571, 443590, 448131)
- Smart publishing of an item with related items had skipped linked items when parallel publishing was used. This has been fixed. (443931)
- Incremental publishing had sometimes been interrupted with the ArgumentOutOfRangeException exception. This problem was related to the order of processing changes from publishing queue. This problem also could be the reason for skipping and do not publish some items when processing publishing queue. This has been fixed so that changes are now processed in the correct order. (388455, 424542, 442548, 449010, 449439, 449446)
- The UpdateStatistics processor and the JobStatus class have been optimized to perform better when parallel publishing is used. (442966, 442967)
- Smart publishing items that have child items associated with them skipped any moved child items if Sitecore.Publishing.Parallel.config was enabled. This has been fixed. (443868)
- The log message ‘##Publish Item: Name=(null), Uri=(null) …’ might sometime appear in the log file during a smart publish that occurred when the traceToLog option enabled. This has been fixed. (444032)
- Smart publishing had sometimes skipped some items in the publishing queue when the Publish related items and Publish children options were selected, and published items had links to child items. This has been fixed. (444269)
- Language items had been published when using Incremental publish even when they were not changed. This has been fixed. (448419)
- Executing the AddItemsToQueue processor may have taken a long time without any notification. This has been fixed so that logging has been added to the processor. (449599)
- Some items from a bucket might not be published when parallel publishing was used. This has been fixed. (449784)
- Oracle
- Fields with empty values had taken their values from Standard Values items even when the ResetBlank option for the template field was unchecked. This has been fixed so that a specific value for this field is stored in Oracle database if value for the field is empty. (332520, 442351)
- The script for getting data from the EventQueue table has been optimized. (438462)
- The OracleDataApi.StripParameters method used a redundant lock in its code. This has been fixed. (441972)
- Rich Text Editor
- The Spellcheck button did not work in the Rich Text Editor field when the Medium profile was selected. This has been fixed. (344879)
- A JavaScript error would sometime appear when pasting text from Word after stripping the font. This has been fixed. (436526)
- It was not possible to accept changes in the Rich Text Editor dialog. A JavaScript error had appeared in the browser console if the editor was opened using the Show Editor field command. This has been fixed. (437752, 439217)
- An additional <br/> tag was added to the end of the text when saving the Rich Text Editor field value. This has been fixed. (440087, 439137)
- The message ‘The operation could not be completed. Your session may have been lost due to a timeout or a server failure. Please try again.’ would sometimes appear when working in the Rich Text Editor even when the session had not expired. This has been fixed. (414299)
- Sitecore.ContentSearch
- Using the ThenBy expression for string types in search queries returned the results in the incorrect order. This has been fixed. (394944)
- The MaxFacets setting was not used when performing a faceted search. As a result, faceted searches had sometimes consumed too much virtual memory or resulted in unfinished and unreturned results. This has been fixed so that the setting is now used in the FieldValuesBitSets class. (423445)
- The search provider called the ndex Optimize command on every item move, item copy event or index refresh action. This has been changed so that Optimize instruction is not executed too often. (429040, 434231)
- The ‘urllink’ computed field used a hard-coded URL option to store values differently than links from the live site. This has been fixed. (395199)
- When the master and web indexes were configured to use the same SOLR core, it was impossible to differentiate the index data between the indexes. As a result, making an item unpublishable lead to removing the item from both indexes. This has been fixed so that the _uniqueid index field value has been extended with information about the index name. (426743, 410176)
- Some items were still added to caches during the index rebuild operation even when Sitecore was configured to disable database caches during indexing (setting ContentSearch.Indexing.DisableDatabaseCaches was set to true). This has been fixed. (422606)
- All versions of the item were indexed even when a single versioned field was updated. This has been fixed so that only one specific version is indexed. (441549)
- When indexing a new version of an item, the previous version was not re-indexed. As a result, there had been two versions of the same item in the same language marked as the latest version in the index. This has been fixed. (447642)
- The Index optimization task did not work correctly and had exited without committing any changes to the index. This has been fixed. (405979)
- There were too many fatal errors in the Crawling log file when using a remote rebuild strategy. This error had prevented the index rebuild operation from performing. This has been fixed so that current information is now written with the Debug level instead of Fatal. (427361)
- The PublishEndAsync strategy had updated the same item language versions multiple times. This has been fixed. (411726, 429429, 442321)
- Too many type PropertyChangedRemoteEvent event were added to the EventQueue on every item operation that had indexing enabled. The problem was due to information about every index update operation being stored in the Properties table in database. Every update to this table raised the PropertyChanged event. This has been fixed so that a new property store provider called IndexFileSystemPropertyStore has now been implemented. Now you can configure indexes to use the IndexFileSystemPropertyStore provider to save index specific information that should not be shared between different instances. These events are not added to EventQueue. (417664)
- An error with message ‘Index sitecore_master_index was not found’ might appear in the log files of a distributed Sitecore environment when a Sitecore instance, for example a Content Management environment, had attempted to update the index that does not exist on another Sitecore instance, for example a Content Delivery environment. This has been fixed. (411992, 451163)
- Indexing was stopped and would never resume if a Content Delivery server was restarted during the indexing process when triggered by the onPublishEndAsync strategy. This has been fixed. (435903)
- IntervalAsynchronousStrategy was using the History table to gather data for indexing. This part of API will soon be made obsolete. The strategy has been updated to now use EventQueue instead. (378584)
- Changes made to a shared field were indexed in a single version of the item. This has been fixed so that all versions of the item are indexed when a shared field is changed. (435697)
- The onPublishEndAsync and intervalAsyncMaster strategies did not index correctly changes such as Item Copy and Item Move. This has been fixed. (435808, 440402, 440415)
- Data to be added to the index was not selected correctly after a full index rebuild. As a result, the same data had been indexed multiple times. This has been fixed so that the most recently indexed data is saved after the index rebuild has finished. (439944, 442487, 442415)
- The Update index operations in SitecoreItemLanguageCrawler class were performed with the database caches disabled option. This has been fixed so that setting ContentSearch.Indexing.DisableDatabaseCaches is considered when indexing. (440269)
- Every item change operation that was performed had passed to the index to be processed, even when this should not occur. This has been fixed to optimize the filtering logic. (440374, 441688)
- Obsolete item versions might be present in search indexes after publishing. This has been fixed. (440383)
- Asynchronous strategies have been optimized to minimize the number of requests to the EventQueue. (441715)
- Index update strategies had been triggered multiple times on Content Delivery servers after publishing. This has been fixed. (429806, 443037)
- The Context site was not passed to all indexing threads when parallel indexing had been enabled. This has been fixed. (414831)
- The code that was responsible for reading index configuration, for example included fields, included or excluded media fields, has been optimized for better performance. (422566)
- The IntervalAsynchronousStrategy and OnPublishEndAsynchronousStrategy strategies processed indexes synchronously. This has been fixed so that strategies process different indexes asynchronously now. (436334)
- Computed fields were processed sequentially even if parallel indexing was enabled. This has been fixed so that computed fields are processed and added to a document simultaneously when parallel indexing is enabled. (442399, 450086)
- The value stored in _displayname index field depended on the context user profile settings and the value of the Content Tree - Item Names option defined in the Application Options dialog of the Content Editor. This has been fixed. (443320)
- Updated item data indexing did not use all available indexing threads when parallel indexing was enabled. This has been fixed. (443862)
- The wrong index could be used after rebuilding an index with the SwitchOnRebuild feature configured. This has been fixed. (444301)
- The same instance of the FieldReaderCache was shared between different indexes. This could sometime lead to a situation where the from field reader was used for working with index field. This has been fixed. (447586)
- IntervalAsynchronousStrategy produced an excessive number of jobs for the item created operation. This has been fixed. (426127, 428904)
- WebDAV
- Drag&Drop did not work when Sitecore was installed on the Windows 8 OS. This has been fixed. (398373, 439140)
- Drag&Drop did not work in IE11 when the https protocol was used. This has been fixed. (416373)
- Additional fixes
- This entry provides reference numbers for scenarios reported by Sitecore customers that have been addressed as part of the other fixes or are no longer reproducible. (311396, 313663, 314947, 319290, 322698, 328258, 328392, 337388, 337758, 339742, 340919, 347413, 350062, 358056, 373019, 382415, 386214, 393188, 403044, 406836, 406922, 425143, 311016, 406887, 399928)
- Deprecated and removed functionality
- The processor Sitecore.Pipelines.Loader.ShowHistory as defined in <initialize> pipeline has been made obsolete and will be removed in future versions. The processor was using an API that is not compatible with the latest IIS versions. (406369)
April 09, 2015
Released Sitecore CMS and DMS 7.2 rev.150408 (7.2 Update-4)
Note: This is a product update. Sitecore recommends that you upgrade to this release if it includes fixes that meet the specific needs of your organization. If this release does not include new functionality or specific fixes that your organization requires, you may benefit from waiting to upgrade until Sitecore releases a Service Pack for this series. This is especially true in production environments.
To learn more about the versioning system in Sitecore, see the Sitecore Versioning Policy page.
For instructions on how to download and install this release, please visit the appropriate Sitecore CMS 7 downloads page.
Highlights
- Improved overall security - several potential security vulnerability fixes applied
- Improved overall performance of LinkDatabase – logic of updating links reworked
- Enhanced index consistency under heavy system load – fixes in the Sitecore.ContentSearch namespace
Important changes
- Sitecore failed with ArgumentException on load when one of the system folders was missing. This has been fixed so that if the system folder, for example /upload, /data/packages, /sitecore modules, etc., is missing it will be created automatically. The warning message is added to a log file. (424146)
Improvements
- When configuring the Sitecore.Tasks.CleanupEventQueue agent, you can now configure it to only keep data for a few hours. Previously, the minimum was one day, which was too long when the system was under heavy load and resulted in too much data in the Event Queue. This led to slow data processing and decreased overall performance of Sitecore. Alternative agent configuration has been introduced and you can now specify the time interval (up to seconds) to keep event queue data. The new configuration node name is TimeIntervalToKeep. (392673)
- The LinkDatabase API has been improved to minimize the number of database requests. (420040, 420045)
- A number of methods in various classes defined in Sitecore.ContentSearch namespace have been made virtual. (422565, 392354)
- A reworking of the code of the Lucene provider has decreased the number of objects created in memory while working with index data. The change decreases memory usage and processor resources. (422016)
Issues resolved
- Breaking Links dialog
- Depending on the selected option, the Breaking Links dialog processed and removed or changed links from all versions of the field for the processed item, despite the fact that some links were not broken. This has been fixed so that only broken links are processed. (364576, 407998, 410791, 431720)
- Caching
- MaxSize column value in the table on the /sitecore/admin/cache.html page was not rendered correctly for some cache size values. This has been fixed. (392420)
- The Delta column value sometimes showed an incorrect value on the sitecore/admin/cache.html page. The problem was related to accuracy of calculations. This has been fixed. (423448)
- Negative values in the Delta column were not formatted correctly on the sitecore/admin/cache.html page. This has been fixed. (423312)
- The Presentation Cache settings configuration specified on an item level sometimes did not override the settings configured on the Standard Values item. This has been fixed. (406575)
- Content Editor
- The XHtml validator sometimes did not allow items to be approved for publishing and showed the error: "The item must render as a valid XHtml document." This was related to the problem that the rich text field contained some Unicode codes that were not converted to the named characters by some browsers. This has been fixed. (356982, 368833)
- The message "The selected item could not be found" appeared when using the Open Media Library command for the empty Image field in the Content Editor. This has been changed so that the "Select an image from the Media Library first" message is shown instead. (307728)
- The Transfer Item to Another Database application did not copy the blob value when transferring media items. This has been fixed. (326313)
- The Unlock All command in the My Locked Items dialog changed the Updated By field value to sitecore\Anonymous in all processed items. This has been fixed so that the command sets the current user in the Updated By field. (338528)
- The Archive Version Now command always archived the latest version of the item, regardless of the selected item version in the Content Editor. This has been fixed so that the command respects the current version of the item. (393977)
- A message about removing content data appeared when removing the language item, despite the fact that the value of the Languages.AutoRemoveItemData setting was set to false. This has been fixed so that the message is not shown when content data is not going to be removed. (398527, 423551)
- The validation warning "Version x will be published instead" was rendered twice in the Content Editor. This has been fixed. (422815)
- The Content Editor Validation bar was rendered as a warning, even when item field validators reported errors. This has been fixed. (425302)
- The UnauthorizedAccessException exception sometimes appeared when updating base template field values for content templates. This happened because the current user did not have Write permissions to the content items based on the modified template. This has been fixed. (425351)
- Engagement Analytics
- The robot detection logic now handles 'touchstart' events in the browser to better support detection of touch-screen devices. (420817)
- Miscellaneous
- SQL Server transaction deadlocks occurred when multiple threads were using fast query to get items from the database and the publishing operation was in progress. This has been fixed by changing Fields View in the master and web databases so that it uses WITH NOLOCK when reading from the fields tables. (397521)
- When using the Web Forms for Marketers module, a JavaScript error sometimes occurred in the Content Editor.js file. This has been fixed. (408004)
- The Request Query String was modified by Sitecore API when processing a request. This was necessary to prevent XSS attacks. This has been fixed by moving security protection code to a different place in the system so that the Query String value is not modified during request processing. (411684)
- When a user tried to log in to Sitecore and the number of already logged in users exceeded the limit, the user was redirected to the /sitecore/shell/Applications/Login/Users/Users.html page without any information in the log file. This has been fixed so that a warning message is added to the log file in this situation. (423542)
- The Create New template dialog let users select a non-template item as a base template. This has been fixed by adding validation. Now the validation message appears if a non-template item is selected as a value for a base template field. (425180)
- The error message that informs that an item name contains invalid characters was always shown in English. This has been fixed. (425755)
- The ArgumentNullException exception appeared when you opened the Security Editor application in the Sitecore instance that contained assemblies built with Visual Studio 2013. This has been fixed by adding the PageInspector:ServerCodeMappingSupport key with the Disabled value to the <appSettings> node in the Web.config file. (426167)
- The WebUtil.GetSessionTimeout() method when called from a background thread (HttpContext.Current was null) always returned a hardcoded session timeout equal to 20 minutes. This has been fixed so that the method returns the default session timeout value from the system.web/sessionState configuration node. (429749)
- A number of media templates contained the wrong references to the Standard Values item. This has been fixed. (430247)
- Multibrowser fixes
- [IE11] When you selected Rich Text Editor field in Page Editor almost all Web Edit commands were missing. The problem was related to the incorrect browser detection. This has been fixed. (410443)
- [IE11] The Content Editor application stopped working and did not react to any mouse clicks after using the context menu in the Open File dialog. This has been fixed. (410548)
- [IE11] When using the Web Forms for Marketers module, a JavaScript error sometimes occurred in the Sitecore.js file. This has been fixed. (433165)
- Oracle
- It was not possible to log in to Sitecore backend with the Oracle data provider configured. The log file contained the HttpUnhandledException exception with the text: "Retryer required for database operation. You need to wrap code into Factory.GetRetryer().Execute<int>(() => {}) context”. This has been fixed. (432350, 430555)
- Package Designer
- If you selected the Preview tab for any dynamic package source in the Package Designer application, a NullReferenceException appeared. This has been fixed. (398676)
- Page Editor
- You could not clear the link value rendered by sc:link control in the Page Editor. This has been fixed by introducing the Clear command in the field Web Edit menu. (422760)
- The content of the Insert Sitecore Media dialog, opened from the Rich Text Editor field in the Page Editor, was not refreshed after executing the Delete context menu item for removing an image from the Media Library. This has been fixed. (422762, 426988)
- Potential security vulnerabilities
- A number of potential cross-site scripting vulnerabilities have been fixed in the Rich Text Editor control. (426123)
- The Edit User dialog did not check whether session cookies had expired before trying to log a user in again. This could potentially be used to copy session cookies and update user data, even if the previously logged in user had logged out. This has been fixed so that session cookies cannot be reused after the user has logged out. (428746)
- Publishing
- A user who had previously been a member of the Sitecore Client Advanced Publishing role was able to republish content, even after the user was removed from that role. This has been fixed. (416480)
- Renamed items without language versions were not always published when Smart publish was used. This has been fixed. (429666)
- Changes applied to bucket items that did not have any workflow assigned were not published when the Incremental Publish option was used. This has been fixed. (413254)
- Rich Text Editor
- The Image Map Editor dialog sometimes showed an invalid version of the image in the preview area. This has been fixed. (427585)
- A NaN value appeared in the Image Properties dialog opened from the Rich Text Editor field, when changing values in the Width or Height fields with the aspect ratio option locked. This has been fixed. (410521)
- Sitecore.ContentSearch API
- The Lucene provider did not correctly apply the boosting of index fields for boost factors specified on the EndsWith and StartsWith methods. This has been fixed. (399560)
- Content Search indexes configured to use the Lucene provider might be inconsistent on Content Delivery servers after publishing, especially when content is being heavily updated on Content Management servers. This has been fixed. (429114)
- Indexes configured to use the intervalAsyncMaster index update strategy might be missing some items in the index under heavy load. This has been fixed. (414069)
- The Content Search index might miss some data after recycling the application pool in the process of updating the index. This has been fixed. (398139, 426254)
- It was not easy to implement a custom Solr search index because the existing classes were not extendable enough. This has been fixed so that a number of methods in the SolrSearchIndex, SolrIndexOperations, CrawlerSolrIndexOperations, and SolrIndexSummary classes have been made virtual. (392354)
- When an exception occurred during processing of a search request to a Solr server, Sitecore wrote a generic message to a log file that was not enough to understand the reason for the exception. This has been fixed so that a detailed Solr exception is added to the log, if there is an exception. (416733)
- The LuceneQueryMapper generated redundant brackets when parsing the Linq expression that contained the AND operator. This has been fixed. (421041)
- The TooManyClauses unhandled exception sometimes appeared when a too generic search query was executed in custom code. This has been fixed so that you can configure the maximum number of clauses and it is equal to 4096 by default. (426025)
- On Japanese installation with Item Buckets feature enabled facets is search interface were sometimes not be translated to a client language. This has been fixed so that new computed field, called ‘culture’ was added to an index. This field contains the ISO code of the language and used for facet localization. (405588)
- Additional fixes
- This entry is used to provide reference numbers for scenarios reported by Sitecore customers that are addressed as a part of the other fixes or no longer reproducible. (410851, 399698, 414632, 405166, 421832, 398043, 398094, 425257)
January 08, 2015
Released Sitecore 7.2 rev. 141226 (7.2 Service Pack-1, originally released as 7.2 Update-3)
Note: This is a product Service Pack. Sitecore recommends customers to install service packs for any feature release that the customer has installed. This is especially true in production environments.
To learn more about Sitecore’s versioning system, see the Sitecore Versioning Policy page.
For instructions on how to download and install this release, please visit the appropriate Sitecore CMS 7 downloads page.
The main highlights of this update
- The Publishing related-items logic has been reworked to improve publishing performance.
- A number of fixes have been made to the Content Editor to prevent losing unsaved changes.
- Support for the indexing queries that contain stop words has been implemented.
Important changes
- The way that Sitecore authentication tickets are stored in the Properties table of the Core database has been reworked so that it works correctly on a high Sitecore load. Authentication tickets are now stored separately for every user. (416668)
Breaking changes
- Sitecore.ContentSearch API
- The IFieldMap interface has been extended with new GetFieldConfigurationByFieldTypeName method. As a result, custom implementations of this interface will now need to be updated.
Improvements
- This release incorporates all the changes made for 7.1 Update-3. For additional information about these changes, please refer to the release notes:
- In 6.6 Update-3, the <renderField> pipeline was modified to HTML encode the field value when rendering single-line text fields (ref. no. 327905). Previously you couldn't configure types of the fields to apply this logic to. This has been fixed by adding a new Rendering.HtmlEncodedFieldTypes setting to the Web.config file that specifies a pipe-separated list of field types that should be HTML encoded when rendered by the <renderField> pipeline. (384680)
- The processing of the search queries that contained stop words has been improved for the Lucene search provider. (383054, 403153, 406813)
- Support for the Sitecore query has been added to the Datasource Location field. The query should start from ‘query:’ word. (358790).
- A number of public methods from the SitecoreIndexableItem class have been made virtual so that now you can override the default implementation. (415942)
Issues resolved
- Caching
- The ItemPathsCache has been optimized to work in multithreading environments. (422525)
- Content Editor
- In the Content Editor, changes to item sort order values were not considered once a parent item had subitem sorting specified. This has been fixed so that subitem sorting is reset when any command from the Sorting chunk is applied to the child item. (374742, 379757)
- When the search interface was used to insert a Sitecore link inside a Rich Text Editor field, the link to the current item was inserted instead of the one selected in the search results. This has been fixed. (407682, 419474)
- Unsaved changes to a content item in the Content Editor might be lost without notification when you used a number of ribbon commands. This has been fixed. (320612, 424914, 363653, 364185, 391848)
- Engagement Analytics
- In a scenario of high load with load balancing configured for CD servers and analytics enabled, you would sometimes see the concurrency violation error messages in the Sitecore log files. This was related to the lack of resources assigned to process all the analytics data. Another possible reason was that the analytics database might not be available for some time and there were not enough memory to keep all the analytics data. This has been fixed by compacting and merging analytics data related to the same interaction. (384840, 406447, 387354, 412709)
- Some analytics objects (for example, Sitecore.Analytics.Tracker.CurrentVisit) were not initialized correctly after recycling the application pool and contained null values. This has been fixed. (407833)
- The robot detection logic now handles 'touchstart' events in the browser to better support detection of touch-screen devices. (420817)
- Some page-event related data was not available in custom conditions when triggering registered events. This has been fixed. (408253)
- Item buckets
- Thai Analyzer from Lucene.Net was not fully implemented and could sometimes throw Not Supported exceptions. The analyzer has been removed from the default Lucene index configuration. The default analyzer will be used instead. (420234)
- The Site computed field had an issue and stored names of all registered sites in the system. This has been fixed so now it only stores sites that indexed items belong to. (414604)
- Miscellaneous
- When Sitecore was configured not to remember the last logged in user name (the Login.RememberLastLoggedInUserName setting is set to false) an exception could sometimes occur if the name or password was typed incorrectly several times. This has been fixed. (390596)
- When a request to the Sitecore site contained only the host name and language code without a trailing slash (e.g. http://<hostname>/en), Sitecore would add default.html to the URL. This has been fixed so the default page is not added to all requests in the format http://<hostname>/, http://<hostname>/language_code, http://<hostname>/<language_code>.html, http://<hostname>/language_code/. (392036, 392042)
- When the URL that was used for redirecting users after login contained a pipe character (‘|’), Sitecore would sometimes show an exception. This has been fixed. (379277)
- The new ParametersDictionary property has been added to the Sitecore.Web.UI.WebControl class. This property maps the value of the WebControl.Parameters to the Dictionary<string, string> object type. (369293)
- During a high Sitecore load with intensive item operations and cache reloads, Sitecore.Globalization.Translate.Text API might sometimes return incorrect translations for the given key. This has been fixed. (407379)
- If a virtual user was logged in to a shell site, the InvalidOperationException error occurred when they tried to access to http://<hostname>/sitecore URL. This has been fixed. (408514)
- Sitecore configuration has been changed to use different retryer instances for every database object so that the active retryer for a database does not block the work with other databases. (422504)
- The new Processing.MaxDegreeOfParallelism setting has been introduced. This setting controls the number of locks that can be stored in the LockSet collection that controls parallel execution. (422516)
- The new eventSettings section has been added to the Web.config file. This node controls the list of settings for different event types. By default it contains settings for the item:saved:remote event that controls the number of saved item fields to be serialized and passed to the remote server. (422510)
- Multibrowser fixes
- [Chrome]An argument exception appeared when you added roles to users in the New and Edit User dialogs. This has been fixed. (422242)
- [IE11]The Drag and Drop command was not visible on the Folder tab in the Media Library. This has been fixed. (425950)
- [Firefox]After uploading files in the Media Library and logging out from Sitecore, users would experience the ArgumentException error and were not able to log in to the Sitecore shell. This has been fixed. (426012, 426398)
- Localization
- The event handlers, responsible for keeping the translation cache in sync with content data, have been reworked to minimize the number of cache reloads. (422509)
- Logging
- When Sitecore logging was configured to show debug messages, there were a lot of log entries related to multivariate testing which showed the stack trace information. These messages were not really useful. This has been fixed so these messages are no longer included. (413041)
- Page Editor
- When a popup dialog on a page that contained vertical scrolling was opened, the page would automatically be scrolled to the top. This was fixed. (423737)
- Performance issues related to the Sitecore.ContentSearch API
- The IndexSearcher object was recreated every time an item was indexed instead of this only being done after the changes were committed to the index. This has been fixed so that searches performed while the publishing operation is in progress, work with the data committed into the index (420007)
- Performance of parallel indexing has been improved by reworking the parallel indexing API. (416550)
- The HierarchicalDataCrawler has been optimized to minimize the amount of memory consumed when crawling indexable objects. (422523)
- Potential security vulnerabilities
- A non-persistent cross-site scripting vulnerability has been fixed in the TreelistEx control. (401208)
- A non-persistent cross-site scripting vulnerability has been fixed in the Engagement Analytics reports. (417529)
- Publishing
- When new publishing was initiated while other publishing was in process, the publish dialog would sometime show an incorrect publish status – Initializing instead of Queued. This has been fixed. (354806)
- When publishing with the Publish Related Items option enabled, you would sometimes notice that too many items were published. This was related to the same items being published more than once. This has been fixed. (404551, 406823)
- After publishing an item in a newly created language, all language items that did not have versions in this language would sometimes be unpublished from the target database. This has been fixed. (409139)
- Every time an incremental publish was performed, data from the publish queue that could not be published (because it had publishing restrictions that prevented items from being published) was moved back into the publish queue. This was incorrect – data should only be back to the publish queue if it cannot be published due to security restrictions. This has been fixed. (418132)
- Security applications
- The Cancel button did not close the Create User wizard. This has been fixed. (414999, 414138, 408900)
- Sitecore.ContentSearch API
- The sort operation in search queries was not working correctly for numeric fields. This has been fixed. (421958)
- WebDAV
- WebDAV Drag and Drop functionality was not working in the Media Library and from the File Drop Area field type. The ArgumentOutOfRangeException exception appeared in Sitecore log files. This has been fixed. (422446, 421845)
- The ArgumentNullException error would sometimes appear when you used the Remove command that belonged to the File Drop Area field. This has been fixed. (425947)
May 30, 2014
Released Sitecore CMS and DMS 7.2 rev. 140526 (7.2 Update-2)
Note: This is a product update. Sitecore recommends upgrading to this release when the fixes included meet the specific needs of your organization. If this release does not include new functionality or specific fixes that your organization requires, you may benefit by waiting until Sitecore releases a Service Pack for this series before upgrading. This is especially true in production environments.
To learn more about Sitecore’s versioning system, see the Sitecore Versioning Policy page.
For instructions on how to download and install this release, please visit the appropriate Sitecore CMS 7 downloads page.
Highlights
The main highlights of this update:
- Includes all the fixes from 7.1 Update-2
- Security vulnerability fixes to make Sitecore more secure
- SPEAK Select Media and Upload Media dialog improvements
- Fixes to SPEAK UI dialogs, the SPEAK framework, and the SPEAK Business Component Library
Important changes
-
Deprecated Features
- The Sitecore.Speak.Mvc assembly and the Sitecore.Speak.Mvc.config include file have been deprecated and will be removed in a future release. Please do not introduce dependencies on this assembly.
Improvements
- This release incorporates all changes made for 7.1 Update-2. For additional information about these changes, please refer to the release notes:
-
Media API
- The system is now configured with a number of additional mime types to have better native support for various video and image formats, such as mv4, avi, and flv video formats (in addition to several other video formats), as well as dib, jpe, jfif, tiff, and tif image formats. (407773, 357955, 407375)
- The logic for parsing mime type definitions has been improved so that multiple definitions for a mime type are merged instead of replacing previous definitions. As a consequence, you no longer have to comment entries in the mimeTypes.config file if you add a mime type definition in the web.config file that is already defined in the mimeTypes.config file. (408581, 409733)
-
Field types
- The Treelist and TreelistEx classes now support Sitecore query in the source for these field types. (319249)
-
SPEAK UI Framework improvements
- The jQuery component used by SPEAK was upgraded to 1.10.2. (394496)
-
SPEAK UI Select Media dialog improvements
- The SelectMediaDialog now shows the Media Library path.
- The SelectMediaDialog now provides a Recent Uploads by me option.
- The SelectMediaDialog now deselects the selected image when the user initiates a new search.
-
SPEAK UI Upload Media dialog improvements
- The UploadMediaDialog now automatically switches back to the SelectMediaDialog after an upload completes.
- The UploadMediaDialog now provides better status information during the upload process.
- The UploadMediaDialog now shows the target location for uploaded media.
- The UploadMediaDialog now lets the user change the target location for uploaded media.
-
SPEAK Business Component Library improvements
- Accordion: The control now provides an image field displayed to the left of the header text.
- ActionControl: You can now disable individual actions.
- ActionControl: You can now specify that an action opens a new browser window and how you want the window to appear.
- ComboBox: The component now populates its drop list using a data provider.
- ComboBox: The WidthPolicy property has been added.
- ListBox: The WidthPolicy property has been added.
- ListControl: The Width field has been added to the ColumnField settings item. The field accepts pixels or percentage (suffix with %).
- ListControl: The ColumnField Formatter field now supports #Nx (numeric) and #Px (percentage) formatting, where x is the number of rounded decimals displayed. If x is not provided, it defaults to 2.
- ListControl: An AllowMultipleColumnSorting property has been added with default value of true.
- MessageBar: A number of bindable properties have been added including: hasMessages, hasInfoMessages, hasWarningMessages, and hasErrorMessages.
- ProtectedBorder: A component that only displays content if the current user has the appropriate access rights has been added. The component has three relevant properties: RequiresRead, RequiresWrite, and DataSource. The ProtectedBorder only renders its contents if the current user has the indicated access rights on the properties item referenced by the DataSource.
- SilverlightFrame: This release adds a new SilverlightFrame component.
- TreeView: A ShowHidden property has been added (the default is false). The TreeView shows hidden items when the property is set to true.
- Uploader: A number of new properties let you customize various aspects of the component, including text on the Browse button and the ability to show or hide the Description and Alternate Text fields.
-
Content Editor
- A new IsVisible property on the GutterRenderer class allows you to hide items programmatically from the Quick Actions Bar. (408492)
-
ItemSerializer improvements
- The ItemSerializer class now supports the inclusion of standard values and/or default values in the XML representation of an item using the new overload GetItemXml(Item, ItemSerializerOptions). In addition, you can configure the system to always include such values in the XML representation of all items by adding the new settings named ItemSerialization.AllowStandardValues and ItemSerialization.AllowDefaultValue to the web.config file. For example, this can be useful for customers that use the Lionbridge connector for item translation. (404082, 403286, 403290)
Issues resolved
-
Potential security vulnerabilities
-
Sitecore Corp. would like to give credit to Dan Erdahl at PC Connection, Inc., for the discovery of one of the variants of the following vulnerability and for his cooperation:
A potential security vulnerability related to the sitecore_icon.ashx handler has been fixed. (409770, 407921, 400290) - A potential JavaScript injection vulnerability has been fixed in the Media Library. (391105)
-
Sitecore Corp. would like to give credit to Dan Erdahl at PC Connection, Inc., for the discovery of one of the variants of the following vulnerability and for his cooperation:
-
Security API
- If you were logged in multiple times in different browsers, or if multiple users were logged in using the same user account, when you logged out from one of the browsers, all sessions would be terminated. This has been fixed by changing the keys of Sitecore client authentication tickets so that different browser sessions for the same user no longer share the same authentication ticket. (405020, 405190)
-
Virtual users
- If a virtual user opened an item in Preview mode, an InvalidOperationException error occurred when the system tried to render the ribbon. This has been fixed. (405265, 405020)
-
Scaling and multi-instance setups
- In a multi-instance setup, each item save operation led to the following error message in the log files of remote instances: "ERROR Exception while handling event Sitecore.Data.Eventing.Remote.SavedItemRemoteEvent." This happened because the remote event args were not extracted correctly. This has been fixed. (404817)
- In a multi-instance setup, a NullReferenceException error would sometimes occur on instances when they handled a SavedItemRemoteEvent. This happened if verbose EWT tracing was enabled in the IIS for the remote instance. This has been fixed so that this type of error no longer appears in the log file when verbose EWT tracing is enabled. (386035)
-
Publishing
- When you published a large number of items, the Publish dialog sometimes reported that the publishing process was unexpectedly interrupted. This happened if the publishing operation took longer than the value in the Publishing.TimeBeforeStatusExpires setting. This has been fixed so that the status does not expire while the publishing job is still running. (399699)
- In the Publishing target template and the Workflow State template, the fields for configuring preview publishing targets were not marked as shared. This could cause content not to be published to preview publishing targets. This has been fixed by making the relevant fields shared. (407415)
- The system did not publish items that had been created by a rule action until the caches were cleared. This prevented the Email Campaign Manager module from handling triggered messages correctly because the messages depended on rules to create and publish campaign items. This has been fixed. (407544)
-
Login page
- When you tried to access a specific application using a bookmark or a direct link without being logged in, the Sitecore login page did not always redirect you correctly to the URL after you logged in. This has been fixed. (408763)
-
Content Editor
- When you clicked the Browse button above an Image field, the Select Media dialog displayed "No items found" and the following message appeared in the log file: "[Item Web API] Invalid parameter(s): facetsRootItemId, search, root, searchConfig, sc_content, language, format, pageIndex, pageSize." This has been fixed. (408126)
- When you used the search field above the content tree and clicked a search result, the system opened the first version of the selected item. This has been fixed so that it now opens the latest version that contains the string that you searched for. (349735)
-
Page Editor
- When you added a new component to a page and selected the Create New Content option, an error occurred with the following message: "An instance of Sitecore.Data.Items.Item was null." This has been fixed. (408641)
-
Rich Text Editor
- When you clicked the Upload button in the Document Manager in the Rich Text Editor, an error message was displayed. This has been fixed by hiding the Upload button in the Document Manager. (407100)
- In the Rich Text editor, if you inserted an external media URL (pointing to a media item in a different Sitecore solution), the system indicated that the Rich Text field contained a broken link. This has been fixed. (361173, 342848)
-
Media Library
- The Image Editor allowed you to make changes to protected media items. This has been fixed by disabling the Edit in Image Editor button when a protected media item is selected, as well as disabling the Save button in the Image Editor if a protected media item is opened in the application. (403910)
-
General Link field type
- If you had inserted any type of link into a General Link field (such as an internal link, an external link, or a JavaScript link) and then opened the dialog to edit the link, the text boxes in the dialog did not display the relevant values for the link. This affected both the SPEAK and the non-SPEAK dialogs. This also affected the General Link with Search field. This has been fixed. (405356, 405542, 409483, 405854, 401631, 401632, 401634, 408743)
-
Layouts and renderings
- The Select the Associated Content dialog did not handle multiple data sources correctly. It only used the first data source and ignored any additional data sources. This has been fixed. (389483)
-
Sitecore.ContentSearch API
- When the system performed incremental index updates or reindexed a subtree, the SitecoreItemCrawler class did not respect the Root attribute for the index and added all reindexed items to the index. This happened because the SitecoreItemCrawler.IsAncestorOfThe() method always returned true. This has been fixed. (406670, 405105, 409030)
- If you were using a sharded setup for your indexes, the system did not always select the relevant index to use based on the item path. As a result, you would sometimes not get any search results when you used the Search tab in the Content Editor or in the various dialogs. This has been fixed. (401650)
-
Item buckets
- If you disabled item buckets, certain minor parts of the item bucket functionality were still enabled. This has been fixed. (408100, 408122, 408124, 408116, 408125)
-
SPEAK UI dialogs
- Several dialogs (InsertLinkDialogTree, InsertSitecoreItemDialogTree, and SelectMediaDialogTree) showed hidden items in the TreeView component when hidden items were not visible in the Content Editor. This has been fixed. (402822)
- Some dialogs forgot the default folder set in a field template when you navigated between views in the dialog. This has been fixed. (403132)
- The InsertAnchorDialog did not display the anchor text properly. This has been fixed.
- The InsertInternalLinkDialog generated 'alt' tags when it should have generated 'title' tags. This has been fixed. (405189)
- The InsertLinkDialog handled single quotes (') and other special characters incorrectly. This has been fixed. (405250, 406384)
- The InsertLinkDialog did not populate the GeneralLink field with the same content as previous versions. This has been fixed. (401631)
- The InsertLinkDialog did not show the link attributes stored in the General Link field. This has been fixed. (401632, 401634)
- The InsertLinkDialog lost track of the default path in the content tree if you switched to the TreeView and back again. This has been fixed. (406750)
- The InsertLinkDialogTree dialog's Insert Link button was enabled even when no item was selected in the tree. This has been fixed so that the Insert Link button is now disabled when no item is selected.
-
SPEAK UI Select Media dialog
- In the SelectMediaDialog, when you selected a category, such as 'All image files' and then selected a different category before the first request was complete, the second request was ignored, but the corresponding category appeared selected. This has been fixed so the dialog now disables the category links until the request for a new category is complete.
- In IE9, the SelectMediaDialog closed when you pressed the Enter key after typing text in the search field. This has been fixed. (399914)
- The SelectMediaDialog did not allow you to upload a media file to a specific location in the media library. This has been fixed. (400809)
- The SelectMediaDialog did not always search the correct database for images. This has been fixed. (401184)
- The SelectMediaDialog did not support the uploading of all image types. This has been fixed by adding the following mime types to the web.config file: dib, jpe, jfif, tiff, and tif. (401419)
- The SelectMediaDialog did not select the media item stored in an image field. This has been fixed. (401635)
- The SelectMediaDialog date filter did not work. This has been fixed.
- The SelectMediaDialogTree sometimes used the wrong language when attempting to locate media items. This has been fixed. (403021)
- The SelectMediaDialogTree sometimes used the wrong language when attempting to locate media thumbnails. This has been fixed. (403010)
-
SPEAK UI Upload Media dialog
- The UploadMediaDialog sometimes became unresponsive and then displayed an exception if you tried to upload a very large set of images. This has been fixed.
- The UploadMediaDialog Description field allowed the TextArea's width to be resized inappropriately. This has been fixed. (401448)
-
SPEAK UI Framework
- The Speak.Html.MinifyScripts and Speak.Html.MinifyStylesheets settings did not use the correct default values if the settings were removed from the configuration file. This has been fixed in the configuration file so that the default values in the code and the comments now match.
- A standard component unnecessarily required a class to work. This has been fixed.
- The SPEAK Build 1.pdf file in the standard CMS installation was obsolete. This has been removed. (401488)
- The '1000 – composite.js' file was obsolete. This has been removed.
- Previously it was not possible to override the default waitSeconds setting for Require.js in SPEAK. This has been fixed so that the configuration setting Speak.Html.RequireJsWaitSeconds (which has the default value of 7) has been added to allow administrators to override the Require.js waitSeconds setting.
- The sitecoreify.css file included a misspelled padding attribute, spelled 'pdding'. This has been removed from the css file.
- The actionRequires and conditionRequires lists on the Rule class were not cleared between requests, causing the lists to grow unnecessarily. This has been fixed.
-
SPEAK Business Component Library
- ActionControl: The 'text' property was not readable from the client. This has been fixed.
- ActionControl: When you returned to a page with an ActionControl, the control failed to remember which Actions you had selected as favorites. This has been fixed.
- ActionControl: The updateActionsStatus method on the ViewModel was misspelled as updatectionsStatus. This has been fixed.
- ApplicationHeader: If you added multiple components to the Actions placeholder, the system did not format the components appropriately. This has been fixed.
- Border: It was not possible to associate the Scrollbar behavior with the Border component. This has been fixed.
- ComboBox: It was not possible to select a value via JavaScript. This has been fixed.
- ComboBox: The DataSource property previously linked to the content of the drop list, which was inappropriate. This has been fixed so that the DataSource property now links to the settings item for the component. The content of the drop list is now populated via the Items property, which is usually bound to a data provider.
- DatePicker: If the format field was set to some valid formats, the date component failed to set the date appropriately. This has been fixed.
- DatePicker: If you used the new Date() method in JavaScript, the system did not apply the correct date for the component. This has been fixed.
- Frame: Developers were not able to set the Frame height, width, and sourceUri properties from the client side. This has been fixed.
- HyperlinkButton: If a developer added a click action in JavaScript, the component responded to a user click even when the isEnabled property was set to false, and the design time click event would also be raised. This has been fixed so that the button now respects the isEnabled property and only raises the programmatically added event.
- HyperlinkButtonGroup: The component forced all the words in a label to be in sentence case. This has been fixed so that the label is no longer modified.
- Image: The background property did not provide any functionality and sometimes caused errors. This has been fixed by removing the property.
- IconHyperlinkButton: It was not possible to set the NavigateUrl from the client code. This has been fixed.
- ListBox: The selectedItem property returned null rather than the correct item. This has been fixed.
- ListBox: The DataSource property previously linked to the content of the drop list, which was inappropriate. This has been fixed so that the DataSource property now links to the settings item for the component and the content of the drop list is now populated via the Items property, which is usually bound to a data provider.
- ListBox: It was not possible to access the selectedItem and selectedItemId from the client side code. This has been fixed.
- ListControl: The component was not displayed properly after resizing the page (in Firefox). This has been fixed. (401704)
- ListControl: The sort image icon behavior was reversed. This has been fixed.
- ListControl: The component did not reflect the default sorting settings provided. This has been fixed.
- ListControl: The change event for checkedItemIds and checkedItems properties (added with a MultiSelectBehavior) only raised an event when the toggle button was not selected. This has been fixed.
- ListControl: If a field value was stored in long format, date columns were not formatted correctly. This issue has been fixed.
- ListControl: Date columns were not formatted correctly for DateTime fields. This has been fixed.
- ListControl: The $convert_id_to_display_name would search in the wrong database for the display name. This has been fixed.
- ListControl: The Scrollbar behavior did not work if the ListControl was included in a Dialog. This has been fixed.
- ListControl: The AppendLanguageParameter method failed if the $icon property did not exist in the provided JSON object.
- MessageBar: The component threw an exception if the message was triggered in the JavaScript page code. This has been fixed.
- Scrollbar: The scrollbar would not be displayed if it was not visible when the page was originally rendered. This has been fixed.
- SmartPanel: The Dimensions property was misspelled as Dimension. This has been fixed.
- SubAppRenderer: The component sometimes raised the 'too much recursion' JavaScript errors in the console. This has been fixed.
- TabControl: Components, which displayed popup areas such as an ActionControl, could be clipped when these were placed near the bottom edge of a tab. This has been fixed.
- TabControl: The component produced HTML code with duplicate IDs. This has been fixed.
- ToolTip: The Animation property was obsolete and has been removed.
- TreeView: It was not possible to set the ClickFolderMode and SelectMode from the server side. This has been fixed.
- TreeView: The SelectMode 'multi' worked like 'multi-hier'. This has been fixed.
- UploaderInfo: The component's viewModel.files property was always empty. This has been fixed. (401304)
-
Multibrowser fixes
- [IE11] When you used the Japanese client language and opened the Sitecore Start menu, the options in the menu did not use the Meiryo font. This has been fixed. (407414)
- [IE10] When you clicked a user, role, or domain in the User Manager, Role Manager, or Domain Manager, the size of the grid would sometimes change so that it no longer filled the available space. This made it difficult to use the applications. This has been fixed. (410240)
- [IE] In the RSS Feed Design dialog, the Preview box extended down beyond the OK and Cancel buttons. This has been fixed. (402623)
-
Seup.exe installation program
- The setup.exe performed an unnecessary check for Microsoft MVC 4 as a prerequisite for the installation. This has been fixed by removing this check. (405892)
-
Localization
- When you assigned insert options to an item, the dialog showed the item name of the selected inserted options instead of their display name. This has been fixed. (407424)
-
Miscellaneous
- If you requested a URL that contained additional path information (meaning that HttpRequest.PathInfo had a value), the SiteResolver sometimes failed to parse the URL correctly and threw an ArgumentOutOfRangeException error, and you were either redirected to the Not Found page, or you saw an error page instead of the requested page. This has been fixed. (311387, 401458)
- In very rare cases, the ASP.NET worker process terminated if the requested URL contained a Windows device name (such as NUL or LPT1) in the URL. This has been fixed by adding a relaxedUrlToFileSystemMapping="true" attribute on the httpRuntime element in the web.config file. (401456)
- When Sitecore initialized, the Factory class sometimes created duplicate instances of objects, while only one of the instances was utilized by the system. For example, this could lead to duplicate cache instances or duplicate database instances. This happened if multiple threads were calling the Factory for the same object in parallel, and this led to a higher memory usage than necessary. This has been fixed so that the Factory no longer creates duplicate object instances. (375201, 393351)
- If you requested a URL that contained a quote character or other characters that are not valid in a file name, Sitecore failed with an "Illegal characters in path" error message in the FileUtil.GetExtension(string) method. This has been fixed by introducing a new overload for the WebUtil.GetRequestExtension() method that returns an empty string in such cases. (388283, 388284)
- If you created an alias that contained a pipe-character in the external link, the alias did not work correctly. When a visitor used the alias, a page appeared with the following error message: "Illegal characters in path." This has been fixed. (396695)
March 18, 2014
Released Sitecore CMS and DMS 7.2 rev. 140314 (7.2 Update-1)
Note: Sitecore CMS 7.2 Update-1 is specific to the Japanese market only. For non-Japanese markets, please use the 7.2 Initial Release.
注釈:本リリースは日本市場向けです。日本語環境にサイトコアをインストールされる場合は、Sitecore 7.2 Update-1 をご利用ください。
For instructions on how to download and install this release, please visit the appropriate Sitecore CMS 7 downloads page.
Important changes
- When you install Sitecore using the Japanese setup.exe, all item bucket and Sitecore.ContentSearch functionality is now disabled by default. To enable the functionality, change the value of the BucketConfiguration.ItemBucketsEnabled setting from false to true and use the Indexing Manager to rebuild all the Sitecore.ContentSearch indexes. 402380)
New features
- It is now possible to disable all item buckets and Sitecore.ContentSearch functionality using the new BucketConfiguration.ItemBucketsEnabled setting in the Sitecore.Buckets.config file. (398925)
- When this functionality is disabled, Search tabs do not appear in the Content Editor or in dialogs, all item bucket commands are hidden in the UI, the Indexing Manager is not available in the Control Panel application, and the BucketManager API ignores calls. In addition, all background processes related to indexing are disabled. (398925, 403858, 400821, 399186, 403852 )
- However, when you enable Standard Fields, you still see the Item Buckets and Indexing sections, even when this functionality is disabled. (398925)
Improvements
- Multilist with Search and Treelist with Search field types
- The Treelist with Search and the Multilist with Search fields were not consistent, even though they offered very similar functionality. For example, the Treelist with Search field did not have the "Refresh" and "Go to item" buttons. This has been changed so that the fields are now identical, the only difference being that the Treelist with Search field still allows the user to change the start location of the search. (398476, 398417)
- You can now configure Multilist with Search fields so that they allow the user to change the start location of the search. To enable this functionality, add an EnableSetNewStartLocation=true parameter in the source of the field. (398476)
March 11, 2014
Released Sitecore CMS and DMS 7.2 rev. 140228 (7.2 Initial Release).
Note: This is a feature release. Sitecore recommends upgrading to this release when the fixes included meet the specific needs of your organization. If this release does not include new functionality or specific fixes that your organization requires, you may benefit by waiting until Sitecore releases a Service Pack for this series before upgrading. This is especially true in production environments.
To learn more about Sitecore’s versioning system, see the Sitecore Versioning Policy page.
For instructions on how to download and install this release, please visit the appropriate Sitecore CMS 7 downloads page.
Highlights
The CMS 7.2 rev. 140228 initial release includes all the fixes from 7.1 Update-1.
The main highlights of this release:
- Publishing improvements, including new features, performance improvements, user experience improvements, better configurability, and bug fixes.
- SPEAK UI framework improvements: a number of new components are available in the business component library. In addition, a number of issues have been fixed in the SPEAK UI dialogs, the underlying SPEAK UI framework, and the business component library.
- Item Bucket improvements, including user experience improvements, better configurability, and bug fixes.
- Sitecore.ContentSearch improvements, including new features, better configurability, and bug fixes.
- Multivariate testing is now configured per language.
- The Engagement Analytics logic for detecting whether a visitor is a robot has been reworked and improved.
- Support for Internet Explorer 11.
- Sitecore MVC now supports Microsoft ASP.NET MVC 5.1.
Documentation that has been updated for CMS 7.2
- Installation Guide
- Content Author’s Cookbook
- Marketing Operations Cookbook
- SPEAK Component Reference
- SPEAK Developer’s Cookbook
- Developer’s Guide to Item Buckets and Search
- Sitecore MVC Reference
- Browser Configuration Reference
System requirements
The following system requirements have changed:
- Sitecore 7.2 requires Microsoft ASP.NET MVC 5.1. To make installation easier, the Microsoft MVC DLLs are now distributed with Sitecore in the /bin folder. (397112, 405366)
- Microsoft Internet Explorer 11 is supported by CMS 7.2.
- Microsoft Internet Explorer 8 is no longer supported, starting with CMS 7.2.
New features
-
Multivariate testing in different languages (397964)
- Multivariate tests are now configured per language. This allows you to test different content or different component designs in each language. As part of this change, you can no longer configure and run a test across all language versions. Before you upgrade to this version, you should stop any running tests and select a winner. If any tests are running when you upgrade, they are stopped and the data about which variations that were most successful will be discarded.
- You can run tests on multiple languages at the same time. When you select a winner, it is the winner for all language versions, but it does not stop other tests in other languages. If subsequently you select a different winner for a test in another language, that winner will be the new winner for all the language versions.
-
Publishing
- Preview publishing targets: This feature allows you to publish items to pre-production sites before the items reach the final workflow state. You use this feature by configuring one or more publishing targets as preview publishing targets and associating them with one or more non-final workflow states. For example, you can use this feature to publish content in a Testing workflow state to a QA site, or you could have a Review workflow state that publishes items to a preview site to allow non-Sitecore users to review your content. See the updated Content Author's Reference and Cookbook for more information. (399481, 401602)
- Experimental support for publishing recovery: To make publishing operations more robust when using the Sitecore Azure module, the system can now be configured so that it restarts publishing operations that were not completed, typically due to a server restart or a system failure. When Sitecore starts, the system checks if any publishing operations did not complete and restarts the publishing job with the same parameters as the original job. You can activate this experimental feature by enabling the Sitecore.Publishing.Recovery.config.example include file. (399488)
-
Other new features
- A new web.config setting named Preview.AsAnonymous lets you configure the system to use the current user account when you preview an item instead of switching to the extranet\Anonymous user account. (351992, 351992)
- It is now possible to configure Sitecore to create a new thread for each job instead of queuing jobs in Sitecore's managed thread pool using the new Jobs.ExecuteInManagedThreadPool web.config setting. This new feature is not enabled by default, meaning that jobs are queued to Sitecore's managed thread pool. To use the new feature, change the setting to false. (399530, 369305)
- The search function above the content tree, the quick search function in the task bar, and the classic Search application now all use the Sitecore.ContentSearch indexes by default instead of the legacy Sitecore.Search indexes. The new Search.UseLegacySearchEngine setting in the Sitecore.ContentSearch.config include file lets you switch back to using the Sitecore.Search indexes if you need to. (386881, 402280, 402231, 404760, 402631)
Improvements
-
Engagement Analytics
- The logic for detecting whether a visitor is a robot has been reworked and improved so that it is now better at detecting robots, including robots that execute Javascript, emulate mouse events, and evaluate JavaScript timeouts. As a result, of this change, you might see the number of visitors and visits in your Analytics reports drop because now, in most cases, the system filters out more robot visits.
- The Page Event template contains the new Customer Intelligence template section, with three new fields (Track as Latest Event, Show in Events, and Event Image). These fields are currently reserved for future use and are not yet used in any reports. (398728)
-
Publishing
- The Publishing.PublishEmptyItems setting has been added to the web.config file. The setting also existed in previous versions, but you had to manually add it to the configuration file. In previous versions, the default value was true, causing items that did not have any publishable versions to be published along with all of their shared fields. With 7.2, the default value is false, so that empty items are not published. (317376, 317377, 316351, 364840)
- A new <getItemReferences> pipeline lets you extend or modify the logic for determining any related items that should be published together with an item being published. This pipeline is executed whenever a user has selected the new "Publish related items" option in the Publish wizard. The AddItemReferences processor in the <publishItem> pipeline no longer contains the logic to add item references but simply calls this pipeline. By default, the related items that are published include clones, aliases, related media items, and items that the current item refers to in the link database. (399479, 404795)
- When using workflows to publish items, you can now specify additional parameters for the PublishAction class for more flexibility. In addition to the "deep" parameter, the following additional parameters are now supported: (399483)
- related – Can be set to "1" to publish related items. If not specified, the workflow action does not publish related items.
- targets – Can be used to specify a comma-separated list of names of the target database(s). If not specified, the default is to publish to all publishing target databases.
- languages – Can be used to specify a comma-separated list of language codes. For example, "en,en-CA". If not specified, the default is to use the language of the item being published. This retains the existing functionality.
- itemlanguage – Can be set to "1" to publish in the language of the current item being published in addition to any languages specified in the languages parameter.
- alllanguages – Can be set to "1" to publish in all languages. If this parameter is specified, the languages and itemlanguage parameters are ignored.
- By default, Sitecore now creates a new thread for each publishing job instead of queuing publishing jobs in Sitecore's managed thread pool. This prevents the Publish wizard getting stuck in the "Initializing" step. The new Publishing.ExecuteInManagedThreadPool web.config setting lets you change the configuration back to use the managed thread pool if necessary. (399530, 369305)
-
Publishing performance improvements
- Support for executing publishing operations in parallel. This is typically used on a dedicated publishing instance. To enable this feature, rename the /App_Config/Include/Sitecore.Publishing.Parallel.config.disabled file to Sitecore.Publishing.Parallel.config. Enabling this feature increases the load on the CPU. Before you enable this file, make sure to read the comment in the file about the Publishing.MaxDegreeOfParallelism setting to understand the potential impact. (399401)
- When you publish multiple languages, the system no longer creates a separate publishing job for each language. Instead, the PublishContext now has a new Language property that contains the languages to publish. This improves the performance of the publish operations because the system now iterates the list of items to be published just once instead of once for each language. (399478)
- The new Publishing.DisableDatabaseCaches web.config setting lets you specify whether you want the system to populate database caches with data retrieved during publishing. When set to true, Sitecore publishes items as usual, but does not populate the database caches with the item data that is retrieved as part of the publishing operation. This can reduce the amount of memory used by the ASP.NET worker process, especially in solutions with a large number of items, versions, and languages. (401727)
- The new LinkDatabase.UpdateDuringPublishing web.config setting lets you configure the system so that it does not perform updates to the link database for item operations that occur in the context of a publishing operation. This can improve performance of publish operations, but should only be used in solutions where you do not using the LinkDatabase API on your content delivery instances. (399474)
- When an item is saved as part of a publishing operation, the system no longer adds the item to the publish queue. This avoids processing unnecessarily in the publish queue. (401580)
- The new Rules.SupportedDatabases web.config setting lets you configure the system to only evaluate and execute rules and conditions in specific databases. This is typically used to reduce the CPU load used by the publishing process by suppressing rules execution on content delivery instances where you don't need the rules item event handlers to be executed. (401683)
- The new Rules.RunDuringPublishing web.config setting lets you configure the rule item event handlers so that they do not run for item operations that occur during publishing. This can help reduce the CPU load used for publishing in cases where you don't need the rules item event handlers to be executed on the publishing instance. This setting only affects the instance that runs the publishing operation. To suppress rules execution on Content Delivery instances, use the Rules.SupportedDatabases setting. (401683)
- The DeviceItemsCache has been optimized so that when you save an item, the cache now checks the template ID of the saved item instead of checking the parent ID, which is sometimes a slightly more expensive operation. (401580)
- A few minor performance improvements related to publishing have been implemented. The following methods have been optimized: PublishHelper.GetUnknownChildIds() and ItemProvider.CreateItem().(399469, 401548)
-
Performance improvements
- The FilteredItemCache no longer clears the cache every time an item is saved. The system now checks the field values of saved items and only clears the cache if one of the fields that impact item filtering has been modified. This can give a small performance improvement to publishing operations as well as improve the performance of sites running in live mode. (312139)
- The RuleCache has been optimized. For example, if the modified item does not contain a "Rule" field, the caching code no longer unnecessarily resolves the parent item of the modified item. (401580)
-
Publish wizard improvements
- When you publish an item (with or without subitems), a new "Publish related items" check box allows you to publish related items. The related items to be published are determined by the new <getItemReferences> pipeline. (399479, 363600, 404143)
- The visibility of this option is controlled by the following item in the core database: /sitecore/system/Settings/Security/Policies/Publish/Can Publish Related Items. By default, access is granted to members of the Sitecore Client Publishing role.
- You can now control the publishing options (incremental/smart/republish) that users see in the Publish wizard. (399487, 402430)
- Incremental Publish: The visibility of this option is controlled by the following item in the core database: /sitecore/system/Settings/Security/Policies/Publish/Can Perform Incremental Publish. By default, access is granted to members of the Sitecore Client Publishing role.
- Smart Publish: The visibility of this option is controlled by setting the following item in the core database: /sitecore/system/Settings/Security/Policies/Publish/Can Perform Smart Publish. By default, access is granted to members of the Sitecore Client Publishing role.
- Republish: The visibility of this option is controlled by the following item in the core database: /sitecore/system/Settings/Security/Policies/Can Perform Republish. By default, access is granted to members of the new Sitecore Client Advanced Publishing role.
- Publishing targets are now sorted by display name, and they display the name of the target database. (399487)
- Languages are now sorted by display name. (399487)
- Languages that you do not have write permissions for are no longer displayed in the Publish wizard. (399487)
- When you publish an item (with or without subitems), a new "Publish related items" check box allows you to publish related items. The related items to be published are determined by the new <getItemReferences> pipeline. (399479, 363600, 404143)
-
New include files in the /App_Config/Include folder
- Sitecore.Publish.Parallel.config.disabled enables parallel publishing by replacing the standard ProcessQueue processor in the <publish> pipeline with a new ParallelProcessQueue processor. Before you enable this file, make sure to read the comment in the file about the Publishing.MaxDegreeOfParallelism setting to understand the potential impact. After enabling the file, you should monitor the CPU load on your publishing instance, as well as your database server to see if the value of the setting needs adjusting. (399401)
- Sitecore.Publishing.EventProvider.Async.config.disabled replaces the standard EventProvider implementation with an AsyncEventProvider. The AsyncEventProvider addresses the problem that when the system is busy, the processing of events in the event queue of one database can block the processing of events from all other databases. For example, this problem can occur during massive parallel publishing operations where updates to the processed items counter in the Publishing wizard can be significantly delayed. (399472)
- Sitecore.Publishing.DedicatedInstance.config.example disables features that normally do not run on a dedicated publishing instance. By default, the include file removes search index definitions, disables index updates, and disables scheduled tasks. You should review the file before enabling it to avoid disabling features that are in use on your publishing instance. See the comments in the file for more information. (399467)
- Sitecore.Publishing.Optimizations.config.example contains some experimental optimizations that can speed up publishing, such as disabling rule item handlers and incremental index updates during publishing, disabling cache size limits, and enabling indexing of cache keys. Before you enable this file, make sure you review each of the comments in the file and consider whether some of the optimizations should be commented out due to the specifics of your solution. (399467)
- Sitecore.Analytics.RobotDetection.config implements improved logic for robot detection. Do not modify or disable this file. This file is only present if you have DMS installed.
-
Item buckets
- A new "Bucketable Settings" group on the Configure tab of the Content Editor ribbon makes it easier to configure whether items can be stored as unstructured items in an item bucket. When you select an item, you can now change the value of the Bucketable field for the template standard values directly in the ribbon without having to navigate to the template standard values. In addition, Administrators can override the Bucketable field for individual items. (386879, 393880)
- You can now configure the system to execute certain item bucket operations using multiple threads. Depending on your environment, this might improve the performance when you create, sync, or revert an item bucket. The new BucketConfiguration.MaxDegreeOfParallelism setting in the Sitecore.Buckets.config file lets you specify the number of threads to use. (386872)
- You can now configure the system to use different folder path structures for different item bucket containers. You do this by defining one or more rules on the "Item Buckets Settings" item. (388718)
- The new BucketConfiguration.SearchUIServiceProvider setting lets you override/substitute the web service that the search UI calls to retrieve information and perform various operations. (388105)
-
Search tabs in the Sitecore clients
- The search field has been improved so that it is easier to type search filters. For example, you can now type "+" or "-" in front of a search filter to indicate the search logic (must vs. must not). In addition, autocomplete has been introduced for several of the standard search filters, and the sort filter can now parse [asc] and [desc] in its value. (400830)
- Autocomplete for the "template:" and "location:" filters now show the full item path rather than just the item name and GUID.
- The system now indicates if a search filter does not have a value or contains an invalid value for that type of search filter. (400830, 386547)
- The search field has been improved so that now you can edit the values of search filters that you have already entered in the search field. (400830, 379804)
- You can now paste multiple filters separated with semicolons into the search field. (400830)
- The list of your recent searches now indicates the search logic for filters (should, must, must not) using "+" and "-" in front of the search expression, and it also indicates the sort direction for sort filters. (400830)
- For consistency, the system now always uses a semicolon as a separator between search filters. For example, when you build a query for the Default Bucket Query field or for the Data Source field of a control. For backwards compatibility, queries that use an ampersand as a separator will still work correctly. (396902)
- When you search for text in an item, the system now also searches for the text in the _displayname field in the index (in addition to the _content and _name fields). (400420)
-
Content faceting
- Definition items for facets can now be organized into subfolders. (388010)
-
Sitecore.ContentSearch API
- The new <contentSearch.getGlobalLinqFilters> pipeline lets you apply global search filters for every query that is executed using the Linq layer (which includes queries performed using the search UI). (387579)
- You can now call GetQueryable<T> and specify an interface as the type. (386844)
- You can now define rules for the object factory for the IndexDocumentPropertyMapper in the configuration. The rules determine which object is constructed based on the type you pass to GetQueryable<T>. For more information, see the comment for the <objectFactory><rules> node in the Sitecore.ContentSearch.Lucene.DefaultIndexConfiguration.config file. (386844)
- In addition to configuring static rules for the IndexDocumentPropertyMapper object factory, you can pass in a new OverrideExecutionContext<T> to GetQueryable<T> to use a different configuration at runtime. Depending on your use case, you can use this to override the document mapper, to override the object factory, or to override the object factory ruleset. (386844)
- By default, the document mapper throws an exception if an error occurs during property mapping. This caused problems for some customers. The new ContentSearch.DocumentMapping.StopOnPropertyMappingError setting lets you control this. If you set this setting to false, the property mapper skips any properties where an error occurs and continues to map the remaining properties. (388584)
- The new ContentSearch.Crawling.StopOnCrawlError setting specifies whether the Sitecore crawlers stop crawling if an error occurs during the crawling process. The default behavior is to continue crawling if an error occurs. (388584)
- The new ContentSearch.Crawling.StopOnCrawlFieldError setting specifies whether the Sitecore document builder classes add document data to the index if an error occurs while processing one or more fields for the document. The default behavior is to add the document data. (388584)
- When an index is configured to use the synchronous index update strategy, the system no longer writes a "Job started: Index_Update_IndexName" and "Job ended: Index_Update_IndexName" message to the log file for each item that is indexed. This avoids overflowing the log file with unnecessary messages. (382052)
- When you run Re-Index Tree from the Developer tab and click "View all messages," the dialog now shows the paths of the folders being re-indexed as it processes them. (382835)
-
Sitecore.ContentSearch configuration
- The path to the <mediaIndexing> section was hardcoded. This prevented customers from using different configurations for different indexes. This has been fixed so that now you can specify a <mediaIndexing> element below the <field name="_content" …> element in the computed fields section. The <mediaIndexing> element can either specify the configuration inline as subnodes, or you use a ref attribute to specify a path and reuse the configuration from another mediaIndexing element. (402508, 401411)
-
Sitecore.ContentSearch Solr provider
- The Solr provider now supports HTTP query caching for requests that contain an ETag. HTTP request caching only works if you also enable HTTP caching and ETags on the Solr server. The new ContentSearch.Solr.EnableHttpCache setting can be used to disable this functionality in the Solr provider, for example, for debugging purposes. (388298)
-
Breaking Links dialog
- The default option in the Breaking Links dialog is now "Leave links" instead of "Remove links" to avoid users accidentally removing links permanently. (353110)
- To reduce the risk of deleting an item by mistake, the Breaking Links dialog now displays the name and path of the item that you are about to delete. In addition, the dialog now has an extra step that displays the number of links that will be updated or removed if you continue. (353110)
- The Breaking Links dialog now has a back button on the "Link to another item" page that allows you to return to the first page of the wizard. (353110)
-
General Link field
- A new LinkField.GetFriendlyUrl() method has been introduced. The method makes it easy to output a valid URL no matter what type of link the field contains. For internal links, the method returns a URL from LinkManager.GetItemUrl(). For media links, the method returns a URL from MediaManager.GetMediaUrl(). For external links, anchor links, e-mail links, and JavaScript links, the method returns the value of the LinkField.Url property. (400051)
-
SPEAK UI Framework
- The jQuery library used by SPEAK has been updated to v1.10.2.
- The Bootstrap library used by SPEAK has been updated to v2.3.2.
-
New components in the SPEAK Business Component Library:
- ArrowIndicator
- AreaChart
- BarChart
- ChartDataProvider
- ColumnChart
- DoughnutChart
- GenericDataProvider
- LineChart
- JourneyChart
- PieChart
- RadarChart
- Slider
- ValueLabel
-
Caching
- The new Caching.CacheKeyIndexingEnabled.ItemPathsCache web.config setting allows customers to configure the system to use extended indexed storage for cache keys for the ItemPathsCache. In certain scenarios, using indexed storage for cache keys can significantly reduce the time it takes to perform partial cache-clearing operations. Enabling this setting can also sometimes reduce the chance that you get SQL Server time-outs when parallel publishing is enabled. (399484)
- The new DisableCachePopulationSwitcher context switcher can be useful as an alternative to using a DatabaseCacheDisabler. Where the DatabaseCacheDisabler disables both reads and writes to database caches, the new switcher only disables writes, while allowing the system to take advantage of existing data already in the cache for reads. Overall, this should result in slightly better performance. (403151)
- When you use a DatabaseCacheDisabler or the new DisableCachePopulationSwitcher context, the system no longer populates the AccessResultCache with data. This can reduce the amount of memory used for cached data and improve performance, especially in solutions with a large number of items, versions, or languages. (402350)
-
Logging
- The configuration of the log4net appenders in the web.config file has been changed so that all the appenders that are defined by Sitecore now use UTF-8 encoding. This ensures that log messages in Japanese, for example, are written correctly to the log file. (397046, 401874)
- The "Long running operation:" log messages are no longer written to the log file when the log level is set to "WARN" because many customers found these messages confusing. To see these messages, you must now set the log level to "DEBUG" on the <log4net><root><priority> element in the web.config file. (356563)
-
/sitecore/admin/FillDB.html
- The FillDB.html page can now be enabled using the new EnableFillDB setting in the Sitecore.Buckets.config file instead of developers having to modify the aspx file itself. This lets developers create an include file in their dev environment that enables this page, while keeping the page disabled on content management and content delivery instances. (399147)
- The FillDB.html page has been completely reworked. Each step is now optional and lets you specify additional parameters for the step. In addition, the page provides additional steps that can be useful, such as the ability to clear site caches and to reindex all indexes or a specific index. (386884, 388566)
- When enabled, the FillDB.html page now handles POST requests. For example, this lets you write PowerShell scripts that execute this page. In addition, you can specify a "json" parameter to return results as a JSON response. (386884)
-
/sitecore/admin/LinqScratchPad.html
- The LinqScratchPad page did not always show the elapsed time. This has been fixed by moving the timer into the LinqScratchPad code itself. After this fix, your user code no longer needs to contain a RunTimer() method or a stopWatch field in the Program class. (387576)
- The LinqScratchPad can now load code from a gist on github by simply typing the URL to the gist page (http://gist.github.com/<userid>/<gistid>). (387238)
Important changes
-
Publishing
- By default, the Republish option in the Publish wizard is now only available for administrators and members of the new Sitecore Client Advanced Publishing role. This change was made to discourage users from republishing. Republishing is an expensive operation that overwrites every item in the selected languages even if the data has not changed. You should only republish if the databases appear to be inconsistent and only after you have tried to fix the problem by performing a Smart Publishing operation. (399487, 402430, 404340)
- The system now writes a separate log file with information about publishing operations to the log folder. (399482)
-
Sitecore.ContentSearch API
- A new ISearchResult interface has been introduced. All Sitecore POCO classes now implement this interface. In addition, the SearchResultItem and SitecoreUISearchResultItem classes have been reworked to implement this interface, and the non-Sitecore related API from SitecoreUISearchResultItem has been extracted into a UISearchResult class. (402129, 404299
-
Sitecore.ContentSearch configuration
- Some of the nodes in the default index configuration file have been renamed. This has been done both for consistency and as a preparation for future features. For example, the <contentSearch><configuration> node has been changed to <contentSearch><indexConfigurations> and a number of nodes in the Solr config file have been changed so that the first letter of the node name is lowercase. Due to these changes, custom include files that worked under CMS 7.1 and 7.0 need to be updated to reflect the new structure. For a detailed list of changes, please refer to the Configuration file changes in 7.2.
- The logic for merging the default index configuration into custom index configurations has been changed. To merge the default index configuration, you must now specify a ref attribute on the <configuration> node for your indexes. This merges the default index configuration for most sections (for example, computed fields and exclude fields), with the <fieldMap> as an exception. To also merge the default index configuration into the <fieldMap> section for an index, you must specify a ref attribute on the <fieldMap> node. (402617)
- The comment above the custom fields section in the Sitecore.ContentSearch.Lucene.DefaultIndexConfiguration.config file has been updated to clarify that custom fields only support simple transformations and that you should use computed fields for more complex transformations. (401965)
- Comments for several sections in the Sitecore.ContentSearch.Lucene.DefaultIndexConfiguration.config file have been updated for clarity and consistency. (396732)
- The index fields __smallcreateddate and __smallupdateddate are now defined as computed fields instead of custom fields to allow more control over how the values are indexed. (401965)
-
Global.asax
- To make it easier to maintain a custom Global.asax file, the Sitecore code in the FormsAuthentication_OnAuthenticate method has now been moved to the Sitecore.Web.Application base class. This means that the Global.asax file in a clean installation now only contains a single line with an Application tag that points to the base class.
- To ensure that Sitecore continues to work as expected in the future, we recommend that you always call the base method from any custom methods that you add to your Global.asax file.
Breaking changes
-
CMS API
- The public constructor of the Database class has been removed because manually instantiated Database objects are not fully functional and using them can lead to errors that are hard to troubleshoot. Instead, use the Factory to create Database objects. (305030)
- The IWorkflow interface has been extended with an IsApproved method. You have to implement this method if you are using a custom workflow provider implementation.
- The signature of the ApplyWinningVariation method in the Sitecore.Shell.Applications.WebEdit.Commands.Testing.StopTest class has been changed so that you must now specify a new Language argument along with the existing arguments. This only affects your solution if you have overridden this command.
- The AddItemReferences class no longer contains any methods because it now executes the new <getItemReferences> pipeline. If you have overridden this class, you now have to override the processors in the <getItemReferences> pipeline instead.
-
Item buckets API
- The signature of the GetFolderPath method in the IDynamicBucketFolderPath interface has been changed to take additional parameters: database, name, and templateID.
- The signatures of the GetTemplates and GetBuckets methods in the ItemBucketService class have been changed. These methods are used for autocompletion in the search fields. The methods now return List<AutoCompleteItem> instead of List<string>. In addition, the GetBuckets method now takes a string argument to limit the number of results returned.
- The signatures of the CreateAndReturnDateFolderDestination and GetDestinationFolderPath methods in the BucketOperationProcessor class have been changed. The itemToMove argument now takes an Item object instead of an ID. This change affects all the derived classes that are used in the various bucket pipelines, as well as any custom pipeline processor classes that call these methods directly.
- The Sitecore.Buckets.Module.IframeField class has been removed because it was not in use.
-
Sitecore.ContentSearch API
- The behavior of the EndsWith() operator in the Linq layer has been changed so that now it throws an exception if it is called for a field that is not stored in the index with termvector offsets. Previously the operator would write an error message to the log file and return 0 results in this situation. (397998)
- The SearchConfiguration method in the ContentSearchManager class now returns a ContentSearchConfiguration object instead of the now deprecated ProviderIndexSearchConfiguration type.
- The Crawler<T> abstract class has been extended with additional abstract methods that custom crawlers now need to implement.
- The SearchProvider abstract class has been extended with a new abstract method.
- A number of interfaces have been extended with new methods and properties. This includes the following interfaces: IIndexDocumentPropertyMapper, IProviderCrawler, IProviderSearchContext, IProviderUpdateContext, ISearchIndex, and ISearchIndexSummary.
- The ISearchIndexSummaryEx interface was introduced in 7.0 Update-3 to avoid breaking API changes. The interface has now been merged into the ISearchIndexSummary interface and the ISearchIndexSummaryEx has been removed. (397532)
- In 7.0 Update-3, the AbstractDocumentBuilder class was extended with two methods: AddComputedIndexField and AddProviderCustomFields. They were added as virtual methods to avoid breaking API changes in 7.0 Update-3 and did not have any implementation. For consistency, they have now been changed to abstract methods. (398039)
- The Result property in the GetFacetArgs class has been renamed to ResultArgs. A new Result property has been introduced that returns the facet queries as an IEnumerable<FacetQuery> object.
-
Sitecore.ContentSearch Linq API
- The Dump method in the IDumpable interface has been replaced with a WriteTo method.
Deprecated and removed classes, methods, properties, and files
-
Removed classes and controls
- A number of classes that had been deprecated in previous releases have now been removed, including but not limited to the Sitecore.Shell.Applications.WebEdit.WebEditState class. (354038)
- The following XAML controls were not in use and have been removed: New Schedule, New Schedule Command, and Scheduled Tasks. (314009)
- The ContentNavigator XAML control was not in use and has been removed. (350240)
- The Boost XAML control was not in use and has been removed. This does not impact the boost page. (309063)
-
Deprecated classes, methods, and properties
- The "Treelist with Search" field type has been deprecated in favor of the "Multilist with Search" field because the functionality and UI is almost identical to the "Multilist with Search" field. The definition item for the field type has been moved to the "Deprecated Field Types" folder in the content tree. (402428)
- The "Use Smart Tags" feature has been deprecated. The option has been removed from the Application Options dialog available in the Content Editor, and the associated properties and classes in the API have been marked as obsolete. (354274)
- The MediaUrlOptions.PredefinedServerName property was not in use and has been marked as obsolete. (396738)
- The ProviderIndexSearchConfiguration class has been deprecated in favor of a new ContentSearchConfiguration class.
-
Removed files
- The Design.config file has been removed from the root of the website. The file was not in use and referred to a non-existent web service. (393706)
- The PIE_GPL.txt file has been removed from the /sitecore/Copyrights folder because the associated library is not distributed with Sitecore. (395106)
-
A number of obsolete items have been removed
- The core database contained a /sitecore/shell/Applications/WebEdit/Chunks folder that was not in use (not to be confused with the WebEdit/Ribbon/Chunks folder which is still in use). The unused folder and subitems have been removed. (354038)
Issues resolved
-
Publishing
- The publishing wizard would sometimes appear to be stuck on the "Initializing" step. This could happen if Sitecore ran out of free threads in Sitecore's managed thread pool. This has been fixed by creating a new thread for each publishing job instead of queuing publishing jobs in Sitecore's managed thread pool. If you change the value of the new Publishing.ExecuteInManagedThreadPool setting to true, you might experience this issue again. (399530, 369305)
- Renamed items were not published by incremental and smart publishing operations. This has been fixed. (369074)
- The Publishing.PublishEmptyItems setting (which could manually be added to the configuration file in previous versions) did not always work correctly. Depending on the value of the setting, this could lead to empty items never being published or never being unpublished. This has been fixed so that the setting works as expected in all cases. (317376, 317377, 400757)
- Empty items were never unpublished. If an item had already been published and you then removed the item versions or made them unpublishable, the item was not unpublished. This has been fixed so that this behavior is now controlled by the Publishing.PublishEmptyItems setting. (317377)
- Incremental publishing operations could skip items if the operation was initiated just before the date specified in the Publishable From field of one or more item versions. This happened because of the way the system kept track of the last publishing date. This has been fixed. (312211)
- If you performed an incremental publishing operation and did not have read or write permissions to all the items in the publish queue, the item would not be published on subsequent incremental publishing operations performed by users with sufficient permissions. This has been fixed by adding skipped items back into the publish queue. (305331)
- Incremental publishing operations sometimes unnecessarily processed children of the items in the publish queue. This has been fixed. (365086, 367208)
- Incremental publishing operations sometimes unnecessarily published newly created items/versions twice. This has been fixed. (390353)
- The PublishAgent task in the web.config file did not always work as expected. If you set the mode to "full", the agent would perform "smart" publishing operations instead of "full" publishing operations if the Publishing.CompareRevisions setting was set to true. This has been fixed. (362718)
- If enableWorkflow was set to false on the "publisher" site and you clicked one of the Publish buttons in the ribbon, the system displayed a warning if the current item was not in a final workflow state. This has been fixed so that the warning is only displayed when workflows are enabled. (315856)
- When you used the Publishing Restrictions dialog to change the publishing restrictions for an item version, the system would sometimes change the item statistics of versions that you had not changed the publishing restrictions for. This has been fixed. (359941)
- The messages related to publishing in the Quick Action bar were not always consistent with the content editor warnings. This has been fixed. (375445, 399528)
-
Performance
- When an instance queried the event queue for new events to process, it would sometimes keep reading the same records over and over again. This happened if none of the retrieved events from the queue needed to be processed by the current instance. This could cause an unnecessary load on the database server, for example after a big publishing job had finished. This has been fixed by making sure each instance always saves the event queue's last processed time stamp to avoid retrieving the same events repeatedly. (401482)
-
Engagement Analytics
- The Session End page event definition item had the value "Session Begin" in the Name field. This did not affect the functionality of the system under normal circumstances. This has been fixed so that now the Name field of the item is "Session End". (355836)
- Items based on the Campaign Category template were displayed with a different icon than the Campaign Category template itself. This has been fixed. (358505)
- The Analytics.Robots.IgnoreAutoRobots setting in the Sitecore.Analytics.config file was not in use (this setting should not to be confused with the Analytics.Robots.IgnoreRobots setting which is in use). This unused setting has been removed from the config file. (359276)
-
Layouts and renderings
- You could not specify a search based data source when configuring personalization or a multivariate test for a control in the Layout Details dialog box or in the Page Editor. If you defined a search based data source in the Select the Associated Content dialog box, on the Search for Content pane, and clicked OK, the system displayed this error message: "Please select an item from the results." This has been fixed. (386886)
-
Content Editor
- If you cancelled the Breaking Link dialog while the system was updating links, the item that you were about to delete would (as expected) not be deleted. However, the system might already have permanently deleted some or all of the links to the item or changed these links to point to another item. To troubleshoot this situation, the system now writes a message to the log file if the user cancels the dialog while links are being updated. (315334)
- If you selected an item with a broken link in a General Link field, a NullReferenceException error appeared and you could not edit the item. This has been fixed so that now the General Link field displays the GUID and a message that the item does not exist or that you do not have read access to the item. (399239, 399240, 404408)
-
Page Editor
- The WebEditRibbon contained a hard-coded reference to "/webedit.css" instead of using the value from the WebEdit.ContentEditorStylesheet web.config setting. This has been fixed. (318385)
-
Search tabs in the Sitecore clients
- When you used the Search tab, which is available in many dialogs, most of the quick actions for search results did not work as expected when you tried to execute them. This has been fixed by no longer displaying quick actions in dialogs. (386876)
- If you performed a search and an error occurred on the server when it tried to execute the search or when it tried to retrieve the facets, it was not always obvious that an error had occurred. This has been fixed so that now an error message is displayed below the search result and/or in the facet pane if an error occurs. (387990)
- If you were using a sharded setup for your indexes, the More Search Options menu could not be expanded. This has been fixed. (384820)
- In the Build Query dialog, when you added a "sort:" filter and changed the sort direction for the filter, the change was not reflected in the search query. This has been fixed. (394185)
- When you added a "location:" filter and started typing an item name, the system suggested items that contained the typed characters anywhere in the item name. This has been fixed so that now the system only matches words in the item name that start with the characters you have typed. (401891)
- When you added a "custom:" filter, some fields were missing from the list of the suggested field name, for example, the _name field. This has been fixed. (401261)
- When you added certain search types of search filters, such as "language:" filters, the search expression would appear twice in the Search field after you performed the search. This has been fixed. (395769)
- The BucketConfiguration.ForceClientLanguageInSearch did not work as expected when set to true. This has been fixed so that now the system returns search results from all the country/region names for the specified language code. For example, if you have selected en-US (English - USA) as the context language, the search now also returns results for en-CA (English - Canada), en-IE (English - Ireland), and other language codes that start with "en". (387577)
- My Recent Searches displayed certain types of recent search expressions incorrectly. This happened for search expressions that contained a pipe character. For example, "custom:title|sitecore" would be displayed as "custom:title". This has been fixed. (381679, 395065)
- When you selected an item that contained a default bucket query, sometimes the Search field did not display a "Clear" button for removing the query. This has been fixed. (400752)
- When you searched for templates in the Insert from Template dialog, template folders were listed in the search results and could be selected. This has been fixed by excluding template folders from the search results. (384918)
- When you used the Search tab in the Contextual Tab or the Context Menu dialogs, no search results would appear. This has been fixed. (385276, 385696, 388439)
- When using the Solr provider, the system did not return any results if you added the sort:" filter to a search expression. This has been fixed. (386247)
- [Firefox] When you added a Start Date or End Date filter, the calendar for picking dates would sometimes not appear. This has been fixed. (394517)
-
Content faceting
- When using the Solr provider, the "In Workflow" facet did not work correctly. This has been fixed. (382195, 403313)
-
Sitecore.ContentSearch API
- The ContentSearch.ParallelIndexing.LimitCores (now renamed to ContentSearch.ParallelIndexing.MaxThreadLimit) did not always limit the number of threads correctly. This could cause indexing operations to use a larger number of threads in total when multiple concurrent indexing operations were running. This has been fixed. (403131)
- After you restored deleted or archived items, the restored items were not indexed. This has been fixed. (383896)
- If the ASP.NET process was restarted while the search indexes were being rebuilt using the onPublishEndAsync index update strategy, the strategy would not restart from where it was stopped. This could cause items to be missing from the index. This has been fixed. (398139)
- The IntervalAsynchronousStrategy class did not always remove all relevant data from the index when you deleted multiple items or versions. This could lead to a situation where the index would return results for deleted items and versions. This has been fixed. (386882)
- The computed field classes in the Sitecore.ContentSearch.ComputedFields namespace expected the indexable object to be an implementation of SitecoreIndexableItem. This could cause the indexing of other types of indexable objects to fail. This has been fixed by ensuring that these computed fields do not throw an error in this situation. (387614)
- The NGramAnalyzer class implemented a custom tokenStream() method instead of overriding the TokenStream() method of the base class. In addition, the class was incorrectly marked as abstract. Both issues have been fixed. (395728)
-
Sitecore.ContentSearch Linq layer
- If you had a generic method that passed a generic type to GetQueryable, an exception would occur when you called the method with a message similar to: "Unsupported member access. Expression type: Convert. Member name: ItemId." This has been fixed. (389210)
- If you tried to execute a Linq statement that tried to access members in the predicate of a Where() statement, an exception error would occur, for example, for the following statement: context.GetQueryable<Product>().Where(i => i._database == Sitecore.Context.Database.Name.ToLowerInvariant()).Select(a => a.GetItem()). This has been fixed by adding support for accessing class members in predicates. (384358)
-
Sitecore.ContentSearch configuration
- When you configured custom fields, you had to specify UNTOKENIZED to mark the field as being untokenized while other field definitions used the keyword UN_TOKENIZED. This has been fixed so custom fields also accept the UN_TOKENIZED keyword while still supporting UNTOKENIZED for backwards-compatibility. (390928)
- If you uncommented the IncludeField section for a search index and specified one or more fields, the specified fields were sometimes not added to the index. This has been fixed. (386719)
- The comment above the <CheckForThreshold> element in the Sitecore.ContentSearch.Lucene.DefaultIndexConfiguration.config file had an incorrect reference to a related setting. This has been fixed. The comment now refers to the correct name of the related setting. (393645)
-
SPEAK UI dialogs
- The Select Media dialog could encounter problems when running in IE11. This has been fixed.
- [IE9] The Select Media Dialog window closed if you hit the Enter key after typing search text in the search field. This has been fixed. (399914)
- Several dialogs threw a Javascript error (SCRIPT5009: 'Date' is undefined). This has been fixed.
- Newly uploaded images did not always appear in the Select Media dialog the first time it opened. This has been fixed.
- The Upload Media dialog would throw Javascript console errors if a user added a media file for uploading, removed it again before uploading it, and then uploaded other media files. This has been fixed.
-
SPEAK Business Component Library
- Accordion: Binding to the IsVisible property did not work. The component was always visible. This has been fixed.
- Dictionary: The Sitecore.Resources.Dictionary array returned null if you used the format Sitecore.Resources.Dictionary["key"] and the key was not found. The correct usage is to call Sitecore.Resources.Dictionary.translate("key").
- ListControl: Column headers and data were truncated when they were too long to fit in a cell, making it difficult for users to know the full value displayed. This has been fixed by adding a tooltip for both column data and headers.
- ListControl: The EmptyText property, which contains text that should be shown when a ListControl has no data to display, was not always shown. This has been fixed.
- ListControl: Text inside cells did not adhere to the applied alignment property. This has been fixed.
- ListControl: The sorting controls did not work in Firefox. This has been fixed. (402918)
- ListControl: The control did not start with data presorted based on the sorting configuration. This has been fixed.
- ListControl: The sorting controls have been improved to indicate when sorting is not in use for a given column. Selecting multiple controls now allows for sorting by multiple columns.
- ListControl: Columns previously all had equal widths. The ListControl now supports columns with different widths. A Width property has been added to the ColumnField definition template. Developers can now provide values as pixels (any integer) or a percentage (integer between 1 and 100 with suffix %).
- ListControl: The Formatter field used for formatting date columns now also works for formatting numeric columns using the following formats (adjusted for the context language regional settings):
- #Nx – generic numeric formatting, where x is the number of decimals to show
- #Px – percentage formatting, where x is the number of decimals to show
- MessageBar: When two MessageBar controls were on a single page, only one of the controls would show messages. This has been fixed.
- MessageBar: The MessageBar could sometimes appear with no messages. This has been fixed.
- MessageBar: The MessageBar could throw an exception when adding a trigger in Javascript. This has been fixed.
- ProgressIndicator: The z-index of the component was not always appropriate, which could cause the component to appear in front of or behind other components. This has been fixed.
- TextArea, TextBox: A WidthPolicy property that accepts the following two settings has been added:
- Default – the component uses the default width for input controls
- BlockLevel – the component uses the full width of its container
-
Sitecore Item Web API
- When you used the GetRenderingHtml action, the system ignored the sc_itemversion parameter and always rendered the latest version of the item. This has been fixed. (395227)
-
Media requests
- Some browsers had problems downloading and opening PDF files with the default Sitecore configuration. This has been fixed by changing the <forceDownload> element to true for the <mediaType name="PDF file" extensions="pdf"> element in the web.config file. (368967)
-
Update Package Installation Wizard
- When you installed an update package that contained commands for adding or changing items in several databases and one of these databases did not exist, the system might skip commands related to other databases. This has been fixed so that only commands related to the database that does not exist are skipped in this situation, while item operations for other databases are performed. (387807)
- When you installed an update package that contained dictionary entries, the dictionary cache was not cleared, and you had to manually delete the dictionary.dat to clear the cache. This has been fixed. (352844)
- When you installed an update package that contained template definition items that were located outside the /sitecore/templates node, the templates (and any items based on these templates) were not installed correctly. This has been fixed. (399673)
- When you installed an update package, the installation history log would sometimes contain errors with the following message: "The specified path, file name, or both are too long." This has been fixed. (399674, 402463)
-
Serialization
- When you reverted or updated items from serialization, the operation could go into an endless loop. For example, this could happen if you had serialized the SPEAK item structure where the serialized items included templates located outside the /sitecore/templates folder. This has been fixed. (399633)
-
Multibrowser fixes
- [IE] When you clicked the More button for an item in the workbox, nothing happened. This has been fixed. (404607)
- [IE11] When you hovered the cursor over the Content Editor ribbon or tabs, the content of the tabs would sometimes disappear and a grey background would appear instead. This has been fixed. (401013)
- [IE11] The confirmation prompts in the Sitecore clients sometimes displayed the text "Script Pompt:" before the actual text of the prompt. In addition, the OK and Cancel buttons were sometimes placed inconsistently in such prompts. This has been fixed. (401030, 404782)
- [Firefox] When you attached new media to an existing media item, the following error message sometimes appeared: "An error occured while uploading a file." This has been fixed. (404084)
- [Firefox] The Access Viewer and Security Editor applications did not refresh when you selected a different user account using the Select button or when you changed the columns that you wanted to display. This has been fixed. (403400, 395850)
- [Firefox] The Context.ClientPage.ClientResponse.SetLocation method did not work in Firefox. This has been fixed. (403400)
-
Localization
- Some typos have been fixed in various parts of the system. (395674, 309363, 309365, 314007, 314011, 314012, 314013, 347479, 340786)
-
Caching
- The Sitecore.Caching.Cache class was not thread safe. For example, this could lead to an IndexOutOfRangeException error when adding new entries to the cache. Such errors typically occurred when the system was under heavy load. This has been fixed. (400897, 401501, 401681)
- The Sitecore.Caching.ItemCache class was not thread safe when the Caching.CacheKeyIndexingEnabled.ItemCache setting was set to true. This could cause exception errors to appear in the log file, typically when the system was under heavy load. This has been fixed. (401426)
- The Caching.CacheKeyIndexingEnabled.ItemCache setting used the value of the Caching.CacheKeyIndexingEnabled.AccessResultCache setting. This has been fixed so the ItemCache setting now reads the correct value from the web.config file. (401430)
-
Miscellaneous
- The Enable Datasource Query field on the /sitecore/templates/System/Layout/Sections/Rendering Options template was versioned, which caused problems for translation. This has been fixed so that now the field is shared. (396800, 403896)
- The EventDisabler did not disable the events that are raised before an action is executed, for example, item:saving and item:deleting. This has been fixed. (339741)
- The UrlString class dropped query string parameters without a value, such as "http://localhost/?wsdl". This has been fixed so that these query string parameters are now parsed correctly. (398081)
- The ItemLink.GetSourceItem() method threw a NullException if the database for the link did not exist. For example, this could happen if you processed references from the link database on a content delivery instance and some links referred to a database that was not available to this instance. This has been fixed. (387807)
- You could create items under /sitecore/System/Settings/Buckets/Search Types without specifying a value for the Control Type or the Client Side Hook fields. This has been fixed by adding a validation rule to make these fields required. The standard values for the template now also specify a default value of "Text" for the Control Type Field and "normal" for the Client Side Hook field. (401427)
- Most of the classes that define well-known item IDs and field IDs contained static fields that were not marked as read-only. This has been fixed in all the relevant classes, for example, the Sitecore.DeviceFieldIDs, Sitecore.FieldIDs, Sitecore.ItemIDs, Sitecore.TemplateIDs classes. (398740, 398332)
- The description of the Sitecore.Data.Fields.LinkField.Url property in the API was very brief and could cause developers to use the property incorrectly. This has been fixed by updating the description to point out that the property should not be used for rendering links on the website. (362530)
- In the core database, the Application template and the Task Page template had an Icon field where the field type was "text". This has been fixed so that now the field type is "Icon". (355768, 399797)
- The analyticsDefinitions attributes that can be specified on <site> elements in the web.config file were not described in the comment above the <sites> section. This has been fixed. (378756)