1What's New in IDLE 3.13.0 2(since 3.12.0) 3Released on 2024-10-xx 4========================= 5 6 7gh-120083: Add explicit black IDLE Hovertip foreground color needed for 8recent macOS. Fixes Sonoma showing unreadable white on pale yellow. 9Patch by John Riggles. 10 11gh-122482: Change About IDLE to direct users to discuss.python.org 12instead of the now unused idle-dev email and mailing list. 13 14gh-78889: Stop Shell freezes by blocking user access to non-method 15sys.stdout.shell attributes, which are all private. 16 17gh-78955: Use user-selected color theme for Help => IDLE Doc. 18 19gh-96905: In idlelib code, stop redefining built-ins 'dict' and 'object'. 20 21gh-72284: Improve the lists of features, editor key bindings, 22and shell key bingings in the IDLE doc. 23 24gh-113903: Fix rare failure of test.test_idle, in test_configdialog. 25 26gh-113729: Fix the "Help -> IDLE Doc" menu bug in 3.11.7 and 3.12.1. 27 28gh-57795: Enter selected text into the Find box when opening 29a Replace dialog. Patch by Roger Serwy and Zackery Spytz. 30 31gh-113269: Fix test_editor hang on macOS Catalina. 32Patch by Terry Reedy. 33 34gh-112939: Fix processing unsaved files when quitting IDLE on macOS. 35Patch by Ronald Oussoren and Christopher Chavez. 36 37gh-79871: Add docstrings to debugger.py. Fix two bugs in 38test_debugger and expand coverage by 47%. Patch by Anthony Shaw. 39 40 41What's New in IDLE 3.12.0 42(since 3.11.0) 43Released on 2023-10-02 44========================= 45 46gh-104719: Remove IDLE's modification of tokenize.tabsize and test 47other uses of tokenize data and methods. 48 49gh-104499: Fix completions for Tk Aqua 8.7 (currently blank). 50 51gh-104486: Make About print both tcl and tk versions if different, 52as is expected someday. 53 54gh-88496 Fix IDLE test hang on macOS. 55 56gh-103314 Support sys.last_exc after exceptions in Shell. 57Patch by Irit Katriel. 58 59 60What's New in IDLE 3.11.0 61(since 3.10.0) 62Released on 2022-10-24 63========================= 64 65gh-97527: Fix a bug in the previous bugfix that caused IDLE to not 66start when run with 3.10.8, 3.12.0a1, and at least Microsoft Python 673.10.2288.0 installed without the Lib/test package. 3.11.0 was never 68affected. 69 70gh-65802: Document handling of extensions in Save As dialogs. 71 72gh-95191: Include prompts when saving Shell (interactive input/output). 73 74gh-95511: Fix the Shell context menu copy-with-prompts bug of copying 75an extra line when one selects whole lines. 76 77gh-95471: Tweak Edit menu. Move 'Select All' above 'Cut' as it is used 78with 'Cut' and 'Copy' but not 'Paste'. Add a separator between 'Replace' 79and 'Go to Line' to help IDLE issue triagers. 80 81gh-95411: Enable using IDLE's module browser with .pyw files. 82 83gh-89610: Add .pyi as a recognized extension for IDLE on macOS. This allows 84opening stub files by double clicking on them in the Finder. 85 86bpo-28950: Apply IDLE syntax highlighting to `.pyi` files. Add util.py 87for common components. Patch by Alex Waygood and Terry Jan Reedy. 88 89bpo-46630: Make query dialogs on Windows start with a cursor in the 90entry box. 91 92bpo-46591: Make the IDLE doc URL on the About IDLE dialog clickable. 93 94bpo-45296: Clarify close, quit, and exit in IDLE. In the File menu, 95'Close' and 'Exit' are now 'Close Window' (the current one) and 'Exit' 96is now 'Exit IDLE' (by closing all windows). In Shell, 'quit()' and 97'exit()' mean 'close Shell'. If there are no other windows, 98this also exits IDLE. 99 100bpo-45495: Add context keywords 'case' and 'match' to completions list. 101 102bpo-45296: On Windows, change exit/quit message to suggest Ctrl-D, which 103works, instead of <Ctrl-Z Return>, which does not work in IDLE. 104 105 106What's New in IDLE 3.10.0 107(since 3.9.0) 108Released on 2021-10-04 109========================= 110 111bpo-45193: Make completion boxes appear on Ubuntu again. 112 113bpo-40128: Mostly fix completions on macOS when not using tcl/tk 8.6.11 114(as with 3.9). 115 116bpo-33962: Move the indent space setting from the Font tab to the new Windows 117tab. Patch by Mark Roseman and Terry Jan Reedy. 118 119bpo-40468: Split the settings dialog General tab into Windows and Shell/Ed 120tabs. Move help sources, which extend the Help menu, to the Extensions tab. 121Make space for new options and shorten the dialog. The latter makes the 122dialog better fit small screens. 123 124bpo-44010: Highlight the new match statement's soft keywords: match, case, 125and _. This highlighting is not perfect and will be incorrect in some rare 126cases, especially for some _s in case patterns. 127 128bpo-44026: Include interpreter's typo fix suggestions in message line 129for NameErrors and AttributeErrors. Patch by E. Paine. 130 131bpo-41611: Avoid occasional uncaught exceptions and freezing when using 132completions on macOS. 133 134bpo-37903: Add mouse actions to the shell sidebar. Left click and 135optional drag selects one or more lines of text, as with the 136editor line number sidebar. Right click after selecting text lines 137displays a context menu with 'copy with prompts'. This zips together 138prompts from the sidebar with lines from the selected text. This option 139also appears on the context menu for the text. 140 141bpo-43981: Fix reference leaks in test_sidebar and test_squeezer. 142Patches by Terry Jan Reedy and Pablo Galindo 143 144bpo-37892: Change Shell input indents from tabs to spaces. Shell input 145now 'looks right'. Making this feasible motivated the shell sidebar. 146 147bpo-37903: Move the Shell input prompt to a side bar. 148 149bpo-43655: Make window managers on macOS and X Window recognize 150IDLE dialog windows as dialogs. 151 152bpo-42225: Document that IDLE can fail on Unix either from misconfigured IP 153masquerade rules or failure displaying complex colored (non-ascii) characters. 154 155bpo-43283: Document why printing to IDLE's Shell is often slower than 156printing to a system terminal and that it can be made faster by 157pre-formatting a single string before printing. 158 159bpo-23544: Disable Debug=>Stack Viewer when user code is running or 160Debugger is active, to prevent hang or crash. Patch by Zackery Spytz. 161 162bpo-43008: Make IDLE invoke :func:`sys.excepthook` in normal, 1632-process mode. User hooks were previously ignored. 164Patch by Ken Hilton. 165 166bpo-33065: Fix problem debugging user classes with __repr__ method. 167 168bpo-32631: Finish zzdummy example extension module: make menu entries 169work; add docstrings and tests with 100% coverage. 170 171bpo-42508: Keep IDLE running on macOS. Remove obsolete workaround 172that prevented running files with shortcuts when using new universal2 173installers built on macOS 11. 174 175bpo-42426: Fix reporting offset of the RE error in searchengine. 176 177bpo-42416: Display docstrings in IDLE calltips in more cases, 178by using inspect.getdoc. 179 180bpo-33987: Mostly finish using ttk widgets, mainly for editor, 181settings, and searches. Some patches by Mark Roseman. 182 183bpo-40511: Stop unnecessary "flashing" when typing opening and closing 184parentheses inside the parentheses of a function call. 185 186bpo-38439: Add a 256x256 pixel IDLE icon to the Windows .ico file. Created by 187Andrew Clover. Remove the low-color gif variations from the .ico file. 188 189bpo-41775: Make 'IDLE Shell' the shell title. 190 191bpo-35764: Rewrite the Calltips doc section. 192 193bpo-40181: In calltips, stop reminding that '/' marks the end of 194positional-only arguments. 195 196 197What's New in IDLE 3.9.0 (since 3.8.0) 198Released on 2020-10-05? 199====================================== 200 201bpo-41468: Improve IDLE run crash error message (which users should 202never see). 203 204bpo-41373: Save files loaded with no line ending, as when blank, or 205different line endings, by setting its line ending to the system 206default. Fix regression in 3.8.4 and 3.9.0b4. 207 208bpo-41300: Save files with non-ascii chars. Fix regression in 2093.9.0b4 and 3.8.4. 210 211bpo-37765: Add keywords to module name completion list. Rewrite 212Completions section of IDLE doc. 213 214bpo-41152: The encoding of ``stdin``, ``stdout`` and ``stderr`` in IDLE 215is now always UTF-8. 216 217bpo-41144: Make Open Module open a special module such as os.path. 218 219bpo-40723: Make test_idle pass when run after import. 220Patch by Florian Dahlitz. 221 222bpo-38689: IDLE will no longer freeze when inspect.signature fails 223when fetching a calltip. 224 225bpo-27115: For 'Go to Line', use a Query entry box subclass with 226IDLE standard behavior and improved error checking. 227 228bpo-39885: When a context menu is invoked by right-clicking outside 229of a selection, clear the selection and move the cursor. Cut and 230Copy require that the click be within the selection. 231 232bpo-39852: Edit "Go to line" now clears any selection, preventing 233accidental deletion. It also updates Ln and Col on the status bar. 234 235bpo-39781: Selecting code context lines no longer causes a jump. 236 237bpo-39663: Add tests for pyparse find_good_parse_start(). 238 239bpo-39600: Remove duplicate font names from configuration list. 240 241bpo-38792: Close a shell calltip if a :exc:`KeyboardInterrupt` 242or shell restart occurs. Patch by Zackery Spytz. 243 244bpo-30780: Add remaining configdialog tests for buttons and 245highlights and keys tabs. 246 247bpo-39388: Settings dialog Cancel button cancels pending changes. 248 249bpo-39050: Settings dialog Help button again displays help text. 250 251bpo-32989: Add tests for editor newline_and_indent_event method. 252Remove unneeded arguments and dead code from pyparse 253find_good_parse_start method. 254 255bpo-38943: Fix autocomplete windows not always appearing on some 256systems. Patch by Johnny Najera. 257 258bpo-38944: Escape key now closes IDLE completion windows. Patch by 259Johnny Najera. 260 261bpo-38862: 'Strip Trailing Whitespace' on the Format menu removes extra 262newlines at the end of non-shell files. 263 264bpo-38636: Fix IDLE Format menu tab toggle and file indent width. These 265functions (default shortcuts Alt-T and Alt-U) were mistakenly disabled 266in 3.7.5 and 3.8.0. 267 268bpo-4630: Add an option to toggle IDLE's cursor blink for shell, 269editor, and output windows. See Settings, General, Window Preferences, 270Cursor Blink. Patch by Zackery Spytz. 271 272bpo-26353: Stop adding newline when saving an IDLE shell window. 273 274bpo-38598: Do not try to compile IDLE shell or output windows. 275 276 277What's New in IDLE 3.8.0 (since 3.7.0) 278Released on 2019-10-14 279====================================== 280 281bpo-36698: IDLE no longer fails when writing non-encodable characters 282to stderr. It now escapes them with a backslash, like the regular 283Python interpreter. Add an errors field to the standard streams. 284 285bpo-13153: Improve tkinter's handing of non-BMP (astral) unicode 286characters, such as 'rocket \U0001f680'. Whether a proper glyph or 287replacement char is displayed depends on the OS and font. For IDLE, 288astral chars in code interfere with editing. 289 290bpo-35379: When exiting IDLE, catch any AttributeError. One happens 291when EditorWindow.close is called twice. Printing a traceback, when 292IDLE is run from a terminal, is useless and annoying. 293 294bpo-38183: To avoid test issues, test_idle ignores the user config 295directory. It no longer tries to create or access .idlerc or any files 296within. Users must run IDLE to discover problems with saving settings. 297 298bpo-38077: IDLE no longer adds 'argv' to the user namespace when 299initializing it. This bug only affected 3.7.4 and 3.8.0b2 to 3.8.0b4. 300 301bpo-38401: Shell restart lines now fill the window width, always start 302with '=', and avoid wrapping unnecessarily. The line will still wrap 303if the included file name is long relative to the width. 304 305bpo-37092: Add mousewheel scrolling for IDLE module, path, and stack 306browsers. Patch by George Zhang. 307 308bpo-35771: To avoid occasional spurious test_idle failures on slower 309machines, increase the ``hover_delay`` in test_tooltip. 310 311bpo-37824: Properly handle user input warnings in IDLE shell. 312Cease turning SyntaxWarnings into SyntaxErrors. 313 314bpo-37929: IDLE Settings dialog now closes properly when there is no 315shell window. 316 317bpo-37849: Fix completions list appearing too high or low when shown 318above the current line. 319 320bpo-36419: Refactor autocompete and improve testing. 321 322bpo-37748: Reorder the Run menu. Put the most common choice, 323Run Module, at the top. 324 325bpo-37692: Improve highlight config sample with example shell 326interaction and better labels for shell elements. 327 328bpo-37628: Settings dialog no longer expands with font size. 329The font and highlight sample boxes gain scrollbars instead. 330 331bpo-17535: Add optional line numbers for IDLE editor windows. 332 333bpo-37627: Initialize the Customize Run dialog with the command line 334arguments most recently entered before. The user can optionally edit 335before submitting them. 336 337bpo-33610: Code context always shows the correct context when toggled on. 338 339bpo-36390: Gather Format menu functions into format.py. Combine 340paragraph.py, rstrip.py, and format methods from editor.py. 341 342bpo-37530: Optimize code context to reduce unneeded background activity. 343Font and highlight changes now occur along with text changes instead 344of after a random delay. 345 346bpo-27452: Cleanup config.py by inlining RemoveFile and simplifying 347the handling of __file__ in CreateConfigHandlers/ 348 349bpo-26806: To compensate for stack frames added by IDLE and avoid 350possible problems with low recursion limits, add 30 to limits in the 351user code execution process. Subtract 30 when reporting recursion 352limits to make this addition mostly transparent. 353 354bpo-37325: Fix tab focus traversal order for help source and custom 355run dialogs. 356 357bpo-37321: Both subprocess connection error messages now refer to 358the 'Startup failure' section of the IDLE doc. 359 360bpo-37177: Properly attach search dialogs to their main window so 361that they behave like other dialogs and do not get hidden behind 362their main window. 363 364bpo-37039: Adjust "Zoom Height" to individual screens by momentarily 365maximizing the window on first use with a particular screen. Changing 366screen settings may invalidate the saved height. While a window is 367maximized, "Zoom Height" has no effect. 368 369bpo-35763: Make calltip reminder about '/' meaning positional-only less 370obtrusive by only adding it when there is room on the first line. 371 372bpo-5680: Add 'Run Customized' to the Run menu to run a module with 373customized settings. Any command line arguments entered are added 374to sys.argv. One can suppress the normal Shell main module restart. 375 376bpo-35610: Replace now redundant editor.context_use_ps1 with 377.prompt_last_line. This finishes change started in bpo-31858. 378 379bpo-32411: Stop sorting dict created with desired line order. 380 381bpo-37038: Make idlelib.run runnable; add test clause. 382 383bpo-36958: Print any argument other than None or int passed to 384SystemExit or sys.exit(). 385 386bpo-36807: When saving a file, call file.flush() and os.fsync() 387so bits are flushed to e.g. a USB drive. 388 389bpo-36429: Fix starting IDLE with pyshell. 390Add idlelib.pyshell alias at top; remove pyshell alias at bottom. 391Remove obsolete __name__=='__main__' command. 392 393bpo-30348: Increase test coverage of idlelib.autocomplete by 30%. 394Patch by Louie Lu. 395 396bpo-23205: Add tests and refactor grep's findfiles. 397 398bpo-36405: Use dict unpacking in idlelib. 399 400bpo-36396: Remove fgBg param of idlelib.config.GetHighlight(). 401This param was only used twice and changed the return type. 402 403bpo-23216: IDLE: Add docstrings to search modules. 404 405bpo-36176: Fix IDLE autocomplete & calltip popup colors. 406Prevent conflicts with Linux dark themes 407(and slightly darken calltip background). 408 409bpo-36152: Remove colorizer.ColorDelegator.close_when_done and the 410corresponding argument of .close(). In IDLE, both have always been 411None or False since 2007. 412 413bpo-36096: Make colorizer state variables instance-only. 414 415bpo-32129: Avoid blurry IDLE application icon on macOS with Tk 8.6. 416Patch by Kevin Walzer. 417 418bpo-24310: Document settings dialog font tab sample. 419 420bpo-35689: Add docstrings and tests for colorizer. 421 422bpo-35833: Revise IDLE doc for control codes sent to Shell. 423Add a code example block. 424 425bpo-35770: IDLE macosx deletes Options => Configure IDLE. 426It previously deleted Window => Zoom Height by mistake. 427(Zoom Height is now on the Options menu). On Mac, the settings 428dialog is accessed via Preferences on the IDLE menu. 429 430bpo-35769: Change new file name from 'Untitled' to 'untitled'. 431 432bpo-35660: Fix imports in window module. 433 434bpo-35641: Properly format calltip for function without docstring. 435 436bpo-33987: Use ttk Frame for ttk widgets. 437 438bpo-34055: Fix erroneous 'smart' indents and newlines in IDLE Shell. 439 440bpo-28097: Add Previous/Next History entries to Shell menu. 441 442bpo-35591: Find Selection now works when selection not found. 443 444bpo-35598: Update config_key: use PEP 8 names and ttk widgets, 445make some objects global, and add tests. 446 447bpo-35196: Speed up squeezer line counting. 448 449bpo-35208: Squeezer now counts wrapped lines before newlines. 450 451bpo-35555: Gray out Code Context menu entry when it's not applicable. 452 453bpo-22703: Improve the Code Context and Zoom Height menu labels. 454The Code Context menu label now toggles between Show/Hide Code Context. 455The Zoom Height menu now toggles between Zoom/Restore Height. 456Zoom Height has moved from the Window menu to the Options menu. 457 458bpo-35521: Document the editor code context feature. 459Add some internal references within the IDLE doc. 460 461bpo-34864: When starting IDLE on MacOS, warn if the system setting 462"Prefer tabs when opening documents" is "Always". As previous 463documented for this issue, running IDLE with this setting causes 464problems. If the setting is changed while IDLE is running, 465there will be no warning until IDLE is restarted. 466 467bpo-35213: Where appropriate, use 'macOS' in idlelib. 468 469bpo-34864: Document two IDLE on MacOS issues. The System Preferences 470Dock "prefer tabs always" setting disables some IDLE features. 471Menus are a bit different than as described for Windows and Linux. 472 473bpo-35202: Remove unused imports in idlelib. 474 475bpo-33000: Document that IDLE's shell has no line limit. 476A program that runs indefinitely can overfill memory. 477 478bpo-23220: Explain how IDLE's Shell displays output. 479Add new subsection "User output in Shell". 480 481bpo-35099: Improve the doc about IDLE running user code. 482"IDLE -- console differences" is renamed "Running user code". 483It mostly covers the implications of using custom sys.stdxxx objects. 484 485bpo-35097: Add IDLE doc subsection explaining editor windows. 486Topics include opening, title and status bars, .py* extension, and running. 487 488Issue 35093: Document the IDLE document viewer in the IDLE doc. 489Add a paragraph in "Help and preferences", "Help sources" subsection. 490 491bpo-1529353: Explain Shell text squeezing in the IDLE doc. 492 493bpo-35088: Update idlelib.help.copy_string docstring. 494We now use git and backporting instead of hg and forward merging. 495 496bpo-35087: Update idlelib help files for the current doc build. 497The main change is the elimination of chapter-section numbers. 498 499bpo-1529353: Output over N lines (50 by default) is squeezed down to a button. 500N can be changed in the PyShell section of the General page of the 501Settings dialog. Fewer, but possibly extra long, lines can be squeezed by 502right clicking on the output. Squeezed output can be expanded in place 503by double-clicking the button or into the clipboard or a separate window 504by right-clicking the button. 505 506bpo-34548: Use configured color theme for read-only text views. 507 508bpo-33839: Refactor ToolTip and CallTip classes; add documentation 509and tests. 510 511bpo-34047: Fix mouse wheel scrolling direction on macOS. 512 513bpo-34275: Make calltips always visible on Mac. 514Patch by Kevin Walzer. 515 516bpo-34120: Fix freezing after closing some dialogs on Mac. 517This is one of multiple regressions from using newer tcl/tk. 518 519bpo-33975: Avoid small type when running htests. 520Since part of the purpose of human-viewed tests is to determine that 521widgets look right, it is important that they look the same for 522testing as when running IDLE. 523 524bpo-33905: Add test for idlelib.stackview.StackBrowser. 525 526bpo-33924: Change mainmenu.menudefs key 'windows' to 'window'. 527Every other menudef key is the lowercase version of the 528corresponding main menu entry (in this case, 'Window'). 529 530bpo-33906: Rename idlelib.windows as window 531Match Window on the main menu and remove last plural module name. 532Change imports, test, and attribute references to match new name. 533 534bpo-33917: Fix and document idlelib/idle_test/template.py. 535The revised file compiles, runs, and tests OK. idle_test/README.txt 536explains how to use it to create new IDLE test files. 537 538bpo-33904: In rstrip module, rename class RstripExtension as Rstrip. 539 540bpo-33907: For consistency and clarity, rename calltip objects. 541Module calltips and its class CallTips are now calltip and Calltip. 542In module calltip_w, class CallTip is now CalltipWindow. 543 544bpo-33855: Minimally test all IDLE modules. 545Standardize the test file format. Add missing test files that import 546the tested module and perform at least one test. Check and record the 547coverage of each test. 548 549bpo-33856: Add 'help' to Shell's initial welcome message. 550 551 552What's New in IDLE 3.7.0 (since 3.6.0) 553Released on 2018-06-27 554====================================== 555 556bpo-33656: On Windows, add API call saying that tk scales for DPI. 557On Windows 8.1+ or 10, with DPI compatibility properties of the Python 558binary unchanged, and a monitor resolution greater than 96 DPI, this 559should make text and lines sharper and some colors brighter. 560On other systems, it should have no effect. If you have a custom theme, 561you may want to adjust a color or two. If perchance it make text worse 562on your monitor, you can disable the ctypes.OleDLL call near the top of 563pyshell.py and report the problem on python-list or idle-dev@python.org. 564 565bpo-33768: Clicking on a context line moves that line to the top 566of the editor window. 567 568bpo-33763: Replace the code context label widget with a text widget. 569 570bpo-33664: Scroll IDLE editor text by lines. 571(Previously, the mouse wheel and scrollbar slider moved text by a fixed 572number of pixels, resulting in partial lines at the top of the editor 573box.) This change also applies to the shell and grep output windows, 574but currently not to read-only text views. 575 576bpo-33679: Enable theme-specific color configuration for Code Context. 577(Previously, there was one code context foreground and background font 578color setting, default or custom, on the extensions tab, that applied 579to all themes.) For built-in themes, the foreground is the same as 580normal text and the background is a contrasting gray. Context colors for 581custom themes are set on the Highlights tab along with other colors. 582When one starts IDLE from a console and loads a custom theme without 583definitions for 'context', one will see a warning message on the 584console. 585 586bpo-33642: Display up to maxlines non-blank lines for Code Context. 587If there is no current context, show a single blank line. (Previously, 588the Code Context had numlines lines, usually with some blank.) The use 589of a new option, 'maxlines' (default 15), avoids possible interference 590with user settings of the old option, 'numlines' (default 3). 591 592bpo-33628: Cleanup codecontext.py and its test. 593 594bpo-32831: Add docstrings and tests for codecontext.py. 595Coverage is 100%. Patch by Cheryl Sabella. 596 597bpo-33564: Code context now recognizes async as a block opener. 598 599bpo-21474: Update word/identifier definition from ascii to unicode. 600In text and entry boxes, this affects selection by double-click, 601movement left/right by control-left/right, and deletion left/right 602by control-BACKSPACE/DEL. 603 604bpo-33204: Consistently color invalid string prefixes. 605A 'u' string prefix cannot be paired with either 'r' or 'f'. 606IDLE now consistently colors as much of the prefix, starting at the 607right, as is valid. Revise and extend colorizer test. 608 609bpo-32984: Set __file__ while running a startup file. 610Like Python, IDLE optionally runs 1 startup file in the Shell window 611before presenting the first interactive input prompt. For IDLE, 612option -s runs a file named in environmental variable IDLESTARTUP or 613PYTHONSTARTUP; -r file runs file. Python sets __file__ to the startup 614file name before running the file and unsets it before the first 615prompt. IDLE now does the same when run normally, without the -n 616option. 617 618bpo-32940: Replace StringTranslatePseudoMapping with faster code. 619 620bpo-32916: Change 'str' to 'code' in idlelib.pyparse and users. 621 622bpo-32905: Remove unused code in pyparse module. 623 624bpo-32874: IDLE - add pyparse tests with 97% coverage. 625 626bpo-32837: IDLE - require encoding argument for textview.view_file. 627Using the system and place-dependent default encoding for open() 628is a bad idea for IDLE's system and location-independent files. 629 630bpo-32826: Add "encoding=utf-8" to open() in IDLE's test_help_about. 631GUI test test_file_buttons() only looks at initial ascii-only lines, 632but failed on systems where open() defaults to 'ascii' because 633readline() internally reads and decodes far enough ahead to encounter 634a non-ascii character in CREDITS.txt. 635 636bpo-32765: Update configdialog General tab create page docstring. 637Add new widgets to the widget list. 638 639bpo-32207: Improve tk event exception tracebacks in IDLE. 640When tk event handling is driven by IDLE's run loop, a confusing 641and distracting queue.EMPTY traceback context is no longer added 642to tk event exception tracebacks. The traceback is now the same 643as when event handling is driven by user code. Patch based on 644a suggestion by Serhiy Storchaka. 645 646bpo-32164: Delete unused file idlelib/tabbedpages.py. 647Use of TabbedPageSet in configdialog was replaced by ttk.Notebook. 648 649bpo-32100: Fix old and new bugs in pathbrowser; improve tests. 650Patch mostly by Cheryl Sabella. 651 652bpo-31860: The font sample in the settings dialog is now editable. 653Edits persist while IDLE remains open. 654Patch by Serhiy Storchake and Terry Jan Reedy. 655 656bpo-31858: Restrict shell prompt manipulation to the shell. 657Editor and output windows only see an empty last prompt line. This 658simplifies the code and fixes a minor bug when newline is inserted. 659Sys.ps1, if present, is read on Shell start-up, but is not set or changed. 660Patch by Terry Jan Reedy. 661 662bpo-28603: Fix a TypeError that caused a shell restart when printing 663a traceback that includes an exception that is unhashable. 664Patch by Zane Bitter. 665 666bpo-13802: Use non-Latin characters in the Font settings sample. 667Even if one selects a font that defines a limited subset of the unicode 668Basic Multilingual Plane, tcl/tk will use other fonts that define a 669character. The expanded example give users of non-Latin characters 670a better idea of what they might see in the shell and editors. 671 672To make room for the expanded sample, frames on the Font tab are 673re-arranged. The Font/Tabs help explains a bit about the additions. 674Patch by Terry Jan Reedy 675 676bpo-31460: Simplify the API of IDLE's Module Browser. 677Passing a widget instead of an flist with a root widget opens the 678option of creating a browser frame that is only part of a window. 679Passing a full file name instead of pieces assumed to come from a 680.py file opens the possibility of browsing python files that do not 681end in .py. 682 683bpo-31649: Make _htest and _utest parameters keyword-only. 684These are used to adjust code for human and unit tests. 685 686bpo-31459: Rename module browser from Class Browser to Module Browser. 687The original module-level class and method browser became a module 688browser, with the addition of module-level functions, years ago. 689Nested classes and functions were added yesterday. For back- 690compatibility, the virtual event <<open-class-browser>>, which 691appears on the Keys tab of the Settings dialog, is not changed. 692Patch by Cheryl Sabella. 693 694bpo-1612262: Module browser now shows nested classes and functions. 695Original patches for code and tests by Guilherme Polo and 696Cheryl Sabella, respectively. Revisions by Terry Jan Reedy. 697 698bpo-31500: Tk's default fonts now are scaled on HiDPI displays. 699This affects all dialogs. Patch by Serhiy Storchaka. 700 701bpo-31493: Fix code context update and font update timers. 702Canceling timers prevents a warning message when test_idle completes. 703 704bpo-31488: Update non-key options in former extension classes. 705When applying configdialog changes, call .reload for each feature class. 706Change ParenMatch so updated options affect existing instances attached 707to existing editor windows. 708 709bpo-31477: Improve rstrip entry in IDLE doc. 710Strip Trailing Whitespace strips more than blank spaces. 711Multiline string literals are not skipped. 712 713bpo-31480: fix tests to pass with zzdummy extension disabled. (#3590) 714To see the example in action, enable it on options extensions tab. 715 716bpo-31421: Document how IDLE runs tkinter programs. 717IDLE calls tcl/tk update in the background in order to make live 718interaction and experimentation with tkinter applications much easier. 719 720bpo-31414: Fix tk entry box tests by deleting first. 721Adding to an int entry is not the same as deleting and inserting 722because int('') will fail. Patch by Terry Jan Reedy. 723 724bpo-27099: Convert IDLE's built-in 'extensions' to regular features. 725 About 10 IDLE features were implemented as supposedly optional 726extensions. Their different behavior could be confusing or worse for 727users and not good for maintenance. Hence the conversion. 728 The main difference for users is that user configurable key bindings 729for builtin features are now handled uniformly. Now, editing a binding 730in a keyset only affects its value in the keyset. All bindings are 731defined together in the system-specific default keysets in config- 732extensions.def. All custom keysets are saved as a whole in config- 733extension.cfg. All take effect as soon as one clicks Apply or Ok. 734 The affected events are '<<force-open-completions>>', 735'<<expand-word>>', '<<force-open-calltip>>', '<<flash-paren>>', 736'<<format-paragraph>>', '<<run-module>>', '<<check-module>>', and 737'<<zoom-height>>'. Any (global) customizations made before 3.6.3 will 738not affect their keyset-specific customization after 3.6.3. and vice 739versa. 740 Initial patch by Charles Wohlganger, revised by Terry Jan Reedy. 741 742bpo-31051: Rearrange configdialog General tab. 743Sort non-Help options into Window (Shell+Editor) and Editor (only). 744Leave room for the addition of new options. 745Patch by Terry Jan Reedy. 746 747bpo-30617: Add docstrings and tests for outwin subclass of editor. 748Move some data and functions from the class to module level. 749Patch by Cheryl Sabella. 750 751bpo-31287: Do not modify tkinter.messagebox in test_configdialog. 752Instead, mask it with an instance mock that can be deleted. 753Patch by Terry Jan Reedy. 754 755bpo-30781: Use ttk widgets in ConfigDialog pages. 756These should especially look better on MacOSX. 757Patches by Terry Jan Reedy and Cheryl Sabella. 758 759bpo-31206: Factor HighPage(Frame) class from ConfigDialog. 760Patch by Cheryl Sabella. 761 762bp0-31001: Add tests for configdialog highlight tab. 763Patch by Cheryl Sabella. 764 765bpo-31205: Factor KeysPage(Frame) class from ConfigDialog. 766The slightly modified tests continue to pass. 767Patch by Cheryl Sabella. 768 769bpo-31002: Add tests for configdialog keys tab. 770Patch by Cheryl Sabella. 771 772bpo-19903: Change calltipes to use inspect.signature. 773Idlelib.calltips.get_argspec now uses inspect.signature instead of 774inspect.getfullargspec, like help() does. This improves the signature 775in the call tip in a few different cases, including builtins converted 776to provide a signature. A message is added if the object is not 777callable, has an invalid signature, or if it has positional-only 778parameters. Patch by Louie Lu. 779 780bop-31083: Add an outline of a TabPage class in configdialog. 781Add template as comment. Update existing classes to match outline. 782Initial patch by Cheryl Sabella. 783 784bpo-31050: Factor GenPage(Frame) class from ConfigDialog. 785The slightly modified tests for the General tab continue to pass. 786Patch by Cheryl Sabella. 787 788bpo-31004: Factor FontPage(Frame) class from ConfigDialog. 789The slightly modified tests continue to pass. The General test 790broken by the switch to ttk.Notebook is fixed. 791Patch mostly by Cheryl Sabella. 792 793bpo-30781: IDLE - Use ttk Notebook in ConfigDialog. 794This improves navigation by tabbing. 795Patch by Terry Jan Reedy. 796 797bpo-31060: IDLE - Finish rearranging methods of ConfigDialog. 798Grouping methods pertaining to each tab and the buttons will aid 799writing tests and improving the tabs and will enable splitting the 800groups into classes. 801Patch by Terry Jan Reedy. 802 803bpo-30853: IDLE -- Factor a VarTrace class out of ConfigDialog. 804Instance tracers manages pairs consisting of a tk variable and a 805callback function. When tracing is turned on, setting the variable 806calls the function. Test coverage for the new class is 100%. 807Patch by Terry Jan Reedy. 808 809bpo-31003: IDLE: Add more tests for General tab. 810Patch by Terry Jan Reedy. 811 812bpo-30993: IDLE - Improve configdialog font page and tests. 813*In configdialog: Document causal pathways in create_font_tab 814docstring. Simplify some attribute names. Move set_samples calls to 815var_changed_font (idea from Cheryl Sabella). Move related functions to 816positions after the create widgets function. 817* In test_configdialog: Fix test_font_set so not order dependent. Fix 818renamed test_indent_scale so it tests the widget. Adjust tests for 819movement of set_samples call. Add tests for load functions. Put all 820font tests in one class and tab indent tests in another. Except for 821two lines, these tests completely cover the related functions. 822Patch by Terry Jan Reedy. 823 824bpo-30981: IDLE -- Add more configdialog font page tests. 825 826bpo-28523: IDLE: replace 'colour' with 'color' in configdialog. 827 828bpo-30917: Add tests for idlelib.config.IdleConf. 829Increase coverage from 46% to 96%. 830Patch by Louie Lu. 831 832bpo-30913: Document ConfigDialog tk Vars, methods, and widgets in docstrings 833This will facilitate improving the dialog and splitting up the class. 834Original patch by Cheryl Sabella. 835 836bpo-30899: Add tests for ConfigParser subclasses in config. 837Coverage is 100% for those classes and ConfigChanges. 838Patch by Louie Lu. 839 840bpo-30881: Add docstrings to browser.py. 841Patch by Cheryl Sabella. 842 843bpo-30851: Remove unused tk variables in configdialog. 844One is a duplicate, one is set but cannot be altered by users. 845Patch by Cheryl Sabella. 846 847bpo-30870: Select font option with Up and Down keys, as well as with mouse. 848Added test increases configdialog coverage to 60% 849Patches mostly by Louie Lu. 850 851bpo-8231: Call config.IdleConf.GetUserCfgDir only once per process. 852 853bpo-30779: Factor ConfigChanges class from configdialog, put in config; test. 854* In config, put dump test code in a function; run it and unittest in 855 'if __name__ == '__main__'. 856* Add class config.ConfigChanges based on changes_class_v4.py on bpo issue. 857* Add class test_config.ChangesTest, partly using configdialog_tests_v1.py. 858* Revise configdialog to use ConfigChanges; see tracker msg297804. 859* Revise test_configdialog to match configdialog changes. 860* Remove configdialog functions unused or moved to ConfigChanges. 861Cheryl Sabella contributed parts of the patch. 862 863bpo-30777: Configdialog - add docstrings and improve comments. 864Patch by Cheryl Sabella. 865 866bpo-30495: Improve textview with docstrings, PEP8 names, and more tests. 867Split TextViewer class into ViewWindow, ViewFrame, and TextFrame classes 868so that instances of the latter two can be placed with other widgets 869within a multiframe window. 870Patches by Cheryl Sabella and Terry Jan Reedy. 871 872bpo-30723: Make several improvements to parenmatch. 873* Add 'parens' style to highlight both opener and closer. 874* Make 'default' style, which is not default, a synonym for 'opener'. 875* Make time-delay work the same with all styles. 876* Add help for config dialog extensions tab, including parenmatch. 877* Add new tests. 878Original patch by Charles Wohlganger. Revisions by Terry Jan Reedy 879 880bpo-30674: Grep -- Add docstrings. Patch by Cheryl Sabella. 881 882bpo-21519: IDLE's basic custom key entry dialog now detects 883duplicates properly. Original patch by Saimadhav Heblikar. 884 885bpo-29910: IDLE no longer deletes a character after commenting out a 886region by a key shortcut. Add "return 'break'" for this and other 887potential conflicts between IDLE and default key bindings. 888Patch by Serhiy Storchaka. 889 890bpo-30728: Modernize idlelib.configdialog: 891* replace import * with specific imports; 892* lowercase method and attribute lines. 893Patch by Cheryl Sabella. 894 895bpo-6739: Verify user-entered key sequences by trying to bind them 896with to a tk widget. Add tests for all 3 validation functions. 897Original patch by G Polo. Tests added by Cheryl Sabella. 898Code revised and more tests added by Terry Jan Reedy 899 900bpo-24813: Add icon to help_about and make other changes. 901 902bpo-15786: Fix several problems with IDLE's autocompletion box. 903The following should now work: clicking on selection box items; 904using the scrollbar; selecting an item by hitting Return. 905Hangs on MacOSX should no longer happen. Patch by Louie Lu. 906 907bpo-25514: Add doc subsubsection about IDLE failure to start. 908Popup no-connection message directs users to this section. 909 910bpo-30642: Fix reference leaks in IDLE tests. 911Patches by Louie Lu and Terry Jan Reedy. 912 913bpo-30495: Add docstrings for textview.py and use PEP8 names. 914Patches by Cheryl Sabella and Terry Jan Reedy. 915 916bpo-30290: Help-about: use pep8 names and add tests. 917Increase coverage to 100%. 918Patches by Louie Lu, Cheryl Sabella, and Terry Jan Reedy. 919 920bpo-30303: Add _utest option to textview; add new tests. 921Increase coverage to 100%. 922Patches by Louie Lu and Terry Jan Reedy. 923 924Issue #29071: IDLE colors f-string prefixes but not invalid ur prefixes. 925 926Issue #28572: Add 10% to coverage of IDLE's test_configdialog. 927Update and augment description of the configuration system. 928 929 930What's New in IDLE 3.6.0 (since 3.5.0) 931Released on 2016-12-23 932====================================== 933 934- Issue #15308: Add 'interrupt execution' (^C) to Shell menu. 935 Patch by Roger Serwy, updated by Bayard Randel. 936 937- Issue #27922: Stop IDLE tests from 'flashing' gui widgets on the screen. 938 939- Issue #27891: Consistently group and sort imports within idlelib modules. 940 941- Issue #17642: add larger font sizes for classroom projection. 942 943- Add version to title of IDLE help window. 944 945- Issue #25564: In section on IDLE -- console differences, mention that 946 using exec means that __builtins__ is defined for each statement. 947 948- Issue #27821: Fix 3.6.0a3 regression that prevented custom key sets 949 from being selected when no custom theme was defined. 950 951- Issue #27714: text_textview and test_autocomplete now pass when re-run 952 in the same process. This occurs when test_idle fails when run with the 953 -w option but without -jn. Fix warning from test_config. 954 955- Issue #27621: Put query response validation error messages in the query 956 box itself instead of in a separate messagebox. Redo tests to match. 957 Add Mac OSX refinements. Original patch by Mark Roseman. 958 959- Issue #27620: Escape key now closes Query box as cancelled. 960 961- Issue #27609: IDLE: tab after initial whitespace should tab, not 962 autocomplete. This fixes problem with writing docstrings at least 963 twice indented. 964 965- Issue #27609: Explicitly return None when there are also non-None 966 returns. In a few cases, reverse a condition and eliminate a return. 967 968- Issue #25507: IDLE no longer runs buggy code because of its tkinter imports. 969 Users must include the same imports required to run directly in Python. 970 971- Issue #27173: Add 'IDLE Modern Unix' to the built-in key sets. 972 Make the default key set depend on the platform. 973 Add tests for the changes to the config module. 974 975- Issue #27452: add line counter and crc to IDLE configHandler test dump. 976 977- Issue #27477: IDLE search dialogs now use ttk widgets. 978 979- Issue #27173: Add 'IDLE Modern Unix' to the built-in key sets. 980 Make the default key set depend on the platform. 981 Add tests for the changes to the config module. 982 983- Issue #27452: make command line "idle-test> python test_help.py" work. 984 __file__ is relative when python is started in the file's directory. 985 986- Issue #27452: add line counter and crc to IDLE configHandler test dump. 987 988- Issue #27380: IDLE: add query.py with base Query dialog and ttk widgets. 989 Module had subclasses SectionName, ModuleName, and HelpSource, which are 990 used to get information from users by configdialog and file =>Load Module. 991 Each subclass has itw own validity checks. Using ModuleName allows users 992 to edit bad module names instead of starting over. 993 Add tests and delete the two files combined into the new one. 994 995- Issue #27372: Test_idle no longer changes the locale. 996 997- Issue #27365: Allow non-ascii chars in IDLE NEWS.txt, for contributor names. 998 999- Issue #27245: IDLE: Cleanly delete custom themes and key bindings. 1000 Previously, when IDLE was started from a console or by import, a cascade 1001 of warnings was emitted. Patch by Serhiy Storchaka. 1002 1003- Issue #24137: Run IDLE, test_idle, and htest with tkinter default root disabled. 1004 Fix code and tests that fail with this restriction. 1005 Fix htests to not create a second and redundant root and mainloop. 1006 1007- Issue #27310: Fix IDLE.app failure to launch on OS X due to vestigial import. 1008 1009- Issue #5124: Paste with text selected now replaces the selection on X11. 1010 This matches how paste works on Windows, Mac, most modern Linux apps, 1011 and ttk widgets. Original patch by Serhiy Storchaka. 1012 1013- Issue #24750: Switch all scrollbars in IDLE to ttk versions. 1014 Where needed, minimal tests are added to cover changes. 1015 1016- Issue #24759: IDLE requires tk 8.5 and availability ttk widgets. 1017 Delete now unneeded tk version tests and code for older versions. 1018 Add test for IDLE syntax colorizer. 1019 1020- Issue #27239: idlelib.macosx.isXyzTk functions initialize as needed. 1021 1022- Issue #27262: move Aqua unbinding code, which enable context menus, to macosx. 1023 1024- Issue #24759: Make clear in idlelib.idle_test.__init__ that the directory 1025 is a private implementation of test.test_idle and tool for maintainers. 1026 1027- Issue #27196: Stop 'ThemeChanged' warnings when running IDLE tests. 1028 These persisted after other warnings were suppressed in #20567. 1029 Apply Serhiy Storchaka's update_idletasks solution to four test files. 1030 Record this additional advice in idle_test/README.txt 1031 1032- Issue #20567: Revise idle_test/README.txt with advice about avoiding 1033 tk warning messages from tests. Apply advice to several IDLE tests. 1034 1035- Issue # 24225: Update idlelib/README.txt with new file names 1036 and event handlers. 1037 1038- Issue #27156: Remove obsolete code not used by IDLE. Replacements: 1039 1. help.txt, replaced by help.html, is out-of-date and should not be used. 1040 Its dedicated viewer has be replaced by the html viewer in help.py. 1041 2. 'import idlever; I = idlever.IDLE_VERSION' is the same as 1042 'import sys; I = version[:version.index(' ')]' 1043 3. After 'ob = stackviewer.VariablesTreeItem(*args)', 1044 'ob.keys()' == 'list(ob.object.keys). 1045 4. In macosc, runningAsOSXAPP == isAquaTk; idCarbonAquaTk == isCarbonTk 1046 1047- Issue #27117: Make colorizer htest and turtledemo work with dark themes. 1048 Move code for configuring text widget colors to a new function. 1049 1050- Issue #24225: Rename many idlelib/*.py and idle_test/test_*.py files. 1051 Edit files to replace old names with new names when the old name 1052 referred to the module rather than the class it contained. 1053 See the issue and IDLE section in What's New in 3.6 for more. 1054 1055- Issue #26673: When tk reports font size as 0, change to size 10. 1056 Such fonts on Linux prevented the configuration dialog from opening. 1057 1058- Issue #21939: Add test for IDLE's percolator. 1059 Original patch by Saimadhav Heblikar. 1060 1061- Issue #21676: Add test for IDLE's replace dialog. 1062 Original patch by Saimadhav Heblikar. 1063 1064- Issue #18410: Add test for IDLE's search dialog. 1065 Original patch by Westley Martínez. 1066 1067- Issue #21703: Add test for undo delegator. Patch mostly by 1068 Saimadhav Heblikar . 1069 1070- Issue #27044: Add ConfigDialog.remove_var_callbacks to stop memory leaks. 1071 1072- Issue #23977: Add more asserts to test_delegator. 1073 1074- Issue #20640: Add tests for idlelib.configHelpSourceEdit. 1075 Patch by Saimadhav Heblikar. 1076 1077- In the 'IDLE-console differences' section of the IDLE doc, clarify 1078 how running with IDLE affects sys.modules and the standard streams. 1079 1080- Issue #25507: fix incorrect change in IOBinding that prevented printing. 1081 Augment IOBinding htest to include all major IOBinding functions. 1082 1083- Issue #25905: Revert unwanted conversion of ' to ’ RIGHT SINGLE QUOTATION 1084 MARK in README.txt and open this and NEWS.txt with 'ascii'. 1085 Re-encode CREDITS.txt to utf-8 and open it with 'utf-8'. 1086 1087- Issue 15348: Stop the debugger engine (normally in a user process) 1088 before closing the debugger window (running in the IDLE process). 1089 This prevents the RuntimeErrors that were being caught and ignored. 1090 1091- Issue #24455: Prevent IDLE from hanging when a) closing the shell while the 1092 debugger is active (15347); b) closing the debugger with the [X] button 1093 (15348); and c) activating the debugger when already active (24455). 1094 The patch by Mark Roseman does this by making two changes. 1095 1. Suspend and resume the gui.interaction method with the tcl vwait 1096 mechanism intended for this purpose (instead of root.mainloop & .quit). 1097 2. In gui.run, allow any existing interaction to terminate first. 1098 1099- Change 'The program' to 'Your program' in an IDLE 'kill program?' message 1100 to make it clearer that the program referred to is the currently running 1101 user program, not IDLE itself. 1102 1103- Issue #24750: Improve the appearance of the IDLE editor window status bar. 1104 Patch by Mark Roseman. 1105 1106- Issue #25313: Change the handling of new built-in text color themes to better 1107 address the compatibility problem introduced by the addition of IDLE Dark. 1108 Consistently use the revised idleConf.CurrentTheme everywhere in idlelib. 1109 1110- Issue #24782: Extension configuration is now a tab in the IDLE Preferences 1111 dialog rather than a separate dialog. The former tabs are now a sorted 1112 list. Patch by Mark Roseman. 1113 1114- Issue #22726: Re-activate the config dialog help button with some content 1115 about the other buttons and the new IDLE Dark theme. 1116 1117- Issue #24820: IDLE now has an 'IDLE Dark' built-in text color theme. 1118 It is more or less IDLE Classic inverted, with a cobalt blue background. 1119 Strings, comments, keywords, ... are still green, red, orange, ... . 1120 To use it with IDLEs released before November 2015, hit the 1121 'Save as New Custom Theme' button and enter a new name, 1122 such as 'Custom Dark'. The custom theme will work with any IDLE 1123 release, and can be modified. 1124 1125- Issue #25224: README.txt is now an idlelib index for IDLE developers and 1126 curious users. The previous user content is now in the IDLE doc chapter. 1127 'IDLE' now means 'Integrated Development and Learning Environment'. 1128 1129- Issue #24820: Users can now set breakpoint colors in 1130 Settings -> Custom Highlighting. Original patch by Mark Roseman. 1131 1132- Issue #24972: Inactive selection background now matches active selection 1133 background, as configured by users, on all systems. Found items are now 1134 always highlighted on Windows. Initial patch by Mark Roseman. 1135 1136- Issue #24570: Idle: make calltip and completion boxes appear on Macs 1137 affected by a tk regression. Initial patch by Mark Roseman. 1138 1139- Issue #24988: Idle ScrolledList context menus (used in debugger) 1140 now work on Mac Aqua. Patch by Mark Roseman. 1141 1142- Issue #24801: Make right-click for context menu work on Mac Aqua. 1143 Patch by Mark Roseman. 1144 1145- Issue #25173: Associate tkinter messageboxes with a specific widget. 1146 For Mac OSX, make them a 'sheet'. Patch by Mark Roseman. 1147 1148- Issue #25198: Enhance the initial html viewer now used for Idle Help. 1149 * Properly indent fixed-pitch text (patch by Mark Roseman). 1150 * Give code snippet a very Sphinx-like light blueish-gray background. 1151 * Re-use initial width and height set by users for shell and editor. 1152 * When the Table of Contents (TOC) menu is used, put the section header 1153 at the top of the screen. 1154 1155- Issue #25225: Condense and rewrite Idle doc section on text colors. 1156 1157- Issue #21995: Explain some differences between IDLE and console Python. 1158 1159- Issue #22820: Explain need for *print* when running file from Idle editor. 1160 1161- Issue #25224: Doc: augment Idle feature list and no-subprocess section. 1162 1163- Issue #25219: Update doc for Idle command line options. 1164 Some were missing and notes were not correct. 1165 1166- Issue #24861: Most of idlelib is private and subject to change. 1167 Use idleib.idle.* to start Idle. See idlelib.__init__.__doc__. 1168 1169- Issue #25199: Idle: add synchronization comments for future maintainers. 1170 1171- Issue #16893: Replace help.txt with help.html for Idle doc display. 1172 The new idlelib/help.html is rstripped Doc/build/html/library/idle.html. 1173 It looks better than help.txt and will better document Idle as released. 1174 The tkinter html viewer that works for this file was written by Mark Roseman. 1175 The now unused EditorWindow.HelpDialog class and helt.txt file are deprecated. 1176 1177- Issue #24199: Deprecate unused idlelib.idlever with possible removal in 3.6. 1178 1179- Issue #24790: Remove extraneous code (which also create 2 & 3 conflicts). 1180 1181 1182What's New in IDLE 3.5.0? 1183========================= 1184*Release date: 2015-09-13* 1185 1186- Issue #23672: Allow Idle to edit and run files with astral chars in name. 1187 Patch by Mohd Sanad Zaki Rizvi. 1188 1189- Issue 24745: Idle editor default font. Switch from Courier to 1190 platform-sensitive TkFixedFont. This should not affect current customized 1191 font selections. If there is a problem, edit $HOME/.idlerc/config-main.cfg 1192 and remove 'fontxxx' entries from [Editor Window]. Patch by Mark Roseman. 1193 1194- Issue #21192: Idle editor. When a file is run, put its name in the restart bar. 1195 Do not print false prompts. Original patch by Adnan Umer. 1196 1197- Issue #13884: Idle menus. Remove tearoff lines. Patch by Roger Serwy. 1198 1199- Issue #23184: remove unused names and imports in idlelib. 1200 Initial patch by Al Sweigart. 1201 1202- Issue #20577: Configuration of the max line length for the FormatParagraph 1203 extension has been moved from the General tab of the Idle preferences dialog 1204 to the FormatParagraph tab of the Config Extensions dialog. 1205 Patch by Tal Einat. 1206 1207- Issue #16893: Update Idle doc chapter to match current Idle and add new 1208 information. 1209 1210- Issue #3068: Add Idle extension configuration dialog to Options menu. 1211 Changes are written to HOME/.idlerc/config-extensions.cfg. 1212 Original patch by Tal Einat. 1213 1214- Issue #16233: A module browser (File : Class Browser, Alt+C) requires an 1215 editor window with a filename. When Class Browser is requested otherwise, 1216 from a shell, output window, or 'Untitled' editor, Idle no longer displays 1217 an error box. It now pops up an Open Module box (Alt+M). If a valid name 1218 is entered and a module is opened, a corresponding browser is also opened. 1219 1220- Issue #4832: Save As to type Python files automatically adds .py to the 1221 name you enter (even if your system does not display it). Some systems 1222 automatically add .txt when type is Text files. 1223 1224- Issue #21986: Code objects are not normally pickled by the pickle module. 1225 To match this, they are no longer pickled when running under Idle. 1226 1227- Issue #23180: Rename IDLE "Windows" menu item to "Window". 1228 Patch by Al Sweigart. 1229 1230- Issue #17390: Adjust Editor window title; remove 'Python', 1231 move version to end. 1232 1233- Issue #14105: Idle debugger breakpoints no longer disappear 1234 when inserting or deleting lines. 1235 1236- Issue #17172: Turtledemo can now be run from Idle. 1237 Currently, the entry is on the Help menu, but it may move to Run. 1238 Patch by Ramchandra Apt and Lita Cho. 1239 1240- Issue #21765: Add support for non-ascii identifiers to HyperParser. 1241 1242- Issue #21940: Add unittest for WidgetRedirector. Initial patch by Saimadhav 1243 Heblikar. 1244 1245- Issue #18592: Add unittest for SearchDialogBase. Patch by Phil Webster. 1246 1247- Issue #21694: Add unittest for ParenMatch. Patch by Saimadhav Heblikar. 1248 1249- Issue #21686: add unittest for HyperParser. Original patch by Saimadhav 1250 Heblikar. 1251 1252- Issue #12387: Add missing upper(lower)case versions of default Windows key 1253 bindings for Idle so Caps Lock does not disable them. Patch by Roger Serwy. 1254 1255- Issue #21695: Closing a Find-in-files output window while the search is 1256 still in progress no longer closes Idle. 1257 1258- Issue #18910: Add unittest for textView. Patch by Phil Webster. 1259 1260- Issue #18292: Add unittest for AutoExpand. Patch by Saihadhav Heblikar. 1261 1262- Issue #18409: Add unittest for AutoComplete. Patch by Phil Webster. 1263 1264- Issue #21477: htest.py - Improve framework, complete set of tests. 1265 Patches by Saimadhav Heblikar 1266 1267- Issue #18104: Add idlelib/idle_test/htest.py with a few sample tests to begin 1268 consolidating and improving human-validated tests of Idle. Change other files 1269 as needed to work with htest. Running the module as __main__ runs all tests. 1270 1271- Issue #21139: Change default paragraph width to 72, the PEP 8 recommendation. 1272 1273- Issue #21284: Paragraph reformat test passes after user changes reformat width. 1274 1275- Issue #17654: Ensure IDLE menus are customized properly on OS X for 1276 non-framework builds and for all variants of Tk. 1277 1278 1279What's New in IDLE 3.4.0? 1280========================= 1281*Release date: 2014-03-16* 1282 1283- Issue #17390: Display Python version on Idle title bar. 1284 Initial patch by Edmond Burnett. 1285 1286- Issue #5066: Update IDLE docs. Patch by Todd Rovito. 1287 1288- Issue #17625: Close the replace dialog after it is used. 1289 1290- Issue #16226: Fix IDLE Path Browser crash. 1291 (Patch by Roger Serwy) 1292 1293- Issue #15853: Prevent IDLE crash on OS X when opening Preferences menu 1294 with certain versions of Tk 8.5. Initial patch by Kevin Walzer. 1295 1296 1297What's New in IDLE 3.3.0? 1298========================= 1299*Release date: 2012-09-29* 1300 1301- Issue #17625: Close the replace dialog after it is used. 1302 1303- Issue #7163: Propagate return value of sys.stdout.write. 1304 1305- Issue #15318: Prevent writing to sys.stdin. 1306 1307- Issue #4832: Modify IDLE to save files with .py extension by 1308 default on Windows and OS X (Tk 8.5) as it already does with X11 Tk. 1309 1310- Issue #13532, #15319: Check that arguments to sys.stdout.write are strings. 1311 1312- Issue # 12510: Attempt to get certain tool tips no longer crashes IDLE. 1313 Erroneous tool tips have been corrected. Default added for callables. 1314 1315- Issue #10365: File open dialog now works instead of crashing even when 1316 parent window is closed while dialog is open. 1317 1318- Issue 14876: use user-selected font for highlight configuration. 1319 1320- Issue #14937: Perform auto-completion of filenames in strings even for 1321 non-ASCII filenames. Likewise for identifiers. 1322 1323- Issue #8515: Set __file__ when run file in IDLE. 1324 Initial patch by Bruce Frederiksen. 1325 1326- IDLE can be launched as `python -m idlelib` 1327 1328- Issue #14409: IDLE now properly executes commands in the Shell window 1329 when it cannot read the normal config files on startup and 1330 has to use the built-in default key bindings. 1331 There was previously a bug in one of the defaults. 1332 1333- Issue #3573: IDLE hangs when passing invalid command line args 1334 (directory(ies) instead of file(s)). 1335 1336- Issue #14018: Update checks for unstable system Tcl/Tk versions on OS X 1337 to include versions shipped with OS X 10.7 and 10.8 in addition to 10.6. 1338 1339 1340What's New in IDLE 3.2.1? 1341========================= 1342*Release date: 15-May-11* 1343 1344- Issue #6378: Further adjust idle.bat to start associated Python 1345 1346- Issue #11896: Save on Close failed despite selecting "Yes" in dialog. 1347 1348- Issue #1028: Ctrl-space binding to show completions was causing IDLE to exit. 1349 Tk < 8.5 was sending invalid Unicode null; replaced with valid null. 1350 1351- Issue #4676: <Home> toggle failing on Tk 8.5, causing IDLE exits and strange selection 1352 behavior. Improve selection extension behaviour. 1353 1354- Issue #3851: <Home> toggle non-functional when NumLock set on Windows. 1355 1356 1357What's New in IDLE 3.1b1? 1358========================= 1359*Release date: 06-May-09* 1360 1361- Issue #5707: Use of 'filter' in keybindingDialog.py was causing custom key assignment to 1362 fail. Patch by Amaury Forgeot d'Arc. 1363 1364- Issue #4815: Offer conversion to UTF-8 if source files have 1365 no encoding declaration and are not encoded in UTF-8. 1366 1367- Issue #4008: Fix problems with non-ASCII source files. 1368 1369- Issue #4323: Always encode source as UTF-8 without asking 1370 the user (unless a different encoding is declared); remove 1371 user configuration of source encoding; all according to 1372 PEP 3120. 1373 1374- Issue #2665: On Windows, an IDLE installation upgraded from an old version 1375 would not start if a custom theme was defined. 1376 1377------------------------------------------------------------------------ 1378Refer to NEWS2x.txt and HISTORY.txt for information on earlier releases. 1379------------------------------------------------------------------------ 1380