Skip to content

v4.0.0

Latest
Compare
Choose a tag to compare
@JeremyCaney JeremyCaney released this 29 Dec 07:50

This release maintains minimal compatibility with the recent release of OnTopic Library 4.0.0, which contains significant changes to the API as well as new functionality. New projects should use the new ASP.NET Core 3.1 adapter; this ASP.NET MVC Framework version, however, will continue to be supported in the near-term for ASP.NET projects.

Highlights

  • Renamed all namespaces from Ignia.Topics* to OnTopic* (e.g., Ignia.Topics.Web.Mvc is now OnTopic.Web.Mvc)
  • Updated the LayoutController<T> to use the new IHierarchicalTopicMappingService<T> service
  • Introduced barebones Host project for testing

New Features

  • Updated the LayoutController<T> to use the new IHierarchicalTopicMappingService<T> service

Code Changes

Library

  • Upgraded to .NET Framework 4.8
  • Replaced legacy Code Contracts (RIP) with OnTopic.Internal.Diagnostics.Contract class
  • Migrated to C# 8.0's new nullable annotation context
  • Migrated to Visual Studio 2019's support for <inheritDoc /> on XMLDOCs
  • Migrated to Visual Studio 2017's new project format (core library only)
  • Adopted Visual Studio's code analysis conventions such as expression bodied members
  • Consistently applied e.g. CultureInfo and StringComparison to avoid inconsistencies with localization
  • Ensured all dependencies are marked readonly and uninitialized (as they are set in the constructor)
  • Fully adopted semantic versioning via GitFlow and GitVersion
  • Began using git merge --no-ff so we can better track merges independent from feature commits

Frontend

  • Moved to new OnTopic-MVC repository (this release)
  • Introduced barebones Host project for testing

Breaking Changes

Library

  • Renamed all packages from Ignia.Topics* to OnTopic* (e.g., Ignia.Topics.Web.Mvc is now OnTopic.Web.Mvc)
  • Renamed all namespaces from Ignia.Topics* to OnTopic* (e.g., Ignia.Topics.Web.Mvc is now OnTopic.Web.Mvc)

Frontend

  • Dependencies for some services (e.g., the underlying LayoutController) have been updated to reflect new features (such as the IHierarchicalTopicMappingService<T>)

Important: The OnTopic 4.0.0 release contains many breaking changes. See the release notes for more information.