All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Improved diagnostics performance when using many Cargo features
- Fixed invalid diagnostics and missing completions for Cargo optional dependencies
- Added support for diagnostics & completions in Cargo features
- Added support for aliased packages using
package
in Cargo dependencies
- Fixed completions not showing up in empty version / feature strings
- Fixed yanked packages showing up in diagnostics when they shouldn't
- Added syntax highlighting and language support for Zap
- Added back support for Aftman
- Added the extension to the Open VSX Registry, for various editors
- Added an extension for the Zed code editor (not yet published)
Version 0.4.0
refactors JSON and TOML parsing to use tree-sitter instead of a custom parser.
This means that the language server now handles errors & invalid syntax in both JSON and TOML much more gracefully.
More specifically, it will now provide most services (hover, completion, diagnostics) even if the file does not fully parse 🚀
-
Added support for more kinds of links in hovers (Wally homepage and repository fields + more)
-
Added support for merging of package scopes when using private Wally registries, matching Wally behavior
-
Added support for completions even in files that would not normally parse, eg:
# Cargo.toml [dependencies] tok|
The language server will now complete "tokio" and various other packages at the
|
cursor!
- Various performance improvements across the board for faster diagnostics and hover responsiveness
- Links, versions, and other information in hovers are now much more consistent and look the same across Cargo, NPM, Rokit, and Wally
- Fixed missing hovers, completions, diagnostics, when using version specifiers and ranges like
"^x.y.z"
,">=x.y.z"
, ... - Fixed invalid diagnostics for newer versions being available when using
x.y.z-additional-info.1
and similar specifiers - Fixed duplicate diagnostics and a couple other race conditions related to file opening
- Fixed invalid error diagnostics for NPM package names & others
- Other miscellaneous fixes, check GitHub issues and git history for more
Aftman and Foreman are no longer supported - due to the language server now being streamlined and providing more consistent features across all different tooling it supports. Supporting both Aftman and Foreman would add a non-trivial amount of complexity with all of the changes in this version, and Rokit can replace both of them while keeping full compatibility.
- Added support for more js package managers (pnpm, yarn, bun)
- Improved support for cargo workspaces
- Improved diagnostics responsiveness
- Fixed sometimes having to open a file twice to get diagnostics
- Fixed inaccurate / partial diagnostics when first opening a file
- Fixed valid version ranges such as
>=1.0.0, <2.0.0
being detected as invalid.
- Added support for cargo workspace dependencies in
Cargo.toml
files.
- Added a VSCode extension command to manually set a GitHub Personal Access Token. If you are using a private Wally registry and the index repository is not public, you will need to set this for the extension to work.
- Fixed crash when encountering empty TOML sections
-
Added full support for NPM! This includes:
- Autocomplete for package names and versions
- Hover for info about a package (installed version, description, links)
- Diagnostics for when a newer version is available + action to update
- Fixed invalid diagnostics for Wally dev dependencies
- Added diagnostics for unsupported operating system and/or architecture (Aftman)
- Added diagnostics for invalid dependency realms (Wally)
- Improved consistency of diagnostic messages
- Documentation link to docs.rs is now always included, even if crates don't have a documentation link in their metadata
- Fixed potential deadlock / hang for Wally diagnostics with many dependencies
- Fixed hovers sometimes not appearing and needing to re-hover over the same location
- Fixed language server executable not being bundled correctly on Windows
- Fixed
node_modules
being included in the packaged extension, size should be much smaller now
-
Fixed crash for Wally manifests with empty dependency sections:
# No longer crashes [dependencies]
Initial release