ebkalderon / tower-lsp

Language Server Protocol implementation written in Rust
Apache License 2.0
962 stars 54 forks source link

`lsp-types` dependency out of date #362

Closed KubaP closed 1 year ago

KubaP commented 1 year ago

Please bump the version of the lsp-types dependency from 0.93 to 0.93.2, in order to allow access to the latest LSP 3.17.0 features.

ebkalderon commented 1 year ago

Thanks for the heads-up, @KubaP! I'm planning to make a maintenance release of tower-lsp soon this week, and I will definitely update all the old dependencies as part of this effort (especially tokio, which has fallen dangerously far behind).

However, have you tried simply running cargo update -p lsp-types on your project? Since the dependency is specified in the tower-lsp Cargo manifest as "0.93", it should already work with 0.93.2 out of the box. The upstream release diff seems to indicate that tower-lsp should be forward-compatible with 0.93.1 and 0.93.2 (no new server-side nor client-side requests nor notifications seem to have been added since 0.93.0).

As a policy, I would prefer to update the lsp-types dependency spec only up to the most recent minor release. This lets tower-lsp be compatible with the widest possible semver range (>=0.93.0,<0.94.0) and reduces the need for frequent releases every time lsp-types publishes to crates.io. All you need to do when you notice a new patch release of lsp-types is run cargo update -p lsp-types and everything should "just work." Hope this makes sense. :relaxed:

Of course, if you do notice a genuine incompatibility between tower-lsp and lsp-types (a new request or notification was added to the spec which tower-lsp ostensibly doesn't support), please feel free to open an issue!

KubaP commented 1 year ago

Ah right my bad! I completely forgot that cargo update is a thing. I don't often use dependencies with many transitive dependencies so I usually just manually bump the version number in Cargo.toml myself. I also forgot that "0.93" doesn't mean "=0.93" but "^0.93".

Yeah your reasoning is sound. This issue can be closed.

ebkalderon commented 1 year ago

No worries! Thanks nonetheless for reporting.