Releases: thonny/thonny
Version 5.0.0
πΊπ¦ Thonny 5 is dedicated to Ukraine fighting the Russian invasion. Please support Ukraine! πΊπ¦
Thonny 5 was originally planned to include many new features, but because they are taking longer than expected, we are releasing version 5 as an intermediate bug-fix release, mainly to add compatibility with newer Python versions. The major version number has been increased only because of dependency upgrades in the bundles. All new features have been moved to the version 6 milestone.
Installation instructions
NB! It is recommended to uninstall Thonny 4 before installing Thonny 5. Also note that you may get an error when you start up new Thonny as your previous configuration referred to the Python executable in another location. In this case click on the button in the lower-right corner of Thonny's window and select new interpreter.
Windows
The main Windows installer (thonny-5.0.0-x64.exe) is 64-bit and comes with Python 3.14 -- this means it is suitable only for 64-bit Windows 10 and 11. Installers for Windows 7, 8 and 32-bit Windows 10 are not published anymore, but you can install an older Python version and Thonny separately.
Since 5.0 we publish a separate installer for Windows on Arm.
macOS
Since 5.0 we publish separate installers for Intel and Apple silicon Macs (M1, M2, etc) -- thonny-5.0.0-x64.pkg and thonny-5.0.0-arm64.pkg. The minimum supported macOS version for these installers is 10.15 (Catalina), but you can install an older Python version and Thonny separately on older macOS-s.
Linux
Since 5.0 we don't publish binary bundles for Linux anymore. Instead use thonny-5.0.0.bash which uses your system Python and creates a venv for installing Thonny and its dependencies.
NB! ~/apps/thonny/bin/thonny is broken in this release, use the generated desktop launcher or ~/apps/thonny/bin/python -m thonny for launching.
Changes since 4.1.7
Breaking changes
- Upgrade bundled Python version to 3.14. This means the Windows installer now requires at least Window 10 and macOS installer requires at least Catalina! Python 3.8 is still supported, so in principle you can use this version in Windows 7, but you wouldn't gain much over 4.1.7.
- Stop publishing binaries for Linux, #3210. The Linux installation script now creates a private venv (based on system python3) for Thonny even in x84_64.
- Stop publishing XXL bundle as it is not trivial to prepare bundles for all popular architectures while making sure there are no version conflicts between the large number of packages. For teachers who relied on the XXL bundle, the work-around is to prepare a suitable requirements.txt, which can be used as input in Thonny's package manager.
- Start publishing separate installers for Intel and Arm Macs.
- Stop publishing installers for 32-bit Windows.
- Start publishing installers for Arm-Windows.
- "For all users" installation in Windows now ends up in "C:\Program Files" instead of earlier "C:\Program Files (x86)"
Other changes and fixes
- By default, Tk file dialogs are now used instead of Zenity in Linux (uncheck "Tools => Options => Use Tk file dialogs instead of Zenity" to revert this choice)
- Add support for Python 3.11, 3.12, 3.13, 3.14, 3.15 (#3213, #3577, #3799, #2739, #3744 by @mkluson, #3082, #3729, #3552 by @plexus)
- Fix macOS crash when opening package selection dialog
- Check if in virtual environment on boot, #3112 by @scottfp
- Add Python coloring for pyx-files, #3450
- Use subprocess.CREATE_NO_WINDOW when creating subprocess in Windows, #2817, tipped by @Damian-2001
- Allow stopping auto-scroll in Shell by scrolling up, #1988
- Get rid of a find-replace warning, #3593
- Add support for newer setuptools versions
- Add support for newer Tkinter versions (#3744 by @mkluson)
- Upgrade several bundled dependencies (Pylint, Mypy, esptool, etc.)
- Add Arabic, Bulgarian, Hindi, Indonesian, Icelandic and Malayalam translation. Update several other translations. Thanks for all contributors! Please see https://poeditor.com/projects/view?id=256075 for credits! Please note that Thonny's maintainers have not reviewed the translations!
- Make flashing dialogs support more families, #3847
Regressions fixed since 5.0.0b1
- Fix broken GUI entry script (most relevant in Linux, ~/apps/thonny/bin/thonny now works again), #3844
- Fix sending file paths as arguments to Windows Thonny launcher, #3835
- Fix clipboard management in Windows, #3832
- Fix "There is no current event loop in thread 'MainThread'" error in UF2 dialog in Linux, #3775 by @matejmatuska
Version 5.0.0b1
πΊπ¦ Thonny 5 is dedicated to Ukraine fighting the Russian invasion. Please support Ukraine! πΊπ¦
Thonny 5 was originally planned to include many new features, but because they are taking longer than expected, we are releasing version 5 as an intermediate bug-fix release, mainly to add compatibility with newer Python versions. The major version number has been increased only because of dependency upgrades in the bundles. All new features have been moved to the version 6 milestone.
Installation instructions
NB! It is recommended to uninstall Thonny 4 before installing Thonny 5. Also note that you may get an error when you start up new Thonny as your previous configuration referred to the Python executable in another location. In this case click on the button in the lower-right corner of Thonny's window and select new interpreter.
Windows
The main Windows installer (thonny-5.0.0b1-x86_64.exe) is 64-bit and comes with Python 3.14 -- this means it is suitable only for 64-bit Windows 10 and 11. Installers for Windows 7, 8 and 32-bit Windows 10 are not published anymore, but you can install an older Python version and Thonny separately.
Since 5.0 we publish a separate installer for Windows on Arm.
macOS
Since 5.0 we publish separate installers for Intel and Apple silicon Macs (M1, M2, etc) -- thonny-5.0.0b1-x86_64.pkg and thonny-5.0.0b1-arm64.pkg. The minimum supported macOS version for these installers is 10.15 (Catalina), but you can install an older Python version and Thonny separately on older macOS-s.
Linux
Since 5.0 we don't publish binary bundles for Linux anymore. Instead use thonny-5.0.0-b1.bash which uses your system Python and creates a venv for installing Thonny and its dependencies.
NB! ~/apps/thonny/bin/thonny is broken in this release, use the generated desktop launcher or ~/apps/thonny/bin/python -m thonny for launching.
Changes since 4.1.7
Breaking changes
- Upgrade bundled Python version to 3.14. This means the Windows installer now requires at least Window 10 and macOS installer requires at least Catalina! Python 3.8 is still supported, so in principle you can use this version in Windows 7, but you wouldn't gain much over 4.1.7.
- Stop publishing binaries for Linux, #3210. The Linux installation script now creates a private venv (based on system python3) for Thonny even in x84_64.
- Stop publishing XXL bundle as it is not trivial to prepare bundles for all popular architectures while making sure there are no version conflicts between the large number of packages. For teachers who relied on the XXL bundle, the work-around is to prepare a suitable requirements.txt, which can be used as input in Thonny's package manager.
- Start publishing separate installers for Intel and Arm Macs.
- Stop publishing installers for 32-bit Windows.
- Start publishing installers for Arm-Windows.
- "For all users" installation in Windows now ends up in "C:\Program Files" instead of earlier "C:\Program Files (x86)"
Other changes and fixes
- By default, Tk file dialogs are now used instead of Zenity in Linux (uncheck "Tools => Options => Use Tk file dialogs instead of Zenity" to revert this choice)
- Add support for Python 3.11, 3.12, 3.13, 3.14, 3.15 (#3213, #3577, #3799, #2739, #3744 by @mkluson, #3082, #3729, #3552 by @plexus)
- Fix macOS crash when opening package selection dialog
- Check if in virtual environment on boot, #3112 by @scottfp
- Add Python coloring for pyx-files, #3450
- Use subprocess.CREATE_NO_WINDOW when creating subprocess in Windows, #2817, tipped by @Damian-2001
- Allow stopping auto-scroll in Shell by scrolling up, #1988
- Get rid of a find-replace warning, #3593
- Add support for newer setuptools versions
- Add support for newer Tkinter versions (#3744 by @mkluson)
- Upgrade several bundled dependencies (Pylint, Mypy, esptool, etc.)
- Add Arabic, Bulgarian, Hindi, Indonesian, Icelandic and Malayalam translation. Update several other translations. Thanks for all contributors! Please see https://poeditor.com/projects/view?id=256075 for credits! Please note that Thonny's maintainers have not reviewed the translations!
Version 4.1.7
πΊπ¦ Thonny 4 is dedicated to Ukraine fighting the Russian invasion. Please support Ukraine! πΊπ¦
Installation instructions
Windows
Default Windows installer (thonny-4.1.7.exe) is 64-bit and comes with Python 3.10 -- this means it is suitable only for 64-bit Windows 8.1, 10 and 11. For Windows 7, 8 and for 32-bit Windows 10 use thonny-py38-4.1.7.exe which comes with 32-bit Python 3.8.
macOS
thonny-4.1.7.pkg contains Universal2 build of Python 3.10 -- this means it is suitable for both Arm and Intel Macs.
Linux
thonny-4.1.7.bash is a script, which downloads and installs thonny-4.1.7-x86_64.tar.gz (with Python 3.10) when run on x86_64 machines. On other platforms it tries to use system python3 (creates a virtual environment for Thonny and installs thonny and its dependencies there)
Changes since 4.1.6
- Fix PyPI package search. Thonny now bases search results on the list of 5000 most popular PyPI packages. If you need to install a less popular package, you need to enter the exact name, #3401
- Allow selecting ESP32-C6 family in esptool dialog, #3363
- Update org.thonny.Thonny.appdata.xml
- Update bundled esptool
- Fix missing dbus-next dependency in Linux
Version 4.1.6
πΊπ¦ Thonny 4 is dedicated to Ukraine fighting the Russian invasion. Please support Ukraine! πΊπ¦
Installation instructions
Windows
Default Windows installer (thonny-4.1.6.exe) is 64-bit and comes with Python 3.10 -- this means it is suitable only for 64-bit Windows 8.1, 10 and 11. For Windows 7, 8 and for 32-bit Windows 10 use thonny-py38-4.1.6.exe which comes with 32-bit Python 3.8.
macOS
thonny-4.1.6.pkg contains Universal2 build of Python 3.10 -- this means it is suitable for both Arm and Intel Macs.
Linux
thonny-4.1.6.bash is a script, which downloads and installs thonny-4.1.6-x86_64.tar.gz (with Python 3.10) when run on x86_64 machines. On other platforms it tries to use system python3 (creates a virtual environment for Thonny and installs thonny and its dependencies there)
Please note, that version 4.1.5 was published only at PyPI and no binary builds were published for that version.
Changes since 4.1.4
- Make macOS installer work in Sequoia, #3283
- Add more entitlements for macOS app bundle (may fix problems with programs using camera or microphone)
- New and updated languages thanks to the translators at POEditor
- Fix handling nulls in PyPI metadata (fixes installing some PyPI packages)
- Work around dialogs getting stuck after minimizing windows, #3068
- Fix too eager instrumentation of MicroPython code, #3043
- Fix installing package from local file
- Update several dependencies
Version 4.1.4
πΊπ¦ Thonny 4 is dedicated to Ukraine fighting the Russian invasion. Please support Ukraine! πΊπ¦
Installation instructions
Windows
Default Windows installer (thonny-4.1.4.exe) is 64-bit and comes with Python 3.10 -- this means it is suitable only for 64-bit Windows 8.1, 10 and 11. For Windows 7, 8 and for 32-bit Windows 10 use thonny-py38-4.1.4.exe which comes with 32-bit Python 3.8.
macOS
thonny-4.1.4.pkg contains universal2 build of Python 3.10 -- this means it is suitable for both Arm and Intel Macs.
Linux
thonny-4.1.4.bash is a script, which downloads and installs thonny-4.1.4-x86_64.tar.gz (with Python 3.10) when run on x86_64 machines. On other platforms it tries to use system python3 (creates a virtual environment for Thonny and installs thonny and its dependencies there)
Changes since 4.1.3
Version 4.1.3
πΊπ¦ Thonny 4 is dedicated to Ukraine fighting the Russian invasion. Please support Ukraine! πΊπ¦
Installation instructions
Windows
Default Windows installer (thonny-4.1.3.exe) is 64-bit and comes with Python 3.10 -- this means it is suitable only for 64-bit Windows 8.1, 10 and 11. For Windows 7, 8 and for 32-bit Windows 10 use thonny-py38-4.1.3.exe which comes with 32-bit Python 3.8.
macOS
thonny-4.1.3.pkg contains universal2 build of Python 3.10 -- this means it is suitable for both Arm (M1, M2) and Intel Macs.
Linux
thonny-4.1.3.bash is a script, which downloads and installs thonny-4.1.3-x86_64.tar.gz (with Python 3.10) when run on x86_64 machines. On other platforms it tries to use system python3 (creates a virtual environment for Thonny and installs thonny and its dependencies there).
Changes since 4.1.2
- Fix first run crash on macOS (#2860)
- Fix package upgrade and uninstall in portable variant (#2902)
- Fix esptool flasher proposing wrong starting address for ESP32-S2 devices, #2920
- Fix cursor jumping to Shell when program waits for input and the user types opening parenthesis in the editor, #2834
- Add Catalan translation (by Pere)
- Update German, French, Portuguese and Romanian translations. (See POEditor for contributions)
Version 4.1.2
πΊπ¦ Thonny 4 is dedicated to Ukraine fighting the Russian invasion. Please support Ukraine! πΊπ¦
Installation instructions
Windows
Default Windows installer (thonny-4.1.2.exe) is 64-bit and comes with Python 3.10 -- this means it is suitable only for 64-bit Windows 8.1, 10 and 11. For Windows 7, 8 and for 32-bit Windows 10 use thonny-py38-4.1.2.exe which comes with 32-bit Python 3.8.
macOS
thonny-4.1.2.pkg contains universal2 build of Python 3.10 -- this means it is suitable for both Arm (M1, M2) and Intel Macs.
Linux
thonny-4.1.2.bash is a script, which downloads and installs thonny-4.1.2-x86_64.tar.gz (with Python 3.10) when run on x86_64 machines. On other platforms it tries to use system python3 (creates a virtual environment for Thonny and installs thonny and its dependencies there).
Changes since 4.1.1
- Avoid repetitive attempts to restart backend after connection gets lost during a Run (#2836)
- Automatically hide tooltips if window loses focus, #2607
- Import optional deps with augmented sys.path, fixes problems with importing plug-ins (#2816)
- Don't leak main site-packages to virtual environment's sys.path, #2867
- Fix Assistant error with relative imports, #2873
- Don't attempt to save unchanged editor at run, #2804
- Fix MicroPython upload errors by more conservative back-end isolation, #2016, #2851, #2864. Many thanks to @chechigp for patience and help!
- Fix MicroPython code completions by fixing packaging of base MicroPython stubs, #2895
- Fix various completion failures by reverting a jedi hack (67f2c12)
- Avoid duplicate MicroPython completions when a module is already imported (852308f)
- Update Persian, Italian, Japanese, Brazilian Portuguese and Chinese translations (see POEditor for contributions)
Version 4.1.1
πΊπ¦ Thonny 4 is dedicated to Ukraine fighting the Russian invasion. Please support Ukraine! πΊπ¦
Installation instructions
Windows
Default Windows installer (thonny-4.1.1.exe) is now 64-bit and comes with Python 3.10 -- this means it is suitable only for 64-bit Windows 8.1, 10 and 11. For Windows 7, 8 and for 32-bit Windows 10 use thonny-py38-4.1.1.exe which comes with 32-bit Python 3.8.
macOS
thonny-4.1.1.pkg contains universal2 build of Python 3.10 -- this means it is suitable both for Arm (M1, M2) and Intel Macs.
Linux
thonny-4.1.1.bash is a script, which downloads and installs thonny-4.1.1-x86_64.tar.gz (with Python 3.10) when run on x86_64 machines. On other platforms it tries to use system python3 (creates a virtual environment for Thonny and installs thonny and its dependencies there).
Changes since 4.1.0
- Fix the warning for cases where Thonny avoids user module shadowing a library module (#384)
- Fix installing from local file in ESP flashing dialog (#2811)
- Use a tilde to separate pre-release versions in the AppData (#2807), by @jwillikers
- Use bigger initial width in simple mode
- Big progress with Italian translation, by mapi68, Ribezzz and sailslack
- Updated Chinese (TW) and English (UK) translations
Version 4.1.0
πΊπ¦ Thonny 4 is dedicated to Ukraine fighting the Russian invasion. Please support Ukraine! πΊπ¦
Installation instructions
Windows
Default Windows installer (thonny-4.1.0.exe) is now 64-bit and comes with Python 3.10 -- this means it is suitable only for 64-bit Windows 8.1, 10 and 11. For Windows 7, 8 and for 32-bit Windows 10 use thonny-py38-4.1.0.exe which comes with 32-bit Python 3.8.
macOS
thonny-4.1.0.pkg contains universal2 build of Python 3.10 -- this means it is suitable both for Arm (M1, M2) and Intel Macs.
Linux
thonny-4.1.0.bash is a script, which downloads and installs thonny-4.1.0-x86_64.tar.gz (with Python 3.10) when run on x86_64 machines. On other platforms it tries to use system python3 (creates a virtual environment for Thonny and installs thonny and its dependencies there).
Changes since 4.0.2
New
- Enhance esptool GUI (propose known MicroPython and CircuitPython downloads; allow setting baud rate and start address; allow querying device info), #2707, #1600, #2536, #1171, #2657
- Ensure Thonny's backends don't get confused by other installations, #2616
- Detect and warn if user module is shadowing a library module, #384
- Make serial port description in interpreter selection menu more descriptive
- Added pt_BR translation for all help pages, #2673, by @mgmalheiros
- Add Pololu MicroPython downloads to UF2 flasher
- Use UDisks to find mounted filesystems on Linux, #2683 by jwillikers
Fixes
- Fix a potential autocompletion error, #2162
- Experiment with better MicroPython raw paste fallback, #2624
- Fix sys.sdtout.write return value, #2629
- Remove unnecessary shebangs, #2645
- Add option for saving unnamed editors before Run/Debug, #2619
- Fix blank editors in macOS, again, #2425
- Fix todo view, #2681, by @kr-g
- Minor corrections for English help pages, #2674, by @mgmalheiros
- Upgrade bundled esptool from 4.4 to 4.5
- Allow Linux installer to use existing Python 3.11 and 3.12, #2676
- Require saving before using fast debugger, #2699, by @michaellass
- Add missing translation sites in editors.py, #2705 by @nicolasdespres
- Restore MicroPython completions in the shell, #2467, #2419
- Don't use deprecated FLASK_ENV environment variable.
- Add better shortcut for increasing font size in macOS, #2725
- Avoid falling back to Python menu in simple mode on macOS, #2729
- Various improvements to "Kind of Aqua" UI theme, #2760
- Fix double paste with Command-V when CapsLock on, #2753
- Fix Cut with Command-X when CapsLock on, #2753
Bundled dependency changes
- Upgrade bundled Python from 3.10.9 to 3.10.11
- Upgrade bundled Tk from 8.6.12 to 8.6.13
- Upgrade bundled Pylint from 2.15 to 2.17
- Upgrade bundled MyPy from 0.991 to 1.2
Changes since 4.1.0b1
- Fix MicroPython config page regression introduced in 4.1.0b1 (#2724, #2763)
- Fix remote Python 3 (SSH) connection error (regression introduced in 4.1.0b1)
- Fix code completion shortcut displayed in macOS menu
- Add command "Show esptool version" for ESP flasher
- Don't disconnect for ESP flasher commands which don't touch the device
- Close tab on middle click (#2767) by @mrexodia
- Make package manager support new micropython-lib index (#2777)
- Report macOS version instead of Darwin version in the About box
- Implement more flexible Raspberry Pi detection
- Enable thonny to open and save files with zenity 3.91+ (#2786) by @befeleme
- Make dbus_next dependency optional (#2771)
- Recognize ESP32 as possible CircuitPython device
- Add menu indicator for back-end switcher
- Allow WebREPL for RP2040 backend (experimental)
- Use correct MicroPython start address (0x0 instead of 0x1000) when flashing ESP32-S3
- Recognize ESP32 devices by VID 0x303A
- Don't show irrelevant ports in port selector (e.g. /dev/cu.Bluetooth-Incoming-Port)
- Allow setting --flash-size in ESP flasher, #2801
- Rename "Raspberry Pi" initial settings to "Raspberry Pi (simple)"
- Update several translations
- Add en_GB translation
- Attempt to overcome "window was deleted before its visibility changed" error
- Fix pipkin directory creation in paste mode (e.g. package installation via WebREPL)
- Upgrade bundled websockets, paramiko, docutils, mypy, Send2Trash, esptool to latest versions
Version 4.1.0b1
πΊπ¦ Thonny 4 is dedicated to Ukraine fighting the Russian invasion. Please support Ukraine! πΊπ¦
Installation instructions
Windows
Default Windows installer (thonny-4.1.0b1.exe) is now 64-bit and comes with Python 3.10 -- this means it is suitable only for 64-bit Windows 8.1, 10 and 11. For Windows 7, 8 and for 32-bit Windows 10 use thonny-py38-4.1.0b1.exe which comes with 32-bit Python 3.8.
macOS
thonny-4.1.0b1.pkg contains universal2 build of Python 3.10 -- this means it is suitable both for Arm (M1, M2) and Intel Macs.
Linux
thonny-4.1.0b1.bash is a script, which downloads and installs thonny-4.1.0b1-x86_64.tar.gz (with Python 3.10) when run on x86_64 machines. On other platforms it tries to use system python3 (creates a virtual environment for Thonny and installs thonny and its dependencies there).
Changes since 4.0.2
4.1.0b1 is a feature and bug-fix pre-release.
New
- Enhance esptool GUI (propose known MicroPython and CircuitPython downloads; allow setting baud rate and start address; allow querying device info), #2707, #1600, #2536, #1171, #2657
- Ensure Thonny's backends don't get confused by other installations, #2616
- Detect and warn if user module is shadowing a library module, #384
- Make serial port description in interpreter selection menu more descriptive
- Added pt_BR translation for all help pages, #2673, by @mgmalheiros
- Add Pololu MicroPython downloads to UF2 flasher
- Use UDisks to find mounted filesystems on Linux, #2683 by jwillikers
Fixes
- Fix a potential autocompletion error, #2162
- Experiment with better MicroPython raw paste fallback, #2624
- Fix sys.sdtout.write return value, #2629
- Remove unnecessary shebangs, #2645
- Add option for saving unnamed editors before Run/Debug, #2619
- Fix blank editors in macOS, again, #2425
- Fix todo view, #2681, by @kr-g
- Minor corrections for English help pages, #2674, by @mgmalheiros
- Upgrade bundled esptool from 4.4 to 4.5
- Allow Linux installer to use existing Python 3.11 and 3.12, #2676
- Require saving before using fast debugger, #2699, by @michaellass
- Add missing translation sites in editors.py, #2705 by @nicolasdespres
- Restore MicroPython completions in the shell, #2467, #2419
- Don't use deprecated FLASK_ENV environment variable.
- Add better shortcut for increasing font size in macOS, #2725
- Avoid falling back to Python menu in simple mode on macOS, #2729
- Various improvements to "Kind of Aqua" UI theme, #2760
- Fix double paste with Command-V when CapsLock on, #2753
- Fix Cut with Command-X when CapsLock on, #2753
Bundled dependency changes
- Upgrade bundled Python from 3.10.9 to 3.10.11
- Upgrade bundled Tk from 8.6.12 to 8.6.13
- Upgrade bundled Pylint from 2.15 to 2.17
- Upgrade bundled MyPy from 0.991 to 1.2