All notable changes to the "raspberry-pi-pico" extension will be documented in this file.
Check Keep a Changelog for recommendations on how to structure this file.
- Release 1
- Added support for SDK 2.1.0 and Pico 2 W
- Keep extension recommendations when importing project (#121)
- Fixed tools download error when using a GitHub PAT (#117)
- Add useCmakeTools advanced option when creating projects, to switch the extension to use the CMake Tools integration (#46, #91)
- Detailed download progress (#92)
- Check git version is >2.28 before using system Git (#93)
- Machine scoped python handling, rather than per-project (#94)
- CMake Clean command
- Add PICO_BOARD line to imported projects if it's not already present to enable board switching (#46, #113, #115)
- Pico SDK version selector is now an advanced option for examples, as they are only guaranteed to work with the latest SDK (#97)
- Use Got download backend for x86_64 Linux too, due to occasional bugs with Undici (#86)
- Update to pico-sdk-tools v2.0.0-5 to statically link binaries (#90)
- CMake Configure wasn't being awaited (#98)
- Fix CMake Do Not Edit header grammar (#103)
- Fix cmake-kits.json file when switching boards (#107)
- MicroPico integration, for creating MicroPython projects (#85)
- Pico Wireless Options passing to the project generator
- Update to pico-sdk-tools v2.0.0-4 to remove requirement on libgpiod on non-arm64 Linux (#84)
- getPicotoolPath command to download picotool and return the path
- Python, Ninja and CMake mode selector
- f-string expression contained a backslash, preventing project creation on Linux (#82)
- Downloads on Raspberry Pi 4 - two download backends now available: Got on Linux Arm64, and Undici on other platforms
- Gitignore file to generated projects (#56)
- More examples (#61, #80)
- New RISC-V toolchains and a picotool selection
- New Project shortcut in empty explorer panel
- Debug build of the extension with extra logging
- Keyboard support for examples selection
- Restore Webview functionality for "Import" and "From Example" wizards
- ARM Toolchain 13.3 to the list of supported toolchains
Flash (SWD)
command for flashing over SWD- Support for entry point file name defaulting to
main.c
(#60) - UART feature for the new project wizard
- An uninstaller for SDKs and tools installed by the extension
- Updated README.md with new instructions and presentation (#43, #40)
- Updated dependencies
- Improved downloading of SDKs and tools
- Switch board command now includes a selector for RISC-V
- Use extension dependencies rather than extension pack (#59)
- Fix launch target path contains backslashes (#67)
- Fix launch.json synatx
- Fix minor webview presentation issues like loading of default project location or missing borders
- Better logging
- GitHub expired or invalid PAT handling and user feedback
- Improved labeling of action artifacts
- Fix python selection
- Fix SDK selector gets disabled if an example is selected (#71)
- Fix multiple issues where the webview would crash
- Fix webview disposing before setting html which would crash the editor panel without proper error handling
- Upgrade downloaded portable git on Windows x64 to 2.46.0
- Fix webview bugs related to the different layout for the "Import" and "From Example" wizard (#80)
- New style for the RISC-V selector in the new project wizard
- Fix option disablement in the new project from example wizard
- Fix a Git cloning issue on Windows (#73 thanks to @pxysource in #74)
- Conditional import of the pico-vscode.cmake script (thanks to @Mr-Bossman in #65)
- Fix missing OpenOCD adapter on Raspberry Pi OS and other Linux distributions (#62)
- Update to pico-sdk-tools v2.0.0-3
- Fix import webview null-pointer exceptions
- Fixed some minor issues in the Github workflows
- Fix project name validation for non example based projects
- Disabled saving of the last project location for project imports
- Legacy code
- Legacy compiler check
- Add examples code-gen option from the new project wizard
- Switch board command, for simple switching between boards
- Fix download issues by switching to new library (#47)
- Fix switching SDK versions with unsupported PICO_BOARD (#36)
- Fix moved force include (#30)
- Use a common pico-vscode.cmake include file, and change the DO NEVER EDIT section (#41)
- Replace project location placeholders with platform dependent hints (#44)
- Fix project compilation after moving build directory (#29)
- Fix issues with debugging with spaces in the path
- Fix pioasm path
- No longer packaged as pre-release, to remove additional prompt when installing the extension
- RP2350 support, with SDK 2.0.0
- Picotool now included
- Run button, which uses picotool to flash the device over USB
- Fix missing quotes around gitExecutable (#25)
- If GitHub API rate limit is reached, now downloads a cached response from GitHub pages
- Checks for non-empty target directories, to make retrying installations simpler
- Fix NewProjectPanel persistent state (#2)
- Make c_cpp_properties platform independent (#1)
- Improve behaviour when switching SDKs (@paulober)
- Throw error when debugging if compilation failed (#19)
- Use gdb-multiarch on x86_64 linux (#16)
- Fix git download on first use of extension
- Use GitHub API for downloads, if a GitHub PAT has been setup (#18)
- Use Ninja version 1.12.1 as it now has aarch64 binaries for linux
- Add default API responses when rate limit is hit
- Add extension pack to download the recommended extensions by default
- Fix concurrency with Compile Project task (#14)
- Fix Flash task bugs (#13)
- Fix PICO_TOOLCHAIN_PATH in Windows integrated terminal
- Generate compile_commands.json, for better intellisense (@will-v-pi)
- Support for compiling with the cmake-tools extension (@will-v-pi)
- Fix compilation on Windows, when Git Bash used as default shell (@paulober)
- Now uses downloaded GDB on MacOS by default (@will-v-pi)
- Fix some examples generation bugs (@will-v-pi)
- Fix high contrast theming (@paulober)
- Fix ninja download on Linux (@will-v-pi)
- Workflow for packaging and publishing extension (@will-v-pi)
- Fix webview crash on dropdown button click (@paulober)
- Fixed support for Raspberry Pi SWD debugging
- Migrated to new github repository
- Fix some minor issues in the README (@nathan-contino)
- An extension logo (@will-v-pi)
- dev_hid_composite and dev_lowlevel examples (@will-v-pi)
- Outdated GH PAT warning
- New examples input functionality based on a new custom suggestions UI
- Extension activation by "new project" panel
- Fixed pico_w examples (@will-v-pi)
- Updated requirements in README.md (@will-v-pi)
- Update rate limit details and description in README.md
- Removed a previously known issue from README.md
- Updated yarn to v4.1.1
- Updated dependencies
- Switch to SDK documentation (@will-v-pi)
- Upgraded min vscode version to
v1.87.0
- Updated dependencies
- Icons (@will-v-pi)
- More examples (@will-v-pi)
- Updated dependencies
- A updated CHANGELOG.md
- Fix #39, Raspberry Pi OS detection
- Fix #40, Light Mode Theming
- Added xPack openocd support for macOS and linux (excluding Raspberry Pis)
- Fix WebView crashing issue with not empty project name and pressing examples button
- Dependencies update
- Navigation bar in WebView now switches to a burger menu on smaller window sizes
- Switched to xPack openocd distribution for x64 Windows (@will-v-pi)
- Fixed WebView navigation between different project creation strategies
newExampleProject
command
- Opening a new project ui while it already open but of a different type, it now gets replaced by the new type (Import project > new project, new project > import project). And "New Example Project" toggles the "from example" or replaces the view if "import project" ui is open.
- VS Code min version is now
1.85.2
- Fix #33, Github API caching to reduce API load
githubToken
setting for a GitHub PAT to use with GitHub API calls for an extended request limit- More example code (@will-v-pi)
- Activity bar menu
- Documentation (with search function) and
debugLayout
commands (with integration in the quick access menu) configureCmake
command (with integration in the quick access menu)- CMake project conversion (@will-v-pi)
examples.json
for a list of downloadable examples (@will-v-pi)- Import project and create from example features
- Import notification if a not imported Pico project was opened
- Fix #38, Auto-generated header force included
- Fix #14, CMake, Ninja and Python auto-install if project uses managed version which are not installed
- Fix #24, Project name validation
- Fix CMake environment problems (@will-v-pi)
- Improved C/C++ VS Code extension configuration generation (@will-v-pi)
- Fix #31, Include toolchain version in versionBundles
- Fix #26,
switchSdk
command outdated - Fix #18, RPi First project problem [workaround]
- Propagate pico_w selection (@will-v-pi)
- Fix #17, Circular dependency
- Host config files on GitHub Pages (@will-v-pi)
- Fix typos
- Fix GitHub language detection
- Fix pyenv install halt infinitely if python version already downloaded
- Dependencies update
- Utilities for legacy beta versions
- Tkinter from project generator (@will-v-pi)
elf2uf2
and pious for SDK 1.5.1 (@will-v-pi)- Basic OpenOCD installation on Windows (@will-v-pi)
- Integrated terminal env settings (only on project generation, PATH not overwritten see #27) (Fixes #21)
- Fix python error on linux
- Fix WebView not closing on error
- Fix WebView error on linux
- Fix #13, python3Path setting (@will-v-pi and @paulober)
- Install OpenOCD and tools from GitHub (@will-v-pi)
- Fix #23, Hide CMake icons (@will-v-pi)
- Clean up some code
- Fix #24, Project name validation
- Fix scroll behind navbar
- Fix #22, Location/save icon
- Use dynamic var in CMake exe setting
- Fix #19, Check for existing project
- Fix #25, Advanced options
- Fix #28, Support for Pico-SDKs prior to v1.5.0
- Updated dependencies
- Fix #11, CMD shell backend compatibility
- Fix #12, Git and Python installation failure
- Fix #13,
python3Path
setting
- Improved project generation error handling
- Fix #8, Adjusted vscode min version to
v1.83.0
- Fix #9, Disable ninja auto-install on linux aarch64 systems
- Fix #10, Python selection on linux
- Fixes custom Python path not used by CMake
- Automatic Python3 installation is now supported on macOS via
pyenv
. - Git is now a requirement for macOS with a message for easy installation by running
xcode-select --install
- Fixes Python and git download redirects
- Webview based project generation
- many different things I don't have time time to currently list separately
- Fixed spacing in error messages
- Having
pioasm
andelf2uf2
in path will now skip compiler check
- Added git and native compiler requirement checks
- Better missing requirements error messages
- Removed "reload VS Code" warning
- Uses POSIX paths for compiler and debugger on Windows
- Lowered VS Code min version to v1.83.0
- Updated dependencies
- Fixed gdb path on Windows
- Replaced SDK download system with git
- SDK submodules are now initialized (Fixes #2)
- Replace
HOME
environment variable on Windows withUSERPROFILE
- Mention git and tar as dependencies in README
- Removed deleted commands from package.json
- Updated dependencies
- Replaced the global-env system with with sdk-toolchain management
- Updated ECMA script version to
ES2023
vscode-windows-registry
dependency- Windows install detection and the depdendency on
pico-sdk-manager
for Linux and macOS systems
- Min VS Code version is now v1.82.0
- Updated dependencies
raspberry-pi-pico.editSdks
command to modify installed sdks
- Fixed PATH separator cross-platform\
- Add
.bashrc
to global path files - Dependencies update
- Unnecessary tkinter requirement
- Fixed SDK & Toolchain detection on Windows when only uninstaller detection works
- Fixed timeout on slower machines
- Fixed environment for pico project generator
- Dependencies update
- Add wireless and code generator options to
newProject
command - Add more warning message concerning the environment variables
- Set current
process.env
when updating global vars
- Dependencies update
- Add fix Windows reg script util (not included in extension, just for debugging)
- Installed Pico SDK (and toolchain) detection from existing environment variables disabled
- Add Pico SDK (and toolchain) detection from uninstallers on Windows
- Initial release