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: README.md
+28-4Lines changed: 28 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,14 +30,14 @@ However, the foundation has been laid:
30
30
31
31
## Requirements
32
32
33
-
You'll need an editor that supports the Language Server Protocol (LSP).
33
+
An editor that supports the Language Server Protocol (LSP) is required.
34
34
35
-
The server supports Django projects running on:
35
+
The Django Language Server aims to supports all actively maintained versions of Python and Django. Currently this includes:
36
36
37
37
- Python 3.9, 3.10, 3.11, 3.12, 3.13
38
38
- Django 4.2, 5.0, 5.1
39
39
40
-
The aim is to support all actively maintained versions of both Python and Django.
40
+
See the [Versioning](#versioning) section for details on how this project's version indicates Django compatibility.
41
41
42
42
## Installation
43
43
@@ -99,7 +99,7 @@ pip install djls-agent
99
99
100
100
## Editor Setup
101
101
102
-
The Django Language Server should work with any editor that supports the Language Server Protocol (LSP). Got it working in your editor? [Help us add setup instructions](#testing-and-documenting-editor-setup)!
102
+
The Django Language Server should work with any editor that supports the Language Server Protocol (LSP). Got it working in your editor? [Help us add setup instructions!](#testing-and-documenting-editor-setup)
103
103
104
104
-[Neovim](#neovim)
105
105
@@ -158,6 +158,30 @@ Using [lazy.nvim](https://github.com/folke/lazy.nvim) and [nvim-lspconfig](https
158
158
> [!NOTE]
159
159
> This configuration is copied straight from my Neovim setup and includes a logging setup that sends LSP messages to Neovim's notification system. You can remove all the references to `vim.notify` if you don't care about this functionality.
160
160
161
+
## Versioning
162
+
163
+
This project adheres to DjangoVer. For a quick overview of what DjangoVer is, here's an excerpt from Django core developer James Bennett's [Introducing DjangoVer](https://www.b-list.org/weblog/2024/nov/18/djangover/) blog post:
164
+
165
+
> In DjangoVer, a Django-related package has a version number of the form `DJANGO_MAJOR.DJANGO_FEATURE.PACKAGE_VERSION`, where `DJANGO_MAJOR` and `DJANGO_FEATURE` indicate the most recent feature release series of Django supported by the package, and `PACKAGE_VERSION` begins at zero and increments by one with each release of the package supporting that feature release of Django.
166
+
167
+
In short, `v5.1.x` means the latest version of Django the Django Language Server would support is 5.1 — so, e.g., versions `v5.1.0`, `v5.1.1`, `v5.1.2`, etc. should all work with Django 5.1.
168
+
169
+
At this moment, all components of the Django Language Server (the `djls` binary, the `djls-agent` agent package on PyPI, and the `djls-binary` binary distribution package on PyPI) will share the same version number. When a new version is released, all packages are updated together regardless of which component triggered the release.
170
+
171
+
### Breaking Changes
172
+
173
+
While DjangoVer doesn't encode API stability in the version number, this project strives to follow Django's standard practice of "deprecate for two releases, then remove" policy for breaking changes. Given this is a language server, breaking changes should primarily affect:
174
+
175
+
- Configuration options (settings in editor config files)
The project will provide deprecation warnings where possible and document breaking changes clearly in release notes. For example, if a configuration option is renamed:
180
+
181
+
-**`v5.1.0`**: Old option works but logs deprecation warning
182
+
-**`v5.1.1`**: Old option still works, continues to show warning
183
+
-**`v5.1.2`**: Old option removed, only new option works
0 commit comments