From 246ea0c06bacef5f9aa335c49673d5f0cbb6cdb8 Mon Sep 17 00:00:00 2001 From: "pydevices-release-automation[bot]" Date: Tue, 3 Nov 2026 04:45:56 +0000 Subject: [PATCH 1/2] Release 0.1.6 --- CHANGELOG.md | 10 +++++++++- VERSION | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 31d1ccd..bafee6e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,16 @@ -## Unreleased +## v0.1.6 (2026-11-03) - Over WebREPL, `put` to a path longer than 63 bytes goes through the file channel under a short name and a rename, instead of stalling on the slow REPL path - `put -r src/ /dest` (and `get -r /src/ dest`) with a trailing slash copies the folder's contents into the destination, updating files in place, so re-uploading a library no longer nests it. Without the slash nothing changes (#185) +- WebREPL put: long paths use the file channel and a rename (#201) +- A switched-off board that answered before isn't called busy: ping decides when the TCP connect times out (#200) +- WebREPL: end an abandoned login cleanly so the board frees its session slot; scale the login wait with the link; name a held slot (#198) +- Docs: link directory and file mentions in CONTRIBUTING, AGENTS, desktop and plugin READMEs (#197) +- Overall connect deadline for boards that flood output (#196) +- Run the sidecar in Linux for /dev ports under WSL (#195) +- put -r / get -r: a trailing slash copies the folder's contents in place (#185) (#192) + ## v0.1.5 (2026-10-30) - Linux package: mpftp with arguments is the CLI, not the window (#184) (#190) diff --git a/VERSION b/VERSION index 9faa1b7..c946ee6 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.1.5 +0.1.6 From 789d952e6faffabbe5660987a29e31cf9da73789 Mon Sep 17 00:00:00 2001 From: "pydevices-release-automation[bot]" Date: Tue, 3 Nov 2026 04:46:08 +0000 Subject: [PATCH 2/2] Release 0.1.6: every declaration carries the version --- .claude-plugin/marketplace.json | 2 +- desktop/package-lock.json | 4 ++-- desktop/package.json | 2 +- extension/package-lock.json | 4 ++-- extension/package.json | 2 +- integrations/claude-code-plugin/.claude-plugin/plugin.json | 2 +- ui/package-lock.json | 4 ++-- ui/package.json | 2 +- 8 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index 0858253..b744c9b 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -9,7 +9,7 @@ "name": "mpftp", "source": "./integrations/claude-code-plugin", "description": "A skill that teaches the mpftp CLI for MicroPython/CircuitPython boards: file transfer, REPL, driving a running app, and firmware.", - "version": "0.1.5" + "version": "0.1.6" } ] } diff --git a/desktop/package-lock.json b/desktop/package-lock.json index c90eec1..6598dae 100644 --- a/desktop/package-lock.json +++ b/desktop/package-lock.json @@ -1,12 +1,12 @@ { "name": "mpftp-desktop", - "version": "0.1.5", + "version": "0.1.6", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "mpftp-desktop", - "version": "0.1.5", + "version": "0.1.6", "license": "MIT", "devDependencies": { "@tauri-apps/cli": "^2.12.3" diff --git a/desktop/package.json b/desktop/package.json index c5dfbc0..79bf7dd 100644 --- a/desktop/package.json +++ b/desktop/package.json @@ -1,6 +1,6 @@ { "name": "mpftp-desktop", - "version": "0.1.5", + "version": "0.1.6", "private": true, "description": "mpftp as a desktop app: a Tauri window around the browser interface, with its own Python", "license": "MIT", diff --git a/extension/package-lock.json b/extension/package-lock.json index a490cc9..f7eb13c 100644 --- a/extension/package-lock.json +++ b/extension/package-lock.json @@ -1,12 +1,12 @@ { "name": "mpftp", - "version": "0.1.5", + "version": "0.1.6", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "mpftp", - "version": "0.1.5", + "version": "0.1.6", "license": "MIT", "dependencies": { "@vscode/codicons": "^0.0.45" diff --git a/extension/package.json b/extension/package.json index 397fff1..f6582f9 100644 --- a/extension/package.json +++ b/extension/package.json @@ -2,7 +2,7 @@ "name": "mpftp", "displayName": "mpftp — MicroPython / CircuitPython Board Tools", "description": "Connect to MicroPython and CircuitPython boards over USB serial or Wi-Fi (WebREPL): dual-pane file transfer, ANSI REPL, mip/circup packages, and guided MicroPython firmware download/build/flash. Works on Linux, Windows, and WSL (COM ports via Windows Python).", - "version": "0.1.5", + "version": "0.1.6", "publisher": "pydevices", "license": "MIT", "engines": { diff --git a/integrations/claude-code-plugin/.claude-plugin/plugin.json b/integrations/claude-code-plugin/.claude-plugin/plugin.json index adfddf0..7cde46a 100644 --- a/integrations/claude-code-plugin/.claude-plugin/plugin.json +++ b/integrations/claude-code-plugin/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "mpftp", "description": "A skill that teaches the mpftp CLI for MicroPython/CircuitPython boards: file transfer, REPL, driving a running app, and firmware.", - "version": "0.1.5", + "version": "0.1.6", "author": { "name": "Brad Barnett" }, diff --git a/ui/package-lock.json b/ui/package-lock.json index 5912d8d..b3c7b5c 100644 --- a/ui/package-lock.json +++ b/ui/package-lock.json @@ -1,12 +1,12 @@ { "name": "mpftp-ui", - "version": "0.1.5", + "version": "0.1.6", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "mpftp-ui", - "version": "0.1.5", + "version": "0.1.6", "dependencies": { "@codemirror/lang-python": "^6.2.1", "@xterm/addon-fit": "^0.11.0", diff --git a/ui/package.json b/ui/package.json index 5ff2d73..8be2a1e 100644 --- a/ui/package.json +++ b/ui/package.json @@ -1,6 +1,6 @@ { "name": "mpftp-ui", - "version": "0.1.5", + "version": "0.1.6", "private": true, "description": "mpftp local PWA: file transfer + REPL for a MicroPython/CircuitPython board.", "scripts": {