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: CONTRIBUTING.md
+13-9Lines changed: 13 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -146,25 +146,29 @@ jlpm test
146
146
147
147
We follow [Semantic Versioning (semver)](https://semver.org/).
148
148
149
-
The extension pins JupyterLab to the current major version in both Python and JavaScript dependencies to ensure compatibility.
149
+
The extension requires **JupyterLab 4.4.0 or higher** (but not JupyterLab 5.x) due to its dependency on the content provider registry API. All JupyterLab dependencies include upper bounds to prevent automatic installation with incompatible future major versions.
**Current`package.json`dependencies with upper bounds:**
159
159
160
160
```json
161
-
"peerDependencies": {
162
-
"@jupyterlab/application": "^4.0.0",
163
-
"@jupyterlab/apputils": "^4.0.0",
164
-
"jupyterlab": "^4.0.0"
161
+
"dependencies": {
162
+
"@jupyterlab/application": "^4.0.0 <5",
163
+
"@jupyterlab/notebook": "^4.4.7 <5",
164
+
"@jupyterlab/services": "^7.0.0 <8",
165
+
"@jupyterlab/coreutils": "^6.0.0 <7",
166
+
...
165
167
}
166
168
```
167
169
170
+
These upper bounds help prevent breaking changes from affecting users and align with JupyterLab's [extension development best practices](https://jupyterlab.readthedocs.io/en/stable/extension/extension_dev.html#overview-of-extensions).
171
+
168
172
## Sync with the JupyterLab extension template
169
173
170
174
This project was bootstrapped using the [JupyterLab extension template](https://github.com/jupyterlab/extension-template). To keep your project up to date with improvements and best practices from the template, run:
This extension is compatible with **JupyterLab 4.4.0 or higher** (specifically JupyterLab 4.x series). It requires the content provider registry API introduced in JupyterLab 4.4.
18
+
19
+
**Upper bound:** The extension sets an upper bound of `< 5.0.0` to prevent automatic installation with potentially incompatible future major versions of JupyterLab.
20
+
21
+
### Maintenance Policy
22
+
23
+
Following [JupyterLab's extension development guidelines](https://jupyterlab.readthedocs.io/en/stable/extension/extension_dev.html#overview-of-extensions), we adhere to semantic versioning principles:
24
+
25
+
-**Major releases** (e.g., 1.0.0 → 2.0.0): May introduce breaking changes and require user action
26
+
-**Minor releases** (e.g., 1.0.0 → 1.1.0): Add new features while maintaining backwards compatibility
27
+
-**Patch releases** (e.g., 1.0.0 → 1.0.1): Bug fixes and minor improvements only
28
+
29
+
When JupyterLab 5.x is released, we will:
30
+
31
+
1. Evaluate the changes and update the extension as needed
32
+
2. Release a new major or minor version with explicit JupyterLab 5.x support
33
+
3. Clearly document any breaking changes in the changelog
34
+
35
+
### Backwards Compatibility
36
+
37
+
This extension follows semantic versioning for its own API:
38
+
39
+
-**Current version (0.x.x)**: Pre-release phase. APIs may change without prior notice.
40
+
-**Version 1.0.0 onwards**: We will maintain backwards compatibility within major versions and clearly document breaking changes between major versions.
41
+
42
+
Note: This extension does **not** support JupyterLab 3.x or earlier versions.
0 commit comments