diff --git a/docs/how-to-guides/software-management/deprecation.md b/docs/how-to-guides/software-management/deprecation.md new file mode 100644 index 0000000000000000000000000000000000000000..d39b777433ec633515a9f6b3cb092c1dd09e6cc0 --- /dev/null +++ b/docs/how-to-guides/software-management/deprecation.md @@ -0,0 +1,11 @@ +# Deprecation +This document is intended to provide guidelines for the deprecation process. + +## 1. Deprecation Proposal +Those who wish to deprecate functionality should propose the deprecation via an issue on the software's repository of record. This allows for discussion among the developers and the user community. If a consensus is met that the functionality should be deprecated, then a deprecation warning should be written. + +## 2. Deprecation Warning +A deprecation warning should be presented to the user whenever the deprecated functionality is used. Though no standard has yet been agreed upon by the developers or the ASC software user base, previous deprecation warnings have taken the form of a simple message printed via `cout`. In addition to creating the deprecation warning message, the deprecated functionality should also be noted in the repository's changelog. This warning should include a link to the issue that proposed the deprecation. + +## 3. Removal of Deprecated Functionality +No less than 6 months after the release that includes the deprecation notice, a commit containing the removal of the deprecated functionality should be PR'd into the development branch. This change should also be captured in the changelog. \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 65af2664e397c560505c189acfb7c8c4c581b9d9..d3d4eaba3d703138cbb0d2537a362a01718962b0 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -62,6 +62,7 @@ nav: - General Utility with FX: how-to-guides/image-processing/general-utility-with-fx.md - Bundle Adjustment in ISIS: how-to-guides/image-processing/bundle-adjustment-in-isis.md - Software Management: + - Deprecation: how-to-guides/software-management/deprecation.md - Public Release Process: how-to-guides/software-management/public-release-process.md - Software Support: how-to-guides/software-management/software-support.md - Guidelines for Reporting Issues: how-to-guides/software-management/guidelines-for-reporting-issues.md