What's Changed
- rename, relocate, and simplify the task queue by @joshuadavidthomas in #106
- refactor queue to use closures and move project init to queue by @joshuadavidthomas in #107
- refactor parser a bit by @joshuadavidthomas in #108
- Bump astral-sh/setup-uv from 5 to 6 in the gha group by @dependabot[bot] in #109
- Refactor and simplify initial tagspecs by @joshuadavidthomas in #110
- Add
djls-conf
crate and add initial settings by @joshuadavidthomas in #113 - Bump uv version upper bound by @joshuadavidthomas in #117
- Add configurable venv path and improve Python detection by @joshuadavidthomas in #116
- improve Python environment activation by @joshuadavidthomas in #118
- Create djls-dev crate and centralize Python linking build scripts by @joshuadavidthomas in #119
- remove
cargo test
from pre-commit by @joshuadavidthomas in #124 - remove
auto-initialize
PyO3 feature and useprepare_freethreaded_python
by @joshuadavidthomas in #121 - fix release build failures due to libpython linking by @joshuadavidthomas in #125
- fix
pyproject-file
config warnings fromsetup-uv
action by @joshuadavidthomas in #127 - Make venv fallback test robust against
VIRTUAL_ENV
by @joshuadavidthomas in #128 - mock system interactions to fix flaky environment tests by @joshuadavidthomas in #129
- add simple test project by @joshuadavidthomas in #132
- add devtools just module and some lsp-devtools commands by @joshuadavidthomas in #133
- move build to separate workflow and call from release by @joshuadavidthomas in #135
- Refactor and reorganize primary
djls
crate by @joshuadavidthomas in #136 - simplify task queue API to directly accept futures by @joshuadavidthomas in #137
- add zizmor 🌈 workflow by @joshuadavidthomas in #138
- introduce salsa and integrate into djls-project crate by @joshuadavidthomas in #139
- move LSP serve method to main cli crate and fix shutdown handling by @joshuadavidthomas in #143
- move all state to single field on server struct by @joshuadavidthomas in #144
- use nightly rustfmt and sort imports by @joshuadavidthomas in #145
- add pedantic clippy setting and fix/allow warnings by @joshuadavidthomas in #147
- Integrate Salsa into document tracking for server by @joshuadavidthomas in #148
- migrate all async tokio to server & swap to single-thread runtime by @joshuadavidthomas in #149
- move all dependencies to workspace Cargo.toml by @joshuadavidthomas in #150
- bump pyo3 to 0.25 by @joshuadavidthomas in #151
- bump rust toolchain to 1.87 by @joshuadavidthomas in #152
- Move client handling from server to global static by @joshuadavidthomas in #153
- change server session to be an option and create on init by @joshuadavidthomas in #154
- print warning when trying to run serve command in TTY by @joshuadavidthomas in #155
- Set uv version lower bound to >=0.7 by @joshuadavidthomas in #158
- Update which requirement from 7.0.3 to 8.0.0 in the cargo group by @dependabot[bot] in #157
- Bump astral-sh/setup-uv from 6.0.1 to 6.1.0 in the gha group by @dependabot[bot] in #156
- Bump the cargo group across 1 directory with 2 updates by @dependabot[bot] in #162
- Bump the gha group with 3 updates by @dependabot[bot] in #159
- bump astral-sh/setup-uv to v6.4.3 by @joshuadavidthomas in #163
- Bump maturin from 1.8.7 to 1.9.0 in the uv group by @dependabot[bot] in #161
- add nox to dev dep group and remove script metadata from noxfile.py by @joshuadavidthomas in #164
- bump salsa crate from git hash to 0.23.0 by @joshuadavidthomas in #165
- bump PyO3/maturin-action to 1.49.3 and add zig to linux builds by @joshuadavidthomas in #166
- bump rust toolchain to 1.88 by @joshuadavidthomas in #167
- Add logging macros for tracing migration by @joshuadavidthomas in #176
- swap tmux shell script for Rust binary by @joshuadavidthomas in #177
- Add unified file and LSP logging using tracing to server by @joshuadavidthomas in #178
- Add
Cargo.lock
and relax some dependency version constraints by @joshuadavidthomas in #179 - Bump actions/download-artifact from 4 to 5 in the gha group by @dependabot[bot] in #169
- Finish basic logging setup with tracing by @joshuadavidthomas in #181
- reorganize server crate by moving workspace related code to submodule by @joshuadavidthomas in #182
- Refactor to Ruff-inspired two-layer file architecture w/Salsa by @joshuadavidthomas in #188
- Bump the cargo group across 1 directory with 4 updates by @dependabot[bot] in #192
- Bump the uv group across 1 directory with 3 updates by @dependabot[bot] in #191
- Bump the gha group across 1 directory with 5 updates by @dependabot[bot] in #189
- remove global client state in favor of direct
Client
on server by @joshuadavidthomas in #193 - simplify salsa db management with
Clone
+Arc<Mutex<Session>>
by @joshuadavidthomas in #194 - move Salsa database ownership from
Workspace
toSession
by @joshuadavidthomas in #195 - implement textDocument/didSave by @joshuadavidthomas in #196
- remove left over Database code from workspace crate by @joshuadavidthomas in #197
- Remove vestigal concrete Project database, keeping trait by @joshuadavidthomas in #198
- Integrate Salsa fully with templates and add diagnostics by @joshuadavidthomas in #201
- Refactor tagspecs to use array of tables and consistent fields by @joshuadavidthomas in #202
- Bump the uv group with 2 updates by @dependabot[bot] in #200
- Bump actions/setup-python from 5 to 6 in the gha group by @dependabot[bot] in #199
- remove duplication in validation and span conversion by @joshuadavidthomas in #203
- use Node substructs for enum fields by @joshuadavidthomas in #204
- simplify Span struct and remove salsa tracking by @joshuadavidthomas in #205
- add typed argspecs for LSP snippets to tagspecs config by @joshuadavidthomas in #206
- Add context-aware completions with snippets by @joshuadavidthomas in #207
- update changelog by @joshuadavidthomas in #208
- fix tag completions for auto-paired brackets and block snippets by @joshuadavidthomas in #209
- add some example pictures of two features implemented by @joshuadavidthomas in #210
- fix path handling for platform differences by @joshuadavidthomas in #212
Full Changelog: v5.2.0a0...v5.2.0