New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

The Community Blog is a personal opinion of community members and by no means the official standpoint of DNN Corp or DNN Platform. This is a place to express personal thoughts about DNNPlatform, the community and its ecosystem. Do you have useful information that you would like to share with the DNN Community in a featured article or blog? If so, please contact .

The use of the Community Blog is covered by our Community Blog Guidelines - please read before commenting or posting.

Moving Forward DNN Platform 10.0: Growing Pains Lead To Improvement

As I look to the future with DNN.Platform we have an amazing platform, however, the platform has been growing for more than 15 years. With 15 years of growth, we have a number of things that have evolved that are "less than perfect' along the way. However, as we look to move into the future we have amazing things on the fore-front. .NET Core, Blazor, you name it we have a lot of new technologies that could be implemented that will help the platform grow. This growth, however, will not come without a few growing pains along the way, so it is worth discussing on a regular basis to keep everyone on the same page. One of these growing pains are continued API management which can cause upgrade issues, we want to plan ahead so let's dive into what is coming.

Versioning Policy

Everyone remembers the 9.2.0 release and the sudden breaking changes that were introduced. One of the first items I worked on as the Technology Group Leader was to help create the Versioning Policy that will be used to outline how/when/why we will make some of these more painful changes to DNN Platform.

We never want to make these types of changes, however, it is something that is very important for the long term future of DNN. The more "clutter" we can remove the faster the platform will perform, and the easier that we will be able to upgrade to new technologies.

What is Coming in 10.0

The current roadmap showcases a release of version 10.0 this fall. As part of this effort, we will continue the steps necessary to remove code that was marked as Obsolete in prior versions, for developers that have not taken these warnings into consideration it will be another round of breaking changes, similar to that of 9.2.0.

Looking at the codebase for DNN Platform we still have active APIs that were flagged for removal in Version 6.0, initially tagged for removal as far back as 2009 that have yet to be removed. As we noted in the versioning process, these elements should have been removed no later than version 8.0.0. We have another large number of APIs that were flagged for removal in 7.x and 8.x that also has yet to be removed. This legacy code adds substantially to the codebase of DNN Platform and will continue to limit our ability to progress technically, therefore another round of major breaking changes will be on the forefront with the 10.0 release and we want to communicate this early.

API's Updated with Removal Version

When the Versioning Policy was implemented the strategy was implemented that items would be removed in +2 major versions. Something marked for removal in DNN 7 would be removed in 9, or items marked for removal in 9 would be removed in 11. A review of this process has been completed and all elements marked for removal in DNN 8.x or earlier have been updated to include a note of "Scheduled removal in v10.0.0.".

Size of Change

By the numbers, we have a total of 336 methods or classes in the DNN Platform API that will be removed as part of the 10.0 release. You can easily find these methods using a "FInd in Files" search within Visual Studio, or via a GitHub code search looking for the phrase "Scheduled removal in v10.0.0."

Developer Support for 10.x

It is my hope, that with proper communication and improved developer support, we can make the 10.x release a success and a non-event for individuals looking to upgrade. To this point, we have a few suggestions for developers that can be taken now, as well as a number of items that will be completed to make the transition easier.

Best Practices Recommendation: Avoid Build Warnings

The simplest change possible for developers are to ensure that no build warnings exist for the use of an Obsolete method. If your code can build against the DNN 9.3.2, or 9.4.0 releases with NO build warnings you will be set for 10.x without any concern. If you see errors, this would be the time to switch to new implementations. Most of the methods being removed have guidance on the new API method to use.

10.0 Alpha Release

Once the 9.4.0 release is completed, in early June, the TAG group will be shifting gears towards the development of 9.4.1 and 10.0.0. Once this shift occurs a pull request will be processed to remove ALL Obsolete methods that will be removed and an Alpha release will be published on GitHub for developers to download, install, and test using their solutions with the slimmed down API. With a release not scheduled until Q4 this will ensure developers have at least 3-4 months to test with the new APIs and should allow adequate time for support of 10.0 to be easier.

10.0 Alpha NuGet Packages

For those developers looking for a programmatic validation of compliance with the new API, we will also be publishing pre-release NuGet packages for the 10.0.0 version. Developers can quickly update their NuGet references to reflect version 10.0.0 and validate functionality in this manner as well.

