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
@@ -1,5 +1,14 @@
# Changelog

## 0.1.3 — 2026-11-04 (preview)

- Report structured host diagnostics through `litheLogging` 1: the SDK records one success or failure per backend function with its function ID, duration and a safe error category; cancellation is not a failure.
- Suppress success entries for the high-frequency `requests.parse` and `response.previewInfo`; failures still log ERROR.
- Report one `preview_truncated` degradation per backend run when a response preview hits its size limit.
- Diagnostics exclude URLs, request/response bodies, headers, environment variables, credentials, file paths and selected file contents. A startup failure before the protocol channel opens exits with a status code instead of printing to stderr.
- Vendor the official Rust SDK with per-file SHA-256 provenance checked by CI and packaging; correct its license in `NOTICE` and the README to Apache-2.0.
- Requires a host offering `litheLogging` 1. Stable Lithe 0.6.7 lacks it, so keep 0.1.2 there. Published as a GitHub pre-release and not listed in Lithe Store.

## 0.1.2 — 2026-11-02 (preview)

- Open UTF-8 `.http` / `.rest` files, select requests and navigate to their source lines without sending automatically.
Expand Down
2 changes: 1 addition & 1 deletion 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
@@ -1,6 +1,6 @@
[package]
name = "lithe-http-client"
version = "0.1.2"
version = "0.1.3"
edition = "2024"
publish = false
license = "Apache-2.0"
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# HTTP Client for Lithe

**0.1.2 preview:** request editing, session history, response exports and a compact UI. Chrome/WebKit and protocol checks pass; native file-dialog/editor-preview and Intel hardware acceptance remain pending.
**0.1.3 preview:** structured host diagnostics through `litheLogging` 1. It needs a Lithe preview build that offers `litheLogging` 1; stable Lithe 0.6.7 installs it but cannot start its backend, so keep 0.1.2 there. Chrome/WebKit and protocol checks pass; native file-dialog/editor-preview and Intel hardware acceptance remain pending.

A compact HTTP workbench inside Lithe's native macOS tool window. Paste `.http` requests, select one, send it, and inspect the response without leaving the IDE.

## Install and use

