Skip to content

v4.1.0

Compare
Choose a tag to compare
@JeremyCaney JeremyCaney released this 18 Apr 21:56
· 2067 commits to master since this release

The 4.1.0 release introduces bug fixes for the SitemapController, transaction support for certain database operations, unified support between TopicMappingService and ReverseTopicMappingService, as well as an update to how AttributeValue objects are created in order to supports merging topics.

New Features

  • The SitemapController now compresses the XML output by default (6a5f671). This can optionally be disabled by calling it with ?Indent=true.
  • The SqlTopicRepository now retrieves the precise Version for each attribute, and sets that value to the AttributeValue object (a83b844). This enables support for merging topics based on timestamp as part of the new OnTopic-Data-Transfer library.
  • The TopicMappingService now supports new attributes originally introduced for ReverseTopicMappingService (8e56be8). Notably, this includes support for [MapToParent] and [DisableMapping]. Critically, [MapToParent] allows attributes from a topic to be mapped to complex object types used for view model properties..
  • The MoveTopic and DeleteTopic stored procedures now implement table locks and transactions to prevent potential database corruption issues during concurrent updates (a16ea48). While a rare scenario, the potential consequences are sever.
  • The database project now includes a new ValidateHierarchy stored procedure (a16ea48), which allows the nested set hierarchy to be validated to ensure that no corruption has taken place.

Bug Fixes

  • The SitemapController now renders the output as UTF-8 not the default of UTF-16 (32e8289). This maintains compatibility with the Sitemap.org specification which mandates UTF-8.

Maintenance

  • Most NuGet package dependencies have either been removed or marked as <PrivateAssets /> (87b3034). This reduces the number of dependencies carried forward to downstream consumers.