Skip to content

Commit b65df9d

Browse files
LiNk-NYlshep
andauthored
add examples to package deprecation (#116)
Co-authored-by: lshep <[email protected]>
1 parent 3d04e68 commit b65df9d

File tree

2 files changed

+26
-17
lines changed

2 files changed

+26
-17
lines changed

deprecation.Rmd

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,27 +6,34 @@ that this process is minimally disruptive to your users.
66

77
## What to Deprecate?
88

9-
Any function, class, method, or data that is no longer used or needed.
9+
Any function, class, method, data, or even package that is no longer used or
10+
needed.
1011

1112
## When to Follow These Guidelines?
1213

13-
If you introduce a function into the devel branch of your package,
14-
then soon after decide not to use it, you may simply remove the function
15-
without following these guidelines. It is expected that the devel
16-
branch is unstable and subject to API changes without notice (though
17-
you may decide to communicate these changes to your users via the
14+
>|--- Bioconductor development cycle ---------------|>
15+
>|--- o feature introduced --- o feature removed ---|>
16+
17+
Note that if you decide against using a function that you had introduced
18+
**within the same development cycle**, you may simply remove the function
19+
without following the standard function deprecation guidelines. It is expected
20+
that the devel branch be unstable and be subject to API changes without notice
21+
(though you may decide to communicate these changes to your users via the
1822
Bioconductor [support site][]).
1923

20-
However, if a function has existed in at least one released version
24+
>| Bioconductor RELEASE_X_Y | Bioconductor development cycle |>
25+
>|-- o feature introduced --|----- o feature removed --------|>
26+
27+
However, if a function was published in at least one release version
2128
of Bioconductor, these guidelines _must_ be followed. The process of removing
22-
a function, class, method, or any exported package object takes approximately
23-
three release cycles (about 18 months).
29+
a feature such as a function, class, method, or exported package object
30+
takes approximately three release cycles (about 18 months).
2431

2532
## How To Deprecate A Function {#deprecate-function}
2633

2734
### Step 1: Deprecate the function
2835

29-
When you first decide to eliminate a function, you should mark it as
36+
When you first decide to deprecate a function, you should mark it as
3037
deprecated in the devel branch. Do this by calling <code>.Deprecated()</code>
3138
inside the function. To do this, you must provide a replacement function
3239
which should be used in place of the old function. Example:

package-end-of-life.Rmd

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Package End of Life Policy
22

33
The Bioconductor project strives to provide a software repository that is
4-
stable and relevant to users across the community. Each year 100-150 new
4+
stable and relevant to users across the community. Each year about 100-150 new
55
software packages are added to the repository; as of Spring 2021 over 2000
66
packages are hosted. The Bioconductor Build System (BBS) installs, builds, and
77
checks each software package every 24 hours. Regular execution of example,
@@ -44,20 +44,22 @@ packages.
4444

4545
Alternatively, a package maintainer may request package deprecation. The
4646
maintainer may have any number of reasons for deprecating their package. Some
47-
common reasons:
47+
common reasons include:
4848

4949
1. They no longer wish to maintain their package
5050

51-
2. The package has been superseded though other packages
51+
2. The package functionality has been superseded by other packages
5252

53-
3. The package material has become out-dated and it makes sense to retire the
53+
3. The package material has become out-of-date and it makes sense to retire the
5454
package.
5555

56+
4. Significant changes to the underlying technology e.g., a web API, have made
57+
the package unmaintainable.
58+
5659
We ask that maintainers wishing to deprecate their package send an email
5760
notification to [bioc-devel][bioc-devel-mail] mailing list. The core team will
5861
ensure all necessary steps and notifications can occur.
5962

60-
6163
## End of Life process
6264

6365
**Step I**: Deprecation
@@ -149,5 +151,5 @@ interested replacement maintainer is asked to email the original maintainer and
149151
[email protected], to formally request permission to take over. Unless
150152
there is an explicit request for a package to be retired, Bioconductor will
151153
grant access to the interested replacement maintainer in accordance with open
152-
source software licenses that Bioconductor packages require and [package naming
153-
policy](#naming) that maintainers agree to upon submission.
154+
source software licenses that Bioconductor packages require and
155+
[package naming policy](#naming) that maintainers agree to upon submission.

0 commit comments

Comments
 (0)