Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,15 @@

## Unreleased

## 0.4.0

- **Useful docs on first use.** `docs` and `api` now automatically add public upstream docs for the requested release, anonymously. The existing fetcher resolves exact `refs/tags/` refs, rejects same-named branches, and peels annotated tags to an immutable commit before downloading bounded docs. Missing registry packages and major-version website docs remain explicit opt-in.
- **Clear network controls.** `--no-fetch` or `LOCKDOCS_FETCH=0` disables query package/docs downloads; `--offline` or `LOCKDOCS_OFFLINE=1` prevents all downloads, including the embedding model. MCP `offline: true` restricts a call to installed/cached package and upstream files. Automatic upstream requests never use ambient GitHub credentials.
- **Honest provenance and failures.** Structured answers include the source, requested version and upstream manifest; ordinary broad text answers retain a budgeted source/fallback summary. Fetch reports preserve their original flat fields alongside richer provenance. Installed-version drift is rejected instead of substituted, and git dependencies use checkout files rather than registry releases or guessed tags.
- **Safe cache enrichment and retry.** Explicit fetching upgrades release-only caches with docs-site enrichment. Later default/offline queries preserve opted-in site docs and provenance. Transient registry lookup or file-download failures do not become permanent empty-doc results or overwrite a compatible complete cache; failures are disclosed and explicit enrichment remains retryable. Legacy format-3 caches are revalidated online and disclosed when read offline.
- **Shared runtime.** Embeddings, identifier tokenization and supported cache-root resolution now use mcp-kit 0.3, alongside the shared MCP server, setup and npm launcher.
- **One-click editor setup.** README and docs offer Cursor and VS Code install links; desktop bundles prompt for the project folder used to resolve the lockfile.
- **Measured defaults.** The benchmark separately measures real first-use behavior from an empty isolated cache without credentials: 70/105. Explicit prefetch remains 96/105 and package-only hybrid 60/105; the prefetch score is not presented as the default score.
- The CLI prints one GitHub star line to stderr after the fifth successful interactive run, once ever (counter in the cache directory). It is silent for the MCP server, with `--json`, in CI, and when stderr is not a terminal; `LOCKDOCS_NO_STAR_HINT=1` turns it off.

## 0.3.0
Expand Down
4 changes: 2 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ members = ["crates/lockdocs-core", "crates/lockdocs"]
resolver = "2"

[workspace.package]
version = "0.3.0"
version = "0.4.0"
edition = "2021"
license = "MIT"
repository = "https://github.com/SylphxAI/lockdocs"
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "lockdocs-workspace",
"version": "0.3.0",
"version": "0.4.0",
"private": true,
"type": "module",
"description": "lockdocs monorepo: Rust engine (crates/), npm packages (packages/), docs (docs/), benchmark (bench/).",
Expand Down
12 changes: 6 additions & 6 deletions packages/lockdocs/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@sylphx/lockdocs",
"version": "0.3.0",
"version": "0.4.0",
"mcpName": "io.github.SylphxAI/lockdocs",
"description": "Exact-version library docs from your lockfile — local, offline, no rate limits.",
"bin": {
Expand All @@ -15,11 +15,11 @@
"node": ">=18"
},
"optionalDependencies": {
"@sylphx/lockdocs-darwin-arm64": "0.3.0",
"@sylphx/lockdocs-darwin-x64": "0.3.0",
"@sylphx/lockdocs-linux-x64-gnu": "0.3.0",
"@sylphx/lockdocs-linux-arm64-gnu": "0.3.0",
"@sylphx/lockdocs-win32-x64-msvc": "0.3.0"
"@sylphx/lockdocs-darwin-arm64": "0.4.0",
"@sylphx/lockdocs-darwin-x64": "0.4.0",
"@sylphx/lockdocs-linux-x64-gnu": "0.4.0",
"@sylphx/lockdocs-linux-arm64-gnu": "0.4.0",
"@sylphx/lockdocs-win32-x64-msvc": "0.4.0"
},
"keywords": [
"mcp",
Expand Down
2 changes: 1 addition & 1 deletion packages/npm/darwin-arm64/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@sylphx/lockdocs-darwin-arm64",
"version": "0.3.0",
"version": "0.4.0",
"description": "lockdocs native binary for darwin-arm64",
"os": [
"darwin"
Expand Down
2 changes: 1 addition & 1 deletion packages/npm/darwin-x64/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@sylphx/lockdocs-darwin-x64",
"version": "0.3.0",
"version": "0.4.0",
"description": "lockdocs native binary for darwin-x64",
"os": [
"darwin"
Expand Down
2 changes: 1 addition & 1 deletion packages/npm/linux-arm64-gnu/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@sylphx/lockdocs-linux-arm64-gnu",
"version": "0.3.0",
"version": "0.4.0",
"description": "lockdocs native binary for linux-arm64-gnu",
"os": [
"linux"
Expand Down
2 changes: 1 addition & 1 deletion packages/npm/linux-x64-gnu/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@sylphx/lockdocs-linux-x64-gnu",
"version": "0.3.0",
"version": "0.4.0",
"description": "lockdocs native binary for linux-x64-gnu",
"os": [
"linux"
Expand Down
2 changes: 1 addition & 1 deletion packages/npm/win32-x64-msvc/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@sylphx/lockdocs-win32-x64-msvc",
"version": "0.3.0",
"version": "0.4.0",
"description": "lockdocs native binary for win32-x64-msvc",
"os": [
"win32"
Expand Down
4 changes: 2 additions & 2 deletions server.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@
"url": "https://github.com/SylphxAI/lockdocs",
"source": "github"
},
"version": "0.3.0",
"version": "0.4.0",
"websiteUrl": "https://sylphxai.github.io/lockdocs/",
"packages": [
{
"registryType": "npm",
"identifier": "@sylphx/lockdocs",
"version": "0.3.0",
"version": "0.4.0",
"transport": {
"type": "stdio"
},
Expand Down
Loading