All notable changes to the "MicroPico" extension will be documented in this file.
Based on structure recommendations from Keep a Changelog.
- vREPL tab-completion on Windows isn't inline. (that's also cool but different to macOS or Linux behaviour)
- Run current file does not include modules that are localy imported and in current workspace, unless you upload the python file containing the module via the upload file or project feature first. (since ever)
- Restore behavior for terminal content if an external action is triggered and takes over the terminal (like run file)
- Boot.py warnings when performing hard resets
micropico.redirectOutput
experimental command to redirect output of operations like running files into other target than the terminal (like a file)
- Updated dependencies
- Upgraded to
pyboard-serial-com
v1.0.21
(Fixes #254) - Better Python utilization in stub switcher
- Switch to release build for Pico 2 auto installs
- Configure project command has been renamed to
Setup MicroPico project
- Reload settings before uploading and downloading projects to detect settings changes
- SyncFolder auto-detection based on
.micropico
file location if not set - All settings are now scoped
machine-overridable
- Soft-resets before and after executing scripts by default (#239)
micropico.noSoftResetOnRun
setting to disable soft-resets before and after executing scripts (default: false)
- Fix #252, py-launcher compatibility
flashPico
command to flash Raspberry Pi Pico boards with a MicroPython firmware (if it is in BOOTSEL mode)- Some Pimoroni boards to the list for auto detection
- Fixed some auto-connect bugs
garbageCollect
andreset.hard.listen
commands- More vREPL shortcuts
- A requirement for a python interpretter (can be selected though the Python VS Code extension)
- Replaced
pyboard-serial-com
withpico-mpy-com
library - Updated dependencies
- Reenabled publishing on OpenVSX
- Updated stubs to latest MicroPython v1.23.0 stable (Thanks to @Josverl)
- Minor performance improvements
- Major stability improvements
- Eperimental support for
ESP32-S3-Pico
- Upraded to
pyboard-serial-com
v3.1.2
- Updated dependencies
- Ignore
.idea
by default (Thanks to @Finnomator for #237)
- Stubs auto-install feature to install selected stubs for a first opened project if not present
- Upgraded to
pyboard-serial-com
v3.1.0
, - Updated dependencies
- Fixed #230, Update included stubs to v1.23.0 stable
- Fixed #226, Pylance doesn't work after reopening
- Fixed #227, Switch stubs error (Thanks to @wtakuo for #228)
- Fixed #220, List remote fs contents and download project operations ignoring entries with spaces
- Min VS Code version is now
v1.90.2
- Updated stubs to MicroPython v1.23.0 stable (Thanks to @Josverl
micropython-rp2-rpi_pico_w-stubs
)
- Upgraded to
pyboard-serial-com
v3.0.9
ESP32-S3
stubs to select
- Updated dependencies
- Upgraded to
pyboard-serial-com
v3.0.8
- Better support for pip not in PATH scenarios
- Uninstaller supports now new stubs path
- Simplified stubs selection
- Update VS Code minimum version to
v1.89.0
- Updated dependencies
- Fixed #215 and #209, Failed to switch stubs on Linux and macOS / use stubs on external drive
- Upgraded to
pyboard-serial-com
v3.0.7
, - Updated dependencies
- Fixed #202, Switch stubs Windows shell error
- Fixed #193, Notifications cleanup
- Min VS Code version is now
v1.86.2
- Updated stubs to MicroPython v1.22.1 stable (Thanks to @Josverl
micropython-rp2-rpi_pico_w-stubs
)
- Upgraded to
pyboard-serial-com
v3.0.6
,
- Upgraded to
pyboard-serial-com
v3.0.5
,
ESP32-C3
andTeensy 4.0
support (experimental) (Fixes #96)
- Hotfix - Upgraded to
pyboard-serial-com
v3.0.2
,
ESP32-WROOM-32
support (experimental)
- Upgraded to
pyboard-serial-com
v3.0.0
, - Updated dependencies
micropico.executeOnConnect
setting to execute a script on the Pico after connecting (#153 and #176)micropico.importOnConnect
setting to import a module in vREPL after connecting (#153)- MicroPico Device Controler for managing wifi connection and to install mip packages (experimental)
- Upload-file command is now available in the explorer context menu
- Fix #172, Documentation mentions sync button
- Fixes dynamic command enablement
- Fixes tab in multiline input in vREPL does trigger autocomplete and does not indent
- Adjusts settings scopes
- Updated dependencies
micropico.extra.switchStubs
command to switch between MicroPython stubs for different MicroPython versions and ports (RPi Pico, RPi Pico (W) and ESP32) (Thanks to @Josverl) (Fixes #164)
- Updated dependencies
- Settings auto-update workaround from the extension renaming process (Fixes #164)
- Upgraded to
pyboard-serial-com
v2.0.4
, the Linuxamd64
release is now backwards compatible withGLIBC_2.31
(Fixes #161) - Updated dependencies
- Upgraded to
pyboard-serial-com
v2.0.4
, Linuxarm64
andarmhf
releases are now backwards compatible withGLIBC_2.31
(Fixes #159) - Updated dependencies
- Reload settings before auto-connect to detect settings changes concerning the port
- Upgraded to
pyboard-serial-com
v2.0.3
(Fixes #144) - Updated stubs to MicroPython v1.21.0 stable
- Updated dependencies
- Adds back linux
armhf
support
- Reduced extension size on some platforms
- Upgraded to
pyboard-serial-com
v2.0.2
- Replaced
Pico-W-Stub
with micropython-stubs for MicroPython v1.20.0 (Thanks to @Josverl) - Added
.ls
and.help
custom commands to vREPL
- Fixes an issue concerning multiline vREPL inputs
- Some minor improvemements
- Updated dependencies
- Upgraded to
pyboard-serial-com
v2.0.1
- Fixes Windows issues related to update
v3.3.0
(Fixes #143)
- Updated dependencies
- Upgraded to
pyboard-serial-com
v2.0.0
- Stubs updated to v1.21.0 stable
- Dependency on the VS Code Python extension
- Dependency on
pyserial
pip package - Dependency on Python being installed on the host system
micropico.pythonPath
setting- Support for the armhf architecture
- Fix #134, Support stopping execution with VS Code command (#13 by @eplusx)
- Minimum VS Code version is now v1.82.0
- Updated dependencies
- Updated stubs to v1.20.0-441 unstable
- Minimum VS Code version is now v1.81.1
- Updated dependencies
- Added official Python extension as dependency
- Updated stubs to patch v1.20.0-5 stable
- Updated stubs to patch v1.20.0-4 stable (Fixes #125)
uploadproject
status-bar button
- Upgraded pyboard-serial-com to v1.5.3 (Fixes an issue where
pyIgnore
wildcard exclusions were not working) - Updated stubs to patch v1.20.0-3 stable
- Dependencies were updated
- Rename extension to
MicroPico
but the ID remains the same:paulober.pico-w-go
(for now) - Dependencies update
vscode:uninstall
script to remove Pico-W-Stub after extension gets uninstalledpicowgo.rtc.sync
command to sync the Pico's RTC with the host's time- Fix #29, Add custom when clause context keys
- Auto-detected Python3 commands are't automatically saved to global settings anymore to prevent erros when switching between different systems with different python installations and settings sync turned on
- Contributed menu entries are now only shown when the extension is active
- Updated dependencies
picowgo.pyIgnore
now supports syncFolder specific rules
- Fixed #111, Relative paths in
picowgo.pyIgnore
don't work - Fixed #113, Unnecessary re-uploading of unchanged files during upload-project
- Upgraded pyboard-serial-com to v1.5.2
- Updated stubs to patch v1.20.0-2 stable
- Logger output channel
- Open workspace settings command
- Added scopes to some configuration settings
- Added new
picowgo.additionalSyncFolders
setting (Requested in #40) - Added
soft-reset (listen)
command. Soft-reset now displays output (read and write) of main.py and boot.py reruns after soft-reset with this new command or the updatedpicowgo.softResetAfterUpload
setting. (Requested in #101)
- Renamed setting
picowgo.rebootAfterUpload
topicowgo.softResetAfterUpload
- Fixed README table markdown for VS Code Marketplace store front
- Fix #71, Better up-/download progress notification/feedback
- vREPL now opens automatically on need (reduces "vREPL not open" warnings) (#60)
- All commands are now grouped in one category
- Some minor stability and performance improvements were made
- Fixed duplicate vREPL handling and not prompt on additional vREPL panel
- Fixed
input(...)
echoed back input in vREPL - Other dependency updates
- Upgraded pyboard-serial-com to v1.5.1
- Bumped minimum NodeJS engine version to v16.17.1
- Updated stubs to patch v1.20.0-1 stable
- Fix #66, Problems with uploading/downloading a project
- Store listing improvements
- Upgrade to pyboard-serial-com v1.4.31
- Update terminal profile image
- vREPL now supports tab-completions (Requested in #102)
- Logo remake (by an AI) upon advice
- Upgrade to pyboard-serial-com v1.4.30
- Fixes script needs print statement to be stoppable
- The minimum VSCode engine version was lowered to v1.76.0 for better compaibility with Raspberry Pi
- Status Bar button
togglepicowfs
(Suggested in #95)
- Fixed #73, Extension freezes when Pico is disconnected during code execution
- Upgrade to pyboard-serial-com v1.4.26
- Fixes Python 3.9 compatibility
- Upgraded to pyboard-serial-com v1.4.24
- Download project progressbar title
- Updated stubs for 'Firmware v1.20.0 stable'
pyserial
is now auto-installed as requirement on start. If the installation/detection fails, the extension give feedback to the user.
- Updated README.md
- Increased timeout on pyserial and python version detection (PR #74)
rebootAfterUpload
default value tofalse
- Better error handling and more detailed error messages for
- Upgraded to pyboard-serial-com v1.4.23
- AutoConnect feature, the extension now detects disconnects and auto reconnects
- Fixed
globalSettings
command - Python detection now has a 1sec timeout
- Small UX improvements
- Fixes #58, Run button no stop option
- Artificial upload constraint (#61)
-
Remote filesystem/workspace integration of the Pico (W) filesystem.
-
A contributed/integrated terminal profile for the Pico (W) REPL (open and closing does not affect the connection as long as you don't duplicated or open multiple vREPLs)
-
picowgo.switchPico
command to be able to chose between ports without having to deal with any config -
picowgo.gcBeforeUpload
runs garbage collector before uploading files to free some memory for more stable uploads
picowgo.syncFileTypes
settings datatype changed toarray
picowgo.safeBootOnUpload
was renamed topicowgo.gcBeforeUpload
- NEW REQUIREMENT:
pyserial
Python Pip package - Terminal behaviour is now a virtual REPL which can execute commands on the remote Pico (W) MicroPython REPL
- To enable the new remote workspace feature, a new queuing system between the serial port and the VSCode inputs had to be developed to cope with the bottleneck of a serial connection. For stability reasons, I therefore do not recommend excessive multitasking with the features of the extension in conjunction with the Pico. It should work fine and also handle a large load, but you don't need to overuse it.
- Better detection for OS and hardware
- Improved stability for file transfers
- Updated stubs for 'Firmware v1.19.1-1009 nightly'
- Shrunk extension file size because it's not required to bundle serialport package anymore within the extension
ctrlCOnConnect
setting, because its now the default- FTP-Server, it was deprecated had security vulnarabilities and some users reported problems using it
- Cut many other dependencies
- Improved
urequests.Response
class stubs to reflect runtime added fields (v1.19.1-915-1)
- Workaround for MicroPython filesystem reformat bug (Issues #46, #50) [PR: #49]
- Updated stubs to 'Firmware v1.19.1-915 nightly'
- Updated serialport and other dependencies
- Updated stubs to 'Firmware v1.19.1-796 unstable'
- Fixed #37, Fixed #37, Wrong char encoding in 'run current file' operation
- Updated stubs to 'Firmware v1.19.1-780 unstable'
- Support for armv7 (32-bit) by providing a patch for the node-gyp-build dependency which should only be temp.
- Stubs hotfix v1.19.1-594-1 unstable
- Fixes #23, Configure project command does not link Stubs. By changing the type of the symbolic link from a directory link to a directory junction.
- Updated stubs to 'Firmware 1.19.1-594'
- Colored terminal output to some message by the extension
- Switched to VS Code api PseudoTerminal (pty) instead of the old terminalExec.py fake REPL
- Fixed some naming convention "errors"
- terminalExec.py
- Fixes if you reopen VS Code via desktop or taskbar shortcut i sometimes restores old terminal sessions with then cannot be closed because the close action will always close the now working session.
- Updated stubs as of Firmware v1.19.1-389-1 unstable for the rp2 Pico-W board
- Updated stubs as of Firmware v1.19.1-378 unstable for the rp2 Pico-W board
- Fixed SyntaxError in deleteAllFiles command
- Updated stubs as of Firmware v1.19.1-375 unstable for the rp2 Pico-W board
- Fixes constantly crashing terminal on linux
- Fixed linting of builtin python features.
- Following dependencies:
- serialport v10+
- webpack
- webpack-cli
- glob
- Patches for following packages:
- dtrace-provider
- ftp-srv
os
andcpu
section to package.json- Bugs URL into package.json
- Apache 2.0 license
- Completly moved codebase to Typescript (rewrote many parts)
- Moved to serialport version 10.4.0 which now has integrated prebuild binaries from @serialport/bindings-cpp
- Extensive changes to the build system
- Integrated settings into vscode and removed pico-w-go.json settings files
- Cleaned up the default configuration of statusbar buttons by removing some of them to comply with vscode guidelines
- Fixed terminalExec.py script crashing thought function and special keys like 'arrow up' on Windows. It now suports all arrow key + the del key in the terminal and catches other special keys.
- Fixed license path in package.json for vscode
- Updated github build workflow
- Github issue templates/config
- Vscode activation events from
*
to custom command base activation and.picowgo
file based activation
-
Duplicate functions
-
Some unused code
-
Following dependencies:
- binascii
- bindings
- child-process-promise
- commander
- copy-paste
- crypto-js
- debug
- element-resize-detector
- lie
- nan
- ncp
- node-abi
- object.assign
- ora
- promirepl
- prompt-list
- rxjs
- safe-buffer
- spdx-correct
- spdx-exceptions
- telnet-client
- utf8
- xterm
Dev-dependencies:
- babel-cli
- babel-core
- babel-preset-es2015
- chai
- electron
- electron-rebuild
- prebuild-install
- vscode
-
'Get Support Info' command
can be found in older commit history