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:
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 asDeleteEvent
,RenameEvent
, andMoveEvent
- A couple of
Topic
convenience accessors for retrieving attributes, includingView
andDescription
- Members of classes such as some helpers in
SitemapController
which should have been marked asprivate
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.