Branch: master
Find file Copy path
ae3eeba Feb 13, 2019
1 contributor

Users who have contributed to this file

576 lines (498 sloc) 31.3 KB

Version history

3.1.2 (2019-02-13)

  • FIXED: Make Terminal features work in Windows again
  • FIXED #685: Print cuts lines
  • FIXED #686: Stepping over user modules can be too slow
  • ENHANCEMENT: Include pip in binary bundles

3.1.1 (2019-02-09)

  • FIXED #674: Print doesn't work on Mac
  • FIXED #675: Make focus editor / shell shortcuts usable on Mac
  • FIXED #677: Debugging fails with extended slice syntax

3.1.0 (2019-01-28)

  • NEW: "Run => Pygame Zero mode" allows running Pygame Zero programs with F5
  • NEW: Support for Birdseye debugger (Run => Debug current script (Birdseye)) by Alex Hall
  • NEW: Notes view for writing down code snippets, task descriptions, etc.
  • NEW: Allow running current script in system terminal
  • NEW: "File => Print..." allows printing current script (via default web browser)
  • NEW: Shell's context menu now has editing commands
  • ENHANCEMENT: Open the Shell window on Run if it is not open
  • ENHANCEMENT: More robust support for running system commands in Thonny Shell (with ! prefix)
  • ENHANCEMENT: Allow switching off Pylint and/or MyPy checks
  • ENHANCEMENT: Make it clear how to exit Heap mode (with notification box in the upper-right corner of the main window)
  • FIXED #621: Holding Enter in the Shell causes a crash
  • FIXED #623: Parameters code completion error
  • FIXED #627: Debugging stops after raise statement
  • FIXED #628: Wrong line highlighted when stepping in for-loop
  • FIXED #629: Interrupting system command (!) shows ugly traceback
  • FIXED #633: pasting can't affect read-only text anymore
  • FIXED #641: Better font scaling in Linux (see Tools => Options => General for more control)
  • FIXED #646: Simple open file to edit from command line failing
  • FIXED #655: Invalid f-string crashes Assistant
  • FIXED #666: Make stdin iterable
  • FIXED: Solved several problems related to stepping through raising an exception
  • FIXED: Issues with automatic indentation (Thanks to Alex Hall!)
  • CHANGED: Use Konsole as terminal in KDE
  • CHANGED: "Tools => Open system shell" now shows relevant commands differently
  • CHANGED: Make Assistant's MyPy checks disabled by default
  • CHANGED: Source code now lives at GitHub (

3.0.8 (2018-11-15)

  • FIXED #424: Font scaling problems in Linux
  • FIXED #584: Guard against bad repr calls
  • TECHNICAL: Reduced required pyserial version (Fedora only has 3.1)

3.0.8 (2018-11-15)

  • FIXED #597: The directory with Python scripts may not be in path for executing system commands from shell
  • FIXED: Make executing shell commands compatible with Python 3.5
  • FIXED: Make MyPy support compatible with older MyPy versions
  • FIXED: Make turtle.pyi compatible with Python 3.5 and remove Windows linebreaks
  • FIXED: MyPy error col offset

3.0.7 (2018-11-14)

  • FIXED #592: MyPy doesn't work when cwd == sys.prefix
  • FIXED #593: No-message exceptions crash the Assistant
  • FIXED #595: Running system commands causes an error
  • FIXED #596: Arguments are ignored when running system commands from shell in Posix

3.0.6 (2018-11-13)

  • FIXED #538: Turtle programs may give false warnings (Typeshed stubs were not packaged)
  • FIXED #586: Import interception mechanism fails for some modules
  • FIXED #591: Assistant fails when filename is missing from error info

3.0.5 (2018-10-26)

  • FIXED #573: "Highlight matching names" and "Highlight local variables" makes editor very slow
  • FIXED #574: Error in outline
  • FIXED #578: resizing local variable pane in debugger causes error

3.0.4 (2018-10-22)

  • FIXED #564: In Windows "Highlight local variables" and "Higlight matching names" cause Thonny to load Jedi files

3.0.3 (2018-10-21)

  • FIXED: Regression from 3.0.2 (incomplete code refactoring)

3.0.2 (2018-10-21)

  • FIXED #563: Problems with HeapView and EventsView
  • FIXED #565: Don't replace tabs in shell

3.0.1 (2018-10-17)

  • FIXED: Problems with executing "Run" and "Debug" commands together with "cd" command
  • FIXED: Editor file name issues
  • FIXED: MicroPython %cat command failed over serial

3.0.0 (2018-10-16)

  • CHANGED: Line numbers are now visible by default
  • CHANGED: Stack and Assistant views are now in the bottom-right corner
  • CHANGED: Shell doesn't show full path of bundled interpreters anymore
  • ENHANCEMENT #555: Internal errors are now shown with more suitable dialog
  • FIXED #170: Command+k for clearing shell in Mac
  • FIXED #547: Recommend "..." button when plug-ins latest stable isn't suitable for this Thonny version
  • FIXED #548: Prevent inconsistent use of tabs and spaces error (when pasting or opening text containing tabs, Thonny proposes to replace them with spaces)
  • FIXED #557: Default window size too small for simple mode
  • FIXED #559: Make text copied to clipboard available even after closing Thonny
  • FIXED: Implemented workaround for
  • TECHNICAL: MicroPython backend now shows the source of failing internal commands

3.0.0rc1 (2018-10-08)

  • ENHANCEMENT: Documented several features (see Help => Help contents)
  • FIXED #523: Open system shell doesn't work with pip 10
  • FIXED #534: Add shortcut for step-back
  • FIXED #538: Turtle programs give false warnings

3.0.0b6 (2018-09-30)

  • CHANGED: In order to avoid pollution of user home directory, the configuration file and logs are now stored in directories recommended by platform style guides (%APPDATA%/Thonny on Windows, ~/Library/Thonny on Mac and ~/.config/Thonny on Linux). Old configuration and user logs will be imported on first run.
  • CHANGED: "Back end" configuration page was renamed to "Interpreter" (as it was in Thonny 2.1)
  • CHANGED: Python version in Thonny+Python bundles upgraded to 3.7.1rc1
  • NEW: File menu received a submenu for easy opening of recent files.
  • ENHANCEMENT: Add shortcut for clearing shell (Ctrl+L)
  • ENHANCEMENT: Warn when script is saved with a common library module name (eg.
  • ENHANCEMENT: Allow switching between regular and simple mode (Tools => Options => General)
  • FIXED #72: "View => Full screen" (in Expert mode) is now also available on Mac
  • FIXED #262: Add ability to select an autocomplete suggestion with TAB
  • FIXED #316: Nice debugger doesn't handle named arguments properly
  • FIXED #339: Allow disabling sound Tools => Options => General
  • FIXED #389: AST marker fails with dict merge
  • FIXED #478: Add option to reopen all files on start-up
  • FIXED #479: Make Thonny save configuration when "Quit"-ed on Mac
  • FIXED #480: Thonny now properly remembers opened files
  • FIXED #498: Open System Shell doesn't work on Raspberry
  • FIXED #501: Assistant feedback preview link doesn't work on mac
  • FIXED #510: Error when listing available interpreters in config page
  • FIXED #518: add menu item: "device" / "Upload current script" for MicroPython (by Jens Diemer)
  • FIXED: Object inspector can show images (again)
  • FIXED: Pylint and MyPy processes don't hang anymore with large output.

3.0.0b5 (2018-09-01)

  • FIXED: requirements.txt was missing mypy

3.0.0b4 (2018-08-31)

  • NEW: When program has syntax error or crashes with an exception, Assistant pane opens and tries to help diagnose the problem. Uses Pylint, MyPy and custom dynamic analysis under the hood. (Big "Thank you!" to Raspberry Pi Foundation for the support!)
  • ENHANCEMENT: Resizing the main window doesn't mess up views' layout anymore.
  • ENHANCEMENT: Better support for debugging f-strings.
  • ENHANCEMENT: Nice debugger now recovers better when it is not able to understand a program.
  • FIXED #496: Regression which caused Variables view to skip variables updates during "nicer debugging".
  • FIXED #440: Copy&paste over a selection will now delete the text selection first (was problem for some Linuxes)
  • FIXED: Removed a nasty debugging statement left into b3, which may cause a crash in the end of debugging.

3.0.0b3 (2018-08-11)

  • FIXED: Various problems with pip GUI
  • FIXED: Variables view misses events
  • FIXED: Error when last back-end was not available anymore
  • TECHNICAL: Implemented ChoiceDialog

3.0.0b2 (2018-08-11)

  • FIXED: problems with pip GUI in virtualenv

3.0.0b1 (2018-08-11)

Note: This version is successor of 2.2.0b4 and 2.1.21. Stable release of 2.2.0 was skipped. (Incrementing the major version felt more appropriate considering the amount of new and changed features.)

  • NEW: Thonny now has two debug modes: beside original AST based debug mode (the "nicer" one, Ctrl+F5) there is now also line-based mode (the "faster" one, Shift+F5), which is not so intuitive but much more efficient.
  • NEW: Both debug modes now support breakpoints (switch on line numbers and double-click on the margin). Big thanks to Raspberry Pi Foundation for the support!
  • NEW: Alternative presentation for call stack (in single window, just like in most debuggers; see Tools => Options => Debugger)
  • NEW: Clicking on the links in stacktrace now shows the variables of those frames.
  • NEW: You can re-run your changed program without closing it first (relevant for graphical programs).
  • NEW: Checking "Run => Dock user windows" makes your Tkinter windows stay on top and appear always on the same location. This allows tweaking your turtle programs while looking at current output.
  • NEW: "View => Program arguments" opens a box where you can write the argument string for your program
  • NEW: "Tools => Options => Backend => Custom Python interpreter" now allows creating virtual environments
  • NEW: "Tools => Manage packages" now allows installing new packages with all CPython backends, not only virtual environments. If the backend is not a virtual environment it installs to user site packages (with pip install --user)
  • NEW: Thonny now includes basic support for MicroPython (former thonny_microbit plug-in). See for more info.
  • CHANGED: Upgraded Python to version 3.7.0 in Thonny+Python bundles
  • CHANGED: Dropped support for Python 3.4 (both for front-end and back-end)
  • CHANGED: Dropped support for Tk 8.5. All bundles (including Mac's) now come with Tk 8.6.8
  • CHANGED: Default back-end is now "Same as front-end" (was "A special virtual environment"). This makes deployment easier in classroom setting and it is simpler scheme in general. "Special virtual environment" backend may be removed in future versions.
  • CHANGED: Plug-ins will be now installed to regular user site packages directory (was ~/.thonny/plugins)
  • CHANGED: If Thonny (front-end) is run from a virtual environment, user directory (with configuration.ini and logs) will be .thonny under virtual environment's root directory (instead of usual ~/.thonny).
  • ENHANCEMENT: Better Windows installer (run as administrator for all-users install)
  • ENHANCEMENT: thonny.exe is now digitally signed
  • ENHANCEMENT: On Linux Thonny now uses native file dialogs (via zenity)
  • ENHANCEMENT: Nicer debugger can now step into your functions defined in other modules
  • ENHANCEMENT: Nicer debugger can now stop before the assignement of loop variable in for-loops
  • ENHANCEMENT: "Run to cursor" can be called by right-clicking desired line in the editor and selecting the command from context menu
  • ENHANCEMENT: Great time and memory optimizations in nicer debug mode. The ability to step back in time is not so expensive anymore.
  • ENHANCEMENT: Thonny now detects external file modifications and proposes to reload
  • ENHANCEMENT: New Windows installer (run as administrator for all-users install)
  • FIXED #163: Uninstaller now correctly removes "Open with Thonny" context menu entry
  • FIXED #340: Validate geometry before loading
  • FIXED #358: sys.exit() in user programs doesn't show stacktrace anymore
  • FIXED #363: causes Thonny backend to hang
  • FIXED #375: Files are now saved with linebreaks suitable for current platform
  • FIXED #419: logging doesn't work in user programs
  • FIXED #422: Make Ctrl+C, Ctrl+V etc. work on Greek keyboard
  • FIXED #440: In Linux paste over selection doesn't remove the selection
  • FIXED #450: Locals marker doesn't work with jedi 0.12
  • FIXED #468: Problem with changing backend interpreter
  • FIXED #471: Problem when Thonny uses jedi 0.11 or newer
  • FIXED #475: Heap view misbehaving on startup
  • FIXED: "Run => Run to cursor" works again
  • FIXED: Thonny now honors PEP 263 style encoding markers when saving files. (UTF-8 is still the default)
  • FIXED: Problem when jedi 0.10 and parso are both installed
  • TECHNICAL: Plug-in writers can now control each import in user programs (thonny.backend.VM.add_import_handler)
  • TECHNICAL: Communication messages between back-end and front-end were changed
  • TECHNICAL: Thonny doesn't tweak PYTHONUSERBASE anymore to put plugins under ~/.thonny. Regular user site packages is used instead
  • TECHNICAL: Dependency to "packaging" introduced in 2.2 betas is now replaced with "setuptools"

2.2.0b4 (2018-06-05)

  • FIXED: Couldn't open menus with None backend

2.2.0b3 (2018-06-05)

  • FIXED #425: Too big automatic scaling
  • FIXED #427: Can't run files with spaces in filename
  • FIXED: Fixed a bug when debugging and encountering an exception (by Alar Leemet)
  • ENHANCEMENT: Show indicator about stepping in the past in the text of editor tabs
  • ENHANCEMENT: Added Thonny version guards for installing plug-ins
  • EXPERIMENTAL: Preliminary support for running system commands in Thonny shell (eg. !ls or !dir)
  • TECHNICAL: thonny.exe in Windows bundle is now signed
  • TECHNICAL: Delay starting of Runner until UI is shown
  • TECHNICAL: Various enhancements to support MicroPython plug-ins

2.2.0b2 (2018-05-04)

  • FIXED: Options dialog crashes when Variables view hasn't been created yet

2.2.0b1 (2018-05-04)

  • NEW: Added support for stepping back in time during debugging (Run => Step back) by Alar Leemet. If you accidentally stepped over an interesting part of code, then now you can step back and step into.
  • NEW: Added support for UI and syntax theming (
  • NEW: Added several built-in dark themes
  • NEW: Added support for display scaling / high-DPI screens (Tools => Options => General)
  • NEW: Added closing buttons to the tabs of all views
  • NEW: Added support for (CPython) back-end plug-ins (
  • NEW: Current editor line can be highlighted (Tools => Options => Editor)
  • NEW: Thonny can be started in simple mode (
  • NEW: Variables view now allows viewing variables from other modules beside __main__ (Tools => Options => General)
  • CHANGED: Dropped support for Python 3.4 (both for front-end and back-end)
  • CHANGED: Reorganized back-end configuration ("Tools => Options => Back-end" instead of "Tools => Options => Interpreter")
  • CHANGED: The roles of Interrupt and Stop commands are now more clear: Stop always restarts the backend and Interrupt only tries to interrupt
  • CHANGED: Editing the running program doesn't interrupt it anymore.
  • CHANGED: Object inspector now shows attributes and object overview on different tabs
  • CHANGED: Can't set thonny.THONNY_USER_DIR directly in anymore (
  • CHANGED: For plug-in writers: Unified early and late plug-ins (load_early_plugin should be renamed to load_plugin)
  • CHANGED: For plug-in writers: get_workbench and get_runner moved from thonny.globals to thonny
  • FIXED #358: Hide the stacktrace of SystemExit
  • FIXED #368: "Open system shell" doesn't work in Xfce (fix by Miro Hrončok)
  • FIXED #370: Made zooming with Ctrl++ / Ctrl+- work on the numpad on Linux
  • FIXED #372: Now it's possible to specify a link as backend interpreter (fix by Miro Hrončok)
  • FIXED #396: exec causes range marker to crash
  • FIXED #403: Window width may become negative
  • TECHNICAL: Changed the location and sharing of,,
  • TECHNICAL: Cleaner approach for sharing jedi with the back-end
  • TECHNICAL: Package manager now uses instead of
  • TECHNICAL: Several changes in Runner and BackendProxy interface
  • TECHNICAL: Saving an editor now forces writing to disk (see

2.1.22 (2018-08-20)

Happy re-independence day to Estonia!

  • ENHANCEMENT: Less intrusive logging for AST marking problems
  • FIXED #340: Validate geometry before loading
  • FIXED #363: causes Thonny backend to hang
  • FIXED #419: logging doesn't work in user programs
  • FIXED #440: In Linux paste over selection doesn't remove the selection
  • FIXED #487: Use and turn off pip warnings in package manager
  • FIXED #490: Debugger gets confused with f-strings
  • FIXED: In case of back-end problems, kill backend instead of resetting
  • FIXED: Colorize f-string prefixes

2.1.21 (2018-07-17)

  • FIXED #471: Another problem when Thonny uses jedi 0.11 or newer

2.1.20 (2018-07-16)

  • FIXED: Problem when jedi 0.10 and parso are both installed

2.1.19 (2018-07-16)

Updates in this version are relevant only on Windows

  • FIXED #467: Error when running Thonny with pythonw on Windows (regression from 2.1.18)
  • ENHANCEMENT: New Windows installer (run as administrator for all-users install)
  • ENHANCEMENT: Upgraded Python to version 3.6.6 in Thonny+Python bundles

2.1.18 (2018-06-22)

  • FIXED #450: Locals marker doesn't work with jedi 0.12

2.1.17 (2018-03-21)

  • FIXED #409: Package manager crashed after release of pip 9.0.2

2.1.16 (2017-11-10)

  • Tests moved under thonny package
  • Tests included in the source distribution
  • More icons included in the source distribution

2.1.15 (2017-11-07)

  • Removed StartupNotify from Linux .desktop file (StartupNotify=true leaves cursor spinning in Debian)

2.1.14 (2017-11-02)

  • Added some Linux-specific files to source distribution. No new features or fixes.

2.1.13 (2017-10-29)

  • Temporary workaround for #351: Locals and name highlighter occasionally make Thonny freeze
  • Include only required licenses in source dist

2.1.12 (2017-10-13)

  • FIXED #303: Allow specifying same interpreter for backend as frontend uses
  • FIXED #304: Allow specifying backend interpreter by relative path
  • FIXED #312: Closing unsaved tab causes error
  • FIXED #319: Linux install script needs quoting around the path(s)
  • FIXED #320: Install gets recursive if trying to install within extracted tarball
  • FIXED #321: Linux installer fails if invoked with relative, local user path
  • FIXED #334: init.tcl not found (Better control over back-end environment variables)
  • FIXED #343: Thonny now also works with jedi 0.11

2.1.11 (2017-07-22)

  • FIXED #31: Infinite print loop freezes Thonny
  • FIXED #285: Previous used interpreters are not shown in options dialog
  • FIXED #296: Make it more explicit that pip GUI search box needs exact package name
  • FIXED #298: Python crashes keep backend hanging
  • FIXED #305: Variables table doesn't get updated, if it's blocked by another view

2.1.10 (2017-06-09)

  • NEW: More flexibility for classroom setups (see
  • FIXED #276: Copy with Ctrl+C causes bell
  • FIXED #277: Triple-quoted strings keep keyword coloring
  • FIXED #278: Paste in shell causes bell
  • FIXED #281: Wrong unindentation with SHIFT+TAB when last line does not end with linebreak
  • FIXED #283: backend.log path doesn't take THONNY_USER_DIR into account
  • FIXED #284: Internal error when saving to a read-only folder/file (now proposes to choose another name)

2.1.9 (2017-06-01)

  • FIXED #273: Memory leak in editor margin because of undo log
  • FIXED #275: Updating line numbers is very inefficient
  • FIXED: Pasted text occasionally was hidden below bottom edge of the editor
  • FIXED: sys.exit() didn't really close the backend

2.1.8 (2017-05-28)

  • ENHANCEMENT: Code completion with Tab-key is now optional (see Tools => Options => Editor)
  • ENHANCEMENT: Clicking on the editor now closes code completion box
  • CHANGED: Code completion box doesn't offer names starting with double underscore anymore.
  • FIXED: Error caused by too fast typing with open code completions box
  • ENHANCEMENT: Find/Replace dialog can now be operated with F3
  • ENHANCEMENT: Find/Replace pre-selects previously used search string
  • ENHANCEMENT: Find/Replace dialog doesn't block main window anymore
  • FIXED: Find/Replace doesn't ignore spaces in search string anymore
  • FIXED: Closed views reappeared after restart if they were only views in that notebook
  • FIXED #264: Debugger fails with with conditional list comprehension
  • FIXED #265: Error when using two word search string in pip GUI
  • FIXED #266: Occasional incorrect line numbering
  • FIXED #267: Kivy application main window didn't show in Windows
  • TECHNICAL: Better diagnostic logging

2.1.7 (2017-05-13)

  • CHANGED: pip GUI now works in read-only mode unless backend is a virtual environment
  • FIXED: Error when non-default backend was used without previously generated Thonny-private virtual environment

2.1.6 (2017-05-12)

  • FIXED #260: Strange behaviour when indenting with TAB
  • FIXED #261: Editing a triple-quoted string breaks coloring in following lines
  • FIXED: Made outdated pip detection more general

2.1.5 (2017-05-09)

  • FIXED: Jedi version checking problem

2.1.4 (2017-05-09)

(This release is meant for making Thonny work better with system Python 3.4 in Debian Jessie)

  • FIXED #254: "Manage plug-ins" now gives instructions for installing pip if system is missing it or it's too old
  • FIXED #255: Name highlighter and locals marker are now quietly disabled when system has too old jedi
  • FIXED: Virtual env dialog now closes properly
  • TECHNICAL: SubprocessDialog now has more robust returncode checking in Linux

2.1.3 (2017-05-09)

  • FIXED #250: Debugger focus was off by one line in function frames
  • FIXED #251: Debugger timing issue (wrong command type in the backend)
  • FIXED #252: Debugger timing issue (get_globals and debugger commands interfere)
  • FIXED #253: Creating default virtual env does not work when using Debian python3 without ensurepip

2.1.2 (2017-05-08)

  • FIXED #220 and #237: Icon problems in Linux tasbar.
  • FIXED #245: Tooltips not working in Mac
  • FIXED #246: Current script did not get executed if cursor was not in the end of the shell
  • FIXED #249: Reset, Run and Debug caused double prompt

2.1.1 (2017-05-03)

  • FIXED #241: Some menu items gave errors with micro:bit backend.
  • FIXED #242: Focus got stuck on first run (no entry was possible neither in shell nor editor when initialization dialog closed)

2.1.0 (2017-05-02)

  • TECHNICAL: Changes in diagnostic logging

2.1.0b11 (2017-04-29)

  • TECHNICAL: Implemented more robust approach for installing Thonny plugins

2.1.0b10 (2017-04-29)

  • CHANGED: Installed plugins now end up under ~/.thonny/plugins
  • TECHNICAL: Backend preparation now occurs when main window has been opened

2.1.0b9 (2017-04-28)

  • FIXED: Backend related regression introduced in b8

2.1.0b8 (2017-04-27)

  • CHANGED: (FIXED #231) Stop/Reset button is now Interrupt/Reset button (tries to interrupt a running command instead of reseting. Resets if pressed in idle state)
  • FIXED #232: Ubuntu showed pip GUI captions with too big font
  • FIXED #233: Thonny now remembers which view was on top in a panel.
  • FIXED #234: Multiline support problems in shell (trailing whitespace was causing trouble)
  • FIXED: pip GUI shows latest version number when there is no stable version.
  • FIXED: pip GUI now can handle also packages without PyPI presence
  • TECHNICAL: Backends are not sent Reset command for initialization anymore.

2.1.0b7 (2017-04-25)

  • FIXED: Removed some circular import to support Python 3.4
  • FIXED: pip GUI now also lists installed pre-releases
  • EXPERIMENTAL: GUI for installing Thonny plug-ins (Tools => Manage plug-ins...)
  • TECHNICAL: Thonny+Python bundles again include pip (needed for installing plug-ins)
  • TECHNICAL: Refactored creation of several widgets to support theming
  • TECHNICAL: THONNY_USER_DIR environment variable can now specify where Thonny stores user data (conf files, default virtual env, ...)

2.1.0b6 (2017-04-19)

  • ENHANCEMENT: Shell now shows location of external interpreter as welcome text
  • FIXED #224: Tab-indentation didn't work if tail of the text was selected and text didn't end with empty line
  • FIXED: Tab with selected text occasionally invoked code-completion
  • TECHNICAL: Tweaks in Windows console allocation
  • TECHNICAL: Thonny+Python bundles don't include pip anymore (venv gets pip via ensurepip)

2.1.0b5 (2017-04-18)

  • FIXED: Typo in pipGUI (regression introduced in b4)

2.1.0b4 (2017-04-18)

  • CHANGED: If you want to use Thonny with external Python interpreter, then now you should select python.exe instead of pythonw.exe.
  • FIXED #223: Can't interrupt subprocess when Thonny is run via thonny.exe
  • FIXED: Private venv didn't find Tcl/Tk in ubuntu (commit 33eabff)
  • FIXED: Right-click on editor tabs now also works on macOS.

2.1.0b3 (2017-04-17)

  • NEW: Dialog for managing 3rd party packages / a simple pip GUI. Check it out: "Tools => Manage packages"
  • NEW: Shell now supports multiline commands
  • ENHANCEMENT: Window title now shows full path and cursor location of current file.
  • ENHANCEMENT: Editor lines can be selected by clicking and/or dragging on line-number margin (thanks to Sven).
  • ENHANCEMENT: Most programs can now be interrupted by Ctrl+C without restarting the process.
  • ENHANCEMENT: You can start editing the code that is still running (the process gets interrupted automatically). This is handy when developing tkinter applications.
  • ENHANCEMENT: Tab can be used as alternative code-completion shortcut.
  • ENHANCEMENT: Recommended pip-command now appears faster in System Shell.
  • ENHANCEMENT: Alternative interpreter doesn't need to have jedi installed in order to provide code-completions (see #171: Code auto-complete error)
  • ENHANCEMENT: Double-click on autocomplete list inserts the completion
  • EXPERIMENTAL: Ctrl-click on a name in code tries to locate its definition. NB! Not finished yet!
  • CHANGED: Bundled Python version has been upgraded to 3.6.1
  • CHANGED: Bundled Python in Mac and Linux now uses SSL certs from certifi project (
  • REMOVED: Moved incomplete Exercise system to a separate plugin ( With this got rid of tkinterhtml, requests and beautifulsoup4 dependencies.
  • FIXED #16: Run doesn't clear variables (again?)
  • FIXED #98: Nested functions crashed the debugger.
  • FIXED #114: Crash when trying to change interpreter in macOS.
  • FIXED #142: "Open system shell" failed when Thonny path had spaces in it. Paths are now properly quoted.
  • FIXED #154: Problems with Notebook tabs' context menus
  • FIXED #159: Debugging list or set comprehension caused crash
  • FIXED #166: Can't delete one of two spaces with backspace
  • FIXED #180: Right-click doesn't focus editor
  • FIXED #187: Main modules launched by Thonny were missing __spec__ attribute.
  • FIXED #195: Debugger crashes when using generators.
  • FIXED #201: "Tools => Open Thonny data folder" now works also in macOS.
  • FIXED #211: Linux installer was failing when using xdg-user-dir (thanks to Ryan McQuen)
  • FIXED #213: In single instance mode new Window doesn't get focus
  • FIXED #217: Debugger on Python 3.5 and later can't handle splat operator
  • FIXED #221: Context menus in Linux can now be closed by clicking elsewhere
  • FIXED: Event logger did not save filenames (eb34c5d).
  • FIXED: Problem in replayer (db78855).
  • TECHNICAL: Bundled Jedi version has been upgraded to 0.10.2.
  • TECHNICAL: 3rd party Thonny plugins must now be under thonnycontrib namespace package.
  • TECHNICAL: Introduced the concept of "eary plugins" (plugins, which get loaded before initializing the runner).
  • TECHNICAL: Refactored the interface between GUI and backend to allow different backend implementations
  • TECHNICAL: Previously, with bundled Python, Thonny was using nasty tricks to force pip install packages install under ~/.thonny. Now it creates a proper virtual environment under ~/.thonny and uses this as the backend by default (instead of using interpreter running the GUI directly).
  • TECHNICAL: Automatic tkinter updates on the backend are now less invasive

2.0.7 (2017-01-06)

  • FIXED: Making font size too small would crash Thonny.
  • FIXED: Another take on configuration file corruption.
  • FIXED: Shift-Tab wasn’t working in some cases.
  • FIXED #165: "Open system shell" did not add Scripts dir to PATH in Windows.
  • FIXED #183: from __future__ import crashed the debugger.

2.0.6 (2017-01-06)

  • FIXED: a bug in Linux installer (configuration file wasn’t created in new installations)

2.0.5 (2016-11-30)

  • FIXED: Corrected shift key detection (a82bd4d)

2.0.4 (2016-10-26)

  • FIXED: Configuration file was occasionally getting corrupted (for mysterious reasons, maybe a bug in Python’s configparser)
  • FIXED #104: Negative font size crashed Thonny
  • FIXED #143: Linux installer fails if desktop isn't named "Desktop". (Later turned out this wasn't fixed for all cases).
  • FIXED #134: "Open system shell" doesn't work in Centos 7 KDE

2.0.3 (2016-09-30)

  • FIXED: Quoting in "Open system shell" in Mac. Again.

2.0.2 (2016-09-30)

  • FIXED: Quoting in "Open system shell" in Mac.

2.0.1 (2016-09-30)

  • FIXED #106: Don't let user logs grow too big

2.0.0 (2016-09-29)

  • NEW: Added code completion (powered by Jedi:
  • NEW: Added new command "Tools => Open system shell" which opens terminal where current Python is in PATH.
  • CHANGED: Single instance mode is now optional (Tools => Options => General)
  • FIXED: Many bugs

1.2.0b2 (2016-02-10)

  • NEW: Thonny now runs in single instance mode. Previously, when you opened a py file with Thonny, a new Thonny instance (window) was created even if an instance existed already. This became nuisance if you opened several files. Now Thonny works as single instance program, meaning only one instance of Thonny runs at the time. When you open another file, it is opened in existing window.
  • NEW: Editor enhancements. Added option to show line numbers and right margin in the editor. In order to keep first impression cleaner, they are disabled by default. See Tools => Options => Editor. Don't forget that you don't need line numbers for locating lines mentioned in error messages -- you can click them and Thonny shows you the line.
  • FIXED: Some bugs where Thonny couldn't prepare some programs for debugging.

Older versions

See and for details