-
Notifications
You must be signed in to change notification settings - Fork 753
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #4291 from dnnsoftware/release/9.8.0
Release/9.8.0
- Loading branch information
Showing
1,879 changed files
with
96,713 additions
and
23,137 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,29 @@ | ||
# DNN Platform Release Schedule | ||
To ensure adequate time for release planning by the community, partners, and vendors a specific release process will be followed for all releases. | ||
To ensure adequate time for release planning by the community, partners, and vendors, a specific release process will be followed for all releases. | ||
|
||
## Release Candidates | ||
For a period of one week (Revision), two weeks (Minor) or four-weeks (Major) before any release, a Release Candidate (RC) version will be made available to the public. At present these release candidates will be for testing only. After version 10.x efforts will be made to support upgrading from RC to Production releases. | ||
A Release Candidate (RC) is designed to give the community time to adjust their existing environments for any breaking changes and identify any unintended changes. Strong community participation during the RC process will result in more stable releases. | ||
|
||
The goal of these release candidates is to give the community time to adjust their existing environments for any breaking changes, as well as to identify any issues with the changes. If necessary, changes will be incorporated an additional RC release could be made if significant problems are identified. If a revised Release Candidate is necessary the Production Release schedule will be impacted. The exact impact will vary on a case-by-case basis depending on the nature of the issue(s) identified during RC review, however, will be clearly communicated during the release. | ||
### Major Releases (`MAJOR.Minor.Patch`) | ||
Major releases will have an initial RC cycle with a minimum duration of three weeks between the date of the RC release and the date of the final release. | ||
|
||
## Production Releases | ||
Production releases will only be completed after a successful RC phase, except in the case of a significant security release that was included as part of a revision release. | ||
### Minor Releases (`Major.MINOR.Patch`) | ||
Minor releases will have an initial RC cycle with a minimum duration of two weeks between the date of the RC release and the date of the final release. | ||
|
||
The release date will be communicated to the community at the time of the RC. And each release will take the following considerations into mind for all releases. | ||
### Patch Releases (`Major.Minor.PATCH`) | ||
Patch releases will have an initial RC cycle with a minimum duration of one week from the RC release and final release. | ||
|
||
* Releases must allow for at least two additional business days after the release for regular Monday - Friday office situations (Releases only on Monday, Tuesday or Wednesday) | ||
### Changes During RC Cycle | ||
If necessary, changes will be incorporated during an RC; if the changes resolve significant issues or introduce risk, an additional RC may be created at the discretion of the Approvers group. If a revised RC is necessary, the Production Release schedule will be impacted; the exact impact will vary on a case-by-case basis depending on the nature of the issue(s) identified during the RC review. However, it will be communicated as part of the updated RC release notes. | ||
|
||
## Final Releases | ||
Production Releases will only be completed after a successful Release Candidate cycle, except in the case of a significant security release included as part of a Patch release. | ||
|
||
The anticipated release date will be communicated to the community at the time of the RC. And each release will take the following considerations into mind for all releases. | ||
|
||
* Releases must allow for at least two business days following the release (based on standard business operations of Monday - Friday). Thus, releases should only be made on Mondays, Tuesdays, or Wednesdays. | ||
* Releases will not be completed during weeks of major US holidays, specifically New Years, Memorial Day, Independence Day, Labor Day, Thanksgiving Day, or Christmas. | ||
* Best efforts shall be made to avoid other significant holidays in other countries. | ||
|
||
## Release Notifications | ||
You can utilize the "Watch" functionality within GitHub to receive notifications for new Release Candidates and Production Releases using the "Releases Only" notification option. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,29 +1,33 @@ | ||
# DNN Platform Versioning and Deprecation Policies | ||
The DNN Platform follows a semantic versioning process for releases, in a manner to better communicate expectations of releases and their potential impacts to users of the platform. | ||
|
||
##Semantic Versioning | ||
## Semantic Versioning | ||
The DNN Community adopted the current semantic version policy in July of 2018. Releases before this date may follow different standards. | ||
|
||
### Major Releases (Ex 10.0.0) | ||
A major release is as the name implies, a release with major changes. These changes might include new features, breaking changes, or other larger changes. Each major release will come with release notes that outline the nature of any known breaking changes. | ||
|
||
Major releases are also the time that platform requirements might be changed, such as requiring a new edition of SQL Server or otherwise. | ||
Major releases are also the time that platform requirements might be changed, such as requiring a new edition of SQL Server, .NET Framework, or otherwise. | ||
|
||
### Minor Releases (Ex 10.1, 10.2, 10.x) | ||
A minor might contain smaller new features and enhancements, but will not introduce any breaking API changes, nor will it change the requirements of the hosting environment or platform to run the application. | ||
A minor release might contain smaller new features and enhancements, but will not introduce any known breaking API changes, nor will it change the requirements of the hosting environment or platform to run the application. | ||
|
||
It is possible that minor breaking changes and Javascript library updates are included in minor releases. | ||
|
||
### Revision Releases (Ex 10.1.1, 10.1.2, 10.1.x) | ||
These releases are created primarily to contain hot-fix style improvements from prior releases. Any bugs or security issues identified, or missing UI/UX features from a Minor/Major release might be added to a revision release. Similar to a Minor release a Revision release will not contain any known breaking changes. | ||
These releases are created primarily to contain hot-fix style improvements from prior releases. Any bugs or security issues identified, or missing UI/UX features from a Minor/Major release might be added to a revision release. Similar to a Minor release a Revision release will not contain any known breaking changes API. | ||
|
||
## API Deprecation Policy (Updated September 2020) | ||
The DNN Platform project is in a state of transition, continuing to modernize the API and remove existing technology debt. To this point, it will be necessary for the project to remove/restructuree many public API's. This will be done methodically, allowing developers to transition away from the older code with time to properly respond to change. | ||
|
||
## API Deprecation Policy | ||
The DNN Platform project is in a state of transition, continuing to modernize the API and work towards a transition to .NET Core. To this point, it will be necessary for the project to remove public API's. This will be done methodically, allowing developers to transition away from the older code with time to properly respond to change. | ||
Any API method to be removed will be flagged as deprecated in a release, major, minor or revision, and will be identified to be removed by a specific version. This will be done using a C# annotation with a comment similar to the following "Deprecated in x.x.x. Scheduled for removal in vy.0.0, use ____ instead". The version number of "y" in this example must be 2 major versions ahead. | ||
Therefore, an API marked as Deprecated in 9.2.1 can only be removed in version 11.0. Additionally, methods marked for removal in a version will GUARANTEED be removed in that revision. | ||
Any API method to be removed will be flagged as deprecated in a release, major, minor or revision, and will be identified to be removed by a specific version. This will be done using a C# `[Obsolete]` attribute with a comment similar to the following "Deprecated in x.x.x. Scheduled for removal in vy.0.0, use ____ instead". The version number of "y" in this example must be 1 major versions ahead of the version in which the notice was added. | ||
|
||
Therefore, an API marked as Deprecated in 9.2.1 can only be removed in version 10.0. Additionally, methods marked for removal in a version will GUARANTEED be removed in that revision. | ||
> Example: [Obsolete("Deprecated in DotNetNuke 7.0. This function has been replaced by AddUserRole with additional params. Scheduled removal in v10.0.0.")] | ||
### Testing Recommendations | ||
It is suggested that all extension developers recompile their projects on the latest API versions on a regular basis to identify removed elements as the compiler warnings will be the primary communication method for these changes. | ||
|
||
### Special DNN 10.x Cleanup | ||
A number of legacy APIs have been marked as deprecated for more than 7 years and not yet removed. To continue to clean the API structure a final cleanup is being completed as part of the 10.x release. All of these API's are more than 2 major revisions older, however, have non-standard indicators for the Obsolete attribute. These will be removed in 10.x along with other expected removals. | ||
Lastly, each Major release will contain release notes outlining every API method removed. More information can be found [in this blog post](https://www.dnnsoftware.com/community-blog/cid/156712/moving-forward-dnn-platform-100-growing-pains-lead-to-improvement) | ||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.