The Future is Bright

As we continue to improve the DNN Platform the future is bright. With proper care and management, we can continue to evolve DNN Platform to adjust with the times and continue to provide world-class functionality to all users. It is my goal to continue to communicate these types of changes as far in the future as possible to ensure that all participants in the EcoSystem have enough time to react.


David Poindexter
Great communication on the plans Mitchel! It is so nice to see the in-advance notifications to developers worldwide of the coming changes. With upfront planning and communications, the path forward can be much smoother for the entire ecosystem. Thanks for your leadership!
David Poindexter Friday, April 19, 2019 1:21 PM (link)
Will Strohl
Great stuff... Can't wait for the leaner, meaner DNN when we get to version 10! :)
Will Strohl Saturday, April 20, 2019 10:11 AM (link)

Comment Form

Only registered users may post comments.


Aderson Oliveira (22)
Alec Whittington (11)
Alessandra Daniels (3)
Alex Shirley (10)
Andrew Hoefling (3)
Andrew Nurse (30)
Andy Tryba (1)
Anthony Glenwright (5)
Antonio Chagoury (28)
Ash Prasad (37)
Ben Schmidt (1)
Benjamin Hermann (25)
Benoit Sarton (9)
Beth Firebaugh (12)
Bill Walker (36)
Bob Kruger (5)
Bogdan Litescu (1)
Brian Dukes (2)
Brice Snow (1)
Bruce Chapman (20)
Bryan Andrews (1)
cathal connolly (55)
Charles Nurse (163)
Chris Hammond (213)
Chris Paterra (55)
Clint Patterson (108)
Cuong Dang (21)
Daniel Bartholomew (2)
Daniel Mettler (181)
Daniel Valadas (48)
Dave Buckner (2)
David Poindexter (12)
David Rodriguez (3)
Dennis Shiao (1)
Doug Howell (11)
Erik van Ballegoij (30)
Ernst Peter Tamminga (80)
Francisco Perez Andres (17)
Geoff Barlow (12)
George Alatrash (12)
Gifford Watkins (3)
Gilles Le Pigocher (3)
Ian Robinson (7)
Israel Martinez (17)
Jan Blomquist (2)
Jan Jonas (3)
Jaspreet Bhatia (1)
Jenni Merrifield (6)
Joe Brinkman (274)
John Mitchell (1)
Jon Henning (14)
Jonathan Sheely (4)
Jordan Coopersmith (1)
Joseph Craig (2)
Kan Ma (1)
Keivan Beigi (3)
Kelly Ford (4)
Ken Grierson (10)
Kevin Schreiner (6)
Leigh Pointer (31)
Lorraine Young (60)
Malik Khan (1)
Matt Rutledge (2)
Matthias Schlomann (16)
Mauricio Márquez (5)
Michael Doxsey (7)
Michael Tobisch (3)
Michael Washington (202)
Miguel Gatmaytan (3)
Mike Horton (19)
Mitchel Sellers (40)
Nathan Rover (3)
Navin V Nagiah (14)
Néstor Sánchez (31)
Nik Kalyani (14)
Oliver Hine (1)
Patricio F. Salinas (1)
Patrick Ryan (1)
Peter Donker (54)
Philip Beadle (135)
Philipp Becker (4)
Richard Dumas (22)
Robert J Collins (5)
Roger Selwyn (8)
Ruben Lopez (1)
Ryan Martinez (1)
Sacha Trauwaen (1)
Salar Golestanian (4)
Sanjay Mehrotra (9)
Scott McCulloch (1)
Scott Schlesier (11)
Scott Wilkinson (3)
Scott Willhite (97)
Sebastian Leupold (80)
Shaun Walker (237)
Shawn Mehaffie (17)
Stefan Cullmann (12)
Stefan Kamphuis (12)
Steve Fabian (31)
Steven Fisher (1)
Tony Henrich (3)
Torsten Weggen (3)
Tycho de Waard (4)
Vicenç Masanas (27)
Vincent Nguyen (3)
Vitaly Kozadayev (6)
Will Morgenweck (40)
Will Strohl (180)
William Severance (5)
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out