Skip to content

Commit f6247ad

Browse files
authored
chore: release v0.2.2 with lock file support (#23)
* docs: update README and CHANGELOG for lock file support - Add lock file support to features in main README - Update CHANGELOG with PyPI support and lock file parsing - Add lock file feature to deps-core, deps-cargo, deps-npm, deps-pypi READMEs * chore: bump version to 0.2.2
1 parent 3504a57 commit f6247ad

File tree

8 files changed

+39
-14
lines changed

8 files changed

+39
-14
lines changed

CHANGELOG.md

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [0.2.2] - 2025-12-23
11+
12+
### Added
13+
- **Lock file support** — Resolved versions from lock files
14+
- Cargo.lock parsing with version extraction
15+
- package-lock.json v2/v3 parsing for npm
16+
- poetry.lock and uv.lock parsing for PyPI
17+
- Hover shows resolved version from lock file
18+
- Inlay hints compare resolved version vs latest
19+
- **PyPI/pyproject.toml support** — Full ecosystem support for Python packages
20+
- PEP 621 format (`[project.dependencies]`)
21+
- PEP 735 dependency groups (`[dependency-groups]`)
22+
- Poetry format (`[tool.poetry.dependencies]`)
23+
- Package name autocomplete from PyPI registry
24+
- Version hints and diagnostics
25+
26+
### Fixed
27+
- PyPI parser: Correct version range position for normalized specifiers (pep508 adds spaces)
28+
1029
## [0.2.1] - 2025-12-22
1130

1231
### Fixed
@@ -79,7 +98,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7998
- TLS enforced via rustls
8099
- cargo-deny configured for vulnerability scanning
81100

82-
[Unreleased]: https://github.com/bug-ops/deps-lsp/compare/v0.2.1...HEAD
101+
[Unreleased]: https://github.com/bug-ops/deps-lsp/compare/v0.2.2...HEAD
102+
[0.2.2]: https://github.com/bug-ops/deps-lsp/compare/v0.2.1...v0.2.2
83103
[0.2.1]: https://github.com/bug-ops/deps-lsp/compare/v0.2.0...v0.2.1
84104
[0.2.0]: https://github.com/bug-ops/deps-lsp/compare/v0.1.0...v0.2.0
85105
[0.1.0]: https://github.com/bug-ops/deps-lsp/releases/tag/v0.1.0

Cargo.lock

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ exclude = ["crates/deps-zed"]
44
resolver = "2"
55

66
[workspace.package]
7-
version = "0.2.1"
7+
version = "0.2.2"
88
edition = "2024"
99
rust-version = "1.89"
1010
authors = ["Andrei G"]
@@ -15,11 +15,11 @@ repository = "https://github.com/bug-ops/deps-lsp"
1515
async-trait = "0.1"
1616
criterion = "0.8"
1717
dashmap = "6.1"
18-
deps-core = { version = "0.2.1", path = "crates/deps-core" }
19-
deps-cargo = { version = "0.2.1", path = "crates/deps-cargo" }
20-
deps-npm = { version = "0.2.1", path = "crates/deps-npm" }
21-
deps-pypi = { version = "0.2.1", path = "crates/deps-pypi" }
22-
deps-lsp = { version = "0.2.1", path = "crates/deps-lsp" }
18+
deps-core = { version = "0.2.2", path = "crates/deps-core" }
19+
deps-cargo = { version = "0.2.2", path = "crates/deps-cargo" }
20+
deps-npm = { version = "0.2.2", path = "crates/deps-npm" }
21+
deps-pypi = { version = "0.2.2", path = "crates/deps-pypi" }
22+
deps-lsp = { version = "0.2.2", path = "crates/deps-lsp" }
2323
futures = "0.3"
2424
insta = "1"
2525
mockito = "1"

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,9 @@ A universal Language Server Protocol (LSP) server for dependency management acro
1414

1515
- **Intelligent Autocomplete** — Package names, versions, and feature flags
1616
- **Version Hints** — Inlay hints showing latest available versions
17+
- **Lock File Support** — Reads resolved versions from Cargo.lock, package-lock.json, poetry.lock, uv.lock
1718
- **Diagnostics** — Warnings for outdated, unknown, or yanked dependencies
18-
- **Hover Information** — Package descriptions, links to documentation
19+
- **Hover Information** — Package descriptions with resolved version from lock file
1920
- **Code Actions** — Quick fixes to update dependencies
2021

2122
![deps-lsp in action](https://raw.githubusercontent.com/bug-ops/deps-zed/main/assets/img.png)

crates/deps-cargo/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ This crate provides parsing and registry integration for Rust's Cargo ecosystem.
1212
## Features
1313

1414
- **TOML Parsing** — Parse `Cargo.toml` with position tracking using `toml_edit`
15+
- **Lock File Parsing** — Extract resolved versions from `Cargo.lock`
1516
- **crates.io Registry** — Sparse index client for package metadata
1617
- **Version Resolution** — Semver-aware version matching
1718
- **Workspace Support** — Handle `workspace.dependencies` inheritance

crates/deps-core/README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ This crate provides the shared infrastructure used by ecosystem-specific crates
1212
## Features
1313

1414
- **EcosystemHandler Trait** — Unified interface for all package ecosystems
15-
- **Generic LSP Handlers**`generate_inlay_hints`, `generate_hover_info`, `generate_code_actions`, `generate_diagnostics`
15+
- **LockFileProvider Trait** — Abstract lock file parsing for resolved versions
16+
- **Generic LSP Handlers**`generate_inlay_hints`, `generate_hover`, `generate_code_actions`, `generate_diagnostics`
1617
- **HTTP Cache** — ETag/Last-Modified caching for registry requests
1718
- **Version Matchers** — Semver and PEP 440 version matching
1819
- **Error Types** — Unified error handling with `thiserror`

crates/deps-npm/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ This crate provides parsing and registry integration for the npm ecosystem.
1212
## Features
1313

1414
- **JSON Parsing** — Parse `package.json` with position tracking
15+
- **Lock File Parsing** — Extract resolved versions from `package-lock.json` (v2/v3)
1516
- **npm Registry** — Client for npm registry API
1617
- **Version Resolution** — Node semver-aware version matching (`^`, `~`, ranges)
1718
- **Scoped Packages** — Support for `@scope/package` format

crates/deps-pypi/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ This crate provides parsing and registry integration for Python's PyPI ecosystem
1414
- **PEP 621 Support** — Parse `[project.dependencies]` and `[project.optional-dependencies]`
1515
- **PEP 735 Support** — Parse `[dependency-groups]` (new standard)
1616
- **Poetry Support** — Parse `[tool.poetry.dependencies]` and groups
17+
- **Lock File Parsing** — Extract resolved versions from `poetry.lock` and `uv.lock`
1718
- **PEP 508 Parsing** — Handle complex dependency specifications with extras and markers
1819
- **PEP 440 Versions** — Validate and compare Python version specifiers
1920
- **PyPI API Client** — Fetch package metadata from PyPI JSON API

0 commit comments

Comments
 (0)