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