Releases: thonny/thonny
Version 4.0.0b4
🇺🇦 Thonny 4 is dedicated to Ukraine fighting the Russian invasion. Please support Ukraine! 🇺🇦
NB! Windows installers have been signed with a new certificate which hasn't built up its reputation yet! You may need to click through your browser warnings (choose "Keep" instead of "Discard" in Chrome) and Windows Defender warning (More info => Run anyway).
Changes and fixes since 4.0.0b3:
- CHANGED: Require single click for toggling a breakpoint, #2293
- Refactor MicroPython/CircuitPython flashing dialog, #2344
- Add TODO view (by @kr-g), #2067
- Add possibility to activate a virtual environment via Files view (by @kr-g), #2381
- Add separate "Install ..." items to the back-end switcher menu if a device in UF2 bootloader mode is detected, #2387
- Automatically reload saved files after external modification (with help from @kr-g), #1589, #1455, #1968
- Add EV3 default password information to config page, #2284
- Don't choke on relative interpreter paths, #2335
- Don't crash when Windows network locations can't be found, #2285
- Don't show package extra deps even when the extra is combined with another condition
- Make paddings larger for hi-res displays
- Take OSC commands into account when looking for prompts (relevant for CircuitPython 8), #2349
- Support OSC sequences for setting terminal title, #2369
- Toggle hidden files also via file-browser's context menu, #1039
- Use "Install MicroPython" instead of "Install firmware", #2364
- Rename "Python 3" back-end to "Local Python 3"
- Seed find/replace with currently-selected text, #2356
- Work around Pylint error (make Pylint work again), #2359
- Add coloring for
match
andcase
soft keywords, #2358 - Add Slovenian translation (by cspaier)
- Update several translations
- Fix translations with bad placeholders (by @abrarwali), #2253
Version 4.0.0b3
🇺🇦 Thonny 4 is dedicated to Ukraine fighting the Russian invasion. Please support Ukraine! 🇺🇦
Changes since 4.0.0b2:
- BREAKING: Don't SetProcessDpiAwareness for user programs anymore. This means for example, that Tkinter and Pygame programs on Windows run as if they were executed with plain Python (ie they may become blurry on modern displays). For clear picture, start your program with
import ctypes; ctypes.OleDLL("shcore").SetProcessDpiAwareness(1)
, #2159 - Add "Assistant" help page explaining the possibility to omit selected Pylint checks, #1978
- Add command "Run => Visualize current script at Python Tutor", #2242
- Fix debugger error when importing user modules (regression introduced in 4.0.0b1), #2246
- Add options for automatically making uploaded or saved shebang scripts executable (includes changing Windows line breaks to Unix ones). See "Editor" and SSH-backends' config pages.
- Don't propose pythonw.exe as initial backend, #2236
- Fix error when trying to open a file from file browser with ENTER, #1785
- Fix support for remote Python 3 over SSH (regression introduced in one of the 4.0.0 betas), #2249
- Support CircuitPython with micro:bit, #2251
- Avoid wobbling of AutomaticScrollbar, helpful report by @TooLazy0x00, #2258
- Fix problem uninstalling MicroPython packages
- Install packages without --user in portable mode, #1606
- Allow back-end plugins to modify sys.path, #2281
- Use %run instead of %Run when skipping interpreter restart, #1565
- Updated Estonian, Thai and Brazilian Portuguese translations
- EXPERIMENTAL: Add LEGO® EV3 back-end: "Run => Select interpreter => MicroPython (EV3)"
Version 4.0.0b2
🇺🇦 Thonny 4 is dedicated to Ukraine fighting the invasion of Russian orcs. Please support Ukraine! 🇺🇦
Known issues:
- Windows bundle proposes pythonw.exe as default interpreter. This interpreter does not allow interrupting programs with Ctrl+C. It is recommend to switch to "Thonny's Python" from the lower-right corner of the main window.
Changes since 4.0.0b1:
- Add 32-bit bundle with Python 3.8 for Windows (the main Windows bundle is now 64-bit and contains Python 3.10, which doesn't support Windows 7)
- Fix the problem with scripts having declared encoding something else than UTF-8, #1650
- Don't clear shell after automatic restart
- Fixes certain problems with running Flask programs, #2062
- Fix KeyError: 'ESP32.url' when connecting to WebREPL, #2082 (regression introduced in b1)
- Fix parameter completions where name of local variable was proposed with trailing '='
- Fix error with printing (regression introduced in b1), #2233
- Fix Find & replace dialog not appearing, #2208
- Fix display of debugger frames (regression introduced in 4.0.0b1), #2216
- Warn when environment value is provided with quotes, #2184
- Let macOS installer know the bundle is able to run in arm64 mode, #2201
- Update completion stubs for MicroPython and CircuitPython (from @hlovatt and @adafruit)
- Add compatibility with Python 3.8 via Windows launcher, #2206
- Disable "Run" command when MicroPython device is disconnected
- Make Shell read-only when device is disconnected
- Fix various problems with managing files on CircuitPython devices
- Don't assume all CircuitPython boards have RTC, #1760
- Fix error with evaluating
globals()
on MicroPython device, #1938 - Add MicrobitImage inspector for Object inspector
- Add Tamil translation, by Kamala Kannan K and அனிச்பிரபு தி, #2211
- Add Thai translation, by Tomzt Pimai and Game of
- Update translations for German, Spanish, Japanese, Slovak, Korean, Brazilian Portuguese, Albanian
Version 4.0.0b1
🇺🇦 Thonny 4 is dedicated to Ukraine fighting against the invasion of Russian army Putin's terrorists. Please support Ukraine! 🇺🇦
4.0.0b1 is a pre-release with several new features and bugfixes. Please test to find and report the remaining (and new) bugs!
Known issues
- At least on Windows, launching Thonny fails with Python 3.8. This will be fixed in the next beta (#2206)
Changes since 3.3.13
Distribution
- Upgrade bundled Python to 3.10
- Mac bundle now comes with the unversal2 build of Python
- Drop support for Python 3.5, 3.6 and 3.7
- The main Windows bundle is now 64-bit. For fallback publish 32-bit bundle with Python 3.8 for 32-bit Windows 10 and 8.1 and all variants of Windows 7 and 8.
- Stop publishing 32-bit Linux bundles.
- Enhance Linux installer script (the .bash-file) to create a venv and pip-install Thonny if run on a platform for which there is no binary bundle available. This means you can now use Linux installer also on Raspberry Pi, #1736
Code completion and analysis
- Add the option for automatically getting completions while typing (Tools => Options => Editor)
- Selecting a completion with Tab now replaces the name suffix right of the cursor, #1998
- Turn off requesting completions with Tab in editors by default, #2069
- Show documentation for the selected completion with another Ctrl-Space or automatically (Tools => Options => Editor)
- Add "call-tips" -- a box describing the formal parameters of current method call. Invoke manually with Ctrl-Shift-Space or automatically after typing open parentheses (Tools => Options => Editor)
- Enhance Go-to-definition (Ctrl-click). The name is now underlined while ctrl-hovering over it.
MicroPython
- Use pipkin for managing packages on MicroPython and CircuitPython devices. This enables proper listing of packages together with version info and proper uninstallation.
- Use
.local_rtc
config parameters instead of (oppositely worded).utc_clock
in MicroPython back-ends, 116aecd - Present MicroPython time options (whether to sync time and whether to use local time) in back-end configuration page, #1638
- Automatically interrupt current process when connecting to bare-metal MicroPython or CircuitPython device. This can be turned off at device's settings page, #2059
- Don't hide the output when Stop/Restarting MicroPython, #1805
- Make internal MicroPython errors less intimidating. In several cases the errors are caused by bugs in MicroPython or USB driver and there is no use of showing the stacktrace. User is now directed to restart the device and stacktrace can be checked from the backend.log, #1799
- Make MicroPython back-end advise Ctrl+C also if only whitespace characters get printed, #1755
- Allow running MicroPython scripts without soft-rebooting first, #1565, #1716
- Add generic "MicroPython (RP2040)" back-end in addition to the more specific "MicroPython (Raspberry Pi Pico)", #2151
- Mention the possibility to reconfigure file types when denying opening remote files in a system app, #2148
Various
- Add new toolbar button which opens the wiki page describing ways to help Ukraine survive the attack from Russia.
- Allow running content of untitled editors without saving, #778
- Clear Shell before starting new process (Run, Debug, Stop/Restart, ...) by default. Can be turned off in Tools => Options => Shell, #1681
- Make stacktrace links to
<stdin>
and<input>
pseudo-files go to the editor containing corresponding source, #778 - Ask confirmation for adding .py extension when the user saves the file without any extension to MicroPython/CircuitPython device, #2077
- Don't add the .py extension when the user saves a local file and selects "All files" filter.
- Add Cut/Copy/Paste to the file browser, #2001 by @kr-g
- Make editor remember current line when reloading external changes, #2001 by @kr-g
- Add "Edit => Go to line..." command (Ctrl-G), #2001 by @kr-g
- Add "Rename" command for the local file browser, #2001 by @kr-g
- Add nicer Stop-button for higher resolutions, #1445 by @speedy-10
- Improve icon scaling -- use larger icons when Treeview row height is larger than
general.large_icon_rowheight_threshold
- Use default font in Treeviews (including Files and Variables view). Therefore Treeview's font size is now affected by the scaling factor and is not affected by editor font size.
- Use isolated mode for launching Thonny. This includes hiding user-site packages from Thonny's GUI process (not from user programs). Plug-ins now get installed under Thonny's data folder, #2038, #1651
- Allow installing packages for remote CPython backend, #1319
- Flatten the list of interpreters in the backend-switcher menu (lower-right corner of the main window)
- Removed previously deprecated "A special virtual environment". Use regular virtual environments instead.
- Merge "The same interpreter which runs Thonny" and "Alternative Python 3 interpreter or virtual environment" back-ends into "Local Python 3"
- Back-end switcher now remembers several configurations for remote CPython and MicroPython.
- Make package manager work for remote Python 3 (SSH)
Fixes
- Fix issues with printouts containing more than 999 lines, #2118, #1646
- Fall back to default theme when used 3rd party theme gets uninstalled, #2117
- Fix problem with Files hamburger menu when nothing is selected, #2101
- Fix Windows version detection in "Tools => Open system shell", #1961
- Make sure Thonny's dialogs are treated as dialogs in macOS and Linux, #1790
- Don't issue two Ctrl+C-s too quickly in row when interrupting MicroPython process, in order to give time for finally-blocks to clean up, #1757
- Fix asm_pio error when working in with RP-pico in shell mode, #1718
- Fix the crash when scripts longer than 4KB are sent to Python 3 SSH back-end, #1680
- Properly interrupt MicroPython code before submitting new code when using F5 while code is running, #1668
- Use "vista" Tk-theme instead of "xpnative" in Windows. Gives nicer combobox, #1663
- Fix problems with full screen and split screen views in macOS, #1293, #1012
- Fix the crash when pasting certain Unicode chars to editor in macOS, #32
- Fix the crash caused by Cmd-backtick and others with Spanish keyboard in macOS, #886
- Fix focus issues in dialogs, #2153
- Fix automatic horizontal scrollbar not always appearing, #2169 and #659 by @jharris1993 and @lurch
- Forward SSH password to the back-end process via stdin instead of command line.
Version 3.3.14
Version 3.3.13
Version 3.3.12 was a bug-fix release (not released on GitHub). Version 3.3.13 adds a small metadata update relevant (relevant only for Linux packagers).
Installation
- Windows: download and execute thonny-3.3.13.exe. You may receive a warning dialog from Defender until it gains more reputation. Just click "More info" and "Run anyway". NB! Windows installer has been refactored, see https://github.com/thonny/thonny/wiki/DeploymentOptions#all-users-vs-current-user-install for more info!
- macOS: download and open thonny-3.3.13.pkg and follow the instructions. NB! While using Thonny you may be asked for permission to use Desktop or Documents. Make sure you grant the permission, othewise Thonny can't work in that folder!
- macOS Big Sur: thonny-3.3.13.pkg may work, but if you are having problems, then try thonny-3.3.10-alt.pkg from the previous release. This one has universal build of Python 3.9 (instead of 3.7) and newer Tk (8.6.11 instead of 8.6.8).
- Linux on 32-bit and 64-bit x84: download thonny-3.3.13.bash and execute it with Bash (
bash thonny-3.3.13.bash
). - All platforms: create a virtual environment, install with
pip install thonny
and run withthonny
.
thonny-xxl
variants have more packages preinstalled.
Changes since 3.3.11
- Restore syncing to localtime for RPi Pico (fixed regression introduced in 3.3.11), #1886
- Fix installing from requirements.txt in MicroPython, #1879
- Allow specifying different colors for method and function calls, by Jonathan Campbell, #1884
- Extend editor API for plug-ins (close event and content load/save hooks), by Nicolas Despres, #1891
- Fix technical errors in some translations, by Karolina Surma, #1895
- Warn when inputting non-ascii chars in MicroPython, #1911
- Fix installing for all users in Windows installer, #1119 and #1909. See https://github.com/thonny/thonny/wiki/DeploymentOptions#all-users-vs-current-user-install for more info.
- Prepare Thonny for Flatpak, by Jordan Williams, #1900 and #1912
- Update minipip to 0.1b5 in order to skip installing Blinka when installing libraries for CircuitPython
- Update Polish translation
- Update org.thonny.Thonny.appdata.xml
Version 3.3.11
This is a bug-fix release.
Installation
- Windows: download and execute thonny-3.3.11.exe. You may receive a warning dialog from Defender until it gains more reputation. Just click "More info" and "Run anyway".
- macOS: download and open thonny-3.3.11.pkg and follow the instructions. NB! While using Thonny you may be asked for permission to use Desktop or Documents. Make sure you grant the permission, othewise Thonny can't work in that folder!
- macOS Big Sur: thonny-3.3.11.pkg may work, but if you are having problems, then try thonny-3.3.10-alt.pkg from the previous release. This one has universal build of Python 3.9 (instead of 3.7) and newer Tk (8.6.11 instead of 8.6.8).
- Linux on 32-bit and 64-bit x84: download thonny-3.3.11.bash and execute it with Bash (
bash thonny-3.3.11.bash
). - All platforms: create a virtual environment, install with
pip install thonny
and run withthonny
.
thonny-xxl
variants have more packages preinstalled.
Changes since 3.3.10:
- Fix MicroPython management errors when user code shadows built-in names, #1856
- Fix package manager getting frozen when installing packages, #1871
- Fix problem of MicroPython package manager taking module names for distribution names, #1833
- Fix ugly error in ESP flasher dialog when esptool is not found, #1837
- Fix Tkinter error when using venv created from bundled Python, #1835
- Use 0..6 for weekday when synchronizing RTC via machine, #1868
- Make esptool auto-detect chip type, #1838
- Fix Unix MicroPython time validation (misdiagnosed time offset)
- Update dependencies in Thonny+Python bundles
- Update Spanish, Polish, Chinese (TW) translations
Version 3.3.10
This is mainly a bug-fix release with one new feature -- the ability to install pip-compatible packages for MicroPython.
Note that 3.3.8 and 3.3.9 were not published on GitHub.
Installation
- Windows: download and execute thonny-3.3.10.exe. You may receive a warning dialog from Defender until it gains more reputation. Just click "More info" and "Run anyway".
- macOS: download and open thonny-3.3.10.pkg and follow the instructions. NB! While using Thonny you may be asked for permission to use Desktop or Documents. Make sure you grant the permission, othewise Thonny can't work in that folder!
- macOS Big Sur: thonny-3.3.10.pkg may work, but if you are having problems, then try thonny-3.3.10-alt.pkg. This one has universal build of Python 3.9 (instead of 3.7) and newer Tk (8.6.11 instead of 8.6.8).
- Linux on 32-bit and 64-bit x84: download thonny-3.3.10.bash and execute it with Bash (
bash thonny-3.3.10.bash
). UPDATE: pip support in Linux bundles was fixed on May 20th. If you downloaded it before this, then please download again! - All platforms: create a virtual environment, install with
pip install thonny
and run withthonny
.
thonny-xxl
variants have more packages preinstalled.
alt
-variants are bundled with Python 3.9.5 (instead of 3.7.9) and Tk 8.6.11. Not all platforms have alt-variants -- see 3.3.7 for more.
Known issues
- Installing MicroPython packages from requirements files doesn't work (#1823).
Changes since 3.3.7:
- Support installing regular pip-compatible packages to MicroPython or CircuitPython (so far only upip-compatible packages were supported), #1541
- Fix "error 403" problems when installing MicroPython packages from PyPI, #1822
- Fix error when Object inspector is open and a MicroPython object can't be found by id, #1796
- Reduce memory usage by Thonny's MicroPython helper (store last REPL value in global _ instead of storing N last values in a list), #1797, #1798
- Upgraded several dependencies in binary bundles
- Fix missing libffi6 error in Linux builds, #767
Version 3.3.7
This is mainly a bug-fix release.
Installation
- Windows: download and execute thonny-3.3.7.exe. You may receive a warning dialog from Defender until it gains more reputation. Just click "More info" and "Run anyway".
- macOS: download and open thonny-3.3.7.pkg and follow the instructions. NB! While using Thonny you may be asked for permission to use Desktop or Documents. Make sure you grant the permission, othewise Thonny can't work in that folder!
- macOS Big Sur: thonny-3.3.7.pkg may work, but if you are having problems, then try thonny-3.3.7-alt.pkg. This one has universal build of Python 3.9 (instead of 3.7) and newer Tk (8.6.11 instead of 8.6.8).
- Linux: download thonny-3.3.7.bash and execute it with Bash (
bash thonny-3.3.7.bash
)
thonny-xxl
variants have more packages preinstalled.
alt
-variants are bundled with Python 3.9.5 (instead of 3.7.9) and Tk 8.6.11. Note that alt
Windows installer is 64-bit.
thonny-3.3.7-py38.exe
is with Python 3.8 (latest Python version supporting Windows 7 and 8).
Changes since 3.3.6:
- Make confugration dialog larger to fit French strings, by sourceperl, #1694
- Fix "_prepare_after_soft_reboot" error in Unix MicroPython mode, #1715
- Support interactive programs with Unix MicroPython, #1725
- Fix read-only filesystem error for CircuitPython in non-English variants of CircuitPython, #1662
- Fix error on right clicking in local file explorer with Italian translation, #1713
- Fix back-end switcher menu position and theme, #1719, #1720
- Fix "pop from empty list" error when MicroPython is having problems, #1586
- Fix MYPYPATH / MyPy not working, #1124
- Highlight unclosed strings even inside unclosed parens, #1770
- Fix problem running code via WebREPL, #1762
- Make Outline show also async, defs #1787
- Don't show full error info when ManagementError doesn't seem to be Thonny's fault, #1788
- Don't show error dialog when querying globals fails (error is shown on the variables table instead), #1789
- Recover from corrupted rpc.sock ("invalid literal for int() with base 10" error), #1745
- Add 3 translated Help files for Spanish, by José Carlos García, #1759
- Add Korean translations of Help files, by Hyungseok Choi, #1758
- Add first version of Finnish translation by Lrasinen
- Update translations for Albanian, French, Korean
- Add newer MyPy (0.812) to binary bundles
Version 3.3.6
The main purpose of this release is to fix a regression introduced in 3.3.4 (#1670).
Installation
- Windows: download and execute thonny-3.3.6.exe. You may receive a warning dialog from Defender until it gains more reputation. Just click "More info" and "Run anyway".
- macOS: download and open thonny-3.3.6.pkg and follow the instructions. NB! While using Thonny you may be asked for permission to use Desktop or Documents. Make sure you grant the permission, othewise Thonny can't work in that folder!
- macOS Big Sur: thonny-3.3.6.pkg may work, but if you are having problems, then try thonny-3.3.6_alt.pkg. This one has universal build of Python 3.9 (instead of 3.7) and newer Tk (8.6.11 instead of 8.6.8).
- Linux: download thonny-3.3.6.bash and execute it with Bash (
bash thonny-3.3.6.bash
)
thonny-xxl
variants have more packages preinstalled.
Changes since 3.3.5:
- Fix crash in Shell when negative int-s are evaluated in MicroPython (regression introduced in 3.3.4), #1670
- Fix problems with wm_overrideredirect on macOS with Tk 8.6.11, #1659
- Fix crash in Plotter when more than 10 numbers are plotted, #1648
- Hide unsuitable PYTHONPATH environment variable in macOS, #1651