Skip to content

v3.0.0

Choose a tag to compare

@jim-at-jibba jim-at-jibba released this 08 Oct 14:41
· 15 commits to main since this release
91c3404

micropython.nvim v3 is a rewrite around one :MP command, mpremote and uv. It has breaking changes: see Migrating from v2 in the README.

Highlights

  • One :MP command with tab completion for every subcommand, and :checkhealth micropython_nvim with install hints (#13)
  • Works without snacks.nvim: built-in terminal and vim.ui.select fallbacks; snacks.nvim is optional (#13)
  • Reliable uploads: nested folders upload correctly (#11), project paths are kept on the device, unchanged files are skipped, and optional upload on save (#14)
  • Device file browser: open, edit and save device files as mp:// buffers (#15)
  • Persistent REPL split: send the line, selection or buffer, and interrupt running code (#16)
  • Device tools: :MP info (firmware, board, storage, clock) and :MP mip library installs (#17)
  • Board detection and stubs: :MP init suggests stubs for the connected board and sets up pyright; :MP install installs them into typings/ (#18)
  • Firmware flashing with mpflash: :MP flash with a version picker (#19)
  • :MP run and :MP run_main go through the REPL when it holds the port (#20)
  • typings/ and pyrightconfig.json are never uploaded to the device (#32)
  • A demo project and full manual test suite for real hardware in demo/ (#33)

Breaking changes

  • The :MPxxx commands are gone; use :MP <subcommand>
  • .ampy files are no longer read; the port lives in .micropython
  • The baud option and BAUD= in .micropython are removed
  • :MP run_main runs your local main.py instead of the device's copy (use :MP reset to run the device's)
  • :MP upload keeps project paths: lib/led.py goes to :lib/led.py, not the device root
  • toggleterm.nvim and dressing.nvim are no longer used
  • initialise() is replaced by setup(), and the legacy helpers in micropython_nvim.utils are removed

See the README's migration guide for the full list.

Full Changelog: v2.0.0...v3.0.0