From ec2fccbb1273be238348b16b208d1f52cef81fc9 Mon Sep 17 00:00:00 2001 From: lick <2188718831@qq.com> Date: Tue, 10 Nov 2026 00:18:04 -0800 Subject: [PATCH] =?UTF-8?q?release:=20=E5=8F=91=E5=B8=83=20Cargo=200.1.3?= =?UTF-8?q?=20=E9=A2=84=E8=A7=88=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit plugin.json 与后端版本升到 0.1.3;release.yml 的发布说明补上 0.1.3 的 PATH 分隔符修复; README 同步版本号并说明 Store 收录与稳定版 0.6.7 的 litheLogging 不兼容。 Co-Authored-By: Claude Opus 5.5 --- .github/workflows/release.yml | 7 +++++-- README.md | 17 +++++++++-------- .../backend/main.mjs | 2 +- io.github.lithe-idea.cargo-build/plugin.json | 2 +- 4 files changed, 16 insertions(+), 12 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d52287b..32f7af8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -69,11 +69,14 @@ jobs: cat > "$RUNNER_TEMP/notes.md" <<'NOTES' macOS Cargo integration for a Lithe preview with API 3 buildSystems 1, executableResolution 1, settings 2, buildProviders 1, serverProcess 1 and structured plugin diagnostics (litheLogging 1). Stable Lithe 0.6.7 does not offer litheLogging 1 and cannot start this version; keep using 0.1.1 there. - Changes in 0.1.2: + Changes in 0.1.3: + - Fixes the PATH given to Cargo on Windows-style hosts: the selected Cargo's directory is now joined with the platform path delimiter instead of a hard-coded colon. + + Changes in 0.1.2 (still included): - Structured diagnostics: the bundled Node SDK records one INFO for each successful metadata request and one ERROR for each failure on the plugins/io.github.lithe-idea.cargo-build/host channel of Lithe's log window, with duration and a stable failure code. Cargo output, metadata JSON, source and environment values never enter the log. The duplicate raw stderr and JSON error logging is removed. - The Cargo path setting becomes the first of the host's ordered executable candidates (executableResolution 1), ahead of PATH discovery. A missing, non-executable or too-old selection still fails instead of falling back. - Requires Cargo 1.70+ and Node.js 20.3+. Not listed in Lithe Store yet; download the ZIP and install it from disk. + Requires Cargo 1.70+ and Node.js 20.3+. Listed in Lithe Store by a reviewed index pull request; the ZIP can also be installed from disk. Preview status: automated integration and contract checks pass; native installation and full UI acceptance are pending. Windows is not supported. Published ZIP bytes must not be replaced. NOTES diff --git a/README.md b/README.md index fd2d9ad..9f74313 100644 --- a/README.md +++ b/README.md @@ -3,12 +3,12 @@ Cargo is a community build plugin for Lithe. It uses Lithe's native Cargo tool window and Build Output to build, check, test, clean, and run Rust projects. -**0.1.2 is a preview release.** Native disk-installation and full UI acceptance +**0.1.3 is a preview release.** Native disk-installation and full UI acceptance are still pending. Automated integration and host compatibility run in this repository's CI. The plugin requires a Lithe preview with API 3 `buildSystems: 1`, `executableResolution: 1`, `settings: 2`, `buildProviders: 1`, `serverProcess: 1` and structured plugin diagnostics (`litheLogging: 1`). -Stable Lithe 0.6.7 does not offer `litheLogging: 1` and cannot start 0.1.2. Windows is not supported yet. +Stable Lithe 0.6.7 does not offer `litheLogging: 1` and cannot start 0.1.3. Windows is not supported yet. ## Install @@ -16,13 +16,14 @@ Install Rust/Cargo 1.70+ and Node.js 20.3+ first. Node runs the metadata provide Cargo and rust-analyzer are not bundled. Existing Rust language intelligence continues to use Lithe's Rust language service. -Download `cargo-build-0.1.2-darwin.zip` from [Releases](https://github.com/Lithe-IDEA/lithe-plugin-cargo/releases). +Download `cargo-build-0.1.3-darwin.zip` from [Releases](https://github.com/Lithe-IDEA/lithe-plugin-cargo/releases). Hosts without `litheLogging: 1` can keep using the 0.1.1 preview, which keeps its older host requirements. In Lithe, choose Settings → Plugins → Install from Disk, select the ZIP, review Cargo/Node and its permissions, and restart. Enable Cargo, open the Cargo workspace root, then open the Cargo tool window and load the project model. -0.1.2 is not listed in [Lithe Store](https://github.com/Lithe-IDEA/Lithe-store) yet: the Store cannot -tell stable hosts without `litheLogging: 1` apart, so install it from disk. +0.1.3 is also listed in [Lithe Store](https://github.com/Lithe-IDEA/Lithe-store). The Store cannot +tell stable hosts without `litheLogging: 1` apart (it is not a `requires` capability), so a stable Lithe 0.6.7 +user who installs it from the Store gets a Cargo backend that fails to start; stay on 0.1.1 there. ## Cargo path @@ -34,7 +35,7 @@ same executable. A missing, non-executable or too-old selection fails visibly instead of silently choosing a different Cargo installation. The executable's parent directory is placed first on PATH for companion tools. -Version 0.1.2 requires a preview host with `buildSystems: 1`, `executableResolution: 1`, `settings: 2` and `litheLogging: 1`. +Version 0.1.3 requires a preview host with `buildSystems: 1`, `executableResolution: 1`, `settings: 2` and `litheLogging: 1`. Its exact tested host revision is recorded in `sdk.lock.json`; older hosts keep using the compatible 0.1.0 release through the Store. Existing published ZIPs are immutable and are never replaced. @@ -60,7 +61,7 @@ members or target sources outside the selected build root are refused. The host' ## Diagnostic logs -Version 0.1.2 requires a host offering `litheLogging: 1`. The vendored official +Version 0.1.3 requires a host offering `litheLogging: 1`. The vendored official Node SDK sends typed `lithe/log` notifications to the host's v2 catalog and writer, in the current session's `plugins/io.github.lithe-idea.cargo-build/host` channel. The SDK records one @@ -148,7 +149,7 @@ Published ZIP bytes are immutable: fixes require a new version. The Store index records the repository URL, API requirements, release URL and archive SHA-256. First inclusion and pre-releases use a reviewed Store pull request. -Version 0.1.2 migrates custom Cargo selection to the shared ordered executable +Versions 0.1.2 and later migrate custom Cargo selection to the shared ordered executable candidates. Published 0.1.0/0.1.1 preview archives remain immutable. A compatible host must advertise `executableResolution: 1`; the setting is a candidate ahead of automatic PATH discovery, with empty values skipped and explicit failures diff --git a/io.github.lithe-idea.cargo-build/backend/main.mjs b/io.github.lithe-idea.cargo-build/backend/main.mjs index 2547799..3795371 100644 --- a/io.github.lithe-idea.cargo-build/backend/main.mjs +++ b/io.github.lithe-idea.cargo-build/backend/main.mjs @@ -2,6 +2,6 @@ import { createBackend, PluginError } from './vendor/lithe-plugin-sdk/index.mjs'; import { registerCargoProvider } from './provider.mjs'; -const backend = createBackend({ name: 'cargo-build', version: '0.1.2' }); +const backend = createBackend({ name: 'cargo-build', version: '0.1.3' }); registerCargoProvider(backend, PluginError); await backend.listen(); diff --git a/io.github.lithe-idea.cargo-build/plugin.json b/io.github.lithe-idea.cargo-build/plugin.json index e5a15d4..4c25349 100644 --- a/io.github.lithe-idea.cargo-build/plugin.json +++ b/io.github.lithe-idea.cargo-build/plugin.json @@ -2,7 +2,7 @@ "schemaVersion": 2, "id": "io.github.lithe-idea.cargo-build", "displayName": "Cargo", - "version": "0.1.2", + "version": "0.1.3", "pluginAPIVersion": 3, "requires": { "buildProviders": 1, "buildSystems": 1, "executableResolution": 1, "serverProcess": 1, "settings": 2 }, "vendor": { "id": "io.github.lithe-idea", "displayName": "Lithe Community", "signatureRequirement": "none" },