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