Skip to content

v4.2.0

Compare
Choose a tag to compare
@JeremyCaney JeremyCaney released this 18 Apr 22:19
· 1995 commits to master since this release

The 4.2.0 release includes backend refactoring, new maintenance scripts for database administrators, a bug fix for versioning, and some new deprecation warnings in anticipation of future updates.

New Features

Database Scripts

  • Moved maintenance-oriented stored procedures to a new [Utilities] schema (402301f).
  • Officially documented maintenance-oriented stored procedures (2df59ad).
  • Introduced new stored procedures for reducing extraneous records and old versions stored in the SQL database:
    • DeleteConsecutiveAttributes
    • DeleteConsecutiveExtendedAttributes
    • ConsolidateVersion
    • DeleteOrphanedLastModifiedAttributes

Note: With the exception of ConsolidateVersions, these new procedures are "lossless", meaning they compress the data without losing any historical versioning information.

Code Changes

OnTopic.Data.Sql

  • Much of the topic loading code was moved to the new SqlReaderExtensions (7ca6c0e).
  • Helper methods for creating parameters have been moved to a set of extension methods in the new SqlCommandExtensions class (7ca6c0e).

Note: These changes don't have any impact on the public API; they just makes the code itself more maintainable and easier to read.

Deprecation Notices

While OnTopic 5.0 hasn't been planned out yet, we have identified a few parts of the public API which will be deprecated. In anticipation of that, deprecation warnings have been implemented on those classes and members (b49ce5e). Most of these aren't being used by any implementors, and shouldn't cause problems. These include:

  • All ITopicRepository events, such as DeleteEvent, RenameEvent, and MoveEvent
  • A couple of Topic convenience accessors for retrieving attributes, including View and Description
  • Members of classes such as some helpers in SitemapController which should have been marked as private when they were introduced

Bug Fixes

  • Topic versions are now created using a lower precision so that they match the exact value in the database (90c83d4). This fixes a bug which prevented rolling back to versions created since the last application reset.