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: server/reference/product-development/plugin-development/development-writing-plugins-for-mariadb.md
+49Lines changed: 49 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -71,6 +71,55 @@ maria_declare_plugin(example)
71
71
maria_declare_plugin_end;
72
72
```
73
73
74
+
## Maturity Guidelines For Plugins
75
+
76
+
The maturity level selection criteria differ based on how the plugin is released.
77
+
78
+
> [!NOTE]
79
+
> Sufficiently big changes to a plugin should lead to:
80
+
> * an increase of the plugin version
81
+
> * knocking the maturity level down.
82
+
83
+
### Static plugins
84
+
85
+
Static plugins and other server features share a release cycle.
86
+
87
+
```mermaid
88
+
stateDiagram-v2
89
+
state "Release Candidate" as RC
90
+
state "General Availability" as GA
91
+
Experimental --> RC
92
+
RC --> GA
93
+
```
94
+
95
+
* First, a plugin is experimental
96
+
* After at least 1.5 months of testing and bugfixing it is released as gamma (RC). This transition can take longer, in 3 month increments: 4.5 months, 7.5 months, etc. This goes on until the quality is deemed acceptable.
97
+
* After 3 more months of testing and bugfixing the plugin is released as stable (GA)
98
+
99
+
### Dynamic Plugins
100
+
101
+
Dynamic plugins released together with the server must follow a unified maturity criteria.
102
+
For plugins released separately this is a guideline.
103
+
104
+
```mermaid
105
+
stateDiagram-v2
106
+
state "Release Candidate" as RC
107
+
state "General Availability" as GA
108
+
state "Experimental" as Exp {
109
+
[*] --> Alpha
110
+
[*] --> Beta
111
+
Alpha --> Beta
112
+
Beta --> [*]
113
+
[*] --> [*]
114
+
}
115
+
Exp --> RC
116
+
RC --> GA
117
+
```
118
+
119
+
* first a plugin is experimental
120
+
* after at least 1.5 months (or more, in 3 month increments, until the quality is deemed acceptable) it becomes gamma. Meanwhile it can transition through alpha and beta as the maintainer wants (e,g. it can start directly from beta)
121
+
* after at least 3 more months (or more, in 3 month increments) it becomes stable
122
+
74
123
<sub>_This page is licensed: CC BY-SA / Gnu FDL_</sub>
0 commit comments