v4.2.0
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:
DeleteConsecutiveAttributesDeleteConsecutiveExtendedAttributesConsolidateVersionDeleteOrphanedLastModifiedAttributes
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
SqlCommandExtensionsclass (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
ITopicRepositoryevents, such asDeleteEvent,RenameEvent, andMoveEvent - A couple of
Topicconvenience accessors for retrieving attributes, includingViewandDescription - Members of classes such as some helpers in
SitemapControllerwhich should have been marked asprivatewhen 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.