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*toOnTopic*(e.g.,Ignia.Topics.Web.Mvcis nowOnTopic.Web.Mvc) - Updated the
LayoutController<T>to use the newIHierarchicalTopicMappingService<T>service - Introduced barebones
Hostproject for testing
New Features
- Updated the
LayoutController<T>to use the newIHierarchicalTopicMappingService<T>service
Code Changes
Library
- Upgraded to .NET Framework 4.8
- Replaced legacy Code Contracts (RIP) with
OnTopic.Internal.Diagnostics.Contractclass - 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.
CultureInfoandStringComparisonto avoid inconsistencies with localization - Ensured all dependencies are marked
readonlyand uninitialized (as they are set in the constructor) - Fully adopted semantic versioning via GitFlow and GitVersion
- Began using
git merge --no-ffso we can better track merges independent from feature commits
Frontend
- Moved to new
OnTopic-MVCrepository (this release) - Introduced barebones
Hostproject for testing
Breaking Changes
Library
- Renamed all packages from
Ignia.Topics*toOnTopic*(e.g.,Ignia.Topics.Web.Mvcis nowOnTopic.Web.Mvc) - Renamed all namespaces from
Ignia.Topics*toOnTopic*(e.g.,Ignia.Topics.Web.Mvcis nowOnTopic.Web.Mvc)
Frontend
- Dependencies for some services (e.g., the underlying
LayoutController) have been updated to reflect new features (such as theIHierarchicalTopicMappingService<T>)
Important: The OnTopic 4.0.0 release contains many breaking changes. See the release notes for more information.