diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index dca5e42..ca18062 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.3" + "version": "0.1.4" } ] } diff --git a/.github/workflows/desktop.yml b/.github/workflows/desktop.yml index b776250..ed14d98 100644 --- a/.github/workflows/desktop.yml +++ b/.github/workflows/desktop.yml @@ -108,7 +108,10 @@ jobs: working-directory: desktop env: MPFTP_EMU_RUNTIME: ${{ github.workspace }}/.workbench/assets/pydevices - run: npx tauri build --target "$TARGET" + # The cargo cache restores target/, installers from earlier versions included. + run: | + rm -rf "src-tauri/target/$TARGET/release/bundle" + npx tauri build --target "$TARGET" - name: Check what was built id: built @@ -204,7 +207,10 @@ jobs: working-directory: desktop env: MPFTP_EMU_RUNTIME: ${{ github.workspace }}/.workbench/assets/pydevices - run: npx tauri build + # The cargo cache restores target/, packages from earlier versions included. + run: | + rm -rf src-tauri/target/release/bundle + npx tauri build - name: Check what was built id: built diff --git a/CHANGELOG.md b/CHANGELOG.md index 48c9bdb..5b10238 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,30 @@ +## v0.1.4 (2026-10-27) + +The mpftp desktop app ships for the first time: a Windows +installer and a Linux `.deb` are attached to this release. Both bundle their +own Python, so nothing else needs installing. Neither is code-signed yet, so +Windows warns on first run. + +- Desktop: file transfer, the REPL and the browser board emulator in one + window, with the installers attached to each release +- Desktop: uninstalling removes the bundled Python and its cache; the "Delete + the application data" box also removes the app's WebView profile and logs (#132) +- Downloads over USB serial are much faster: the reply is read in bulk instead + of a byte per call. A 20 KB file now takes about 6 s instead of 20 s (#133) +- The REPL pane no longer reprints the banner after every transfer (#134), or + shows a stray `>` when it connects (#150) +- A large file that is still moving is no longer reported as "may be hung", in + the Desktop app and in VS Code (#149) +- The transfer and refresh buttons have accessible names (#135) +- circup and the CircuitPython file commands use the CIRCUITPY drive of the + board you're connected to, when two are attached (#138) +- circup no longer hangs on Windows (#145) +- From WSL, stopping a command (Ctrl-C or a timeout) also stops the Windows + helper and its children, so the COM port is free again at once (#146) +- Bluetooth sessions work with mpremote 1.29 +- A code signing policy, and the docs restructured, with figures re-measured + on MicroPython 1.30 preview and mpremote 1.29 + ## v0.1.3 (2026-10-22) - get: ask again for a chunk that arrives with extra bytes on it (#129) diff --git a/VERSION b/VERSION index b1e80bb..845639e 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.1.3 +0.1.4 diff --git a/desktop/package-lock.json b/desktop/package-lock.json index 856ef46..ab2a00f 100644 --- a/desktop/package-lock.json +++ b/desktop/package-lock.json @@ -1,12 +1,12 @@ { "name": "mpftp-desktop", - "version": "0.1.3", + "version": "0.1.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "mpftp-desktop", - "version": "0.1.3", + "version": "0.1.4", "license": "MIT", "devDependencies": { "@tauri-apps/cli": "^2.12.3" diff --git a/desktop/package.json b/desktop/package.json index 242e54c..7832643 100644 --- a/desktop/package.json +++ b/desktop/package.json @@ -1,6 +1,6 @@ { "name": "mpftp-desktop", - "version": "0.1.3", + "version": "0.1.4", "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 c284849..ace1c06 100644 --- a/extension/package-lock.json +++ b/extension/package-lock.json @@ -1,12 +1,12 @@ { "name": "mpftp", - "version": "0.1.3", + "version": "0.1.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "mpftp", - "version": "0.1.3", + "version": "0.1.4", "license": "MIT", "dependencies": { "@vscode/codicons": "^0.0.45" diff --git a/extension/package.json b/extension/package.json index 31623d8..40be57f 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.3", + "version": "0.1.4", "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 8c9968f..4c6cccf 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.3", + "version": "0.1.4", "author": { "name": "Brad Barnett" }, diff --git a/ui/package-lock.json b/ui/package-lock.json index b2bcecc..f273b0c 100644 --- a/ui/package-lock.json +++ b/ui/package-lock.json @@ -1,12 +1,12 @@ { "name": "mpftp-ui", - "version": "0.1.3", + "version": "0.1.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "mpftp-ui", - "version": "0.1.3", + "version": "0.1.4", "dependencies": { "@codemirror/lang-python": "^6.2.1", "@xterm/addon-fit": "^0.11.0", diff --git a/ui/package.json b/ui/package.json index 258fe48..6a7db56 100644 --- a/ui/package.json +++ b/ui/package.json @@ -1,6 +1,6 @@ { "name": "mpftp-ui", - "version": "0.1.3", + "version": "0.1.4", "private": true, "description": "mpftp local PWA: file transfer + REPL for a MicroPython/CircuitPython board.", "scripts": {