Skip to content

v4.0.0

Latest
Compare
Choose a tag to compare
@JeremyCaney JeremyCaney released this 29 Dec 02:57
· 5 commits to master since this release

This release maintains minimal compatibility with the recent release of OnTopic Library 4.0.0. At this point, the OnTopic-WebForms version of this project should be considered obsolete, and is no longer supported by Ignia. That said, this version is provided in order to aid in the migration to OnTopic-MVC or, preferably, OnTopic-AspNetCore.

Highlights

  • Renamed all namespaces from Ignia.Topics* to OnTopic* (e.g., Ignia.Topics.Web is now OnTopic.Web)
  • Introduced new ConfigurableAttributeTypeDescriptor to maintain compatibility with the OnTopic-Editor-WebForms project
  • Migrated to C# 8.0's new nullable annotation context
  • Introduced barebones Host project for testing

New Features

Library

  • Introduced new ConfigurableAttributeTypeDescriptor to maintain compatibility with the OnTopic-Editor-WebForms project

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 for main library
  • 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-WebForms 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 is now OnTopic.Web)
  • Renamed all namespaces from Ignia.Topics* to OnTopic* (e.g., Ignia.Topics.Web is now OnTopic.Web)

Frontend

  • Dependencies for some services (e.g., the underlying TopicMappingService) may have been updated to reflect new features

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