You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: general/development/policies/deprecation/index.md
+12-1Lines changed: 12 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,12 +18,23 @@ In an open source project, the end use of the codebase varies. People may have c
18
18
19
19
## What is Moodle's deprecation policy?
20
20
21
-
- Deprecations should only be on main, not on stables (exceptions may be made for some external service integrations)
21
+
- Deprecations should only be on the `main` branch, not on stables (exceptions may be made for some external service integrations)
22
22
- Deprecations apply to all public APIs, classes, and files.
23
23
- Removal of a function, class, or file may only be considered after a minimum of 4 major releases since the deprecation. Example: anything deprecated in 3.2 means that it will be removed in 3.6
24
24
- All deprecations should emit debugging notices where possible
25
25
- All deprecations should be noted with an [upgrade note](../../upgradenotes.md).
26
26
27
+
:::danger What does it mean for an API to be considered "Public"
28
+
29
+
When we talk about Public APIs in Moodle, we are not referring to the `public` keyword in the method definition.
30
+
31
+
Instead we are considering how that API feature is used. Is that API feature intended to be, or is there a reasonable expectation that it may be, consumed in some reasonable way including:
32
+
33
+
- being called or accessed externally; or
34
+
- being overridden in a class OOP sense.
35
+
36
+
:::
37
+
27
38
## Moodle Core deprecation process
28
39
29
40
Once it is decided that a function should be deprecated, a two-step process should be followed.
0 commit comments