Install **HTTP Client** from the Lithe plugin marketplace when its listing is available, or download the ZIP from [Releases](https://github.com/Lithe-IDEA/lithe-plugin-http-client/releases) and use Lithe's install-from-disk action. The universal macOS package contains Apple Silicon and Intel code. This version requires `backend: 2`, `serverProcess: 1`, and `ui: 2` (plugin API 3), adding workspace metadata, document-summary and preview permissions for HTML preview. Windows is not supported in this release.
Lithe Store lists 0.1.2. Version 0.1.3 is a GitHub pre-release that the Store does not list: download its ZIP from [Releases](https://github.com/Lithe-IDEA/lithe-plugin-http-client/releases) and use **Install Plugin from Disk…** in the ⚙ menu of Settings → Plugins. The universal macOS package contains Apple Silicon and Intel code. This version requires `backend: 2`, `serverProcess: 1`, and `ui: 2` (plugin API 3), plus a host offering `litheLogging: 1`; it uses workspace metadata, document-summary and preview permissions for HTML preview. Windows is not supported in this release.

Open the **HTTP Client** bottom tool window. Use **Open .http** to choose a UTF-8 `.http` or `.rest` file (up to 128 KiB), or paste a request. Files are read and their requests listed immediately. Choose an entry and click **Send** (⌘/Ctrl+Enter). **Read requests** reparses pasted text. Editing invalidates the selection; sending reparses and selects the first request. Choosing a file, request or history entry never sends it automatically.

Expand Down Expand Up @@ -66,7 +66,7 @@ python3 scripts/package.py
python3 scripts/test_protocol.py --binary dist/io.github.lithe-idea.http-client/bin/lithe-http-client
```

Use a consistent rustup `cargo`/`rustc` toolchain on PATH when cross-compiling. Packaging uses `lipo`, validates both architectures, signs the executable ad-hoc, checks its signature, includes dependency notices and creates `dist/http-client-0.1.2-darwin.zip` with one plugin-ID parent directory and a SHA-256 sidecar. Published release assets are immutable: fixes require a new version.
Use a consistent rustup `cargo`/`rustc` toolchain on PATH when cross-compiling. Packaging uses `lipo`, validates both architectures, signs the executable ad-hoc, checks its signature, includes dependency notices and creates `dist/http-client-0.1.3-darwin.zip` with one plugin-ID parent directory and a SHA-256 sidecar. Published release assets are immutable: fixes require a new version.

Protocol integration tests use real SDK processes and a loopback HTTP server, with bounded waits and cleanup. Individual timings and failures are emitted to `.artifacts/test-stability/index.html` and `junit.xml`.

Expand Down
49 changes: 49 additions & 0 deletions docs/releases/v0.1.3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
## 中文

HTTP Client 0.1.3 预览版接入 Lithe 的结构化插件诊断(`litheLogging` 1)。需要提供 `litheLogging` 1 的 Lithe preview 开发版;稳定版 Lithe 0.6.7 能安装但无法启动后端,请在稳定版上继续使用 Lithe Store 中的 0.1.2。

### 更新内容

- 后端改用官方 Rust SDK 的结构化日志,诊断写入 Lithe 日志窗口中本次会话的 `plugins/io.github.lithe-idea.http-client/host` 通道,级别、脱敏、轮转和保留由宿主统一决定。
- 每个后端函数由 SDK 记录唯一的成功或失败终态,带函数 ID、耗时和安全的错误分类;取消不算失败。
- 高频的请求解析(`requests.parse`)和预览能力探测(`response.previewInfo`)成功时不再记 INFO,失败照常记 ERROR。
- 响应预览达到大小上限被截断时,每次后端运行只记一次 `preview_truncated` 降级。
- 诊断不含 URL、请求或响应正文、头部、环境变量、凭据、文件路径或所选文件内容;启动在协议通道建立前失败时以退出码结束,不再向 stderr 打印。
- 官方 Rust SDK 改为仓库内的 vendor 副本,CI 与打包按逐文件 SHA-256 校验;`NOTICE` 和 README 中的 SDK 许可证更正为 Apache-2.0。
- 请求编辑、会话历史、响应导出和 HTML 预览等功能与 0.1.2 相同。

### 安装与兼容性

预发布版本会被 Lithe Store 自动追踪跳过,暂不收录 Store。下载 `http-client-0.1.3-darwin.zip`,在「设置 → 插件」的 ⚙ 菜单中选择「从磁盘安装插件…」导入;一个包同时包含 Apple Silicon 和 Intel 代码,旁边的 `.sha256` 文件用于核验下载内容。

需要支持插件 API 3 和 `backend: 2`、`serverProcess: 1`、`ui: 2` 的 macOS Lithe,并且宿主要提供 `litheLogging` 1。权限声明与 0.1.2 相同。

仍为社区预览版,使用 ad-hoc 可执行文件签名,未做开发者签名或公证;Windows 不支持。协议测试会协商 `litheLogging` 1 并检查诊断帧与隐私;在 Lithe 日志窗口中的端到端验收、原生文件对话框、编辑区 HTML 预览和 Intel 硬件运行验收仍待完成。

[全部改动](https://github.com/Lithe-IDEA/lithe-plugin-http-client/compare/v0.1.2...v0.1.3)

---

## English

HTTP Client 0.1.3 preview adopts Lithe's structured plugin diagnostics (`litheLogging` 1). It needs a Lithe preview build that offers `litheLogging` 1. Stable Lithe 0.6.7 installs it but cannot start its backend; keep 0.1.2 from Lithe Store there.

### Changes

- The backend uses the official Rust SDK's structured logging. Diagnostics go to the current session's `plugins/io.github.lithe-idea.http-client/host` channel in Lithe's log window; the host decides levels, redaction, rotation and retention.
- The SDK records exactly one success or failure for each backend function, with its function ID, duration and a safe error category; cancellation is not a failure.
- Successful request parsing (`requests.parse`) and preview capability probes (`response.previewInfo`) no longer log INFO; failures still log ERROR.
- When a response preview is truncated at its size limit, one `preview_truncated` degradation is logged per backend run.
- Diagnostics never contain URLs, request or response bodies, headers, environment variables, credentials, file paths or selected file contents. A startup failure before the protocol channel opens exits with a status code and no longer prints to stderr.
- The official Rust SDK is vendored in the repository; CI and packaging verify every file's SHA-256. `NOTICE` and the README now give the SDK's license correctly as Apache-2.0.
- Request editing, session history, response exports and HTML preview are unchanged from 0.1.2.

### Installation and compatibility

Lithe Store's tracker skips pre-releases, so this version is not listed in the Store. Download `http-client-0.1.3-darwin.zip` and import it with Install Plugin from Disk… in the ⚙ menu of Settings → Plugins. The same package contains Apple Silicon and Intel code; the adjacent `.sha256` file verifies the download.

Requires macOS Lithe with plugin API 3 and `backend: 2`, `serverProcess: 1`, `ui: 2`, and a host offering `litheLogging` 1. Permissions are unchanged from 0.1.2.

This remains a community preview with an ad-hoc signed executable, without publisher signing or notarization. Windows is unsupported. Protocol tests negotiate `litheLogging` 1 and check diagnostic frames and privacy; end-to-end acceptance in Lithe's log window, native file dialogs, the editor HTML preview and Intel hardware are still pending.

[Full comparison](https://github.com/Lithe-IDEA/lithe-plugin-http-client/compare/v0.1.2...v0.1.3)
2 changes: 1 addition & 1 deletion plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"schemaVersion": 2,
"id": "io.github.lithe-idea.http-client",
"displayName": "HTTP Client",
"version": "0.1.2",
"version": "0.1.3",
"pluginAPIVersion": 3,
"requires": {
"backend": 2,
Expand Down
Loading