Release 7.2.9 ------------- Date: April 12, 2021 Priority: Medium (Usability) Features * Add remote development support for 64-bit Raspberry Pi * Allow disabling SSH tunnel management in remote host configurations Changes * Auto-close quotes in fewer contexts; please provide feedback to support@wingware.com * Change the "Use SSH Tunnel for username@localhost" remote host configuration option to "Manage SSH Tunnels" and added the option to auto-configure based on the target. Bug Fixes * Prompt to save files before Evaluate File in Python Shell and Debug Probe and auto-save if the Files > Auto-Save Files Before Debug or Execute preference is enabled * Avoid hanging and sluggishness seen when changing revision control branches or removing or updating large numbers of project files * Avoid entirely blank lines in Stack Data and Watch when errors occur in handling values for debugger display * Correctly display values for PyQt enums and some other value types * Fix potential failure to display the commit view in revision control tools * Display tooltips for syntax errors or code warnings when the cursor is 10+ lines below * Fix using project settings to run or debug a file if a launch configuration was previously selected * Use PYTHONIOENCODING=utf-8 if pylint runs under Python 3.4+ in Wing Personal's PyLint tool * Fix analysis of commented type hints for a staticmethod * Fix failure to cache analysis information in some cases * Fix remote development and debugging when SSH tunnel management is disabled and a fixed port is selected by Remote Agent Port and/or Remote Debug Port in the remote host configuration * Fix using the camera or microphone from the debugger on macOS * Fix auto-saving files before executing an OS Command Release 7.2.8 ------------- Date: January 12, 2021 Priority: Medium (Usability) * Fix reformatting a selection for PEP8 * Fix refactoring to rename module when a file with the new name exists * Fix remote code reformatting when the code is not changed * Fix problems analyzing incomplete def async statements * Add User Interface > Tooltip Delay preference to control the delay before tooltips are shown * Reduce the default delay before tooltips are displayed * Add debugger support for Python running natively on Apple Silicon chips * Show a warning in the Code Warnings tool when an external checker is not run on a file because it exceeds the configured maximum file size * Show a warning in the Code Warnings tool when mypy fails to complete its analysis * Auto-enter -> for - also when a : already exists at the end of a def * Don't apply Project-defined indentation policies to snippet files * Return to column zero when Debug I/O, Python Shell, Debug Console, or OS Commands is scrolled to the right and additional output is appended and causes vertical scrolling * Fix Return in the run arguments field of the launch dialog to activate the OK button. Ctrl-Return may be used to enter a newline. * Don't allow breakpoints on lines that contains nothing but a type annotation since they not reached * Fix manual configuration of network proxies * Avoid showing incorrect key bindings in some context menus on Windows * Don't inspect Python 3.4, 3.5, or 3.6 when starting on macOS Big Sur Release 7.2.7 ------------- Date: November 13, 2020 Priority: Low (Usability) * Fix Command-Alt-Click to add multiple selections on macOS * Fix running Django unit tests when the testing module isn't in the Django project directory * Display test results even if the reported filename isn't in the Testing tool * Don't duplicate files in the Testing tool if added both by filename pattern and individually * Add remove-individually-added-testing-files command * Fix problems in the Call Stack tool when switching projects while the debugger is active * Change Goto Source on an exception in the Testing tool to display the innermost project file on the stack * Don't auto-insert -> when entering a default argument value * Fix problems inspecting some Python 3 installations on Windows * Fix failure to find the latest Python on Windows when Anaconda is installed * Avoid failures seen in remote incremental searching * Fix CAPIProject.GetPythonExecutableProperties and SetPythonExecutable for env:// (Activated Env) executables * Avoid losing license activation error dialogs on macOS * Include Debug To Here in editor context menu also when clicking on a test file Release 7.2.6 ------------- Date: October 7, 2020 Priority: Medium (Usability) * Fix 2w in vi mode * Improve exception reporting when using pytest and Python 3 * Fix failure to set up a new Django project * Fix auto spacing after / in argument lists * Fix handling of := in Turbo auto-completion mode when : is immediately after the name being bound * Reduce CPU use when analyzing and waiting for remote files * Fix regex interactive search support for non-ascii characters * Fix finding python3 installed by Xcode on macOS * Fix internal error encountered when analyzing possible named tuples * Fix intermittent failure to set up a virtualenv on a remote host * Fix intermittent failure to start an OS Command on a remote host * Fix starting an OS Commands in a Pseudo TTY on remote hosts with Python >= 3.3 * Keep relative positions of cursor and anchor when indenting lines Update 7.2.5.4 -------------- Date: September 21, 2020 Priority: Medium (Usability) * Fix remote agent problems in 7.2.5.3 update Update 7.2.5.3 -------------- Date: September 21, 2020 Priority: Low (Usability) * Fix default size of the display font on some Windows systems * Fix cut-line command Update 7.2.5.2 -------------- Date: September 16, 2020 Priority: Low (Usability) * Avoid jumping editor scrolling in non-current splits when auto-formatting files * Optimize scanning directories on some types of Linux file systems * Use less CPU when Wing is idle and connected to a remote host * Auto-insert -> for a def if - is typed after the closing ) * Fix using alt-click & drag to select a rectangle on macOS * Fix / and ? searching in vi visual modes to leave correct selection in place * Fix vi mode Ctrl-U in position 0 on the second line of a file * Avoid blocking up to 20 seconds on some systems when automatic update checking is enabled * Don't mark empty editor buffers for a file that does not exist on disk as modified Update 7.2.5.1 -------------- Date: September 10, 2020 Priority: Low (Usability) * Fix watching for external file changes on Windows with some network file servers Release 7.2.5 ------------- Date: September 9, 2020 Priority: Medium (Usability) * Upgrade pip automatically when creating a new virtualenv * Add Auto-Focus for Input to the Debug I/O tool's Options menu, to raise and focus on the I/O buffer whenever a debug process is waiting for keyboard input * Add Close All Terminated menu item to the Debug I/O tool's Options menu * Auto-show the Debug I/O tool also for the second+ debug process * Set the current debug process when auto-showing Debug I/O on output * Change the default for auto-showing the Debug I/O tool to show it on first output only * Implement vi mode :[range]y * Position the multi-selection window correctly on Linux and allow it to be moved manually * Don't show debug run markers for non-current debug processes * Don't move breakpoints to a different line when undo or comment-toggle is used * Fix importing matplotlib when the matplotlib font cache needs to be rebuilt * Optimize matplotlib event processing with the MacOSX backend * Fix the Testing tool when one of the regexes for project files isn't valid * Allow copying only selected text from documentation * Fix code warnings when AnyStr is used * Fix disabling undefined attribute warnings of builtin types * Supress spurious warnings for variables with typing.Type[] hints * Avoid failure to update the analysis status in some cases * Correctly report remote agent installation failure in all cases Release 7.2.4 ------------- Date: August 17, 2020 Priority: Medium (Usability) Features * Introduce preliminary support for Python 3.9 * Add Editor > Space Indicator Size preference for the size of the indicator used for space characters when white space is shown on the editor Bug Fixes * Fix installing individually named packages with a version specifier from the New Project dialog * Avoid scrolling editors in other splits when multiple splits are open for a file * Fix using the space bar to toggle checkboxes in refactoring lists * Fix end-of-block command when starting from a def (): line * Start in the correct location when using New items in the project context menu and the Files > Default Directory Policy preference is using the current focus * Use the correct default text encoding for .json and .tex files * Fix using Anaconda when it is the default Python in the Terminal on macOS * Move the Debugger > Advanced > Auto-show Run Args Dialog preference to Debugger > Show Debug Environment Dialog and make it work for named entry points * Avoid failure to display the value of some data types in the debugger * Show operators in Python code in documentation also in the Black Background color palette Update 7.2.3.3 -------------- Date: July 21, 2020 Priority: Low (Usability) * Allow typing into Debug I/O when running a named entry point that uses -m * Fix up 'x: =' -> 'x :=' automatically during typing * Don't immediately manage blocks with the : key in Python 3.8 code contexts where := could be typed; pressing a second : triggers block management in that case * Add Editor > Auto-Editing > Prefer Block Management Over := preference to always manage blocks immediately with : even in contexts where := may be used Update 7.2.3.2 -------------- Date: July 20, 2020 Priority Medium (Usability) * Change Create New VirtualEnv in New Project to install packages into the new env and not the base Python * Insert special characters correctly from the search entry's right-click context menu * Fix Interpret Backslash Sequences option in the Search in File tool's search area context menu * Correctly handle virtualenv activation commands that start with 'source' or '.' on a remote host Update 7.2.3.1 -------------- Date: July 20, 2020 Priority: Low (Usability) * Don't fail to install the remote agent if it takes more than 60 seconds to transfer * Don't fail to debug on very slow remote host connections, where the reverse SSH tunnel for the debugger takes a long time to establish * Fix using the Network > SSH Timeout preference to determine when to abandon an SSH tunnel * Add documentation for using Wing with Cython * Clarify documentation for setting up SSH connectivity * Don't auto-add a space after # in column 0 on the first line of a Python file * Don't move the caret forward after 'r' in VI browse mode Release 7.2.3.0 --------------- Date: July 13, 2020 Priority: Medium (New Features and Usability) Features * Add a How-To for using Wing with PyXLL * Support folding in .pyi and .pi files Bug Fixes * Fix using the macOS Catalina Finder to open files when Wing is already open * Fix Wing's icon on macOS Catalina when launching from command line * Fix the project tree display after cancelling a file move * Fix the default editor font on Catalina * Fix analysis of named expressions used as function arguments Update 7.2.2.13 --------------- Date: June 10, 2020 Priority: Low (Usability) * Fix failures to activate an annual license within 30 days of its expiration * Don't write purposely skipped messages in mypy output to the IDE log Update 7.2.2.12 --------------- Date: June 2, 2020 Priority: Low (Usability) * Fix running tests when testing tool isn't visible * Correctly update editor and tool tab colors when the OS display theme changes * Improve German translation of auto-reload preference options (thanks to Matthias Leopold) * Improve shading of scrollbar arrows and grab bar, particularly in dark mode * Start/stop listening for remote debug connections correctly when Python Executable changes Update 7.2.2.11 --------------- Date: May 27, 2020 Priority: Low (Usability) * Fix disabling a code warning in the current file from the right-click context menu * Fix SuspendDebug and ResumeDebug in the debugger API * Avoid breaking auto-editing when the Python version cannot be determined Update 7.2.2.10 --------------- Date: May 19, 2020 Priority: Low (Usability) * Add Editor > Auto-Reformatting > PEP 8: Move Indents to Top preference * Don't move imports to the top of the file by default when reformatting for PEP8 * Fix remote debugging with OpenSSH configurations using ControlMaster * Speed up starting debug on remote hosts when the ssh client is not using English * Don't use the same icons for multiple items in the Testing toolbar * Fix failure to restart the Python Shell or terminate the debug process in some cases * Fix failure to debug or run the remote agent when sys.path does not contain the current directory * Use correct file dialog to select VCS commands when working on remote hosts and store the path of the selected file on the remote host and not the ssh:// url Update 7.2.2.9 -------------- Date: May 13, 2020 Priority: Medium (Usability) * Don't add backslashes when rewrapping a docstring from 2nd+ line * Fix possible failure to write files if auto reformatting is enabled * Fix smart tab on the 2nd+ line of a multi-line statement * Fix using Regex style test file patterns on remote hosts Update 7.2.2.8 -------------- Date: May 5, 2020 Priority: Low (Usability) * Fix disabling debugger extensions for matplotlib and Django templates in Project Properties * Avoid problems when using very old matplotlib versions (1.3.1 and earlier) Update 7.2.2.7 -------------- Date: May 4, 2020 Priority: Medium (Usability) * Fix failure of the remote development agent to function on some systems Update 7.2.2.6 -------------- Date: April 30, 2020 Priority: Low (Usability) * Fix installing the remote agent when working with PuTTY * Don't scroll during comment & uncomment region * Fix finding points of use from the Source Browser Update 7.2.2.5 -------------- Date: April 25, 2020 Priority: Low (Usability and Minor Features) Features * Added evaluate-code-in-shell and evaluate-code-in-debug-console commands * Warn if Python Executable is set to Activated Env and the command does not look like an activation command Bug Fixes * Fix the default pep8 reformatter to correctly detect the Python version being targeted * Fix selecting the auto-reformatter in preferences when Options > Reformatter in Project Properties uses the preference value * Correctly include attributes of base classes in the runtime auto-completer for classes that descend from a superclass with a metaclass * Don't add backslashes when wrapping lines within a triple quoted string * Fix size of Launch Configurations dialog when there are 20+ configurations * Fix Smart Tab to insert indentation at the end of lines within a multi-line logical line * Don't corrupt non-ascii text when using indent-to-next-indent-stop or Smart Tab at end of a line * Don't fail to install the remote agent when the initial current directory is not the home directory Update 7.2.2.4 -------------- Date: April 21, 2020 Priority: Medium (Usability) * Avoid randomly attempting to open execonearg.py on some Windows systems * Avoid failing to scrape extension modules when using an activated env * Fix typing multi-line special strings into the shells (for example f"""+newline) * Don't add backslash at the end of re-wrapped lines when it's not needed * Improve re-wrapping of multi-line lists, tuples, dicts, and set literals * Fix problems with remote host configurations that use an activated env Update 7.2.2.3 -------------- Date: April 15, 2020 Priority: Low (Bug Fixes) * Improve clarity of images in the integrated documentation view * Fix clearing the Main Entry Point in Wing Personal * Fix excluding directories in some remote projects * Fix closing the file dialog for remote files before names are retrieved * Fix debugging child processes created by Python 3.7 multiprocessing on Windows * Fix import and syntax error reporting when running tests with Python 3 * Fix analysis of PyQt5 and other modules using the .abi3 filename tag * Fix vi mode ZZ so Wing doesn't quit when the last file is closed Update 7.2.2.2 -------------- Date: April 3, 2020 Priority: Medium (Stability) * Avoid terminating Wing when stopping debug on some systems * Show and update also new figures created when working interactively with matplotlib from the Python Shell or Debug Probe Update 7.2.2.1 -------------- Date: April 1, 2020 Priority: Low (Bug Fixes) * Fix problems seen on Linux when updating rather than installing the previous release * Fix inspecting Nuke's python shell when working with an updated copy of Wing * Fix problems working remotely with /mnt/c on WSL-hosted Linux systems * Fix re-checking Find Imported Items Everywhere in the Find Uses tool's Options menu * Make several minor documentation updates and corrections Release 7.2.2.0 --------------- Date: March 30, 2020 Priority: Medium (Bug Fixes and New Features) Features * Add a How-To for using Wing Pro with Amazon Web Services (AWS) * Add support for Python 3 enums * Allow Find Uses to find only the symbol created by a specific import statement, and not all other uses of the same name through other imports. To use this feature, uncheck Find Imported Items Everywhere in the Options menu of the Find Uses tool. * Add Editor > Auto-Completion > Non-Latin Script Display preference to control whether the auto-completer is shown after non-latin characters. Changes * The +/- key bindings in tree views now expand/collapse all selected items, rather than just one item * A \ to match a directory separater in a Testing File Pattern must now be escaped as \\ Bug Fixes * Improve detecting whether the autocompletion window is displayed when entering non-latin script characters * Fix spurious syntax errors when f-string expressions end with '=' * Fix printing of line numbers when using a dark background display palette * Fix the name format conversion refactoring operations for attribute names * Restore maximized tool windows when switching perspectives * Fix debugger introspection crashes seen with some Cython-compiled modules for Python 3 * Fix crashes when using the Python Shell and Debug Probe with some versions of Nuke * Fix the use of escape sequences in Testing file regexes for matching the full file name * Fix using the current split when stopping in the debugger * Fix using a command line with arguments to start a Python interpreter * Allow using ~ in the Private Key field in a remote host configuration * Don't allow using spaces in a rename refactoring operation * Don't warn when the testing framework is Django and manage.py has been added as a testing file * Fix the debug value tooltip for huge unicode strings * Fix deactivating a license on Windows * Fix autocompletion when editing a subclass of typing.NamedTuple * Fix spurious warnings when Any is included in a typing.Union Update 7.2.1.2 -------------- Date: February 17, 2020 Priority: Low (Bug Fixes) Bug Fixes * Fix problems inspecting remote Python interpreters * Fix using pseudo TTYs in OS Commands on Linux * Delete partially created env directory if creating a new virtualenv fails Update 7.2.1.1 -------------- Date: February 11, 2020 Priority: Medium (Bug Fixes) Changes * Set default for "Inherit global site-packages" to disabled when creating a new virtualenv in the New Project dialog, to match the default used by virtualenv Features * Add end-of-block command to move the editor caret to the next block after the current one Bug Fixes * Fix failures seen when Activated Env option for Python Executable is used, in reformatting with Black/YAPF, executing a Python file in OS Commands, and running unit tests * Fix activated env using Anaconda on a remote host * Allow values longer than 80 characters for Activated Env option in Python Executable properties * Don't hide Activated Env option for Python Executable in Wing Personal * Allow typing spaces with Shift-Space after other typing when the debugger is active, rather than showing debug value tips * Don't fail to activate a license if it contains a non-breakable space character * Set foreground color in Source Assistant and documentation correctly when not applying the color palette to the whole UI * Don't sort dictionaries when pretty-printing is enabled in the Python Shell and Debug Console, if running Python 3.8+ * Fix pasting into a rectangular selection * Don't display autocompletion list when using a Chinese input method * Don't fail to use virtualenv in older Python versions if 'python -m virtualenv' works but not 'python -m venv' or running virtualenv directly * Fix failure to display debug data tips in some cases * Set up new projects using Anaconda on macOS to use the Command Line choice for Python Executable to avoid issues with 'conda activate' * Include all the Code Warnings tool pages in its Options menu, so they are easier to find * Fix example kWingHostPort in the Docker How-To * Remove and recreate corrupt usage stats file if it fails to be read * Fix CAPIProject.GetPythonExecutableProperties for remote Python interpreters Release 7.2.1.0 --------------- Date: January 29, 2020 Priority: Medium (Bug Fixes) Changes * Apply the Termination Model preference for debugging to all debug processes, even if multi-process debugging is disabled; the default is to terminate all processes in the process group, in order to avoid leaving around zombie processes * Dropped the Kill Child Processes with Parent option for the Termination Mode preference because it could only kill child processes attached to the IDE, would miss processes created during the termination phase, and could not be fixed Bug Fixes * Don't display a failure dialog when pasting Python code with blank lines in it * Fix display of the editor caret and avoid crashing Wing in vi browse mode when the first line of the file is blank * Include 'from' in auto-completer after 'raise x' * Fix problems with Prompt for Action process termination mode * Fix killing whole process groups for all processes spawned by Wing * Fix starting a module via python -m when $ or ~ are in the run arguments * Fix converting shared remote hosts from old versions * Fix other minor problems Update 7.2.0.2 -------------- Date: January 21, 2020 Priority: Medium (Bug Fixes) Bug Fixes * Don't try to prepend -2 and -3 to non-py.exe Python on Windows when the debug file has a Posix #! shebang * Fix creating a new virtualenv with the New Project dialog in Wing Personal Release 7.2.0.1 --------------- Date: January 20, 2020 Priority: Medium (Final Release) Bug Fixes * Fix auto-indent after paste within a multi-line logical line * Add missing Python 3 public file object attribs to debugger's standard input wrapper: buffer, mode, readable, seekable, writable, and write_through * Fix analysis failures seen when adding or removing duplicate classes or functions Release 7.2.0.0 Early Access ---------------------------- Date: January 14, 2020 Priority: Medium (New Features) Features * Add on-demand and automatic reformatting with Black and YAPF * Improved support for virtualenv * Support for Anaconda environments * Add the option to launch the debugger for a named module (using python -m) in Named Entry Points and when launching individual files * Allow setting Python Executable for Project Properties and Launch Configurations to a command line that includes arguments * Easier externally-launched debug configuration * Eliminate the need to specify Allowed Hosts and Location Map * Eliminate the need to copy a security token into place by prompting the user to accept or deny unknown debugger connection security tokens * Allow setting WINGDB_SECURITYTOKEN or setting kSecurityToken in wingdbstub to directly provide the security token to use for debugging; the default is to look up the token in the user settings directory or same directory as wingdbstub.py if that is being used * Add Editor > Selection/Caret > Scrolling Content Lines preference to control the number of lines of context shown above or below the caret when the editor is auto-scrolled to a new position * Added GetPythonExecutableProperties to the CAPIProject scripting API for inspecting Python interpreters Changes * On Linux and macOS, prefer 'python3' over 'python' when scanning the PATH for the default Python, both when working locally or on a remote host * If multiple debugger Location Map entries match a remote debug file, use the one with the longest remote specification (most specific match), preferring existing files over matches that don't exist; previously, the first match was used even if the file didn't exist or was a more general match than another existing file. * Changed the default value for the Debugger > Advanced > Allowed Hosts preference to *.*.*.* to allow connections from any host by default (a valid security token is still required) Bug Fixes * Fix failure to process mouse up events after clicking on some Macs * Don't fail to start the remote agent when using the default Python Executable on remote hosts that have only 'python3' * Avoid environment setup problems when using Anaconda on Windows * Fix reverting updates on Windows * Fix stepping in the debugger after breaking with breakpoint() builtin * Fix stepping into imports on Windows * Support PEP8 auto-formatting also on remote hosts * Fix disabling PEP8 reformatting of spaces around = in argument lists * Show dimensions correctly for N-dimensional arrays where N>2 * Allow specifying partial paths for an OS Command that uses a pseudo TTY * Allow the scripting API to set breakpoints in files that are not open * Fix failure to start on some Linux systems * Use the launch configuration specified in File Properties for a file when running tests in that file * Fix restarting the Python Shell when there are multiple instances including some that have never been shown * Fix debugging QThreads that use the default run() implemention in Python 3.6+ * Don't fail to start OS Commands on remote hosts not used for the project Update 7.1.3.2 -------------- Date: January 6, 2020 Priority: Medium (Usability) Features * Reintroduce PDF-formatted quick start, tutorial, manual, and how-tos (available for download from wingware.com) * Support block commenting code in YAML files Changes * Change default auto-reload behavior to close files that disappear on disk, in order to work better when revision control update or branch changes occur * Change the Files > Reloading > Reload for Deleted Files preference to allow closing the file, keeping open an empty editor, or prompting for action Bug Fixes * Fix display of Python code in the integrated documentation * Don't fail to show output for short-lived debug processes that don't reach a breakpoint or exception before exiting * Fix setting colors for JSON syntax highlighting * Fix syntax highlighting for JSON comments * Fix filtering a directory search by file name * Improve docs for using Anaconda with Wing to clarify how to use ``conda activate envname`` * Respect the Editor > Split Reuse Policy preference when opening files and moving around the debug stack * Correctly convert shared remote-hosts file when upgrading from older Wing versions * Identify non-existent files as read-only on Windows only if its directory is not writable * Avoid showing a dialog continuously if the Indentation tool is visible and using Request Reload on Edit style reloading Update 7.1.3.1 -------------- Date: November 15, 2019 Priority: Low (Usability) Bug Fixes * Correctly load keymap files from an update Release 7.1.3.0 --------------- Date: November 14, 2019 Priority: Low (Usability) Bug Fixes * Fix working interactively with matplotlib 3.1.1 * Allow Open from Project and similar navigation commands also from non-Browse mode in vi mode * Don't warn that __path__ is undefined in a module * Don't warn about undefined name, attribute, or import if found in a try/except that explicitly handles the exception * Fix svn diff when using -dev version of svn * Fix debugger failure to inspect data when __len__ is implemented in Python * Fix key bindings when there is no keyboard focus in the IDE, such as after just closing all editors * Fix failure to start debugger on some Macs * Fix runtime introspection of attribute types in Python 3 * Fix debugger crashing when inspecting some mock objects * Don't find warnings in a file when no editor is visible * Fix debugging with the WingDBG product in some versions of Zope/Plone * Fix naming of the debugger package in the Raspberry Pi How-To * Fix typo and urls in Flask How-To * Fix background of .dmg files * Fix installing remote agent from .rpm or .deb installations Update 7.1.2.3 -------------- Date: October 25, 2019 Priority: Low (Usability and New Features) Features * Improve and expand the How-To for Matplotlib * Add start-of-block command to move the caret to the start of the current block * Add Debugger > Advanced > Move Breakpoints to Valid Lines preference to disable automatic repositioning of breakpoints to valid positions * Add Editor > Auto-Editing > Spaces Elsewhere in Argument Lists preference to allow auto-editing to insert spaces into argument lists in contexts other than around = * Add Files > Reloading > Auto-Reload for Deleted Disk Files preference to control what action is taken if an open file disappears on disk Changes * Don't try to automatically set MYPYPATH when using mypy for code warnings; it can be set in Project Properties if needed Bug Fixes * Fix automatically debugging child processes on Windows with Python 3.8 * Keep Matplotlib plots active if shown from the Debug Console in the context of a fatal exception * Don't force moving breakpoints to the last line of a multi-line assignment statement since Python may visit earlier lines in some cases * Don't use invisible splits for Goto Definition in Other Split * Fix intermittent failure to terminate running debug processes when Wing is exited * Fix the end-of-screen-line command when on the last line and line wrapping is enabled * Insert spaces around '=' in keyword arguments in the auto-completer when requested in auto-editing preferences Update 7.1.2.2 -------------- Date: October 16, 2019 Priority: Medium (Usability) Bug Fixes * Don't fail to recognize Python 3.8 as valid if it is the only version installed * Fix evaluating files in the Python Shell without auto-restarting the shell * Don't show a read failure dialog for remote files that are opened in the background for analysis * Hide tooltips when arrow keys are pressed * Clarify the debug status tooltip shown above the bug icon in the lower left Update 7.1.2.1 -------------- Date: October 10, 2019 Priority: Medium (Usability) Bug Fixes * Fix the color used for the contents of tooltips on the editor Release 7.1.2.0 --------------- Date: October 8, 2019 Priority: Medium (Usability and New Features) Features * Add a How-To for using Wing with Docker * Allow disabling code warnings from the tooltip displayed over the editor * Add preliminary support for macOS 10.15 (Catalina) * Support code folding in JSON files * Support optional word wrapping for output in the Testing tool * Add a preference to send debugger keep-alive messages for environments that close inactive connections (disabled by default) Changes * Show debugger data values in tooltips when hovering over a name, even if tooltips are disabled for the rest of the UI * Run test files in the order that they are displayed in the Testing tool * Only show test files that exist after a project is opened Bug Fixes * Fix analysis of class attributes * Fix analysis of augmented assigment statements * Avoid spurious super(). undefined attribute warnings * Avoid spurious from __future__ import name warnings * Avoid the potential for reformatting a file for PEP 8 after the debugger has started * Fix display of non-ascii text in OS Commands when using a pseudo-tty * Fix failure to get the last part of output from a process run in the OS Commands tool with pseudo-tty enabled * Fix failure to convert encoding of text sent to an OS Command running in a pseudo-tty * Terminate OS Commands when remote agent connection is lost * Set the default file type correctly in Windows file dialogs * Fix dragging 2+ files in the Project tool * Clear test output and exceptions when results are explicitly cleared * Allow disabling warnings shown when editing the active remote host configuration * Don't fail to start the debugger if sys.breakpointhook is missing when the debugger initializes in python 3.7+ * Don't display an icon to disable a warning when there is no warning to disable * Fix removing underlines from warnings and errors when some lines are modified * Don't insert -> if typing - after a space in a def's argument list * Avoid segfaults in the debugger when inspecting certain Cython functions * Fix problems with the use of tools in separate windows * Allow the scripting API to set breakpoints in non-existent files * Show tooltip with a correctly sized window when the last tip shown was wider * Don't show tooltips for the top toolbar when tooltips are disabled Release 7.1.1.0 -------------- Date: September 6, 2019 Priority: High (Usability) Bug Fixes * Fix slowing and dropping of remote development connections caused by remote extension module scraping * Fix failure to show Pandas DataFrame and Series values * Fix OS Commands to work on remote hosts when using Python 3 * Fix remote extension module inspection when the resulting .pi file contains non-ascii characters * Add __init__ arguments to auto-completion list * Fix showing stars for project files in the Exceptions tool * Fix quoting strings in Stack Data, Watch, and debug value tips * Avoid failure to restart the Python Shell in some cases when switching projects * Disable the ignore exception checkbox when the exception cannot be ignored * Fix ignoring exceptions in frozen importlib files * Show debug value tips also on values on the first or last visible line * Don't show debug value tips for symbols scrolled under the margins * Improve senary icon color for Solarized Light color palette * Add a dependency for libxcb-xkb and some other libraries to the Debian and RPM packages * Apply Display Font preference also to menu bar and trees and lists on Windows * Fix line numbers shown in pytest exception tracebacks * Wrap tree view tool tips to fit on the screen * Fix Python Shell startup header text Update 7.1.0.3 -------------- Date: August 19, 2019 Priority: Medium (Usability) Features * Add a drop-current-selection command to drop the current selection when two or more selections exist Bug Fixes * Fix documentation search on Windows * Prevent test processes from terminating before all the test results are reported * Fix debugging Named Entry Points * Fix opening a file by dragging in from the Project tool onto the editor * Fix debugging subprocesses when logging debugger diagnostics to a file * On Windows, hide toolboxes that stay on top when Wing doesn't have the focus * Select the method name when the goto-overridden-method command is used * Update documentation to indicate what libraries are needed on Linux * Don't fail to show rules that disable code warnings when a class is in unsaved file * Avoid raising an exception after a window is closed * Prevent test processes from terminating before all the test results are reported Release 7.1.0.2 --------------- Date: July 25, 2019 Priority: Medium (Usability) Features * Support the system-provided OpenSSH on Windows 10 for remote development Bug Fixes * Fix problems with late code printing to stdout and stderr when running tests * Fix analysis of modules used when specifying base classes Update 7.1.0.1 rc ----------------- Date: July 22, 2019 Priority: High (Usability) * Fix failure to open files on Windows before the effective Python Path is found * Use correct background color for Python code shown in documentation * Fix status displayed in the warnings tool when showing warnings is disabled * Fix saving files from the Open Files tool * Change the close-all command to also close documentation, unless the include_help argument is set to False Release 7.1.0.0 beta -------------------- Date: July 19, 2019 Priority: Medium (New Features and Bug Fixes) Features * Preliminary support for Python 3.8 * Warn about unused imports, variables, and arguments in Python code * Improve code warnings configuration * Improve project, auto-completer, and source browser icons * Support Dark Mode on macOS * Improve display of Python code and icons in documentation Changes * Now requires macOS 10.12 or later (10.11 is no longer supported) Bug Fixes * Fix scraping remote extension modules * Fix analysis of expressions used in 'with' statements * Use an existing tool in a separate toolbox window if none is visible in the current window * Show the version control tool and give it focus when commands are run * Fix updating warnings in the editor when a statement with 2+ warnings is edited * Don't warn about undefined attributes of generic module objects * Use a spinning busy icon in the Find in Uses and Refactoring tools * Don't display tooltips if a popup menu is displayed * Fix printing to a connected printer on Linux * Fix font rendering problems on macOS * Fix problems with debug value tips flashing on some Linux systems * Improve icon colors in the Positronic, Sun Steel, and Solarized color palettes * Add accelerators for all variants of the Testing tool Run and Debug buttons Release 7.0.4.0 --------------- Date: July 11, 2019 Priority: Low (Usability) * Avoid hanging up in file comparisons with large difference blocks * Don't lose retained Debug I/O buffers after 60 seconds * Correctly enable button for closing retained Debug I/O buffers * Fix tooltip display when one window is on top of another * Fix the selection-add-next-occurence(reverse=True) command * Fix issue seen in CAPISymbolInfo when point of definition cannot be found * Fix update failure in Stack Data, Watch, and Modules tools as the debug process exits * Don't fail to open *.vb files * Fix object life cycle issue in the feedback dialog * Prevent error in callable script 'contexts' from blocking loading of scripts * Document the Options menu items in the Debug I/O tool Update 7.0.3.5 -------------- Date: July 4, 2019 Priority: Low (Usability) Bug Fixes * Fix failure to load some debugger updates * Fix move-line-up at end of file if there is no trailing newline Update 7.0.3.4 -------------- Date: July 3, 2019 Priority: Medium (Usability) Features * Add item to Python Shell's Options menus to edit current environment, highlighting the initial dir property in the dialog that is displayed * Add Start Terminal to OS Commands + menu and Options menu on Linux and macOS * Add Configure Testing item to Testing menu * Add Show Documentation links to all tool Options menus, or context menu if the tool has no Options menu * Update and expand the documentation for OS Commands * Set a different window icon for tool windows on Windows * Add Open Files to project context menu Bug Fixes * Fix debugging notebooks with newer Jupyter versions * Fix comparing two directories * Fix debugger deadlocks that could occur when old threads ended and new ones started * Correctly include filename in sys.argv when Evaluate File in the Python Shell * Fix display of some small images and surrounding text in documentation * Don't insert spaces in indentation within logical lines when using tab-only indent style * Match the line ending style in any existing file when writing project files * Fix inserting a " in a comment before an existing unclosed " * Fix configuration of new Terminals in OS Commands to correctly use TERM=dumb in the environment * Don't show an error report dialog in addition to disk-is-newer dialog for remote files Update 7.0.3.3 -------------- Date: June 19, 2019 Priority: High (Usability) Bug Fixes * Fix installing the remote agent from Linux and OS X * Fix auto-restart of the Python Shell in remote projects * Fix Move Program Counter in remote files Update 7.0.3.2 -------------- Date: June 18, 2019 Priority: High (Usability) Features * Add GetSelectedDottedName() to the CAPIEditor scripting API Bug Fixes * Fix multi-process remote debugging when the main process is launched from the IDE * Fix setting SSH port when running the remote agent on the local host * Fix remote searching and Find Uses to include files that are not open in the editor * Correctly override builtin scripts that are included in an update * Fix race condition leading to spurious Disk File is Newer dialogs for remote files * Fix reporting of failure to write remote files to disk * Fix crash seen when refactoring or finding points of use in code that has type hints Update 7.0.3.1 -------------- Date: June 5, 2019 Priority: Medium (Usability) Bug Fixes * Fix setting up a Django project with the default Python Executable * Fix dialogs when in full screen mode on OS X * Fix finding builtins when using a remote Python * Fix spurious import errors seen in some cases * Try to auto-install the remote agent if not found after an update * Avoid incorrectly clearing __builtins__._ when continuing debug * After upgrading, pre-fill license code from previous version into the license activation dialog * Fix license activation when using the Russian locale * Add information on the command set and key bindings to the Tutorial * Fix inspecting extension modules in Wing 101 * Fix the Tutorial's path_example.py to not assume utf-8 default encoding * Fix syntax coloring of f-strings in several color palettes * Reset install directory in remote host configurations to the default (automatic) when converting projects and shared remote-host configurations from earlier versions of Wing to avoid overwriting Wing 6 remote host installations * Open default project initially after upgrading Wing to avoid confusing dialog profusion Release 7.0.3 ------------- Date: May 30, 2019 Priority: Medium (Usability) * Analysis and Code Warnings improvements * Fix analysis when using a remote Python 3 interpreter * Avoid spurious warnings for 'from . import name' in an __init__.py file * Fix autocompletion in 'from ... import' statements (using three .'s) * Fix failure to restart the Python Shell in some cases * Fix finding .pyi file for os.path * Fix finding __init__.pyi in the same directory as __init__.py * Fix handling of symbols defined with import as is .pyi files * Fix resolving imports under Python 3 * Fix highlighting current argument in Source Assistant * Fix failure to remove a code warning in some cases * Display and Theming fixes * Improve display scaling on Linux by turning off automatic display scaling by default; it can be turned on via a setting in UI > Advanced preferences * Fix intermittent failure to properly restore dark mode or light mode from the high-level configuration menu * Debugger improvements * Fix problems seen when threads started in the Python Shell write to stdout * Don't set __builtins__._ to most recent value in the Debug Console and Python Shell if it was already set by user code * Omit all types from debug data display if 'type' is in the Debugger > Data Filters > Omit Types preference * Omit SIP-created class attributes for methods from debug data display * Diff/Merge fixes * Fix Compare Buffer to Disk and Compare Files for remote files * Fix Compare Buffer to Disk to handle file encodings correctly * Documentation updates and fixes * Fix searching documentation with the Search in Files tool * Clarify documentation on how to unbind a key or find what a key is bound to * Further simplify the Anaconda How_to's recommended solution for environment setup Release 7.0.2 ------------- Date: May 8, 2019 Priority: Medium (Usability) Features * Add options to exclude Pylint warning messages by category (errors, warnings, info messages) to the Code Warnings tool's external checker configuration Bug Fixes * Fix scraping extension modules that can only be imported as a package module * Don't incorrectly show Disk File is Newer dialog when saving remote files * Improve the How-To for using Wing with Anaconda * Fix rename and move refactoring in a file that isn't in the project * Fix undefined attribute message for builtin types * Fix updating warnings when a class or def statement is edited * Fix problems with the analysis cache on Windows * Fix autocompletion when invoking some functions * Fix finding constants defined in wxPython's .pyi files * Fix reporting warnings on blank lines * Warn about undefined names and attributes in type hints * Fix using Shift-Space for debug value tips with OS X keyboard personality * Fix matplotlib debugging support for MacOSX backend when a breakpoint is reached before a plot is shown * Fix Pylint support for remote hosts that report absolute pathnames * Fix disabling all external code warning checkers * Partial French localization update (thanks to Jean Sanchez) * Fix update check, license activation, and submitting bug reports on systems with a proxy server * Add Alt-key accelerators to many dialog buttons * Add .pytest_cache to the default list of hidden & temporary directory names Release 7.0.1.2 --------------- Date: April 18, 2019 Priority: High Bug fixes * Fix updating Wing on Windows Update 7.0.1.1 -------------- Date: April 17, 2019 Priority: High (Usability) Bug Fixes * Fix support for pytest broken by last update * Fix remote agent installation to work properly after an update is applied Update 7.0.1 ------------ Date: April 16, 2019 Priority: Critical (Usability) Bug Fixes * Fix support for pytest version 4 * Improve layout of debug data tips * Fix positioning of syntax error indicators on the editor * Fix finding uses of a module in the current file and a class from the Source Browser * Correctly copy shared remote host configurations during upgrade from Wing 6 * Improve syntax coloring for unclosed strings in Python files * Fix merging information from typeshed in package analysis * Fix class name display in the Source Browser * Fix analysis failure to find symbols in top-level module scope * Don't display callouts when the selection is empty * Fix symbol menu display when there are too many names * Fix modifying remote host configurations when the one used by the project is missing * Don't display documentation incorrectly when converting Wing 6 projects * Update documentation contents and page sub-contents correctly * Fix activating expiring licenses with expiration more than 899 days in the future * Don't hang on a manual update check if an automatic check is already running * Fix incorrect warnings displayed on functions from hashlib * Fix omission of dataclass fields from autocompletion list * Fix MemoryError sometimes seen when analyzing * Fix updating from a file on Windows Release 7.0.0.11 ---------------- Date: April 8, 2019 Priority: High (First Production Release with Bug Fixes) Features * Add a How-To for using Wing with Anaconda Bug Fixes * Fix Step Into on the 2nd+ line of a multi-line statement * Extend the menubar to the full width of the window * Display the correct exception when the main debug file has encoding problems * Fix compiling the debugger from source package Release 7.0.0.10 rc ------------------- Date: April 2, 2019 Priority: Critical (Usability) Changes * Enable preference Editor > Auto-Editing > Manage Blocks on Repeated Colon Key Presses by default * Disable preference Source Analysis > Scan Function and Method Calls by default * Remove the broken one-window-per-editor mode Bug Fixes * Fix hanging indefinitely if there is a partial string at the end of a line in a multi-line def statement * Fix the order of chained exception stack frames * Fix determining the effective Python Path in remote projects so modules can be found for analysis * Fix dialogs shrinking over time on macOS * Fix converting user settings directory from previous installed version of Wing * Fix recommending window and icon scale factor when using KDE * Fix displaying information for builtin types multiple times in the Source Assistant * Fix urls in Source Assistant for methods in stdlib classes * Fix labelling of instances in Source Assistant * Don't toggle presentation mode if user clicks cancel in restart dialog box * Fix the warning message for a missing module in a "from . import module" statement * Fix merging info for the os module from typeshed Update 7.0.0.9 rc ----------------- Date: March 26, 2019 Priority: Medium (Bug Fixes) Bug Fixes --------- * Move the high-level configuration menu to the menubar if the toolbar is hidden * Fix highlighting current menu items when a light color palette is applied to the whole UI * Display correct message in the Exceptions tool for chained exceptions created with "raise x from y" * Display chained exceptions correctly in the Python Shell * Fix external checkers on remote hosts * Fix encoding problems seen when running the remote agent under Python 3 * Set correct value for ${WING:PYTHON} special environment variable for remote hosts and when using the default of finding Python on the PATH * Add missing accelerators in Bookmarks, Code Warnings, and high-level configuration menu * Fix context menu in Code Warnings when there is no current Python file or no warnings * Improve initial positioning of editor callouts and move them if the editor scrolls while they are visible * Fix default scope name displayed for a move refactoring * Undefine any default Release- when defining in the User Interface > Keyboard > Custom Key Bindings preference * Correct availability checks for debug-show-value-tips and debug-hide-value-tips so a single key bindings can act as a toggle using comma-separated command names Release 7.0.0.8 rc ------------------ Date: March 25, 2019 Priority: Medium (Release Candidate with Bug Fixes) Changes ------- * Renamed the Debug Probe to Debug Console * Updated default Python snippets for class and def to omit the comment separator Bug Fixes --------- * Fix inspecting huge arrays in the array viewer * Allocate more space for columns in the array viewer * Fix adding huge values to the Watch tool * Fix failure to Step Into in some cases * Fix vi insert mode jj and jk * Fix inability to analyze certain dictionary literals * Fix reading type hint in a comment following an argument with a default value * Treat symbols with type hints as defined even if they are never defined * Fix analysis of dataclass fields * Improve merging of analysis when both *.pyi and *.py files are present * Fix rename refactoring * Fix reformatting a whole file for PEP8 * Fix Timeout- key bindings * Fix problems editing some comments at the end of a file * Fix autocompletion when invoking a function with no arguments * Fix exception seen during code warning detection * Fix version control icons in the project view to scale correctly on high DPI displays * Fix the --settings and --cached command line arguments * Clarify error message raised when trying to use unsupported 32-bit Python on OS X * Start at top of newly loaded documentation pages * Remove Help menu items to show PDF documentation, which no longer exists in Wing 7 * Fix documentation links from Debug Probe and Python Shell * Close the feedback or bug report window if the submission completed dialog is closed with the window close icon and not the OK button * Allow icon and window scale factor to be set when QT_SCREEN_SCALE_FACTORS is set in the startup environment (Linux only) Update 7.0.0.7 beta ------------------- * Fix setting and clearing main entry point from the Project context menu Release 7.0.0.6 beta -------------------- Date: February 7, 2019 Priority: High (Stability and Minor Features) Features * Improved support for high DPI displays on Linux and Windows * Offer to set scaling factor on Linux based on inspection of primary display * Add a menu icon to the right of the toolbar, with high-level configuration options, including toggling between light mode and dark mode * Implement Presentation Mode, which zooms the whole user interface with a specified scale factor. This is accessed from the new toolbar menu icon and the User Interfaces > Layout preferences group. * Add new dark mode color palette Dracula * Allow hiding the menu bar from the toolbar menu icon (Windows and Linux only) * Option to sort dictionaries and namespaces in Stack Data, Watch, and Modules. The default is to sort alphabetically and it may be toggled for each variable. Changes * Wing now sets sys.argv in the Python Shell when Evaluate File in Python Shell is used. The value matches the arguments used when debugging the selected file and persists until another file is evaluated. * Wing no longer reloads a file when a disk file is removed while it is open in the editor. Instead, the editor is marked as changed with its current contents. * Set TERM=dumb when Start Terminal is used Bug Fixes * Fix installation validation after installing an update * Fix Apply Update for manual installation of an update * Fix starting on OS X when the installation directory contains spaces * Fix namedtuple support under Python 3.3+ * Improve source analysis performance * Fix copying updated snippets to the user's snippets directory * Fix displaying the menu bar on Ubuntu * Fix failure to flag syntax errors after moving to new line * Allow resizing of Save Files and other modal dialogs on OS X * Fix display of editor callouts and Shift-Space debug value tips on Linux * Fix disabling code warnings by warning type * Update code analysis of edits in current editor more quickly * Don't include builtin functions in the completion list for a string under Python 3 * Fix autompletion of unicode literals * Show correct icons in completer for built in types * Fix intermittant failure to update completions when methods are added or removed * Fix identifying attributes in wingapi's CAPIStaticAnalysis.GetScopeContents * Clear the find symbol in project dialog when new project is opened * Fix merging methods from .pi files in find symbol in project dialog * Fix expanding locals and globals in Stack Data tool * Adjust the array data viewer font/size to match the rest of the UI * Set the font/size of tooltips correctly * Fix failure to update completion lists after some edits * Don't load updates when running Wing from sources Update 7.0.0.5 beta ------------------- * Fix copying snippets into place during bootstrap. Update 7.0.0.4 beta ------------------- * Don't flash debug value tips when pressing Shift-Space on Windows * Improved support for high dpi monitors on Linux and Windows Update 7.0.0.3 beta ------------------- * Don't lock up when showing an autocomplete argument with a default value containing certain strings * Correctly maintain selection across PEP8 line auto-reformatting * Avoid hanging up when restarting after installing or reverting an update * Don't show broken details links in update dialog * Don't show incorrect installation validation results after installing an update Release 7.0.0.2 beta -------------------- December 11, 2018 Features * Support mypy, pep8, and pylint as data sources in the Code Warnings tool * Show callouts on the editor when visiting a search result, point of use, point of definition, or code warning * Allow storing the code warnings configuration in project, user settings, or a selected file * Add ability to clear the code warnings configuration back to defaults * Show red X to delete code warnings configuration items * Support using the keyboard to visit or remove code warnings * Reviewed, updated, and reorganized all the How-Tos * Add support for Timeout modifier in multi-key bindings * Add support for xarray.DataArray to the array viewer * Add RPM and Debian packages for Linux * Partially updated German localization (thanks to Christoph Heitkamp) * Add Positronic, Cherry Blossom, and Sun Steel color palettes (thanks to Daniel Hill) Changes * Disable the old PyLint integration since the Code Warnings tool offers a better option for invoking pylint and indicating its warnings inline in editors * Automatically restart the Python Shell by default when changing projects; disable this by unchecking Auto-restart when Switch Projects in the Python Shell's Options menu * Exceptions in the Debugger > Exceptions > Never Report list are also ignored when they occur in code run in the Python Shell and Debug Probe * Rename CAPIProject.Get/SetMainDebugFile to Get/SetMainEntryPoint * Rename command set-current-as-main-debug-file to set-current-as-main-entry-point * Rename command set-selected-as-main-debug-file to set-selected-as-main-entry-point * Rename command clear-project-main-debug-file to clear-project-main-entry-point * Deprecate API and commands affected by the above changes * Turn off the Editor > Auto-Editing > Invoke After Completion preference by default * Don't display extension module scraping results in the status area Bug Fixes * Allow dialogs to be resized on OS X * Optimize code analysis * Optimize display of debug value tips on Shift-Space * Fix failure to remove debug value tips when Shift-Space is released * Fix docstring type links in the Source Assistant * Use more visible default color for selections in the One Dark color palette * Avoid accessing DNS when determining local IP addresses for debugging and remote development * Fix spurious indent errors when splitting existing lines * Fix problems in the update manager and installation validation * Don't warn that cls.__name__ is undefined when cls is a class object * Improve rendering of literal blocks and notes in the integrated documentation * Allow using Add New Rule in Code Warnings Configuration also if click on existing item * Don't allow dragging a Code Warning Configuration from the any file group to current file group if the current file is not a Python file * Always show the Configuration tab in the Code Warnings tool * Fix removing multiple items at once from Code Warnings by pressing the red X * Don't try to run revision control operations when run directory cannot be determined * Fix going to the bottom of a scope via a symbol menu Release 7.0.0.1 alpha --------------------- September 27, 2018 Features * Analysis support for super() * Add a preferences to disable code warnings globally * Add a preference to skip analyzing points of call, as an optimization when less information about code is acceptable * Enable drag-n-drop between lists on on the configuration page in the Code Warnings tool * Updated How-Tos for Django, web2py, Flash, Pyramid, Plone, Vagrant, WSL, virtualenv, Twisted, Cygwin, Py2exe, pygame, and IDA Python * Partially updated French translation (thanks to Jean Sanchez) Bug Fixes * Always show an error dialog if remote agent installation fails * Display custom mouse cursor properly on mac * Select correct symbol in autocomplete list when initially displayed on mac * Fix problems that prevented the updater from working at all * Improve performance of static analyzer * Fix analyzing some points of call * Omit type Any or equivalent from code warning descriptions * Fix Python Executable and Base Directory columns in the remote host dialog * Determine local IP addresses and ethernet numbers without requiring ifconfig on Linux and OS X * Fix stopping on breakpoints and exceptions at the top level when using Evaluate File in Python Shell * Clarify filter results in array viewer when matching is only for visible columns * Install the remote agent when a new remote project is created only if it is not present, not functioning, or requires an update * Fix New Project with Django project type to find django-admin.py from the specified Python executable and not run the project setup process twice * Fix Wing Personal and 101 to start up the first time they are launched * Add some logging when the bug reporting dialog is suppressed Release 7.0.0 alpha ------------------- August 7, 2018 Features * Improved code warnings (Wing Pro) * Warn on undefined variables and attributes * Warn for unresolved import * Add new Code Warnings tool for configuring and filtering code warnings * Show code warnings drop down in top right of editors with warnings * Allow configuration of the display style and colors for code warnings * Added the ability to show debug data values as arrays * Supports numpy's ndarray, Pandas DataFrames, sqlite3 query results, and Python's internally defined data types * Allows filtering on text, wildcard, or regular expressions to match one or more rows, optionally matching on specific columns * Loads data incrementally as needed for display * Supports array-like and dict-like instances when the Debugger > Introspection > Allow Calls in Introspection preference is enabled * Improved Stack Data display * Added options to hide __name__, __name, and/or _name style variables * Option to hide memory addresses from object instances * Include integer display options in the Options menu * Omit locals from stack display if at top level of module * Show values for all visible variables by holding down Shift-Space (Wing Pro) * Support for PEP 3134: Include chained exceptions in Exceptions, Call Stack, Stack Data, Testing, toolbar, and stack menus * Improved bookmarking support (Wing Pro) * Allow assigning a category and entering notes for bookmarks * Define categories and optionally set one as current to filter bookmark display and traversal * Filter bookmarks display and traversal with text fragment * Add a toolbar and Options menu to the Bookmarks tool * Show a bookmark attribute dialog when creating named bookmarks * Confirm bookmark removal * Show tooltip with bookmark note when hover over the Bookmarks tool * Show tooltip with information when hover over a bookmark in the editor * Allow multiple non-contiguous selections in the Bookmarks tool * Clicking on column headers sorts the Bookmarks tool * Improved ability to track bookmarks across external file changes * Share categories with other projects * Export and import bookmarks and bookmark categories * New update manager * Allows updating t new versions without downloading an installer * Rollback to older version from the About box * Supports generation of updates for hosts without internet access * Step over importlib code when stepping into or out of imports (controlled by the Debugger > Advanced > Step Past importlib Frames preference) * Includes typeshed to enhance analysis of the standard library and covered third party libraries * Added MATLAB keyboard personality * Simplified the remote agent installation process (Wing Pro) * Enable code folding in YAML files * Allow sharing selected OS Commands among all projects (Wing Pro) * Expanded, rewritten and updated all documentation * Re-added support for some older versions of Linux that were not supported by Wing 6, such as CentOS 6 * Added Next Tool and Previous Tool traversal items to the Tools menu * Add Compare to Disk button to file reload and disk-is-newer dialogs (Wing Pro) * Add menu items and key bindings for Find Points of Use in Current File (Wing Pro) * Added maximize-editor-to-window and unmaximize-editors-from-window commands * Adding auto_indent argument to the new-line command to override the preference * Ability to bind commands to a key release using the Release modifier (only available in keymap.* files) * Start auto-invocation immediately after completion of a callable symbol; can be disabled with preference Editor > Auto-Editing > Invoke After Completion * Added validate-install command to check the integrity of an installation and updates * Optional submission of usage statistics to assist in technical support and to help guide future development of Wing * Optional display of discount offers Changes * Dropped support for Python 2.5 and 3.2 * Dropped support for 32-bit Python on OS X * Changed default drag and drop action within the Project tool to move files (copying now requires pressing a modifier key) * Changed default for maximum number of non-sticky editors to keep open to 5 * Removed old and undocumented option to use temp files when running tests * Changed the bookmarks-remove-all command to confirm the removal by default * GetStackFrame and SetStackFrame API calls are deprecated; use GetStackIndex and SetStackIndex instead * Increased default for Source Analysis > Max Cache Size preference to 2GB * Trial license numbers are computed differently * Increased the default for the Debugger > Line Threshold preference to 95 to more often include useful data * Moved size threshold preferences to the new Debugger > Data Display page * Moved introspection preferences to the new Debugger > Introspection page * Evaluate in Python Shell and Debug Probe will use the current line when there is no selection even if the Evaluate Only Whole Lines option in the Options menu is unchecked * Changed command names: hide-detail is now hide-debug-value-detail and show-detail has been replaced with show-debug-value-in-data-frame and show-debug-value-as-text * Debugger shows unicode characters in Stack Data instead of code points under Python 3 * OS X application name for Wing Pro is now Wing Pro and not WingIDE * bin/wingapi.py has been moved to src/wingapi.py * bin/wingdb.py, src/wing.py, and remoteagent.py have been moved to bootstrap * Don't switch to or from fullscreen mode when starting wing, opening a new project or switching perspectives * Use https (and not http) for all communication with wingware.com for license activation, update checks, and submitting feedback and bug reports * Dropped the 'sheet' parameter to CAPIApplication.ShowMessageDialog in the scripting API Bug Fixes * Improve editor visual state restoration when a file has changed outside of Wing * Fix failure to move bookmarks when underlying code changes * Avoid showing feedback dialog at exit before Wing has been used 8 hours * Fix showing tooltips on popup menus * Clarify titles in Find Uses to indicate whether the scope of the search is project-wide or only within one file * Also show key bindings that use mouse clicks in menus * Don't convert Shift-Alt or Ctrl-Alt bindings to Esc bindings in menus in emacs mode * Avoid showing context menus when more than one keyboard modifier is being held during a click to allow use of those combinations for other actions * Fix setting __spec__ and __loader__ on main module when debugging in Python 3.5+ * Fixed caching of data for debug values being watched by symbolic path * Improve reliability of license activation, update checks, submitting feedback or bug reports, and installing the remote agent for remote development * Avoid exception seen when closing dialogs * Don't show classmethod and staticmethod attribs in the Stack Data display under Python 3 * Update running debug processes immediately when debugging options are changed * Fix auto-invocation for values with multiple possible types, only some that are callable * Don't hang up Stack Data on dicts with very large keys * Reduce the chances of failing to open files with another instance * Fix size of folder icons in Project view displayed on retina display when combined with a version control annotation * Show selection on documentation when choosing search results in Search in Files * Fixed Step Out to Frame to not stop just before leaving the current frame * Avoid duplicate entries in key binding references Version 6.1.6 ------------- Priority: ? Date: ? Bug Fixes --------- * Fix pep8 auto-reformatting Line After Edit mode to reformat only the edited line and retain the caret position correctly (patched in 6.1.5) * Fix turbo-completion after 'except' * Fix project updates after directories are added or removed * Fix running a new file * Avoid startup failures in environments that alias cd, dirname, or pwd * Don't fail to show encoding error dialog after Save As or save of untitled file * Don't fail to re-show encoding error dialog on save if it was closed with its window level close box * Fix Send EOF in Debug I/O, Python Shell, and Debug Probe tool context menus to correctly close stdin * Fix color of menu separators when using dark color palettes on Windows * Don't list the same location twice in recent items in Open from Project dialog * Increase default PEP8 whole-file reformatting timeout to 5 seconds * Allow changing timeout for PEP8 formatting from the timeout notification dialog Version 6.1.5 ------------- Priority: Medium (Minor Features and Improvements) Date: March 4, 2019 Features * Improve code intelligence for extension modules in remote projects * Add debug status icon to items in debug process popup menus and truncate long menu items * Check for existing like-named symbols before refactor operations * Allow zooming the font size in Wing Tips and match the size in the documentation viewer * Add Reset Font to Default item in the documentation viewer's context menu Changes * File filters specified without *, ?, or [] wildcard will be treated as a file extension * In Python files, CAPIEditor's selection-lines-changed signal is no longer emitted if the selection or caret moves between physical lines within the same logical line of code Bug Fixes * Fix Find Symbol dialog (patched in 6.1.4) * Fix goto definition displaying a visible file in another split (patched in 6.1.4) * Launch the correct Python version when Python Executable is set to py.exe on Windows * Don't apply PEP8 formatting when the caret moves between physical lines within the same logical line of code * Don't fail to run Django unit tests in some cases due to duplicate call to django.setup() * Change # # to ## at start of comment when auto-enter space after # is enabled * Fix auto-spacing after operators at the end of the file and after ** * Don't show the Caret Line Highlight in editors that don't have keyboard focus * Omit irrelevant items in the Exceptions tool's Option menu in Wing 101 * Clarify that the No License dialog is from Wing * Fix determining indentation when refactor moving a symbol between modules * Reset scope name to top level when changing destination file in refactor move * Suppress exception seen when the remote agent connection drops during a Mercurial status check * Display correct source code for class and file nodes in the Testing tool when using the Django or pytest testing frameworks * Jump to correct line in Django tests when navigating to source from the Testing tool * Warn when a project's testing framework is changed to Django but manage.py is not in the test file patterns * Fix running Django unit tests with a custom launch configuration * Use correct Initial Directory when a launch configuration uses the project default and the project does not specify a directory * Fix VI mode * and # bindings and other operations that use whole word mini-search * Fix VI mode yiw, yaw, yap, and similar operations * Remember the last size of the Wing Tips window * Don't slowly grow some windows across sessions on OS X * Fix debugger when very verbose logging is enabled under python 3 * Fix debugging multiple QThreads * Correctly handle failure of an OS Command to start on Windows * Detect and load annual license renewals earlier * Fix word_list_completion in editor-extensions.py example extension script * Find Anaconda in its default install location even if it's not on PATH * Fix autocompletion of package modules in IronPython generated .pi files * Debug Probe keeps working after project switch even if Python Shell is configured to auto-restart Version 6.1.4 ------------- January 16, 2019 Bug Fixes * Fix problems with new remote agent installation (patched in 6.1.3) * Fix using typing.IO and similar classes as type hints * Fix goto definition in other split and goto definition when the Editor > Split Reuse Policy preference is set to use an adjacent split * Clarify label in "Disk file no longer exists" dialog * Clarify instructions for configuring auto-completion for Maya * Fix failure to convert EOLs in the editor Version 6.1.3 ------------- January 11, 2019 Features * Add Auto-restart when Switch Projects to the Python Shell Options menu (default off) * Change Python Shell status message to red when its environment does not match the current project configuration * Add a 2FA Card Selector field in remote host configurations, to support OpenSSH integrations with two-factor smart cards where ssh prompts for card selection at startup * Start Terminal in the Tools menu activates the virtualenv, if the project has one * Find PEP420 packages (directories without __init__.py) when scanning python path * Update the Maya How-To for Maya 2018 * Better auto-completion support for the third party regex.py module Changes * CAPIApplication.ExecuteOSCommand raises KeyError if the given command id does not exist * Remote agent installation is accomplished with fewer ssh/scp invocations to require fewer 2FA authentications Bug Fixes * Fix failure to activate licenses on some Linux systems (patched in 6.1.2) * Prefer 'python -m venv' for creating virtualenvs with Python 3 (patched in 6.1.2) * Use correct Python version for new virtualenv created with virtualenv or pyvenv when there are multiple Pythons installed into the same directory (such as /usr/local/bin) (patched in 6.1.2) * Don't fail to create virtualenv in cases where inherited environment is needed by pip (patched in 6.1.2) * Don't fail to show status message when a point of definition cannot be found (patched in 6.1.2) * Don't lock up when showing an autocomplete argument with a default value containing certain strings (patched in 6.1.2) * Fix Source Assistant links on Windows (patched in 6.1.2) * Don't fail to watch files on remote hosts across restart of the remote agent * Don't continue to watch remote files for projects that have been closed * Correctly maintain selection and caret position across PEP8 line auto-reformatting * Better tracking of breakpoints and bookmarks during PEP8 reformatting operations, undo, indentation changes, diff/merge, and other edits * Don't prematurely apply PEP8 to a long line during auto-invocation * Don't apply PEP8 during undo, redo, indentation changes, diff/merge, and similar edits * Show correct name when goto-definition fails * Show the completer in goto-bookmark when the Tab key is pressed * Add detach() and reconfigure() methods to the debugger's stdin wrapper * Optimization for some cases of caret movement * Don't place focus in Python Shell when it is auto-restarted * Correctly report failure to start in OS Commands when using a pseudo-tty * Expand ~ correctly in paths used for a new virtualenv during project creation * Fix removing a snippet when running with Display Language set to German * Prevent adding a snippet with blank or invalid name * Wait longer for child processes to start on all remote host types * Don't attempt to apply revision control operations to untitled files * Fix commands that apply to most recent of several instances of a tool type, such as restart-python-shell * Fix setting the value of a list item via the Stack Data tool * Don't add extra blank lines in "Line After Edit" PEP 8 reformatting * Don't try to show text with icons in secondary toolbars within tools and help viewer * Don't obscure type of extension module arguments that contain '-' in the default value * Fix regex mini-searching on the editor when the search contains () tagged sections * Avoid executing more of the debug process if the debug connection drops unexpectedly and the process was launched by the IDE * Don't mistakenly include builtin function in Source Assistant if module defines a function with the same name and includes a from ... import * statement * Ensure that debug value tool tips are shown when hovering over symbols on the editor * Reduce font size for literal blocks in the Source Assistant * Show start of line if possible after replacing long argument list with much shorter list * Show icon in autocompleter list for type of named argument if possible * Fix order of completion list when two symbols only differ by case Version 6.1.2 ------------- November 8, 2018 Features * New Project dialog includes an option for creating a new virtualenv, either locally or on a remote host * VI mode supports all word/Word/sentence/paragraph/()[]{}<>''""`` selection, change, and deletion operations. For example, ciw, caw, ciW, or cap in browse mode and iw, as, or aw in visual mode * VI mode allows rapidly typing jk or jj to exit Insert mode; timeout is configured with the User Interface > Keyboard > Typing Group Timeout preference * Support :py:`symbol` (and common equivalents from Sphinx and elsewhere) in docstrings for jumping to the source code of the referenced symbol * Add command execute-main to execute the main debug file outside of the debugger * Add Set as Main Debug File to the Open Files context menu and editor tabs context menu * Indicate main debug file in Open Files tool and tooltips on editor tabs * Added goto-definition command to go to the definition of an arbitrary named symbol either relative to current selection, point of definition of current selection, or on the Python Path * Remember the current page in the File Properties, Project Properties, and Preferences dialogs Bug Fixes * Fix autocomplete in Python Shell and Debug Probe when using Python 3.6.6 or 3.7.1 * Fix reporting unit testing exceptions reached at the top level of a pytest module * Fix marking pytests as skipped when they are skipped by a decorator or module-wide * Correctly handle xfail'ed (expected failure) pytests * Don't move focus to the menu bar when Alt is pressed unless the User Interface > Keyboard > Use Alt for Accelerators preference is enabled * Turbo-complete on : after keywords typically followed by : (try, except, finally, else) * Don't turbo-complete : when used for type annotation in argument lists * Don't apply colon to adjust indentation when on a line with one token, to allow typing colon in a variable type annotation * Fix dropping a selection with the red X in the multiple selection list when the scrollbar is visible * Fix several slow memory leaks * Prevent hanging up the debugger or remote agent in cases where large amounts of data are sent on a system under heavy load * Fix escaping the separator in a vi substitute command * Fix display of a long output line in the Python Shell * Fix cursor behavior after using enter in vi browse mode * Avoid calling destroyed auto-completer objects when only one of several editors for the same file is closed * Fix failure to track global window focus changes correctly in some cases * Fix using environment variables in run arguments in Wing Pro when not using a launch configuration * Don't start multiple processes when debug-continue or step-into commands are executed in rapid succession (such as by double-clicking in toolbar) unless multi-process debug is available * Fix slow-down in updating the toolbar when Wing is left running a long time * Clarify the New Project documentation * Use a colorpreferences dialog that allows the value to be entered as text * Include Show in Project in the editor tab context menu also for remote locations * Set __spec__ in the main module to None when debugging, to match Python's behavior * Fix child process debugging under Python 3.4+ on Windows when the main module's directory is not on sys.path and/or the child process function is in the main module * Speed up directory scanning when version control is enabled * Fix icon used for package in an import autocomplete list * Fix source analysis for the zope namespace package * Avoid entering corrupted state when working with remote projects that led to inability to quit or switch projects * Fix problems with indicating main debug file in remote projects * Fix issues with Follow Selection in remote projects * Avoid broken auto-completer sometimes seen in remote projects * Fix problem seen when quitting Wing if a remote debug process was active * Avoid re-showing the Remote Agent Failed to Start dialog as often after Cancel * Fix changing type of file from python to something else when file contains a from ... import * statement * Leave selection at end of line after rewrap also when at very end of file Version 6.1.1 ------------- September 18, 2018 Features * Added the Editor > PEP8 > Spaces After # preference to select whether spaces are inserted after # by the auto-editor and when reformatting code for PEP 8 * Allow right-clicking on the remote host manager to install or reinstall the remote agent without waiting to probe again Bug Fixes * Increase reliability of remote agent installation over slower connections (patched in 6.1.0) * Fixed PEP8 conversion of whole files (patched in 6.1.0) * Don't jump scroll position to end when converting whole files for PEP8 (patched in 6.1.0) * Don't PEP8 auto-format non-Python files (patched in 6.1.0) * Avoid redundant PEP8 conversions before save and during auto-save (patched in 6.1.0) * Fix exception from Python Shell sometimes seen when switching remote projects * Don't resolve symlinks when using the browse button for a filename field * Fix failure to run whole-file PEP8 conversion when PYTHON* environment variables are present (patched in 6.1.0) * Fix replace all when using remote files (patched in 6.1.0) * Select the correct Python version more often when starting debug from Wing with py.exe * Fix indent to match for some multi-line dictionary literals * Fix debugging when Python 2 restricted mode is used * When debugging with wingdbstub, don't stop on exceptions in the Debugger > Exceptions > Never Report list (such as SystemExit) (patched in 6.1.0) * Split Python Path items that contain os.pathsep into multiple items (patched in 6.1.0) * Fix failure to debug when using PythonQt * Also auto-save the project when running an OS Command that is configured to auto-save changed files before executing * Don't require ifconfig to be present in order to determine local IP addresses used in remote host configuration * Improve error reporting when remote agent installation fails * Don't show the remote agent update dialog again while it's already being updated * Close ignored remote agent update dialogs when the current project is changed * Use the Network > Hung Connection Timeout preference and not a hard coded value of 5 seconds when deciding that a remote file save has failed to complete * Collect file read failure messages into a single dialog that is auto-closed when the project changes * Don't try to recontact remote hosts used in previously open projects * Show correct dialog when a remotely stored project fails to save because the remote host is unavailable * Use better starting locations for Add Existing Directory with remote projects * Don't ask to confirm save when closing a blank untitled document * Re-try reading files and scanning the disk for project files when a remote server that was previously unavailable comes back online * Don't fail to install the remote agent if the installer dialog is already shown * Optimize setting up the debugger for a new process * Fix emacs binding of Alt-> for end-of-document; the binding for adding the next occurence and removing the current one is now Ctrl-Alt-> * Fail more quickly and without redundant logging when remote host probe is not working at all * Don't truncate output from ssh when a remote host probe fails * Improve error display when the Python Executable for a remote host configuration cannot be found Version 6.1.0 ------------- July 30, 2018 Features * Added Source > PEP menu to reformat the current file or selection according to PEP8 conventions * Added the Editor > PEP8 preference group to enabled automatically reformatting edited lines of code or whole files to be PEP8 compliant, and to control details of the reformatting process * How-To for developing on Windows Subsystem for Linux (WSL) * Mainloop support for the Qt5Agg matplotlib backend * Allow explicit configuration of whether SSH tunnels are used when connecting to a local host or container with "Add Use SSH Tunnel for username@localhost" under the Advanced tab in remote host configuration * Allow wildcards in IP addresses in the Debugger > Advanced > Allow Hosts and Debugger > Advanced > Location Map preferences (for example 10.1.1.*) * Added Editor > Snippets > Snippets Path preference to specify a search path for code snippets * Added Editor > Snippets > Include Default Snippets preference to control whether the default snippets stored in the User Settings directory are shown in the Snippets tool Bug Fixes * Fix evaluation of simple generator expressions in the Debug Probe * Notify progress and time out correctly when opening remotely stored projects fails (patched in 6.0.12) * Fix case-insensitive search matching in non-ascii text and wildcard searches * Change default regex search flags to omit re.LOCALE since this prevents case-insensitive search from working correctly in non-ascii text * Fix vi visual mode backward word move to select the character that was under the block caret. Fixes visual mode bc. (patched in 6.0.12) * Don't duplicate version control command documentation in each command reference section * Don't exit debugger when running matplotlib code (patched in 6.0.12) * Don't print exceptions twice and don't call the sys.excepthook when debugger reports a logging.error() call (patched in 6.0.12) * Fix *.pi file generation for IronPython (thanks to Alexey Tereshenkov) * Don't constantly notify about skipping expiring license checks (patched in 6.0.12) * Clarify message shown when Wing fails to obtain the foreground lock timeout on Windows, which can result in Wing not coming to the front when a debug process stops * Don't define a print function in the Python 2.7 __builtin__.pi file * Don't add backslash to end of lines when wrapping triple-quoted strings or comments in Python, in plain text, html, or xml, or outside of strings in other file types (patched in 6.0.12) * Don't mis-identify file type for C and C++ files in some editing operations on OS X * Don't show the license activation dialog repeatedly when running on a nearly expired annual license and checking whether license has been renewed (patched in 6.0.12) * Fix c2w and similar in vi mode so that the repeat on the word move is not also repeated on the inserted text as for 2i (patched in 6.0.12) * Support importlib's lazy loading; note that modules may be loaded earlier than usual in the debugger when needed to display debug data in the IDE * Fix running hg status on a file outside an hg working directory * Fix failure to quit Wing in some cases when there are active file watches * Correctly set WINGHOME in wingdbstub.py when installing the remote agent from Windows and Linux * Fix creating a new file on a remote host when no files are open * Fix replace all for remote files * Fix debugging remote test files * Fix adding current remote file as a test file * Fix using a relative path name for the Python executable on a remote host * Fix testing with Python 3 on a remote host * Improve the dialog that is displayed when saving to a file that no longer exists * Allow multiple remote files to be opened at once from the file open dialog * When the Filter set in Search in Files is not a valid filter name, treat it as a wildcard only if it contains '*' or'?'. Otherwise, search all files. * Don't fail to restart after installing patches * Don't fail to create directories when using remote host file dialog with Local Host * Don't attempt to install remote agent on local host from the remote file dialog * Optimize multi-process debugging cases where the toolbar was updated often * Fix failure to open a .pdf document from the Help menu when a patch is installed * Place stars correctly on project files in stack popups and the Call Stack tool when working with a remotely stored project file * Fix end of line policy enforcement for remote files * Correct column label on properties and preferences that contain a directory path * Update toolbar icon status correctly after pending remote save completes * Fix display of dict-like class instances in the Stack Data tool when using Python 3 * Improve resizing of the Testing tool header contents at different widths * Fix scraping type information out of pygame modules under Python 3 * Fix toggling Read-only on Disk in the File Properties dialog for remote files * Avoid moving caret position inappropriately after auto-invocation * Fix auto-wrapping after auto-invocation, when enabled with the Editor > Auto-editing > Auto-wrap Arguments preference * Improve spacing and use of backslashes when rewrapping Python code * Avoid blocking in matplotlib code in the Python Shell when evaluating a single block of code that imports matplotlib or pylab for the first time and also calls show() * Improve speed of scanning for project files Version 6.0.12 -------------- May 15, 2018 Bug Fixes * Fix matplotlib event loop support for wxPython 4 and more recent MacOSX backend versions * Fix closing remotely stored projects and projects with unsaved remote files (patched in 6.0.11) * Fix remote development with Python 3.7 * Correctly update the Source Assistant display when working with remote files * Fix stopping on fatal exceptions when using wingdbstub with Python 2 * Fix searching and project directory filtering with file sets that have a non-ascii name * Also show PEP287 docstring parse errors if the parser completely fails and the "Show PEP 287 parse errors" option in the Source Assistant's context menu is checked * Minor updates to the French localization (thanks to Jean Sanchez) * Don't incorrectly duplicate or remove items in Remote Hosts dialog when edited * Ask to save single changed item when switching projects without entering a bad UI state when the save is canceled * Select current match correctly in documentation search from Search in Files * Fix sizing of folder icon in Project tree on high DPI monitors, when annotated with revision control status * Fix debugger compilation issues seen on some embedded systems * Clarify instructions for compiling the debugger * Don't fail to show a docstring in Source Assistant if it is followed on the same line by a comment or other code * Highlight arguments correctly in Source Assistant when default values contain [] or {} * Don't print message to stdout when debugger fails to create the user settings directory * Remove r/p indicator after reading an empty remote file * Store correct filename for remote full path files in projects stored locally * Don't fail to show Wing Tips at startup * Set correct initial size for Wing Tips and some other dialogs * Fix support for typing.Optional in some versions of the typing module * Shut down debug listen cleanly so listening again afterwards succeeds * Fall back to using WINGHOME/user-settings if the default location of the User Settings directory is read-only * Don't block in matplotlib show() calls when evaluated in Python Shell at the same time as the matplotlib module imports * Speed up interactive matplotlib use with WXAgg backend * Fix vi visual mode e followed by c to not remove an extra character after the selection Version 6.0.11 -------------- March 21, 2018 Features * Auto-save and restore for remote files to avoid losing edits on power failure or crash * Russian translation of the UI (thanks to Alexandr Dragunkin!) * Allow setting brace matching colors in palette files and preferences * Added command bindings for forward and back mouse buttons Bug Fixes * Don't quit without prompting to save changes in files that are stored on a remote host that has become unavailable at least once during editing (patched in 6.0.10) * Correct reporting of file modifications on rapidly changing remote files (patched in 6.0.10) * Fix starting the Python Shell when a Base Directory is set in the remote host configuration (patched in 6.0.10) * Correctly report failure to write remote files rather than just failing silently * Clarify modtime warning dialogs when a remote host is not responding * Wait longer before deciding that a remote host is not responding to avoid problems on high-latency connections * Improve recovery after several failed remote host connection attempts * Fixed editing Base Directory via Browse when a Base Directory is already defined * Clarify error message shown when Python Shell cannot start because the remote host is not responding * Don't continue to accept debug connections from a remote host after switching projects * Don't fail to shut down reverse SSH tunnels for remote host debugging when projects change or Wing is quit * Fix severe network slowdown on macOS 10.13 (High Sierra). This required changing how builtin help and Source Assistant are rendered; use --enable-webkit to restore how they were rendered in 6.0.10 * Retry auto-reactivating an expiring annual license even if Wing is not restarted * Clarify message seen when an annual license expires, is renewed, but auto-reactivation fails * Raise ImportError instead of calling sys.exit(1) when WINGHOME in wingdbstub.py is invalid, so that an application embedding python doesn't terminate * Fix cases where the debugger wouldn't stop in a function that imports wingdbstub * Improve fill-paragraph in triple quoted string * Avoid traceback seen when closing editors in one-window-per-editor mode * Delete the IDE log file if truncating it fails to avoid thrashing * Improve indent conversion after paste when copying text within the IDE and only indent size is changed * Fix default color shown in preferences for occurrences * Make the mouse cursor over the editor more visible on dark backgrounds * Don't put a breakpoint on a line with only ')' when it ends a multi-line statement * Improve detection of perforce directories in project Version 6.0.10 -------------- February 13, 2018 Features * Preliminary support for Python 3.7 * Stop the debugger on the breakpoint() builtin * Improve names displayed for threads created with the threading module * Debugger support for cygwin Python 3.6 Bug Fixes * Improve reliability of remote development in a flaky network environment * Correct function and methods signatures for builtins and standard library in Python 3.4+ when *, **, default value, or type annotations are used * Fix detecting Python interpreter when using Nuke * Speed up display of Django menu * Improve auto-wrapping of invocations when enabled for auto-invocation * Don't auto-wrap single quoted strings without placing \'s in them * Correctly wrap triple-quoted strings of type u, b, or r * Return to correct original indentation when auto-indent after paste is undone * Don't incorrectly indent lines after \ or within a multi-line nesting when pasting * Treat async and await as keywords in Python 3.7+ * Don't flag variables named async as errors when using Python 3.6 or earlier * Fix problems with full analysis database when 2+ instances of Wing are running * Clarify debug continue dialog when Wing can't restart the debug process * Include *arg and **kw in arguments placed by auto-invocation when overriding a method * Don't display the bug report dialog if a Python executable is not found * Correctly handle non-existent or unreadable Python Executable in New Project on Windows * Log output from Python interpreters that Wing cannot inspect * Better handle malformed traceback output in pytest logreport * Don't show error when a debug process exits while in the prompt for save dialog before stepping or continuing * Don't incorrectly use the Save As dialog for Insert File and other commands on OS X * Increase default size of the analysis database to 2GB * Set remote file open dialog to correct size even when it raises an error dialog * Fix failure to write recent lists when multiple instances of Wing are running * Update remote-hosts recent list also when a remote host is used * Avoid adding duplicate entries to the recent-hosts list * Don't change the selected launch configuration under the Debug/Execute tab when cancel out of the edit dialog * Use correct general URL for Tkinter documentation * Don't leave Python Shell in a bad state if evaluate-file-in-shell is executed twice quickly in succession (as by double click on toolbar icon) * Don't continue to listen on configured debug port if switching from listening to not listening, but listening needs to continue for debugging child processes * Clarify status message when Wing is listening to debug child processes only * Respect the Editor > Indentation > Use Indent Analysis preference correctly, so when disabled the indent type comes from the project's Preferred Indent Style or preferences * Fix inability to remove ide.log on Windows if a child process persists after Wing quits * Correction to documentation for initiating debug from the command line * Optimize remote development with large project files * Fix potential for hanging the IDE during code analysis on remote files * Fix reopening files after a remote server becomes unavailable for a while * Prevent changing the editor contents for files that failed to open from a remote host * Improve display of r/o and r/p (read pending) editor status for remote files * Base the search-in-selection highlight color on the editor background color * Improve handling of top-level errors such as ImportError in Django tests under Python 3.4+ so tests are not removed from the display when re-running individual tests Version 6.0.9 ------------- December 13, 2017 Features * Support for remote development to Vagrant containers (Wing Pro) * Support for Django 2.0 (Wing Pro) * Allow setting SSH port number and private key file in remote host configurations (Wing Pro) * Allow setting PYTHONSTARTUP_CODE environment variable to run a line of Python code when the Python Shell is started * Improved Django test support for 2+ test files and running or debugging individual tests Changes * Replaced broken SetDebugThreads() debugger API call with SetDebugThreadIdents(), which accepts thread.thread_ident() style thread IDs Bug Fixes * Fix debugging Plone/Zope with the WingDBG control panel * Updated and clarified the Maya How-To * Correct and update Plone How-To * Fix hanging process on macOS 10.13 when use Open in Finder 2+ times * Update Search in Files results when a file searched changes on disk but is not open in an editor * Improve error reporting during remote agent installation * Call django.setup() when starting the Python Shell in a Django project (requires re-running Configure Project for Django for existing projects) * Fix adding files and directories outside of base directory to projects stored on a remote host; requires removing and re-adding broken directories in the project (patched in 6.0.8-2) * Fix default security settings for WingDBG control panel for Plone/Zope * Correct the default Wing home dir in the WingDBG control panel for Plone/Zope * Remove broken image from the WingDBG copy of the Zope/Plone How-To * Clarify tutorial for debugging code run in the Python Shell * Fixed typos in the tutorial (thanks to Михаил Нинин) * Fix copy to clipboard in Search in Files * Don't leave OS Commands in a bad state if a remote command fails to execute (patched in 6.0.8-2) * Show a warning when changing Base Directory for a remote host configuration * Set Options > Preferred Line Ending in Project Properties to Line Feed \n when creating a remote project with New Project * Use correct default line ending style for remote files * Fix vi mode caret movement, such as $h, when in visual mode and the current block caret position is at the end of the line * Don't create duplicate launch configurations if Configure Project for Django is run multiple times * Change Start Django Project to find django_admin.py based on the Python Executable set in the current project or in the New Project dialog * Increase initial size of the Start Django Project dialog * Correctly parse multiline statements where line 2+ starts with 'print' * German localization updates (thanks to Christoph Heitkamp) * Fix setting breakpoint on an invalid line at the very end of a file * Fix reloading when a file is referenced 2+ times (1 or more via symlinks) * Install (or reinstall) the remote agent before probing when creating new remote projects to avoid confusion * Make sure correct form window is raised after browsing for a file name * Fix failure to add directories in remote projects * Automatically add localhost and container hosts as SSH known hosts when accessing them for remote development * Don't fail to report all output from ssh when connecting to the remote agent fails * Fix moving files to trash on remote hosts that don't have a standard trash system * Include correct keywords in the auto-completer after a symbol starting with _ * Prefer filenames starting with any fragment in Open From Project also when there are spaces in the search string * Corrected errors in the instructions for manually configured remote debugging * Fix debugger crash when cwd is deleted Version 6.0.8-2 --------------- November 6, 2017 Bug Fixes * Fix regression that broke creating or editing remote host configurations (patched in 6.0.8) Version 6.0.8 ------------- November 3, 2017 Features * Improved display of docstrings in the Source Assistant when the docstring contains PEP 287 parse warnings and errors, such as some in scipy and numpy * Added option to find uses commands to control whether the search includes all project files and/or the current file * Option to add new editor tabs on the left when they are not kept in alphabetical order * Option to set the acceptible error level for PEP 287 parse errors in the Source Assistant's right-click context menu * Track a file's Properties across file renames Changes * Always add .wpr and .wpu to new project filenames if not already present * Remove .pyc/.pyo files from disk when renaming Python files so Python 2 does not continue to use them Bug Fixes * Improve stability on Linux * Fix remote debugging of Django code * Fix upper-case, lower-case and similar commands when used on 2+ selections * Fix vi mode :'a,'b and :`a,`b for referencing mark names (patched in 6.0.7) * Don't fail to show Source Assistant data for some data types that are provided by extension modules, such as numpy's ufunc * Improve remote host connection healing after network errors (patched in 6.0.7) * Don't try to use non-default Version Control Executable preferences on a remote host * Allow focus into the Debug I/O tool for remote processes even if preference to use an external console has been enabled * Correctly terminate remote debug processes initiated through the remote agent * Optimize accessing recent lists, which could slow down most IDE functionality (patched in 6.0.7) * Fix auto-perspectives to ignore debug processes for the Python Shell (patched in 6.0.7) * Avoid problems stopping debug on systems with non-utf-8 default encoding (patched in 6.0.7) * Avoid failure to exit seen in some cases (patched in 6.0.7) * Fix broken wingware.com links in documentation * Update window title after last document closes * Fix failure when a launch configuration is deleted * Avoid crashes with extremely long menus on OS X * Fix setting up document type, indent style, and folding correctly for some remote files * Fix creating new files on a remote host with open-from-keyboard * Fix problems seen when switching among remote projects quickly * Adjust breakpoint line numbers correctly in multi-line assignments to match the lines actually visited by the Python interpreter * Avoid breaking remote debug when wingbase.miscutils is included in a patch * Update project file lists correctly when directory content changes on remote hosts * Fix problems in tracking external change notifications on remote files * Don't unselect occurrences in the editor when there is output in the Debug I/O tool * Fix rename of remote project files to correctly track open editors to the new file * Allow up to 60 seconds for each remote agent install step to complete * Avoid harmless exception seen when running all unit tests and aborting * Fix incorrect syntax highlighting in Django templates with {{ }} or {% %} inside a {# #} comment * Fix searching in files that contain form feed characters * Fix the popup menu in top right of the multi-selections window to close correctly * Fix vi visual mode caret movement with H, Ctrl-H, L, 0, ^, _, $, g0, g^, and g$ Version 6.0.7 ------------- September 5, 2017 Features * Documented manual remote agent install and working with remote Python installations that require environment variables to be set * Added File Encoding attribute to remote host configurations to set the default encoding used for files on the remote host Bug Fixes * Fix error reporting under Python 3 when the remote agent fails to debug or execute a file or after failure to terminate a process * Wait longer for sub-processes to start on ARM devices (patched in 6.0.6) * Wait longer for SSH connections to establish, for slower devices (patched in 6.0.6) * Fix intermittent failure to probe or connect to remote host (patched in 6.0.6) * Honor SSH Timeout preference also for probing a remote host * Fix and clarify function of Try Again button in remote host failure dialog * Show error dialog when existing files fail to read from disk or remote host * Leave files locked when a remote read fails, to prevent overwriting of the remote file with incorrect content (patched in 6.0.6) * Prevent overwriting remote project files that fail to read from disk (patched in 6.0.6) * Don't fail to open remote files with non-text/* mime type (patched in 6.0.6) * Recognize .sh file extension correctly on remote hosts * Ignore bad entries in the Files > File Types > Extra File Types preference * Use correct launch configuration when switching in debug argument dialog * Fix use of right option key with non-character keys on the mac * Only expand ~ in project values if at start or after a space, ;, or : * Add syntax coloring for .json files * Don't take a long time to start up if there are a large number of files in the temporary directory * Increase the maximum width of run argument history items * Increase amount of diagnostic logging for remote agent installation * Don't allow using ~ in WINGHOME for remote host configuration to avoid problems expanding this on some hosts * Avoid exception sometimes seen when updating source assistant * Fix search tool when there are 2+ splits * Fix tutorial in Wing Personal * Add Open from Project to File menu in Wing Personal * Fall back to reasonable date and time formats in print header and footer if locale settings cause strftime() to fail * Fix display of launch configuration names with underscores in the Python Shell Options menu * Fix starting directory fallback when Project Home Directory does not exist * Show dialog if trying to edit main entry point and no entry point is selected * Don't allow setting a file to non-sticky if it has unsaved edits * Fix Preferred Line Ending policy enforcement on remote files * Make sure remote agent is restarted after installing patches * Don't hang up the IDE if multiple sheet windows are shown at once on OS X Version 6.0.6 ------------- June 29, 2017 Features * Added documentation of the Python syntax color names * Added Debugger > Advanced > Inspect Base Classes preference which needs to be disabled to avoid crashing openerp and odoo when debugging * Remember editor zoom levels between sessions * Added Network > Hung Connection Timeout preference to manage how long Wing waits on a remote host connection that is not responding * Added Debugger > I/O > Flush I/O Periodically preference to control whether Wing tries to flush stdout and stderr. When enabled, this may deadlock some threaded code. When disabled, trailing output not terminated with a newline may not appear. The default is to flush only in single-threaded code. * Added Files > Show Hostname in Titles preference to control whether the hostname is always prepended to remote filenames (default=enabled) Changes * Don't try to flush stdout and stderr periodically in multi-threaded code since this may cause thread deadlocks. To override this change, set the Debugger > I/O > Flush I/O preference. * Set sys.argv[0] to '' in the Python Shell, to match Python's behavior outside of Wing * Prefer default directory based on the location of a virtualenv after creating a new virtualenv project (instead of the home directory) * Don't auto-reload externally changed files in Wing 101 Bug Fixes * Don't show feedback dialog at shutdown in Wing Personal * Fix failure to update Source Assistant in some cases * Fix auto-invocation argument removal when : or = are in the typed value and when both : and = are present in the argument spec (patched in 6.0.5) * Auto-hide the completer after applying : to a range of lines and typing 'try' so that auto-insertion of 'except' is visible * Remove stale SSH reverse tunnel lock files from the user settings directory * Correctly substitute special envs like ${WING:PROJECT_DIR} in launch configuration attributes, arguments for unit tests, and a few other cases * Fix failure report exception under Python 3 if a file's encoding is invalid * Fix failure to process non-UTF-8 output from extension scripts (patched in 6.0.5) * Don't fail to update PyLint when errors include non-UTF-8 text (patched in 6.0.5) * Fix patching of the debugger * Fix problems forking from a multithreaded program running in the debugger * Fix writing to ide.log file (patched in 6.0.5) * Don't print to console when copying text on the Mac * Don't fail to change projects if the remote agent is killed from the outside * Fix excluding directories in remote projects * Fix stopping on breakpoints in remote files located outside of the effective Base Directory for a remote host configuration (patched in 6.0.5) * Fix documentation links for exceptions under Python 3 * Fix vi mode yy when the caret is in the first column (patched in 6.0.5) * Fix auto-completer when working in context of a SyntaxError debug frame * Fix position of cursor on new line after exiting vi insert mode (patched in 6.0.5) * Correctly terminate and restart remote ssh tunnels for remote debugging when left open from a crashed or forcibly terminated instance of Wing (patched in 6.0.5) * Fix auto-indentation in mixed tab and space files when tab size is configured to a size less than 8 (patched in 6.0.5) * Allow setting breakpoint on 'pass' if it's the only statement in a block since Python does stop there in that case * Adjust the Project tool icon sizes if screen DPI changes while Wing is running * Set ${WING:FILENAME} correctly in remote projects (patched in 6.0.5) * Fix Indentation tool's convert button sizing even when short on space (patched in 6.0.5) * Don't fail to complete reading some remote files when a project is opened * Improved recovery of remote agent connection after network change or outtage * Fix insert-file to work correctly with remote files * Fix failure to save files on exit if project is stored remotely (patched in 6.0.5) * Correctly track the need to save projects when they are being stored to a remote host * Display correct key bindings for debugger stepping commands * Display dialog when using save as and choosing a name of another open file * Fix Goto Source on VCS status for remote files * Move breakpoints off more lines that are never reached by the interpreter * Fix failure to wait for inspection on remote file locations that could affect setting or restoring visual state, identifying indentation problems, or setting up the source index menus * Correctly report missing or invalid Source Directory when creating a new Django project * Fix failure to start on Windows 10 insider preview 16215 Version 6.0.5 ------------- May 8, 2017 Features * Support using wingdbstub with a remote host configuration (which replaces the need for file sharing, file location maps, and other manual configuration) * Updated documentation and preferences to clarify the separation between the new remote development support and manually configured remote debugging * Added How-To for setting up remote web development in Wing Pro * Document how to debug scripts written to extend Wing's functionality * Basic syntax highlighting for Markdown * Add Start Terminal to the Tools menu and a start-terminal command that is available on OS X and Linux or when working with a remote host * Add preference to control whether the debugger immediately closes the connection when a data inspection times out (default=False) * Log the Python stack on segfaults in Wing that occur on OS X and Linux. This goes to segfault.log in the user settings directory. On Windows, the stack is instead logged to stderr, as already done in previous releases. * Support hot fix patching of the remote agent Bug Fixes * Avoid inability to save a remote file after an encoding error and in some other cases * Fix prompting to install remote agent when selected directory does not exist * Don't incorrectly prompt to overwrite newer remote files when saving a remote file and the remote agent has timed out or was restarted * Fix failure to show debug run marker or scroll to a position in remote files * Don't auto-enter spaces before * if after {, (, [, or at start of line * Don't complete in turbo mode when : is pressed after the first symbol on a line * Don't auto-fixup def(x=y-) for function return type annotation * Fix git Pull Branch command * Speed up Mercurial status when there are many unregistered files * Fix documentation links shown in Source Assistant for Python 2 standard library * Fix move to register in vi visual mode * Fix beginning-of-screen-line-text command in block selection mode when word wrapping is enabled * Set PYTHONIOENCODING correctly in OS Commands * Fix Find Symbol for non-ascii symbols on Windows * Allow clicking on the scrollbar in the Find Symbol and Open From Project dialogs * Don't mark br'' and some similar strings as syntax errors * Fix using a remote Launch Configuration in a project with Python Executable set to a local Python or a different remote host when settings in the Launch Configuration are left at "Use project setting" * Allow ~ in remote filenames * Prevent editing or deleting a remote host config if the current project is stored on it * Show more detailed error when unit tests cannot be started * Fix the List Files Before Directories option in Project's Options menu * Show correct docstring when working with a class or instantiating a class in the Python Shell and Debug Probe * Don't include type annotation for arguments in the auto-completer * Correctly handle keyword-only arguments that have no default value as required arguments when using auto-invocation * Don't clear Search in Files results for an externally changed file if auto-restart of searches has been disabled * Minor French localization fixes (thanks to Jean Sanchez) * Add missing image for documentation * Fix conflicting accelerators in the Debug menu * Correctly set up documentation shown in multiple splits during New Project * Don't fail to start when an invalid mime type is set in preferences * Fix broken links from documentation that show the Messages tool * Don't fail to start on systems with non-utf8 file systems that also contain non-ascii characters on the temp file path * Fix failure to find python executables installed in directories with non-ascii characters on Windows * Correctly track changes in Debug Server Port in Project Properties when switching projects * Fix setting a disabled breakpoint on a comment line * Sort OS Commands menu and toolbox and respect the User Interface > Other > Case Sensitive Sorting preference * Don't write information about temporary buffers to project files * Allow setting Pseudo TTY and Line Mode fields in OS Commands also on Windows in remote projects * Improved and clarified some commonly used documentation pages * Avoid failure to log internal exceptions in some cases on Windows * Don't write shadow files to the Wing directory in program files on Windows * Fix testing runs that run forever and cannot be aborted Version 6.0.4 ------------- April 3, 2017 Features * Show a star next to project files in the file selection menu that is shown in the editor when tabs are hidden * Shift-F9 sets a disabled breakpoint if there is no breakpoint on current line Bug Fixes * Fix remote agent when using Python 3 (regression in 6.0.3) * Correct the user settings directory name for Wing Personal and Wing 101 on Windows (regression in 6.0.3) * Display all output from running test files even if output is printed outside of tests * Fix renaming files in a remote project * Fix analysis of variable annotations in a class scope * Fix support for quoted type annotations * Fix text drag-n-drop * Fix Open From Keyboard when remote files have been opened * Fix rescanning directories in a remote project * Fix extra toolbar items that use stock icons * Don't lose output printed close to the termination of a remote debug process * Flush debug output to the IDE periodically even if it never contains a newline * Don't fail to switch projects or quit after opening a project that references a non-existent remote host configuration * Fix late attempt to update version control status for a closed remote project * Fix Python Path and analysis confusion seen while switching between projects * Update effective Python environment correctly when a remote host configuration is edited * Prevent polling of remote host in the remote host configuration dialog from interfering with an active connection * Don't confuse location of open documentation pages in remotely stored project files * Fix failure to unlock remotely stored project files when changing projects or exiting * Avoid producing hung window-less instances of Wing when quitting * Correctly handle socket errors when working with Python 3.2 * Fix start debugging item on the bottom left debug popup menu * Clarify documentation for unit test process model options * Stop a mini-search when switching to another Wing window * Fix failure to debug in Django if a template file becomes read-only or is removed while Django is running * Don't fail to apply auto-editing operations on : after a keyword like 'else' when "Spaces Around : in Type Annotations" is enabled * Don't copy breakpoints from source into the Python Shell and Debug Probe if debugging is disabled or when evaluating a single line * Don't turbo-complete at start of line when existing tokens could be a defining context * Don't show an exception when a recent list file does not yet exist * Fix indent adjustment after paste so that undo can be used to undo the adjustment * Don't fail to search in toolbar and Search tool when Wing is run with the --no-webkit option * Don't allow saving or opening a project from a remote host using a non-shared remote host configuration because it will become unavailable when the current project is closed. * Avoid some cases where Django template debugging could break the debugger * Show first line of a long exception repr on the Exception: line in unit tests results if it's short enough * Fix find symbol in project for non-ascii symbols Version 6.0.3 ------------- March 21, 2017 Features * How-To for using Wing with Jupyter notebooks * Syntax highlighting and error indicators for f-strings * Autocompletion in strings and comments * Indicate current perspective in the Tools > Load Perspective menu and manager dialog * Added Detach from All Processes to the Debug > Processes menu * Recent menus include items added in multiple concurrent instances of Wing Bug Fixes * Fix debugging Jupyter notebooks * Fix debugging Django templates * Fix early termination of debug process while stepping when Django template debugging was enabled * Fix pasting text from Wing into Mail.app on the mac * Fix deletion of selection when switching windows with alt-tab on some Linux distributions * Don't run python_d.exe when scanning for Python installations on Windows since this often results in an error dialog indicating missing libraries * Fix debugging threads after main thread completes in Python 3.4+ * Improve overall performance on Windows (through optimized logging) * Fix debugging multiprocessing child processes in Python 3.6 on Windows * Fix starting remote debug and Python Shell with unspecified Python Executable * Fix finding default Python on remote Linux and OSX if a PATH search is needed * Fix inspecting remote Python intepreters * Fix entering of double and triple clicks into custom key binding preference * Find ssh.exe correctly on Windows * Fix autocompletion of Python 3 extension modules in standard library * Improve error messages for common SSH configuration problems * Fix failure in Python Shell when printing a traceback with a line that doesn't exist * Start incremental search after selection in vi mode * Fix deleted names left in analysis database * Fix dialogs marching down the screen each time that they are displayed * Display dialog on same monitor as the active window * Reduce blank space in some dialogs * Better handle failure to parse output from svn --version * Fix new-line commands when there are 2+ selections * Underline syntax errors in f-string {expressions} * Fix error after undoing an action to a rectangle selection * Fix editor pane drag and drop * Fix selection popup when editor font is zoomed in or out * Improved visual line mode in vi keyboard personality * Disable multiple selection commands in Python Shell and Debug Probe * Don't add internal _sandbox.py to list of recently debugged files * Fix auto-editing for -> type annotation following a space * Fix early termination of debug session seen when inspecting values that descend from unicode or str * Make autocompletion popup a bit wider so words aren't truncated * Set launch configuration correctly into Python Shell * Don't try to use a launch configuration from a previously open project in the Python Shell * Use Environment and Python Path correctly from a unit test launch configuration * Fix Attach to Process on bug menu in lower left corner of document window * Fix end-of-line in block select mode * Fix dropping files onto editor * Don't round tab corners when applying dark color palette to the whole UI and use color palette selected-item colors for the current tab * Omit functionality for deprecated features from Django menu * Use more modern scripting API for setting run arguments in Django project setup * Show command to create super user account in all cases during Django project creation * Set correct name into INSTALLED_APPS when creating an app in Django 1.10+ * Disable unavailable SQL command in Django 1.10+ * Add makemigrations and showmigrations commands to Django menu * Add margin around tooltip text * Fix problems running some version control commands while focus is in the Python Shell * Fix executing Command Line style OS Commands that have Python Path set * Fix rectangular selection with keyboard * Don't lose files from recent menus if large sets of files appear and disappear * Add missing .pi files for python 3.6 standard library * Show debug protocol mismatch message first, before any other connection errors * Fix text displayed in Exceptions tool for syntax errors * Avoid printing exceptions to debugger diagnostics when waiting for keyboard input * Don't add columns to Python Shell and Debug Probe prompt after every 10 commands * Don't do synchronous check for updates at startup to avoid hanging on slow networks * Speed up checking for updates and displaying About box on OS X * Correctly disable auto-editing in the Debug I/O tool * Include re.MULTILINE and related symbols in auto-completer under Python 3.6 * Add some previously missing standard library symbols to the auto-completer * Fix problems seen when switching between projects that use the same or like-named remote host configuration * Fix problems with updating editors when renaming a remote host configuration * Allow printing remote files * Don't fail to print if configured printing fonts do not exist * Don't show edge marker when printing * Fix failure to discover Python3 on remote hosts * Fix File Properties for remote files * Fix internal failure seen in Directory Properties dialog with remote hosts Version 6.0.2 ------------- February 2, 2017 Features * Support remote development using OpenSSH via Cygwin or Git Bash on Windows * Remote development also works on Jolla phone with ARMv7 * Add property to remote host configuration to enable forwarding X11 (requires separate X11 server on OS X and Windows) * Include drop down of locally found interpreters in Python Executable properties in Project Properties, Launch Configuration, and New Project dialogs * Add API support for StartDataEntry and PasteSnippet fields that are tracked internally but not treated as a tab stop * Added preference to disable auto-wrapping during auto-entering of invocation arguments * Added refactoring operations to more easily convert symbols to lowerCamelCase, UpperCamelCase, under_scored_name, and UNDER_SCORED_NAME naming format * Clicking and dragging with Ctrl-Alt pressed (or Option-Command on mac) will add a selection. Using Ctrl (or Command on Mac) down by itself no longer works to add a selection. * Commands may be bound to double and triple mouse clicks Bug Fixes * Don't hang when analysing a quoted type annotation * Fix debugger to start successfully in Jupyter notebooks * Fix Step Over to work correctly when debugger is at a return event (as indicated by underline rather than solid run marker) * Correctly inherit PYTHONPATH from the startup environment * Fix failure to start from Terminal on OS X due to invalid LC_CTYPE environment * Don't hang up when freeing space in analysis database * Fix failure to authenticate remote debug processes during connection to the IDE * Avoid printing exceptions in the debugger internals to stdout * Show correct remote host architecture for ARM systems other than ARMv6 * Fix potential to not load all scripts at startup * Fix failure in watching externally changed files seen on Raspberry Pi * Fix debugging child processes from the Python Shell * Clarify tool tips for Python Path in Project Properties and Launch Configurations * Don't turbo-complete argument names in function and method definitions * Only select the value for arg=value in auto-invocation when arg follows another * argument in the function or method definition * Fix foreground color of selected list items on win32 when using native style * Wrap to lower indent level during auto-invocation if the base position for arguments is past 75% of the configured text wrap column * Corrected documentation on setting up a new SSH key with PuTTY * Fix analysis of quoted type hints * Fix problems when selection is a rectangle * Find both 32-bit and 64-bit Python installations on 64-bit Windows * Fix drop down indicator in top right of the PyLint tool * Fix hiding of the multi-selection toolbar item * Don't time out remote agent installation if remote host is very slow * Use PATH and SSH_* environment from Project Properties when finding and executing SSH utilities * Fix scrollbar width on Windows and Linux high dpi displays * Fix Duplicate in the Remote Hosts dialog * Prompt to change remote host configuration created via New Project if it conflicts with an existing one * Reuse identical existing shared remote host configuration in New Project even if creating a locally stored project * Disallow using reserved remote host configuration identifier 'localhost' * Clarify probe results dialog to indicate whether connection failed or remote agent was not found * Set correct button as the default in remote file dialogs * Set correct initial directory when debugging a remote file that's in the BASEDIR * Fix debugging after Evaluate File in Shell with a remote file * Fix failure to raise confirmation dialog after New Project * Don't enter completions into command minibuffer (for example for emacs Alt-%) when Tab is pressed and the completer is not visible * Position windows on screen correctly so they don't march down and to the right each time they are displayed * Handle case where a directory is entered for SSH Executable preference Version 6.0.1 ------------- January 10, 2017 Features * Remote development works with 32-bit Linux and older 64-bit Linux systems * Automatically check remote agent version and offer to update (can be disabled) * Show additional information in the remote host probe results dialog from Project > Remote Hosts menu and offer to update remote agent if necessary * German localization updates (thanks to Christoph Heitkamp!) * Add CAPIApplication.GetMimeType to obtain mime type of a file without having to open it first * Add perspective-update-with-current-state command to update a perspective Bug Fixes * Fix automatic installation of remote agent from Windows * Many fixes to error reporting when remote host configuration is incorrect, the remote host cannot be reached, or when remote debug fails * Fix saving project files to a remote host * Allow Evaluate File in Shell even if not at the prompt, if the shell is set to auto-restart when evaluating files * Allow setting breakpoints on 'pass' if the only statement in a def or class block since they will be reached in that case * Fix searching documentation with toolbar search and the Search tool * Don't fail to show the save dialog on Windows when the default directory is top level of a drive or a non-existent directory * Don't scroll version control status back to top every time it is refreshed * Fix failure to start on some linux systems * Don't require that Putty is on the PATH or in common installation location on Windows and correctly find pscp.exe for remote agent install, based on Network > SSH Executable preference * Don't show multiple copies of the remote host failure dialog * Show a dialog when remote debug launch fails * Reset debugger state correctly when a debug launch fails and don't show redundant timeout messages * Don't use sheet windows on OS X for logged error dialogs, so the title is visible * Fix potential crash in debugger when starting threads * Don't store remote projects created with New Project on remote host by default * Fix Recent Hosts menu on the remote host configuration form * Fix default Python Executable used for a project that is referencing a non-existing remote host configuration * Fix some problems with selecting remote files from dialogs and forms * Fix Store Project on Remote Host option in the New Project dialog * Fix failure to set up project correctly on New Project if current project is a remotely stored project that needs to be saved * Clarify documentation for starting Wing from the command line * Fix double clicking on items in Save to Remote Host dialogs * Allow multiple symbolic links to the cmd line binary that runs wing * Fix remote debugging to work also when the irrelevant Use External Console preference is enabled * Clarified field names for remote host configuration * Omit non-existent local files from recent menus * Omit remote files referencing a non-existent remote host configuration from recent menus * Don't incorrectly detect unsupported remote hosts as Windows during remote agent installation * Fix starting debugger and python shell on Window under certain usernames * Fix potential to fail to start remote debug using Python 3 * Correctly update current project when a remote host configuration is renamed by clicking on its name in the Remote Hosts dialog * Fix setting Remote Agent Ports and Remote Debug Ports in remote host configurations * Avoid trying to save to remote host when using Save Project and Save Project As * Fix remote location file dialog to work correctly with local host on Windows * Fix label for Python Shell in the debug process selector * Don't move into Python Shell internals with Frame Up at top of the stack * Don't select back to first remote host when edit remote host configuration from the Python Executable in Project Properties * Avoid prematurely sizing down tool icons in secondary toolbars * Fix using the up arrow when selecting text under mac key bindings * Fix location of cursor when using up or down arrow after clicking in editor * Handle string or unicode sub-classes with bad __len__ more gracefully * Don't print exceptions to debug process stderr when debugger fails to package a value for transfer to the IDE * Add internal-keystroke-logging-start and internal-keystroke-logging-stop to help with debugging Wing * Fix adjusted indentation within pasted docstrings * Fix analysis bug with A or B expressions Version 6.0 ----------- December 20, 2016 Bug Fixes * Don't lose default filters when the Files > File Types > File Filters preference is altered * Use correct margins when printing * Fix fonts used in splash screen and about box * Fix debugging file with a non-ascii name that can be displayed in a console under Windows Python 3.6 * Don't fail to show the about box when running without any license * Fix crash with no explanation if ~/.wingide6 cannot be created * Fix crash on OS X when editor is resized to a width of a few pixels * Fix the Retain History option in the Debug I/O Options menu so past output is retained and correct output is shown after a debug process terminates * Remove option Retain History from Debug I/O Options menu in Wing Personal * Fix crash on Linux after closing the file dialog under KDE * Fix permanently greyed out windows under KDE * Fix failure to run background threads in the Python Shell while at the prompt when debug is disabled and the thread tried to import a module * Fix the source distribution and build copy-from-install * French localization updates (thanks to Jean Sanchez and Laurent Fasnacht) * German localization updates (thanks to Christoph Heitkamp) * Fix failure to translate some tooltips in the toolbar * Fix incorrect reset of stack frame when debugging in shells * Fix typo and link in trial license dialog Version 6.0 rc1 --------------- December 13, 2016 Features * Allow marking remote host configurations as shared by all projects * Allow opening and saving projects that are stored on a remote host * Change mouse cursor on dark backgrounds so it is more easily seen * Enable undo in Python Shell and Debug Probe * Added preference to enable or disable auto-spacing around : in type annotations * Added auto-editing fixup for "def x(a-)" or "def x(a)-" and similar cases to "def x(a) -> " for type annotation * Partially updated German localization (thanks to Christoph Heitkamp) * Updated French localization (thanks to Jean Sanchez and Laurent Fasnacht) Bug Fixes * Fix typing characters that require the option key on the mac * Fix handling of characters composed with an input method, particularly in auto-editing, key repeat, and preventing edit of read-only buffers * Fix bug that substantially slowed down the debugger on OS X * Use a dialog with a name field when creating new file from the Project tool on Linux * Stop on exceptions also within the file sent to Evaluate File in Python Shell when debugging in shells is enabled * Don't show builtin information multiple times in source assistant * Fix running to caret when using wingdbstub.py * Fix saving and failure to report changed modification times for remote files * Don't print harmless warning when using wx in the debugger * Syntax highlight PEP 515 style numbers with underscores correctly in the Python Shell and Debug Probe * Eliminate duplicate names in the autocompleter in Python Shell and Debug Probe when module has an __all__ attribute * Don't display invalid function attributes in autocompleter * Convert line endings in Diff/Merge to match the target file * Merge the correct range of text when line ending types don't match * Fix failure to include some changed files in a directory diff * Fix early termination of Python Shell or Debug Probe * Disable debugging in shells if a debug process is already running in Wing 101 and Personal or in Wing Pro when multi-process debugging is disabled * Remove incorrectly exposed recursive debug from Wing 101 and Personal * Don't show Enable Auto-Completion in shells Option menu when auto-completion is disabled in preferences * Convert to local disk location when choosing files from the Local Host area of the remote file selection dialog * Fix failure to complete writes and unlock project files when switching between projects that use remote host configurations * Correct positioning of filename completion popup when at bottom of screen * Fix Files > File Types > File Filters preference when the display language is non-English so predefined filters are not duplicated in each language and so that default filters work properly * Change hg annotate to show global changeset and not local revision number * Place tool windows correctly on high dpi displays * Fix auto-invocation for functions and methods that have type annotated args * Remove auto-entered ',' in dict literal when 'for' makes it into a comprehension * Don't insert spaces into negative numbers after 'return' and 'yield' * Auto-editing also closes quotes in format strings like f"" and works within f-strings * Also skip over closing ) in auto-invocation when auto-closing is disabled * Correctly remove :type annotations when adjusting arguments after auto-invocation * Fix disappearing checks in checkboxes when using black background palette * Fix colors of selected items in lists * Fix many problems that could result from switching between remote projects or dropped connections to the remote agent * Fix problems with drag-n-drop and Windows UNC filenames * Fix auto space insertion in unterminated strings * Improve Python comment coloring with One Dark palette for readability in context of diff/merge and other marks * Load commands from Wing extension script packages * Restore maximized windows on secondary screens on Windows * Fix line selection in vi mode * Fix problems analyzing await statements * Don't display duplicate entries for argument names in autocompletion list Version 6.0.0 beta4 ------------------- November 22, 2016 Features * Support Python 3.6 inline type annotations (PEP 526) * Support Raspberry Pi for remote development * Updated Raspberry Pi How-To for easier remote development * Added Raspberry Pi project type to New Project * Automatically find Python installs that follow PEP 514 * Updated French Localization (thanks to Jean Sanchez and Laurent Fasnacht) * Added optional user identity fields to license activation dialog, to be used for lose license retrieval * Support symbols with non-US ascii characters in autocomplete lists * Added a preference for the font used when printing * Allow renaming by clicking in the Name column of the Bookmarks tool * Add Drop Current and Add Next Occurrences item to multiple selections menus Changes * Ctrl-Y has been restored to be 'undo' (undoing the change in beta2) * Ctrl-D has been remapped to add next occurrence for multi-selection. Moving focus to the toolbar search area is now done with Ctrl-Alt-D or Ctrl-K Ctrl-D in Visual Studio mode * Ctrl-Shift-D has been remapped to add next occurrence skipping current for multi-selection * OS keymap changed set-bookmark to Command-B, goto-bookmark to Command-Ctrl-B, start-kbd-macro to Command-Shift-M, brace-match to Command-), selection-add-next-occurrence to Command-D, and selection-add-next-occurence(skip_next=True) to Command-Shift-D Use the Keyboard > Custom Key Bindings preference to customize key bindings. * Use a more contrasting default occurrences color for all palettes Bug Fixes * Fix launching remote debug processes * Fix multiple problems with tooltips for partially visible list items * Tokenize f-strings and numbers with embedded _ characters correctly * Fix failure to stop on breakpoints in debugger for a file that was also evaluated in the Python Shell * Fix problems with closing projects with remote locations * Fix failure to find installed Python 3.6 interpreters * Fix RuntimeErrors displayed in output when using matplotlib * Fix indent adjustment after paste * Save history point when going to start or end of file * Fix a memory leak * Fix behavior of default value for Editor > Other Split preference * Fix scrolling to end of output in the OS Commands tool * Fix adding items to the toolbar * Fix problems seen when running unit tests remotely * Fix New Project for remote projects * Fix failure to locate some imported files in remote projects * Fix crash when click on a completion popup for a file name entry * Fix exception seen when quitting Wing * Fix exception seen when Find Uses processing completes * Fix exception seen when searches are stopped and restarted * Fix goto-definition on remote files if the target symbol is on the Python Path but not in the project * Don't show numeric keypad keys in menus on OS X * Don't blink cursor when moving it * Fix failure to handle removal of a launch configuration in data validation for Project Properties * Fix failure to translate a number of strings in the UI * Fix crash when using open file dialog * Restore window order when closing color selection and font dialogs * Fix scraping of modules that aren't in the PYTHONPATH * Ignore composed characters entered into emacs repeat mini-buffer * Improved icon sizes and splash screen on high dpi screens * Don't hang up patch installation dialog when cannot download patches * Don't auto-space after "exec" in Python 3 * Fix exception seen from abandoned Find Uses searches * Use default colors when printing python files * Fix clipboard copy operations in Exceptions, Testing, Call Stack and some other tools * Don't fail on license strings that have other possible unicode dash characters * Don't try to rerun Perforce client command over and over when it fails * Remember size of multiple selections popup in project * Keep remove selection icon within visible part of multiple selections popup * Drop only most recent selection and not all when use skip_current=True with the selection-add-next-occurrence command * Don't show line number column in multiple selections popup * Don't grey out all multiple selections menu items when it's shown by keyboard * Fix failure to restart Python Shell when switching from a remote project * Fix analysis problems seen when swtiching from a remote project * Fix traceback in obtaining Python intepreter information when switching projects * Disable multi-selection in the Python Shell and Debug Probe, which fixes move operations like end-of-screen-line * Fix finding repository root for some hg, bzr, and git commands * Fix problems probing Python 3.6 for environment information on Windows * Don't fail on non-ascii characters in symbols in the auto-completer * Fix inability to remove remote directories from a project when the remote host cannot be reached * Fix failure to remove a host from the Remote Hosts dialog * Use correct keywords and builtins when using Python 3 * Allow background threads to run in the Python Shell when debug is turned off * Fix early termination of the Python Shell and Debug Probe process when continue debugging in order to return to the top level shell Prompt * Don't terminate debug when changing to a running thread in the debugger * Improved how undo works with completions * Disable evaluate file in shell command for a new, unsaved file and while the shell is already evaluating something * Fix debugging via remote agent on OS X hosts that don't have Wing IDE 6 installed Version 6.0.0 beta3 ------------------- October 20, 2016 Changes * The preference to disable background analysis no longer exists; background analysis must now be enabled at all times Bug Fixes * Prevent Debug Probe from locking up when the debug process is restarted * Fixed analysis of remote files * Fix remoteagent execute and debug with Python 3.5 * Fix remote directory search so it doesn't loop forever * Add *.orig files to the hidden and temporary file set so they are ignored when searching or finding project files * Avoid remote location inspection errors while quitting the IDE * Don't pop up the remote host failure dialog until after Wing starts completely * Optimized remote file inspection for much faster project load and startup * Fix cursor movement commands when line wrapping is enabled * Make sure cursor is visible after undo / redo * Update project tree immediately after adding new file or directory * Remote host config accepts path ending in .app folder on OS X * Fix remote configurations to strip leading and trailing white space from the hostname, WINGHOME, and Python Executable fields * Avoid errors seen when switching between different projects with remote host configurations * Correctly enable Remote Hosts dialog's toolbar icons * Optimize detecting changed modules when debugging * Improve performance when many processes attach to the debugger * Fix intermittant failures in debugger when using Python 2.5 or 2.6 * Fix rectangle selection keyboard commands * Fix incorrect prompt numbering in Debug Probe * Better handle opening *.wpr without .wpu when there are remote files * Don't execute the next line of code in the enclosing frame when Step Out * Stop on debug tracer return events when stepping over or into but not when stepping out * Show an error dialog when Step Out to Here is attempted on the innermost frame * Fix Move Program Counter to work correctly * Fix searching a string-escape encoded file * Fix completion when item in popup is clicked * Fix auto-spacing around @= * Fix debug Detach/Attach * Fix debug Pause * Fix setting breakpoints while debugger is running * Fix potential for VCS commands never exiting after completion * Fix setting file encodings on remote files * Remove non-working implementation of saving project files to a remote host; the project files themselves must be stored on the local host * Fix rare failure to show error message when starting Python Shell * Correct spelling of "occurrence" in the command set and UI * Fix failures seen in tracking directory add/remove with svn versions 1.7+ * Don't turn _ in process names into mnemonics in the process selector menu Version 6.0.0 beta2 ------------------- September 26, 2016 Features * Improved multiple selection support with Edit > Multiple Selections menu, a new toolbar item, and optional floating window that lists the selections * Pressing Ctrl (or Command on the Mac) while selecting with the left mouse button will add an additional selection * Restore editor selections after undo and redo * Support debugging and running the Python Shell with Python 3.6 * Mouse click actions may be bound to commands via key bindings * On OS X, the Mac OS personality is used as a fallback for keys that are not bound in the active keyboard personality. This can be disabled in preferences. * Set __file__ in the Python Shell when evaluating a whole file * Added Evaluate Selection in Debug Probe to the Source menu * Add I/O Encoding to Remote Host configuration, to override the preference value for remote hosts where this differs * Add ability to set options for version control systems in Project Properties when the project uses a remote host Changes * Changed default key binding for undo from Ctrl-Y to Ctrl-Shift-Z in the Wing IDE and Visual Studio keyboard personalities. Ctrl-Y now adds the next occurrence of the current selection as a selection (in the new multiple selection feature) Bug Fixes * Fixed printing on OS X * Also copy other files and directories from Wing 5 settings: shared perspectives, shared launch configs, shared filesets, vi command history, custom syntax highlighting configurations, and custom, color palettes * Don't fail to open link from Upgrade button after trying to activate a license for an earlier major release * Fix recursive debugging in the Debug Probe after the debugger has caught a fatal exception on exit * Default to a .py extension when creating a file from the Project tool * Fixed failure to reopen the current project on startup * Change accelerators so Alt-O D can be used to enabled/disable debug in the Python Shell and Debug Probe * Fix Django project creation from New Project * Clipboard and many other commands work correctly with multiple selections * Disable auto-editing when there are multiple selections * Fix Debug Test when the test has command line arguments * Fix failure to update Stack Data, Watch, and Modules when the debugger first stops * Fix setting Initial Directory in a launch configuration with custom Python Executable * Fix evaluating files in shells when the file has a coding comment at the top * Fix error seen when debug process ends during external change check * Fix right-clicking on the toolbar * Don't place a space when Space is used for completion key (except in Turbo mode) * Fix invoking Wing on the command line with --help argument * Fix Evaluate File in Shell for remote files * Fix completer for keyboard-driven selection of remote files * Fix creating new remote files from the keyboard driven file selector * Show reasonable error dialog when comparing remote directories (which is not supported) * Fix Source Assistant docs urls for remote Python installations * Fix updating project tree, reloading files, and other updates needed when a remote host configuration is edited. * Fix potential problem in license activation checks on OS X * Fix build script in debugger source package * Prevent zombie instances of the remoteagent Version 6.0.0 beta1 ------------------- June 13, 2016 Features * Edit, debug, test, and manage files stored on a remote server via SSH * Debug code run in the Python Shell and Debug Probe (optionally recursively) * Recognize PEP 484 type hints * Optimize debugger, particularly for multi-threaded code * Support OS X full screen mode * Added One Dark display palette * Wing IDE Personal now also includes the Source Browser, PyLint, and OS Commands tools, and supports the scripting API and Perspectives * Added the option to enable auto-completion in Wing 101 * Better support for portable installs, by allowing auto-activation of a stored license and using --settings and --cache command line arguments to specify location of the settings and cache directories * Move breakpoints and Debug To Here positions to valid lines that will actually be reached by the Python interpreter * Add CAPIDebugger.SetCurrentRunState to the scripting API * Added hostname to CAPIProject.Get/SetPythonExecutable and Get/SetLaunchAttrib * Add icon for Cython file type * In the source browser and other tree views, the right arrow key expands the selected node * Better support for different python builds on Windows Changes * Wing IDE Personal is now free and for Non-Commercial Use only. It no longer requires a license to operate. * Support for Windows XP, 2003 Server, and Vista have been dropped. * Support for OS X 10.6 has been dropped. * Wing no longer runs on 32-bit Linux distributions * Wing 6 now uses PyQt5, which solves some issues on newer OS versions and improves stability and performance * The Display Style and Color Palette preferences have been simplified * On Linux, Wing can no longer use the native display style due to cross- distribution binary compatibility issues * Support for Python 3.1 was dropped (2.5 through 2.7 and 3.2 through 3.5 are supported) * Wing now prefers the latest Python version even if it is Python 3.x * The default encoding for the Debug I/O and other tools is now utf-8. An external console can be used on Windows in order to use the encoding used in a cmd.exe. * For debugging with wingdbstub, Wing 6 will not work with the Wing 5 debugger * Host identity is now computed differently, which may affect when Wing accepts a previous license activation (please email support@wingware.com with any problems) * Renamed the preference Allow Dynamic Introspection to Allow Calls in Data Inspection * The pypath attrib returned from CAPIProject.GetLaunchAttrib in the scripting API has changed from a string with os.pathsep delimiter to a list of strings so this can handle the remote debugging case * Leading/trailing white space is now stripped from file names entered into preferences or project/file properties, including also Python Path entries * The IDE error-log file in the User Settings Directory has been renamed ide.log * Wing now uses a more compact default output for 'hg annotate' * Active Range no longer shows code lines in the shell and instead points at exceptions in the editor * Wing no longer inherits DYLD_LIBRARY_PATH in its environment on OS X, although the inherited value is still used for code debugged or executed from the IDE * Wing now exits block selection mode and deselects after clipboard operations Bug Fixes * Allow RPM installs to be relocatable from /usr * Don't set __file__ in the Python Shell * Show multiple adjacent spaces correctly in the Stack Data and Watch tools * Fix internal error sometimes seen when a child debug process exits * Don't force display of run, breakpoint, bookmark and other markers on the editor, which could cause sluggishness * Don't show None for a value when it has a __str__ implementation and the Debugger > Advanced > Allow Calls in Data Inspection preference is disabled * Fix debug data display to correctly use __str__ and not __repr__ where intended even if Allow Calls in Data Inspection is enabled * Improve automatic expansion of fold points as code is edited * Reset horizontal scroll bar when a shell is cleared * Don't raise exception when analysing instance attributes in some cases * Clarify update dialog when product is up to date but license is not covered by Support+Upgrades * Fix display of invalid characters on OS X 10.10+ and Linux * Fix handling of invalid characters on the clipboard on OS X and Linux * Don't include resources directory on Python Path when Wing is in a directory accessed via a symbolic link * Make selection and occurrences more visible in the Black Background color palette * Clarify Maya How-To for people that need to edit wingdbstub.py after it's already been imported by Maya * Fix incorrect handling of directories w/ common leading names in version control operations (such as /aaa/bbb and /aaa/bbbb) * Fix goto-next/previous-bookmark to go in file/lineno order also if traversing all marks * Fix autoediting support for @ operator * Clarify that the Copy Tutorial Now link is prompting for target location * Display line the debugger is stopped at with an underline when returning from a function * Fix reading news in the tutorial when working under Python 3 * Fix exit code reported on Windows for negative values * Don't flash stale Python Shell environment dialog when exiting * Improved look of radio buttons and check boxes in dark themes Version 5.1.13 -------------- Features * Add support for Stackless Python 3.4 * Add option to not set Python Shell current directory from active editor in Wing 101 * Allow getting instance attributes with CAPIStaticAnalysis.GetScopeContents Bug Fixes * Don't add empty string (which denotes current directory) to the path as soon as "Custom" is selected in Python Path properties; an entry must now be added explicitly when it is wanted * Correctly restore gettext's _ after evaluation in the Python Shell and Debug Probe * Don't incorrectly insert spaces within argument names that start with a Python keyword * Check for bad window sizes in a project file * Fix case sensitive autocompletion when _ is in the symbol name * Fix debugger for Python 3.5 with changed bytecode * Don't show disabled auto-complete option in Python Shell in Wing 101 * Minor French localization updates (thanks to Jean Sanchez) * Including documentation page for Launch Configurations in Wing Personal Version 5.1.12 -------------- June 17, 2016 * Update German localization (thanks to Christoph Heitkamp) * Fix Configure Project for Django to work if Start Django Project was not used first * Don't show deprecation warnings for inspect.getargspec for debug processes and Python Shell running with Python 3.5 * Fix failure to analyze files in the background * Fix failure to show all classes in browser in some projects * Fix indent analysis and conversion for non-Python files with many unindented blanks lines in them * Always auto-close {} and <> within strings when auto-closing is enabled * Correctly expand Wing-specific environment variables like ${WING:PROJECT_HOME} in the Python Path when executing a file * Don't deselect or move the insertion caret when right-clicking on the editor * Fix exceptions sometimes seen when terminating debug processes * Don't auto-hide the completer in the argument entry area (at bottom of the editor window) as quickly * Display test names with periods (.) in them correctly in the Testing tool Version 5.1.11 -------------- April 15, 2016 * Features * Added block commenting option for PEP8 style column 0 comment Bug Fixes * Fix Django template debugging for Django version 1.9 (requires 1.9.3+) * Enable Django template debugging in OPTIONS within TEMPLATES and not using TEMPLATE_DEBUG if running with Django 1.9+ * Debian package omits dependency on libqt4-script and libqt4-sql to avoid problems on systems where the package names have changed * Sort alphabetically within type in Source Browser when using Sort by Type * Fix extra argument passing to unit test runners when debugging * Fix extra argument passing to pytest * Expand environment variables in extra run arguments for unit tests * Fix hang on unit test completion seen on Windows when the test uses sockets * Add some missing strings to the French localization (thanks to Jean Sanchez) * Fix git status when --use-porcelain is disabled with recent git versions * Don't auto-close a ( when it is typed before a string * Improve auto-spacing within lambdas * Find extension modules for autocomplete and source assistant when using Python 3.5 on Windows * Don't sometimes put autocomplete list on wrong monitor * Don't put bottom of default window behind Windows task bar * Fix problems parsing output from pylint tool * Fix potential hang while generating list of inherited methods when entering the name after a def * Fix potential to crash when closing a new project * Fix error seen when submitting changed items reload confirmation dialog * Handle rare error case seen during type inference for Source Assistant * Use pretty printing for output from Evaluate Selection in Shell or Debug Probe when appropriate * Don't print() an extra 'None' in shells when using Python 3 and the Pretty Print option is enabled * Continue to select the first item in the Open from Project dialog unless another item is explicitly selected * Fix editing the build command directly from Project Properties * Don't mess up state of some tools when using perspectives or diff/merge * Fix goto definition when .py and .pi files are found for a module * Don't hang the IDE on Windows when a process in the Python Shell or code executed in the Debug Probe spews large amounts of output * Better identify class attributes when finding points of use and refactoring Version 5.1.10 -------------- February 25, 2016 Features * French localization updates (thanks to Jean Sanchez) * Add file mapping for pyxbld files * Ability to set pylint timeout separately for packages (thanks to Steve Barnes) Changes * The Debian/Ubuntu package no longer specifies dependencies on Qt due to changes in the package names in different distribution versions. Wing may now install on some machines where using system-provided Qt is not an option, but will run with its own Qt installation in that case. Bug Fixes * Fix occasional hangs when debugging multi-threaded code * Fix display of decimal instances in stack data * Don't hide the auto-completer when a debug process exits or on other events that cause update of menus and toolbars * Don't show duplicate entries for the same file in Compare to Repository * Avoid late call from Search tool when an editor split is removed * Hide irrelevant backup docs in Wing Personal and 101 * Find whole word matches at end of document * Fix the maximum file size preference * Fix potential for debugger to hang when stopped at exception * Fix failure to create Django app when INSTALLED_APPS is not already in the settings.py file * Fix failure to add a new Django app to INSTALLED_APPS if it is a list * Improved performance of analysis disk cache * Fix object life cycle problem that would require restarting Wing IDE * Fix crash triggered by some mako files * Omit non-functional Configure Reloading buttons in Wing 101 * Fix problems in debugger with non-ascii command lines * Fix problem with inspection of bound methods in Python 3 Version 5.1.9-2 --------------- January 22, 2016 (OS X only) Bug Fixes * Avoid being flagged by Gatekeeper on OS X 10.11 Version 5.1.9 ------------- January 13, 2016 Features * Added --settings= and --cache= command line options for changing the location of the settings and cache directories * Added Mercurial resolve command * French localization updates (thanks to Jean Sanchez) Bug Fixes * Fix failure to enable Stack Data and Watch lists in some cases when using multi-process debugging * Fix failure to call atexit functions when debug ends on Windows * Close the debug connection cleanly when using wingdbstub with Python 3 * Fix Run As Package Module in Testing properties * Fix auto-spacing in PEP484 type annotations * Fix debugger when using external console and Python 3.x * Don't fail to display Source menu on alt-S if Search tool is visible * Correct display of key bindings on menus * Fix converting preferences from an old Wing version * Fix GetSymbolInfo in the wingapi module * Correctly update occurrence highlighting when a fold is expanded * Fix rewrapping of strings and comments so that all contiguous lines are wrapped when there is no selection and wrapping is limited to selected lines if there is a selection * Fix failure to translate some toolbar tooltips * Partially fixed Django 1.9 template debugging, which was broken by reimplementation of the template engine. "extends" and some other tags are not fully supported due to missing information in the new template implementation; see https://code.djangoproject.com/ticket/25848 * Avoid exception sometimes seen when closing dialogs * Fix failure to goto base class in browser after switching projects * Fix failures to wrap text in Python code when source analysis fails * Fix defining custom keys with modifiers other than Alt and Ctrl in non-English locales Version 5.1.8 ------------- October 5, 2015 Features * Support for Python 3.5 final releases * Updated French localization (thanks to Jean Sanchez) * New option to specify how to run test files in package directories Bug Fixes * Improved performance of Open from Project for large projects * Correctly identify staticmethods * Fix using $ in vi mode on Finnish keyboards * Move cursor correctly when using space or backspace in vi browse mode * Fix problem with debugger and 2+ input() calls without intervening output * Fix ignoring internal assertions in pytest * Fix running pytest test files that are located in packages * Fixed setting a run directory for tests run with pytest * Fix displaying multiple plots with the Mac OS X backend for matplotlib * Fix auto-spacing around - and + in exponents * Don't jump back to last stop position when restarting debugging * Don't expand folds on edited lines unless the fold point is removed * Don't alter indentation when re-wrapping lines within a Python string * Don't syntax highlight text typed by user for an input() call in the Python Shell * Correctly display exception from badly encoded file from Python 3 * Fix debugger in 101 and Personal when using Python 3.5 on Windows * Display utf8 encoded git commit messages correctly * Fix problems with .pi files for nested packages * Fix exception when editing a function def and the file is analyzed in background * Fix traceback seen when closing the Named Entry Point keyboard binding dialog * Fix problems sometimes seen with restoring split contents on project switch * Fix corrupt internal state sometimes seen when unsplitting editors or with diff/merge * Show translated tooltips over toolbar icons when a translation is available * Fix problem when switching projects and exception displayed in Exception tool has no stack * Don't raise exception when trying to use an unsupported matplotlib backend * Fix exception sometimes seen when open and closing editors * Fix displaying filename with same order of letters as the search fragment in Open from Project on OS X and Linux * Don't use Wrapped Search Failed for status when non-wrapped search fails * Fix debugger when using 64-bit Python on some Windows systems * Project files are saved when an OS Command is changed * Clarify license information in About box regarding licensed OSes * Fix saving fold state so it can be restored when a file is opened * Support for python executables built with Visual Studio 2013 * Don't alter indent of 'else' and other paired keywords when pressing : and the keyword is already in a valid position; repeat : to toggle among other valid positions, if any Version 5.1.7 ------------- August 21, 2015 Features * Partial update of French localization (thanks to Jean Sanchez) Bug Fixes * Fix packaging problem in the tar installers for Linux * Fix evaluating code in the Python Shell in Wing 101 and Personal * Fix Wing Tips * Fix analysis of except statements in Python 3 code * Don't terminate debug and correctly report exceptions in stack frames with filenames like * Don't crash on startup if the Source Analysis > Advanced > Interface File Path preference contains ~ or $ Version 5.1.6 ------------- August 18, 2015 Features * Support for debugging code running on Raspberry Pi * Support for debugging Python 3.5c1+ * Option to run more than one test file concurrently from the Testing tool * Toolbar to add, duplicate, and delete items in the Perspectives, Launch Configuration, Named Entry Points, and File Sets managers * Added terminate-os-command Changes * Test files in packages are imported into the test runner using full package name * Change default comment character used in text files to # * Change version control modified overlay icon to red so it's visible on dark backgrounds Bug Fixes * Show correct stdout/stderr output from pytest unit tests in the Testing tool * Fix pytest unit tests when Initial Directory has been set * Fix problems with Django project creation on Windows and with Django 1.8+ * Prompt for the Python executable to use with new Django projects if this cannot be inferred by inspecting the #! comment in the selected django-admin.py * Clarify some of the error messages shown when setting up new Django projects * Fix Django Create New Application when existing INSTALLED_APPS list does not end in a comma * Correct quoting in the manual Django admin account creation command that is shown when the admin account can't be created automatically * Fix autocompletion after from . and from ..name statements * Fix failure to save analysis info, which caused code to be re-analyzed * Fix failure to reuse locked splits for already-open files * Fix editing input lines in Debug I/O * Allow saving files with coding comment set to pyxl by using utf-8 as the encoding * Set __spec__ and __loader__ in the main module when debugging with Python 3.4+ * Fix remote debugging in Wing IDE Personal * Fix crash when analyzing Python 3 code containing a * w/o a name in a lambda arg list * Don't incorrectly convert indent size when copy/pasting within the same file * Support 'async' keyword in auto-editing, auto-completion, auto-indent, block selection, stepping over blocks, and indent-to-match * Turbo complete values in arg=value within def when typing , or ) * Fix source assistant when invoking a method recursively * Fix errors seen when switching projects and the number of open files changes * Fix errors seen when joining all splits * Also check for wingdebugpw in the Wing installation directory * Default WINGDB_PYTHON to "python" and WINGDB_HOSTPORT to "localhost:50005" when invoking wingdb or wingdb.exe * Allow commands >80 characters long in the Custom Key Bindings preference * Position cursor at the start of the last wrapped line when using word wrapping in vi mode * Fix redundant space removal at end of lines with non-ascii characters * Disable tools appropriately in OS Commands and fix toolbar spacing * Fix spacing on tools in the Exceptions tool * Put focus on list when Move Focus to the Breakpoints tool * Add accelerators to Restart Python Shell confirmation dialog's buttons * Disabled non-functioning support to use dot-file locking for Wing's internal database * Don't try to copy or move a directory into itself * Fix exception sometimes triggered by clicking down arrow in the Exception tool * Fix problems when using the debugger with numpy and the edge_items print option is set * Correctly handle SyntaxError with None for filename under Python 3 * Include all of the revision control commands in the command reference * Fix buffer truncation for debug output before Debug I/O is shown * Better specify shared library dependencies in OS X app bundle to satisfy Gatekeeper * Don't get into an error reporting dialog loop when editor selection is not on valid utf-8 boundaries * Fix crashing seen on when closing the Attach to Process dialog * Fix editor SetSelection method w/ expand=False in the scripting api Version 5.1.5 ------------- June 19, 2015 Features * Support for Python 3.5b2 * Added Step Out To Here to return to currently selected stack frame * Add syntax highlighting for Less and HSS CSS extension languages * Add default key bindings for the find-symbol-in-project command * Add a set_executable_bit command to set the executable bit in a file's permissions * Right arrow expands current node in the Project tree * Added show, focus, and prompt args to python-shell-restart command * Add show and focus args to python-shell-clear command * Optionally prompt before restarting the Python Shell (on by default) * Show rate at which data is being received in Debug I/O, Python Shell, and Debug Probe * Add Name Open File Set item to Open Files tool context menu * Add Ctrl-= as key binding for zoom-in and Ctrl-_ for zoom-reset in most keyboard personalities * Add Edit -> Zoom submenu * Added Show All Files in All Splits preference also to preferences dialog * Add documentation for Find Symbol in Project * Enable auto-fixups in the Python Shell and Debug Probe (e.g. x()y -> x().y) * Enable the auto-invocation auto-editing operation in the Python Shell and Debug Probe Bug Fixes * Fix running and debugging Django 1.8 unit tests (thanks to Rafal Zawadzki) * Don't skip over output as readily when there is a lot of output in the Python Shell or Debug I/O * Fix Debug Restart when debugging a file and no main entry point is set * Fix traceback seen when pressing Enter in mini-search within a help view * Escape more regex control characters when starting a search in regex mode * Fix problems seen when a launch configuration's initial directory is set to Use Default * Create new editor splits on right or bottom and not left or top * Fix changing the case of a file or directory name using rename in the project * Apply upper-case, lower-case, title-case, toggle-case, hyphen-to-under, under-to-hyphen, and surround operations to current word when there is no selection * Don't add main entry point annotation to file names edited from Project tree * Fix saving of state when a single file is closed * Fix traceback when displaying the pylint tool's popup menu * Fix going to top and bottom of a file via the symbol menu * Display doc string for function being called in Source Assistant if cursor is on second line of arguments * Don't display ^ as key accelerator for goto definition * Don't immediately try to execute lines pasted into a """ string in Python Shell * Correctly use type information for class attributes * Fix crashes sometimes seen while exiting the IDE * Fix potential for debug connection to hang up in rare cases * Fix problems with closing inactive editor tabs * Display source file when click on an exception line in a Cython-compiled module * Omit self argument that was added by mistake when auto-adding arguments when invoking some tkinter methods * Always select search string when searching on selected word * Fix copying traceback from Exceptions tool when stars are in the display * Fix potential for failure to report breakpoint changes (hit count, etc) back to the IDE * Don't print output from previous session after Python Shell is restarted * Fix child process debugging when a command line using sys.executable contains arguments for Python * Send correct sys.argv to user when -c is present * Fix auto-closing (), [], and {} after a symbol that ends in a digit * Also auto-close (), [], and {} before keywords and not just operators or at end of line * Also auto-close (), [], and {} at end of current data entry field in a snippet * Improve keyboard navigability of Watch tool (+ to add, Delete to remote, Enter to edit, and right/left arrows expand/collapse) * Fix spurious syntax errors for Python 3 code (up to and including 3.4 language features) * Improved tracebacks in the Python Shell and Debug Probe with more useful file names * Flush stdout/stderr correctly when flush() is called during evaluation of code in the Python Shell and Debug Probe Version 5.1.4 ------------- May 1, 2015 Features * Added a Find Symbol in Project dialog * Support for Django 1.8 * Support debugging Django with auto-reload enabled * Basic support for Python 3.5 alpha * Editor > Advanced preferences to enable goto-definition and find-uses when clicking with keyboard modifiers (modifiers vary by OS) * Added Change Case operations to Source menu * Expose SetDebugChildProcesses in the scripting API * The PyLint configuration file can contain ${ENV} environment variable references Changes * Find Uses does not place focus on the editor when showing matches, to match the behavior of Search in Files. Press Esc or bind focus-current-editor to a key binding to move focus to the editor Bug Fixes * Fixed alignment of monospaced characters on OS X and Linux * Fix the pytest runner for Python 3 * Fix exception reporting when debugging failing pytest tests * Don't alter sys.path when running pytest style tests * Use .hg/hgrc and .git/config to preload the repository for push, pull, etc * Set correct current branch in git push/pull * Fix hanging when opening badly malformed .py files * Keep analyzing files after encountering a file with a bad coding comment * Don't fail to start if files are written to the top level of the auto-save directory (such as .DSStore on OS X) * Don't add project directory or other starting dir to effective python path used to analyze python files * Allow selecting and copying data in the Show Python Environment dialog * Fix crashing seen when closing the Show Python Environment dialog * Fix random failures to scrape extension modules * Place cursor at end of output in Debug I/O when it is initially displayed * Fix environment used when the main entry point is a named entry point * Indicate on Project tree when main entry point is a named entry point * When using matplotlib, raw_input and input will allow plot windows to update while they are waiting for input * Fix cases where matplotlib.use() would fail in matplotlib event loop support * Change Solarized - Dark display style's debug position marker so text remains readable * Fix debugging code that passes kwargs to start_new_thread * Don't hang the IDE when the debug process or code in the Python Shell spews massive amounts of output non-stop * Don't show Save Selected Files dialog twice when switching projects and not saving changes * Improve documentation on configuring tool boxes * Fix tooltips on the active range icons in Python Shell and Debug Probe * Show the notebook options drop down indicator also in the right/left tool areas * Read files with a BOM correctly * Fix failure to cache analysis info for some files * Make debug value tips on the editor respect the Debugger > Integer Display Mode preference * Fix debugging Django templates on Windows when case in template filenames did not match case for breakpoints set * Better handle the case where the user running Wing cannot read default snippets * Avoid traceback seen when typing in Debug Probe causes the debug process to exit * In emacs mode, Ctrl-g is used instead of ESC in Python Shell and Debug Probe * Fix pressing ESC in Python Shell and Debug Probe when prompt line isn't empty * Use correct dialog for custom Initial Directory in Launch Configurations * Don't allow prompts above the current prompt to be modified in the Python Shell or Debug Probe * Fix pressing Enter in the Named Entry Point Key Binding dialog * Rescan PyLint configuration also if the config file was already open at startup * Fix find uses problems immediately after analysis cache is cleared Version 5.1.3 ------------- March 20, 2015 Features * Support running and debugging pytest unit tests * Support debugging Flask with auto-reloader enabled (requires turning on child process debugging) * Added new default snippets for Python and HTML * Allow an auto-entered snippet field to also act as a tab stop * Ability to restore removed snippets from the default set or discard all local changes and restore to factory defaults * Ability to send NUL and EOF to the shells and debug I/O * Allow opening another project directly from the Project Locked dialog * Add clear-test-results command * Allow setting default action to take when build fails before debug Bug Fixes * Keep matplotlib plots active in Debug Probe when using MacOSX backend * Avoid potential for graphics context errors when debugging matplotlib code * Don't close windows immediately when prompting for save * Also enter snippets when using Enter to complete in Turbo Completion mode * Correctly convert indent style when pasted lines share the same indent level but don't match the target file * Fix failure to find matches in directory searches * Fix cases where diff/merge would highlight a whole unchanged line instead of indicating insertion * Fix scraping Python 3 modules with generate_pi.py and correctly encode non-ascii characters in docstrings * Fix crash when setting values on stack panel * In vi mode, reset current register to '' after operations, also write yanks to register '0', and only use '' for deletion operations * Fix cursor position when asking for input when running a file in Wing 101 * Avoid hanging up when pasting a large Python file * Add extension if file type is chosen for a new file on Windows * Avoid traceback seen in some indent conversion cases * Avoid "AttributeError: 'NoneType' object has no attribute 'send'" in debugged child processes * Fix tp_compare messages seen when debugging child processes * Fix goto definition in files not ending in .py * Fix detection of child process relationships when debugging in an environment where os.getpid() does not work (such as Google App Engine) * Avoid traceback seen when debug session ends during initial display of Stack Data or Watch * Correctly propagate exit code out to parent when debugging child processes * Fix recursive data entry mode when typing ends a nested data entry action * Fix auto-scrolling Debug I/O when lines are wrapped or output arrives quickly * Remove leading commas when remove all but trailing x=y auto-invocation args * Fix replacing regex matches in Search in Files in case insensitive searches * Add new snippets from the defaults when added by new versions of Wing * Avoid dropping the debug connection when debug process reaches recursion limit * Don't track changes in version control when adding or removing files from the project and the Version Control > Track Changes Made in Project Tool preference is disabled * Auto-close (, [, and { also in ''ed strings if not in C or C++ code * Auto-fixups won't move : out of () if there is an unclosed [ before it * Fix character encoding problems in Debug I/O when using utf-8 on Windows * Fix goto source on saved test results Version 5.1.2 ------------- February 25, 2015 Features * Updated How-To for Google App Engine * Expanded and improved static analysis for PyQt * Added class and instance attributes to the Find Symbol dialog * Support recursive invocation of snippets, auto-invocation arg entry, and field-based auto-editing operations (e.g. :try applied to a selected range) * Support for python3-pylint * Code sign all exe, dll, and pyd files on Windows Bug Fixes * Fix child process debugging when Python or Wing installation path contains spaces * Fix child process debugging when there are spaces or quotes on the command line * Fix child process debugging on OS X * Fix source assistant formatting of PEP287 fields with long fieldname * Fix indent level for pasted text after single undo for indent adjustment * Fix introduce variable refactoring and if (exp): statements * Don't allow launching Wing from Windows installer to avoid permissions problems * Fix crash on OS X when dragging documents around and the mouse ends up over a toolbar * Write project files on win32 with \r\n newlines * Find .pi type annotation files for modules in a package * Update debugger status messages correctly when changing debug listen port * Fix Debug/Execute > Debug Server Port in Project Properties to work even if multi-process debugging is enabled * Fix exception seen when stack data is displayed while closing a project * Improve scrolling on output in Debug I/O tool * Fix exception when dragging files in the Project tool * Improved Replace Matching completion mode to drop the existing symbol only if it is contained in the completion or vice versa * Fixed data-entry-stopped signal in the scripting API * Fix setting main debug file when the value is put in the .wpu file Version 5.1.1 ------------- February 6, 2015 Features * Preference to reuse existing instances of Wing when not specified on the command line * Improve Django support when settings is a package and not a module * Added documentation on backing up and sharing settings Bug Fixes * Fix wing --help command line * Fix auto-completion with double-click on Windows * Fix restarting a debug session started with a Named Entry Point * Fix OS Commands Initial Directory to operate on directories * Fix autocomplete after a blank line in Python Shell and Debug Probe * Don't animate expand/collapse in the Stack Data and Watch tools * Fix color of current item highlight in the auto-completer * Apply configured run marker alpha to selection color in Call Stack * Fix auto-spacing around % in argument lists * Clarify Windows registry error seen after uninstall Wing while it's running * Keep editor scroll position the same when Replace All * Leave auto-entered default arguments in place when overriding a method * Avoid crashing when some other Qt based applications are installed on Windows * Only convert indents if pasting at start of line * Fix problems activating licenses is some situations * Fix New Project after dialog window was closed at window level * Fix icon and menu install when RPM upgrade replaces version 5.1.1+ * Correct message shown when trying to use Debug Probe in a SyntaxError context * Fix failure to find some uses of a symbol in unsaved edited files Version 5.1.0 ------------- January 22, 2015 Features * Test results are saved in the project file along with when the test was run. This can be disabled in the Testing page in the Project Properties dialog. * Optionally indicate project files in the stack menu and Exceptions and Call Stack tools * Add syntax highlighting for CMake files Bug Fixes * Avoid sizeHint warnings in Messages tool during list creation * Display top of autocomplete list when a period is typed * Fix file filters in Named Entry Point properties * Fix file filters in Python File type OS Command properties * Improve display of docstrings with lists, tables, and field lists in Source Assistant * Fix syntax highlighting problems in Bash files * Improve converting indent style in non-Python files and when auto-indent after paste is disabled * Auto-start searching in Search in Files after first edit to search string * Use Command-Shift-B for toggle-bookmark in OS X key bindings to avoid conflicting use of Command-H by the OS * Fix # auto-editing operation to toggle comments correctly in mixed ranges * Fix unnecessary restart of debug listening when the configured listen port cannot be used but child process debugging is enabled * Don't post debug status messages from the Python Shell's internals * Don't post process exited status messages from internal resets * Improve content and frequency of debug listening status messages * Improve visibility of text in selection for Solarized-Light palette * Match the debugger Run Marker Color for selection in the Call Stack tool * Run failed tests will run test files that failed to execute by crashing or early termination * Center the autocomplete selection vertically * Correctly skip searching files that can be opened but not be read from disk * Fix failure to transition auto-perspectives when multi-process debugging is enabled and there is no debug process Version 5.1b2 ------------- January 9, 2015 Features * Automatically convert indents in text pasted into an editor to match that editor's indent size and style * Added an XCode keyboard personality (partial implementation) Changes * Debugging a Named Entry Point by default kills any existing debug session for that Named Entry Point unless the Debugger > Processes > Debug Multiple Named Entry Points preference is enabled Bug Fixes * Fix automatically debugging sub-processes created with multiprocessing or sys.executable on Windows * Fix Pause All Processes * Fix Restart Debugging when a child process is current * Fix support for Python 3.1 * Clear code analysis info when changes to a file are abandoned * Don't lose scroll position when convert indents in a file * Fix support for svn versions before 1.7 * Fix exception when a shell is cleared * Add .wpr by default when saving a project * Better reporting of encoding errors when debugging under Python 3 * Avoid exception seen when select File Properties in Testing context menu * Fix traceback seen when attempting batch search * Allow overriding Process.run() and BaseProcess.run() in multiprocessing without breaking stopping on exceptions in child processes * Fix using history in debug probe after stopping debugger * Show less generic error when copy-tutorial fails * Avoid failure to restart Python Shell after switching projects * Avoid duplicates in the Find Symbol dialog * Fix Options menu in the Find Symbol dialog * Automatically reanalyze changed files on save and before uses search * Avoid corrupting internal state with toolbar search within documentation * Move or Copy files even if the active revision control system doesn't work Version 5.1b1 ------------- December 16, 2014 Features * Support multi-process debugging and (optionally) debugging child processes * Syntax highlighting in the Python Shell and Debug Probe * Data value tooltips when hover over symbols in Python Shell and Debug Probe * Added How-To for Flask * Support Django 1.7 and Django running on Python 3 * Updated and clarified the web2py How-To * Updated Plone How-To for launching Plone from the IDE * Recognize ArcGIS *.pyt files as Python code * Ability to send keys to the editor via the scripting API * Preference for type of split created by Goto Definition in Other Split * Added ability to copy selected result line, message, or line number from PyLint results (thanks to Viktor Lucza) * Added a close-all-readonly command Changes * Dropped support for Python 3.0 (3.1+ are still supported) * Use short values returned by repr in Stack Data tool for class instances * When multi-process debugging is disabled, debugging a named entry point will be disabled if there is a current debug process * Auto indent ignores preceding block ## comments that start in column 1 * On OS X, removed links to wing command and wingdbstub.py from top level of .app bundle to better comply with Apple's GateKeeper guidelines. The files are located in Contents/Resources within the bundle. * Dropped support for Python 2.3 and 2.4 on Windows * Turned off font size zooming by default. It can be turned on again with he Editor > Enable Font Size Zooming preference. Bug Fixes * Position cursor on new line in Debug Probe and Python Shell if it was not at end of previous line * Update Python Shell or Debug Probe status line when waiting for input * Run correct test if an output or exception line under a test is selected * Correctly identify a git checkout inside an svn checkout * Use correct Python executable when debugging test using a launch configuration * Set funcName correctly in a logging record when using the debugger * Set __builtins__ to a module rather than a dictionary in the Python Shell when using Python 3 * Fix failure to start on OS X when WINGHOME is set * Avoid exception from late call while scrolling in editor * Don't start Search in Files searches when Wing is opened * Fix failure to remove run marker in some cases * Omit invalid keywords for turbo completion on space at start of line * Move over ) when pressing ) after auto-entering a blank invocation even when the auto-close auto-editing operation is disabled * VI mode fixes * Fix right/left arrow keys in VI mode : and similar buffers * Fix moving up a line from last line of the file during line selection mode * Set up vi mode caret type correctly in newly opened editors * Avoid exception seen when clicking on Open from Project or Find Symbol lists * Select occurrences also when using Ctrl-Shift with arrow keys * Allow running to cursor also if there is a conditional, temporary, disabled, or ignored breakpoint on that line * Improved resizing of columns in Stack Data and Watch tools * Fix debugging code that uses pickle under Python 3 * Report failure to run a test when the file does not exist * Update project tree correctly when moving directories to the trash * Improve keyboard navigability of the Preferences dialog * Fix Ctrl-Left at end of file and EOL in Python Shell and Debug Probe * Fix using key bindings after editing a value in the Stack Data or Watch tools * Don't show bogus context menu in Diff/Merge tool * Unhighlight the debug status icon after it is clicked * Show drop down indicator next to all Options menus * Improved display of lists in ReST docstrings in the Source Assistant * Don't clear test results to unknown state when tests are debugged * Fix splitting a parenthesized raw string with a newline * Auto-editing operation to apply comment characters triggers only when at least one whole line is selected * Allow Wing to start as a console app on Windows if the command encoding is set to cp65001 * Don't show blank space when prompting for argument for commands such as write-file * Don't report file as changed if its content changes back to what it was when it was read * Update line number and column display in editor after all caret moves * Fix problems with 2+ search tools * Fix problems with clicking the replace button very quickly * Fix matplotlib support to immediately show figures displayed with pyplot.imshow() on OS X * Fix matplotlib support within Python Shell or Debug Probe, when an invocation imports the matplotlib modules for the first time * Fix debug stepping in Django templates * Fix display of stack frames in Django templates * Fixed support for debugging Django templates under Python 3 * Fix problems with OS X 10.10 (Yosemite) Mail.app pasting text as a .vcf attachment * Allow py.exe to be used as a python executable on win32 * Remove all breakpoints before opening new project * Fix displaying source for a test class that inherits tests from a class in another file * Don't unconditionally complete in Turbo completion mode when Enter or Return is pressed; only Tab completes unconditionally * Fix completion context after 'elif' * Turbo-complete on '=' after 'x.y' since attributes are more often reassigned than defined * Clear brace matches immediately when typing * Don't set color to black after cancelling a color selection dialog * In Wing 101, set current directory in Python Shell based on current editor Version 5.0.9 ------------- September 10, 2014 Features * Mark an active range in the editor for the Python Shell or Debug Probe for quicker reevaluation of the code while editing * Color palette and preference control over fold indicator colors Changes * Changed layout of OS X bundle to comply with new application signing requirements in OS X 10.10 (Yosemite). The wingdbstub.py has changed and copies should be updated. The WINGHOME setting in wingdbstub.py now points to the the WingIDE.app folder (e.g. /Applications/WingIDE.app). * Posix mini-search interprets bare ( and ) for tagged sections rather than requiring \( and \) Bug Fixes * Optimize recursive directory files in search in files * Fix goto-definition in Wing 101 * Fix goto-definition in Python Shell and Debug Probe when right clicking * Fix goto-definition in shells for class attributes and instance attributes * Go to type of instance when using goto-definition in the shells * Always select symbol in the editor when goto-definition from shells * Improve goto-definition in shells when line numbers don't match up between static analysis and runtime introspection * VI mode fixes * Fix dw in vi mode when on last line of word * Fix vi mode indent and comment operations to respect the Editor > Advanced > Selection Policy preference, so it remains in Visual Mode and retains the selection by default * Replace selection when paste-register in vi visual line mode * Implemented up/down arrow history in vi : buffer * Fix . when repeating a turbo completion mode auto-completion * Improve visit history, particularly when going to definition in another file and after debugging * Fix going backwards in visit history when editor lines are folded * Don't crash when certain .mako files are opened * Recursively copy directories when using drag-n-drop in project tool * Fix failure to type into a block selection that includes completely blank lines * Fix opening a file via drag-n-drop when all files are closed * Delete any key binding when deleting an OS Command * Fix reading output from subprocess after it terminates * Remember the file filter last used in the open file dialog * Fix analysis of 'from .name import' * Improve performance of displaying very long strings in the Python Shell * Show True & False in autocomplete lists for Python 3 * Fix closing a rename refactoring while the search is active * Don't require restart when the Editor > Folding > Indicator Style preference is changed * Fix coloring of tree style fold indicators * Fix restoring set of open files when files have been symlinked * Fix traceback seen on Windows during debug shutdown * Avoid showing for some values when the Allow Dynamic Introspection preference is enabled * Avoid getting into a state where no additional editors can be opened * Fix debugger when using a Python 3 build with pymalloc disabled * Improve turbo completion context detection for '=' after 'y,z=', in invocations, and after 'assert' * Source Assistant correctly falls back to using static analysis when the debugger is active and a symbol hasn't yet been defined in the active runtime state * Fix failure to remove breakpoint and some other markers from display * Fix problems with macros when save point is left or reached during recording * Fix scrolling in editors sized less than 10 pixels in height * Fix bugs when restoring project window a screen layout has changed Version 5.0.8 ------------- July 21, 2014 Features * Debug stack is accessible from the toolbar's Show Position icon * Added Step Over Statement and Step Over Block items in the Debug menu for stepping through code more rapidly * Added experimental selection-add-next-occurence command for creating multiple selections with next occurrences of text matching the current selection * Added step-over-line command to step over current physical line * Improved file reloading to handle latencies seen over NFS and possibly other file servers: If a hash of the contents matches, the file isn't reloaded even if its modtime changes. Generously contributed by Dj Gilcrease. * Added a Tools menu item to move the vertical tool area to right or left Changes * Step Over (F6) and similar bindings in other keyboard personalities now step over statements, so that list comprehension or other compound lines are executed in one step; use Step Over Instruction to step through list comprehension iterations. * Moved Run to Cursor toolbar icon next to stepping icons Bug Fixes * Fix goto-definition in the Python Shell and Debug Probe * Fixed source intelligence for re match objects when using Python 3.x * Ignore leading space in lines typed at >>> prompt * Fix debugging with Stackless 2.7.8 * Add mnemonic on Browse buttons in file/directory entry fields * Display the auto-generated name for a thread started via the threading module * Correctly expand private attributes (in the form __name) when class name starts with an underscore (_) * Fixed manage launch configuration dialog when a configuration name is '' * Fix debugger build on secondary platforms * Restore minimized tool windows when appropriate * Fix printing non-ascii characters in shell when stdout.encoding isn't utf8 * Get correct type of file.encoding and other attributes of C-implemented types via introspection * Fix copy-from-install build target * Work around failure to find file type due to bad data in Windows registry * Fix error logging when file filter specification is invalid * Turbo complete by default on , = and space, except in defining contexts * Cancel turbo-completion on keyrelease of modifiers so that Ctrl-N and similar can be used to navigate the completer * Show type information in Source Assistant in more cases when caret is in white space or at punctuation * Increase size of preformatted code in Source Assistant to match other text * Delete rectangular block no longer deletes too many characters from the 2nd+ line * Correctly remove trailing commas after auto-invocation * Correct static analysis for print() in Python 3 * Set PYTHONIOENCODING to selected I/O Encoding in OS Commands tools * Fix Stack Data when using Python 3.0 or 3.1 * Improve support for from import statements in refactoring and find uses * Fix debugging of 32-bit builds on OS X for Python versions: 2.6, 2.7, 3.1, 3.2, 3.3, 3.4 * Don't alter capitalization in perspective name in status area unless the name is all lower case * Don't auto-correct out of order typing for ' ' (space) so spacing can be altered manually within () and [] * Change RSS URL used by the tutorial * Updated tutorial screenshots outdated by changes since 5.0 * Debug I/O, Python Shell, and Debug Probe stop auto-scrolling if selection is not at the end * Fixed crashing on Mako files where an SGML doctype follows a ## comment Version 5.0.7 ------------- June 12, 2014 Features * Right click on editor to move program counter within the bottom stack frame * Support Maya 2015 and MotionBuilder 2015 * Support for Nuke version 8 * Support for Stackless Python version 3.3 * How-To for using Wing IDE with Source Filmmaker * Support for Python 2.6+ built with Visual Studio 2012 * Added a legend for the auto-completer icons in the documentation * Preference to control whether Wing quits on OS X when the last window is closed (default=False) * Added color palettes based on Solarized by Ethan Schoonover Bug Fixes * Fixed matplotlib TkAgg backend support for Python 3 * VI mode fixes * Yank correct range in yw, ye, and yb * Paste in correct place when using p at end of line * Goto symbol in index menu even if it's the current menu choice * Improve keyboard navigability of list widgets * Search for selection now works for multi-line selections * Fix Source Assistant display for Python 3 functions and methods within the Python Shell and Debug Probe * Include True and False in autocomplete lists under Python 3 * Select search match in Search in Files result list after replace * Fix behavior when last window is closed on OS X * Fix marking parse errors on first line of code * Reset selection mode when auto-editing applies ':' to a range of lines * Fix check for modified files when switching projects * Fix potential cause of failure to set Search in Files fields correctly * Goto definition and autocompleter now ignore line continuation slashes * Avoid traceback on showing Debug I/O tool when no debug process is running * Escape xml tags in strings before displaying in the source assistant * Fix exception seen when ending a diff session * Fix the --help command line option * Added checkbox in save dialog to enable auto-saving before debug/execute * Avoid runtime introspection hanging on code where __module__ == '__main__' * Fix syntax highlighting for endautoescape in Django templates * Clean up internals properly when dialogs are closed * Avoid internal exception when specifying a custom executable * Display Python documentation on docs.python.org and not wingware.com * Rename Auto-update checkbox in version control tools to Auto-refresh to clarify that it doesn't update from the repository * Clarified how to stop debugging in the Wing 101 tutorial * Fix failure to remove corrupted license lock files in rare cases * Identify Python keywords in source assistant * Don't call Python __len__ methods if dynamic introspection is disabled * Add a preference to allow calls calls to Python __repr__ methods (enabled by default) * Fix regex search on a selection when selection includes [ Version 5.0.6 ------------- April 23, 2014 Features * New auto-editing operation for starting a new block when ':' is pressed while a range of lines is selected. This also auto-enters 'except:' if 'try' is then entered. * Offer completion on argument names in a def * New Editor > Block Comment Style preference option to use PEP8 style indented '# ' for commenting out code Changes * On OS X, Wing no longer quits when the last window is closed, to match the standard for Mac applications Bug Fixes * Restart correctly after downloading patches * Pick up changes made in the debug dialog when debugging a named entry point * Avoid hiding file selection auto-completer popup too soon * Fix removal of 'os' from namespace created by PYTHONSTARTUP * Set sys.path[0] correctly in Python Shell on OS X and Linux * Fix cleanup after auto-invocation that spans multiple lines * Fix completion after arg= in a def * Fix failure to show the Project context menu without the clipboard group * Auto-editor avoids entering redundant colons * Fix unchecking "show this dialog" checkbox in New Project dialog * Don't hang Python Shell if PYTHONSTARTUP runs code that spawns threads * VI Mode Ctrl-C also exits Visual mode when using native VI behavior in the User Interface > Keyboard > VI Mode Ctrl-C/X/V preference * Open files dragged onto the Help view or Source Assistant tool * Correctly remove the space in '# ' when uncommenting code * Ctrl-W / Command-W in dialog closes dialog and not the file in editor * In Emacs mode, the Enter key exits from mini-search to match emacs behavior * Fix Create Directory dialog on Linux * Don't stop minibuffer entry when switching to another window * Fix isearch-backwards to not skip contiguous matches * Fix incorrect adding of spaces within a number in certain contexts in shells * Correctly handle non-upper-case env variables on Windows Version 5.0.5 ------------- April 4, 2014 Features * Syntax highlighting for .scss CSS extension language files * Preference to control auto-spacing inside argument lists * Palette color and preference for changing occurrences color * Detect and flag unit tests that crash before running to completion * Updated Trouble-shooting Guide in the documentation Changes * On Linux, Wing's private qt libraries are used by default. The system qt can still be used if selected in preferences or the --system-qt command line argument is used * Added Debian dependency for libqt4-network * VIM bookmarks set by m are local to the file, as in VIM * Emacs Alt-Period or 'Esc .' goes to definition of current symbol Bug Fixes * Fix scraping extension modules in recent numpy versions * Fixed restarting after patch installation * Fix auto-editor and auto-completion context detection problems in the shells * Correctly show PEP 287 docstrings in the Source Assistant in cases where the docstring indentation was causing parse errors * Always use SVN's internal diff command for recent SVN versions * Expand fold points on any edited line to avoid edits that create inaccessible folded lines * Improve and clarify validation of Python Executable in Project Properties (and Configure Python dialog in Wing 101) * Tab key also exits auto-entered invocations if there are no arguments or when typing over the whole argument list * Enable completion when typing in combo boxes in Search in Files, Refactoring, and other tools * Ensure that current argument and selection colors on Source Assistant are compatible with the background and highlight colors * Fix colors on documentation and source assistant when using a dark color palette without setting Display Style to Match Palette * Fix background color of Source Assistant when using dark background * Avoid traceback seen when using Search tool while documentation is visible * Make sure color used for Main Debug File is visible on the current background color * Adjust colors in Exception tool more if too similar * Use correct foreground color in Source Assistant and Documentation * Use correct background color for Source Assistant * Also apply alpha for run marker color to the mark in Exceptions tool * Fix traceback seen when showing some docstrings in the Source Assistant when the Show PEP 287 Parse Errors option is enabled * Don't register Wing as opener for .svg files on OS X * Fix Up/Down and Shift-Up/Down caret movement when using OS X key bindings. * Set up Python Path, env, and current directory correctly in the Python Shell * Select the filename when using Rename from the project tree popup menu * Don't use plugins from private Qt when using system Qt * Expand arguments correctly if on 2nd+ line of a statement * Linux tar installer's wing-install.py script works under Python 3 * Make sure split is visible when showing tools * Fix exception when failing to find mtime on non-Windows machines * Fix selecting ranges on Messages tool * Fix resource leak when starting or stopping debugging * Don't disable all toolbar buttons briefly when starting or stopping debugger * Fix failure to wrap minisearch to matches at start or end of file * Show full path for initially selected item in Open From Project and Find Symbol dialogs * Fix script reloading when a script is added with Reload All Scripts without restarting Wing and when scripts are in a path containing symbolic links (as is the case on OS X) * Make it easier to get rid of the completer in file name selection fields * Select combo box content when they receive focus * Fix mnemonics in dialogs * Fix pylint-execute issued before the PyLint version is known Version 5.0.4 ------------- March 20, 2014 Features * Support for Python 3.4 final release * Source Assistant displays PEP 287 reStructuredText formatted docstrings, shows return value types, and improves overall content and formatting * Display an optional New Project dialog when creating projects * Added scroll-to-start and scroll-to-end commands * Improved integrated documentation display * Ctrl-C on command line causes Wing to quit after asking to save files * Support recent git versions via the --porcelain option * Improved PDF documentation formatting Bug Fixes * Use correct environment variables with named entry points and launch configurations * Use correct environment and Python Path in the Python Shell when a main entry point is defined * Speed up tree views on OS X when using the match palette display style * Improve responsiveness when debugging programs that write a large amount of text to stdout * Fix setting values from Stack Data and Watch tools * Don't insert character when alt+key is pressed on Windows and Linux * Require an item to be selected before a click will edit the name in the Named Entry Points dialog and similar lists * Fix working in Debug Probe when current frame is a Django template * Fix inline renaming of files in project tree * Fix select all in testing tool * Fix inability to close editors when non-editor windows are open * Fix potential causes of window order confusion * Fix exception seen when quitting * Fix patch dialog when there's a new version of Wing available * Fix goto definition in Python Shell for a method of a builtin type * Fix incorrect docs for Keyboard Personality menu items * Fix customizing project file contents with proj.shared-attribute-names * Better default run marker color for the Monokai color palette * Display docstrings in Source Assistant if secondary type information was not found even if "Show docstrings during completion" is disabled * Fix default WINGHOME used in Zope debugging support * Fix broken Tutorial links into IDE functionality * Allow Ctrl-Minus/Ctrl-Plus to alter font size in documentation * Allow Ctrl-Minus/Ctrl-Plus to alter font size in editor even when mouse wheel font size zooming is disabled * Don't delay before highlighting a drop site when dragging a tool or a document * Better defining context detection for turbo completion * Don't turbo complete all locals, args, and method names in defining contexts in the shells * Avoid exception seen when turbo completing on = in method without arg * Fix vi mode :wq to write to correct file name * Fix vi mode e to not get stuck on short words * Fix behavior of Home, End, Shift-Home/End, Ctrl-Right/Left, Ctrl-Shift-Right/Left, Ctrl-Up/Down, Alt-Up/Down, Shift-Alt-Up/Down, and Shift-Command-Right/Left when using OS X key bindings * Highlight correct keyword arg in Source Assistant in multi-line invocations * Avoid exceptions that led to inability to type in an editor * Fix changing context for a snippet in the snippet tool * Fix context menu on OS Commands consoles * Move caret to end correctly after output in OS Commands * Fix checking for updates when a web proxy adds junk to the start of the http response * Space key will toggle checked items in refactoring lists * Remove non-functioning Ctrl-Z item from the OS Commands popup menu on Windows * Delete key will delete selected perspectives in perspective dialog * Fix missing OS X .dmg background image * Update EOL style being used for edits when a file is reloaded from disk and the EOL style has changed * Increase message line truncation length in Exception tool and always show truncation option in the Options menu * Drop a history point when closing editors so returning to the editor with the backward history button restores the correct state * Scroll auto-complete list so selected item is at top if wasn't previously visible Version 5.0.3 ------------- February 12, 2014 Features * Support Python 3.4rc1 * Reintroduced recent run args drop down feature from Wing 4 for cases where Named Entry Points are not as useful Changes * Perforce doesn't scan for unregistered files by default because it can be a performance problem. Scanning for unregistered files may be turned back on via preferences. Bug Fixes * Fixed Django template debugging under Django 1.6 * Fixed hanging up in VCS support for Perforce * Allow translation of the diff/merge dialog titles * Added accelerators to conditional breakpoint dialog buttons * Confirm before removing all bookmarks * Search tool "In Selection" is ignored if there is no selection and whole file is searched instead * On OS X, bind Command-period to stop debugging and allow more keys to be specified in custom key bindings * Use selected-item-background color to highlight current tabs with dark palettes * Use selected-item-foreground and selected-item-background palette colors also for menu items * Fix auto-spacing in invocations of expressions like x[1]() and x().y() * Fix auto-spacing after '-' when pressing a digit key * Fix auto-spacing after '*' and '**' when acting as a unary operator * Fix debugging matplotlib code with MacOSX backend * Treat token after 'as' as a defining context for turbo completion * Avoid hanging up Wing when Zope2/Plone support is enabled in the project * Fix problems starting QThreads in Python 3 * Fix typing a dictionary comprehension into the Python Shell or Debug Probe * Fix Shift-Alt+Arrow to correctly enter block selection mode * Fix undo/redo of multi-line typing to operate on all characters at once * Fix multi-line typing when some lines end short of selected rectangle * Disable scroll wheel over notebook tabs * Find file when goto definition is used in an import x as y statement * In emacs mode, map Ctrl-X G to find-symbol rather than Ctrl-X Ctrl-G * Fix Shift-End in one line entry fields * Fix possible causes of hung CPU-consuming processes on Linux * Correct confusing conditional breakpoints example in the tutorial * Fixed recent run args drop down in Wing 101 * Correctly track color preference changes in the Source Assistant * Fix printing with non-default print header/foot font sizes * Always raise IDE window when opening files into existing instance * Add accelerators to edit/new/manage button for launch configurations and named entry points * Fix indentation of docstrings in Source Assistant * Correctly remove file name annotations when ending diff/merge sesssion * Avoid failure that leads to inability to open additional files * Report recursion exceptions correctly under Python 3 * Include () at start of line in detecting turbo completion defining context Version 5.0.2 ------------- January 13, 2014 Features * Support matplotlib MacOSX backend (used by Anaconda on OS X) * Support matplotlib Qt4Agg backend using PySide (for Anaconda) * Add preference to ensure there's an EOL at the end of a file when saving it. This is off by default to be backward compatible * Editor > Enable Font Zooming preference to choose whether control or command key and mouse wheel zoom editor font size Changes * Scripting API's ShowMessageDialog does not use sheet windows by default on OS X since the parent window for the sheet may close Bug Fixes * Fix Django project creation when a Django project is already open * Fix initial size of Start Django Project dialog * Fix running tests with Django 1.6 manage.py in Testing tool * Assign non-empty name to launch configurations created for Django project setup * Fix typing in middle of toolbar search string * Fix reading data from subprocesses on Windows 8.1 * Use correct debug environment for Launch Configurations that merge values with project settings * Improve look of tabbed areas when display style matches dark palette * Fixed code analysis when '\r' eol is used * Don't also store shared perspectives into project's perspectives * Correctly set the cursor when using backspace to outdent a line * Fix display of non-ascii characters in added menu or toolbar items * Fix bugs triggered by dragging a tool back into the main window * Fixed several problems with VI : commands * Improve quote auto-editing for b'', u'', rb'', and similar strings * Match order of items in Groups Shown menu with toolbar contents * Correct typos in the quick start guide * Show current editor in show-file-in-os-file-manager command when focus is not on a file or file name * Avoid exceptions seen when switching projects * Fix reload on edit dialog * Avoid hanging up on OS X sheet style modal dialogs created from scripts or commands with argument collection * Fix setting Launch Configuration's Initial Directory to "Default" * Make sure at least one window is open when starting in separate toolbox layout mode * Better handle non-ascii characters accidentally included in a license number while activating * Fix extension module interface scraping for Python 3.3 on Linux * Update default extension module scraping preference for PyQt5 * Use correct dialog on OS X when browsing for run directory for an OS command * Avoid failing on perspectives with blank name * Updated French translation (thanks to Jean Sanchez!) * Avoid traceback seen when resizing Stack Data or Watch to zero width * Fix debugger problems with older python versions * Fix Ctrl-Home and Ctrl-End when auto-completer is active * Fix exception seen when releasing mouse button in Exceptions tool * Fix failure to report problems creating user setting directories * Fixed adding directory to project when one is dragged and dropped over an editor * Update docs on managing X11 pointer and keyboard grabs while debugging * Print SystemExit exit code if it's not a number Version 5.0.1 ------------- December 9, 2013 Bug Fixes * Support Python 3.4beta1+ (alphas may no longer work) * Fix file type registration on OS X * Fix potential segfault after using tab to move from field to field * Fix creating and renaming snippets * Fix snippets tool drop down menu * Fix exception when closing windows and failure to quit on win32 * Optimize message tool (could substantially slow the IDE) * Fix problems setting custom colors via the Editor -> Syntax Coloring preferences * Fix intermittant failure to include all selected files in a version control operation * Updates and corrections in French localization (thanks to Jean Sanchez) * Fix switching to alphabetizing file tabs and keeping active tab visible when there are 2+ splits * Fixed exceptions after switching projects after using search in files * Enable/disable Launch Configuration and Named Entry point functionality correctly in Wing Personal * Don't get stuck in block selection mode when using alt-click or clicking in margin * Change color of skip unit test icon to it's distinct from pass icon * Avoid duplicate accelerator for O in Project Properties * Edit list item on double click in properties and preferences * Update documentation on migration and failed upgrades * Fix broken links and outdated content in Wing Tips * Fix problems when more than one Debug I/O tool is created * Fix exception when entry points is selected in project properties but list of entry points is empty * Fix --help command line option * Fix general problem in tree display leading to various failures * VI mode :wfilename sets buffer filename if starting with untitled and saving the whole file * Fixed vi mode yank-from-register (p) if on blank line * Don't clear selection when right click in vi mode * Hide irrelevant Help menu items in Wing 101 * Remember size of Project Properties and Wing Tips correctly * Ctrl-Shift-Click only starts block select and doesn't also try to goto definition on Windows and Linux * Raise window if version control tool is in separate window and command requires input * Removed long-deprecated snippets command names (template and template-file) * Don't fail in CAPIProject.GetEnvironment when an env value has = in it (could cause Django project setup to fail) Version 5.0.0 ------------- November 14, 2013 Bug Fixes * Fix colors in Source Assistant on dark background * Remove auto-editing menu item from Personal and 101 * Fix the links in the PDF version of How-Tos * Don't crash on OS X when Wing is launched by opening a file * Fix checking / unchecking autocomplete keys in preferences * Avoid traceback seen after using the refactoring tool * Menus use English key names to avoid problems displaying translated names * Improve OS X installer with link to Applications folder * Fixed debugger under Python 3.x Version 5.0.0rc2 ---------------- November 6, 2013 Changes * On Linux, use system-provided Qt4 only if it's version 4.8 and expand the Use System Qt preference to include this new default * Added a per-module process model to the testing tool to spawn a new process for each module tested. This is the new default; use the per-package model for the old behavior Bug Fixes * Fixed failure to start on some OS X machines * Open files in Wing when double clicked or dragged to dock on OS X * Fix support for PyLint version 1.0.0+ * Rescan for PyLint version when the PyLint tool configuration is saved * Allow running a pylint version that conflicts with project-defined environment by adding use_project_env PyLint tool configuration option * Print a warning and remove --output-format or --msg-template args from PyLint tool configuration to avoid breaking output parsing * Fix Show Docs button in the File Sets manager * Updated German localization (thanks for Chris Heitkamp) * Added dependency for xdg-utils to the .deb package * More closely match the behavior for copy in the emacs binding * Fix showing PDF documentation from the Help menu * Improve capitalizaton of perspective names in the menu * Fix line and position numbers in Python 3 syntax errors * Fix write-file filename entry * Fix license reactivation when license lock file is removed or temp directory is cleared * Show only one popup menu when right click on stick pin icon * Fix updating margin colors when display style or color palette changes * Set color correctly for the folding margin in editor * Update editor colors to better match OS-specified theme when using native GUI style and Wing Classic default color palette * Don't shrink icons in autocompleter lists * Correctly indent symbols of unknown type in auto-completer * Fix frame selection when click on Exceptions tool with wrapped text * Fix failure to pickle some classes under Stackless Python * Set non-default font size correctly on OS X Version 5.0.0rc1 ---------------- October 24, 2013 Features * Syntax highlighting for CoffeeScript files Changes * Add explicit dependencies for libqtcore4, libqtgui4, libqt4-svg, and libqt4-webkit versions 4.6.2+ for .deb packages since Wing tries to use the system-provided Qt4 on Linux * Remove RPM package dependencies on 32-bit Linux to avoid unwanted dependencies on specific distributions Bug Fixes * Fix support for Nose tests * Fix typing after creating a rectangular selection with the mouse * Fixed Goto Definition in Other Split in editor context menu * Fixed vi mode p with rectangular clipboard to paste in correct column * Expand tree as needed when showing current file in Project tool * Save & restore tab location for toolboxes in a perspective * Fix 100% cpu use after project is closed * Highlight correct name when duplicating a launch configuration * Fixed failure to find all search matches in files with \r line endings * Try to decode pylint output so non-ascii characters are displayed correctly * Fix failure to debug if sys.argv is empty * Record non-ascii characters correctly in macros * Fix pasting text into Python Shell and Debug Probe * Correctly detect crashed subprocess exit on Windows * Update selection and caret colors when changed in preferences * Don't fail to record exceptions in logs if linecache has been monkeypatched * Increase length of recent directory names displayed in search in files menu * Reduce chance of hanging introspection on large compound values with small top-level value and large repr * Use correct larger text area for Run Arguments field in launch configurations * Include __name__ and similar symbols in autocomplete lists * Wing works without being installed on Windows XP * Fix default UI font on OS X 10.9 * Ship Wing on Windows also with the entire Python standard library for scripting Version 5.0.0beta8 ------------------ September 26, 2013 Features * Support for Python 3.4 alpha2 * Windows installers are now signed * Ctrl-PageDown/Up and Ctrl-Tab switch active dialog tabs * Preference to use plain Alt-keys for accelerators only Changes * Change default setting for Alt Key preference on OS X to use only the left Option key for Alt-key bindings, so that the right option key can be used to enter special characters without any interference from defined key bindings. * Diff directory to revision only shows directories and files that have changed to speed up initial display and improve visibility of changes. Bug Fixes * Use correct dialogs for file/directory selection and creation * Fixed clicking on PyLint drop down in top right * Removed unimplemented swap_words command from example scripts * Change application icon for better display on Windows 7+ * Fix dialog for selecting a directory to add to python path * Fix failure to show VCS diff information on a binary file * Fix checkboxes in lists in preferences * Fix memory leak in analysis that could lead to slow response to typing * Auto-show horizontal toolbar correctly in tree views * Fix selecting initial file in diff/merge tool * Allow Ctrl-G to close dialogs and move focus from tools to editor in Emacs mode * Clarify documentation of special environment variables * Fix Project tool's Options menu to correctly show checkmarks * Correct paper formatting for A4 documentation * Ask to restart Wing when altering the Use System Qt preference on Linux * Fix restoring scroll position in editors with wrapped lines * Show string truncation indicator in Watch tool * Correctly display huge values in Watch tool * Don't place expansion triangles incorrectly on strings in debug data tools * Avoid crash after editing values in Stack Data * Fixed extending selection during word movement in tools and form fields * Fix reordering Toolbar Custom Items preference list * Avoid failure to open files when Show All Files in All Splits is disabled * Don't submit wrong dialog when Enter is pressed * Fix double clicking to open items in lists and trees * Disable turbo completion correctly in list comprehensions and lambdas * Don't turbo complete on = when the invoked callable has a **kw arg * Avoid incorrectly auto-entering space after keywords in lambda arg list * Improve contents of auto-completion list after ), ], and } * Fix Debug Environment in Debug menu when there is no main entry point * Add mnemonics to buttons in named entry point and launch configuration confirmation dialogs * Avoid reading preferences twice at startup * Specify default buttons for most dialogs * Fix button order in several dialogs * Fix tab order on dialog buttons * Fix popup windows when more than one monitor is in use * Fix failure to handle non-ascii characters in named entry points * Fix handling of non-ascii character in forms * Fix display of non-ascii characters in combo boxes and menus * Fix traversal of multi-file diff to avoid getting stuck within one file * Clean up diff/merge filename annotations correctly after ending session * Correctly remove * indicating unsaved edits from editor's file name menu * Clarify file reload dialog for a mix of edited and unedited files * Fixed hanging at shutdown when class browser is displayed * Fix handling of binary data in output from debugger Version 5.0.0beta7 ------------------ August 28, 2013 Features * Printing works on all platforms Bug Fixes * Fix failure to install icon and menus on Linux * Fix file dialog on Windows * Fix patch selection dialog * Disable buggy completion of text in search fields * Fix segfaults when PyLint is run repeatedly * Fixed failure to detect completion of testing subprocesses * Enforce precedence order for directories in extension script path * Don't open a blank Wing IDE 5 file at launch on Windows * Maintain selection when duplicate-line is run * Notify user when an incorrect name is entered for command-by-name * Treat keypad Enter key like Return key * Fix open-from-project command when skip_if_unique argument is true * Avoid clearing VCS log and diff results when clicked * Prevent pasting styled text into Run Arguments and other fields Version 5.0.0beta6 ------------------ August 15, 2013 Features * Periodically flush output from long-running tasks in Python Shell and Debug Probe * Added Configure item to VCS menus * Added How-To for using virtualenv with Wing * Added Debug Environment item to Debug Menu to more easily find the file or entry point debug properties dialog when not auto-shown * Also show Qt and PySide versions in the About box * Added a way to deactivate and remove a license from the About box * Add purchase related items to Help menu when running on trial license * Show startup progress in splash screen window * Document interaction of Option and Command keys for Alt on OS X Bug Fixes * Avoid traceback seen when profile-editor-stop without start * Include product home page in .deb package meta data * Increase minimum number of analysis buffers to avoid sluggishness * Fix backward-delete-word and other word editing commands in non-editor text entries to work like they did in Wing 4 * Optimize display of editor context menu, command-by-name, and a few other operations * Show exception text at the bottom of the exception tool * In combined tools+editors windowing mode always open files in topmost dock window * On Linux: Fix running Wing with private qt when no system qt is installed * On Linux: If loading either the system or private qt fails, try the other one * Fix context menu and details view in Stack Data * On OSX: Reduce size of menu fonts when using non-native display style * On Windows: Fix opening files dragged onto the editor * Enable drag-n-drop in project tree * Correct auto-spacing around %= * On Windows and Linux: Fix setting of default dialog buttons * On OS X: Enable keyboard accelerators when using non-native display style * Improve internal error reporting when debugger doesn't start * Fix width of line number column * Fix color of caret and other elements on editor when using a dark editor background color and Display Style is not Match Palette and overall GUI background is light * Always restore set of open editors after terminating a diff/merge session * Don't store temporary split state when quitting while diff/merge is active * Increase size of rename file dialog box * Fix keyboard navigation in the Project tree * On Linux: Don't leave up incorrectly styled menus when switching color palette while Display Style is set to Match Palette * Correctly update display when changing to Match Palette display style * On Linux: Draw splash screen correctly on Ubuntu 12 and some other dists * Don't show raw markup of escaped HTML in debug data value tooltips * On Linux: Fix clicking on Exceptions tool to also work under Qt 4.6 * Patch manager now announces newer beta releases * Allow Alt-Backspace to be used in keyboard bindings * On OS X: Use a Terminal window for an external console by default * Show editor when click on items on refactoring tool * Fix string translation configuration for license manager (thanks to Chris Heitkamp) * Fix icon, menu, and mime type installation on Linux (now use XDG only) and correctly handle installation when not running as root (thanks to Chris Heitkamp) * Fix traversing bookmarks * Rename Justify Text menu item to Rewrap Text to avoid user confusion * Fix colors in Messages tool when GUI is matching palette Monokai * Fix removal of "In Selection" search range highlighting * Avoid QTextCursor.setPosition out of range messages * Sped up project file discovery when Project tool is visible * Fix diff/merge operations menu in top right of editor when comparing two directories or a directory to revision Version 5.0.0beta5 ------------------ July 16, 2013 New Features * Added Open in Explorer/Finder/etc to Project context menu * Enabled searching in file sets and individual files in Search in Files * Enable folding on VCS diff results Changes * New project type is now always Shared (Two File) in Wing Pro and removed preference for default project type * Changed command use_normal_project to be named user_single_user_project Bug Fixes * Updated Tutorial for Wing 5 user interface and features * Enable mnemonics in project properties dialog * Fix exception seen when renaming on project view and in other forms that select the contents of a text field * Adjust syntax colors defined in preferences if they are too similar to the selected background color * Fix exception seen when closing editors with :q in VI mode * Set name of application on global menu bar on Linux * Avoid exception when clicking on empty Exceptions tool * Fix copying all errors, warnings, or info in the PyLint tool * Fix failure to use new proj.shared-attribute-names attribute correctly * Add proj.home-dir to the list of attributes stored in the shared project file (*.wpr) by default * Improve scrollbars on Windows when Display Style is matching color palette * Use correct dialog for Select Directory in Search in Files * Fix expanding & collapsing directories in project tool when double-clicking * Fixed highlighting of 'block' tags in Mako templates * Fix display of code blocks in Help * Fix problems when closing a refactoring operation * Fix editing list of external terminals when a non-default display font is used * Fixed Ctrl-D and Ctrl-U in vi mode * Fix Clear All Results in Testing tool * Fixed context menu in Source Browser * Disable dragging Snippets tool tabs to avoid internal confusion * Fixed debug attach * Don't crash when switching keyboard layouts on Linux * Fixed failure to update refactoring and version control tool buttons and to re-run version control operations * Correctly bold the filename & line number in Find Uses results * Don't show internal html markup in tree widget tooltips * Save history point when executing brace-match Version 5.0.0beta4 ------------------ June 13, 2013 New Features * Added command zoom-reset to restore editor font size zooming * Files dropped onto editor windows will be opened * Offer to add directories dropped onto windows to the project * Allow setting current list and combo box item colors with color palette * Added Linen color palette * Added Monokai color palette (thanks to Joon Ro!) * Ability to provide color palette-specific syntax color specifications * Wing IDE Personal and 101 are now also available * On Linux, use a private Qt by default to avoid compatibility problems * Implemented --system-qt command line option on Linux to allow using the system-provided Qt Changes * Projects with non-default proj.shared-attribute-names attribute need to be re-converted from the Wing 4 project (this is rare and only for advanced users). This attribute is now a list of attrib names preceded by + or - to indicate whether to add the attrib to the default set of shared attribs or remove it from the default set. New shared attributes in Wing 5 (named entry points, launch configurations, and OS Commands) are shared by default. See Project Manager > Sharing Projects in the Wing 5 documentation for details. * The key bindings for Alt-(, Alt-[, Alt-{, Alt-', Alt-", and Alt-< have been switched to Ctrl-(, Ctrl-[, Ctrl-{, Ctrl-', Ctrl-", and Ctrl-> * Ctrl-Up (Option-Up in the OS X personality) is now bound to the select-more command and Ctrl-Down (Option-Down in OS X) is bound to select-less. In non-OS X personalities, scroll-text-up and scroll-text-down are now bound to Ctrl-Shift-Up and Ctrl-Shift-Down respectively. * Python Shell starts up with current directory set to directory of evaluated file or the default debug run directory, according to project configuration Bug Fixes * Avoid hang and/or crash that could occur when refreshing tree views, particularly in the PyLint tool * Enable structural folding in the editor * The option- key works as an alt- key on OS X by default and a preference was added to select the key to use for Option * Command- bindings for shifted keys now works on OS X * Fix selecting item in call stack tool and its right-click popup menu * Cursor keys now work in text fields on dialogs * Fixed file snippet so pylint doesn't complain about it * Fix visibility of current item in trees when using dark background * Fix setting counts on PyLint tool tabs * Fix field label sizing in Feedback and Bug Report dialogs * Allow windows to display if the no-longer-used work area pref is specified in converted preferences file * Changed mnemonic for options menu in open from project so it doesn't conflict with open * Toolbar auto-sizes to window width, not monitor width * Fix stay-on-top option for tool windows * Update VCS status icons colors if palette changes * Prevent Source Analysis > Max Cache Size preference from being too small * Highlight main debug file in Project view * Sped up opening projects (again) * Improve look of scrollbars when using Black Background palette * Correctly set editor breakpoint and folding margin colors * Avoid failing to start debug due to project translation issue * Improve black background default colors in various contexts * Update colors in Messages tool when color palette changes * Fix Move Focus * Fix left/right arrow keys in small text entry areas * Select search string when initiate new Search in Files search * Optimize Messages tool so it doesn't slow down searching and other tasks * Avoid 3 second hang of primary Wing instance when another instance starts * Allow selecting text in documentation and Messages tool * Don't fail to start if selected color palette no longer exists * Fix failure to update Search in Files results when a file disappears or changes * Don't close windows before asking to save files * Don't add .exe to Python Executable when displaying project properties dialog * Fixed execute current file * Fix formatting of preferences, command, and key binding reference pages * Fix display of values containing HTML in debug data tooltips * Fix clicking on Exceptions tool with wrapped lines * Copy snippets from Wing 4 user settings directory * Fixed multi-line paste into python shell and debug probe * Restore horizontal / vertical splits in separate toolbox windows correctly * Update window title when switching splits * Use correct menu bar label & icon on OS X if MacOS/wing is used * Use environment specified in login scripts on OS X when Wing isstarted by double-clicking in the Finder * Allow symbol popup menus to be longer on win32 * Fix bug report dialog when an exception occured * Allow entry of a name in new file / directory dialog on OS X * Use larger menu / task bar icon on Linux * Don't select a partial argument list when using select more * Updated the empty English language PO file templates to contain new strings * Added ability to distribute Wing 5 sources * Allocate three lines for Run Arguments fields * Display dialogs on same monitor as active window Version 5.0.0beta3 ------------------ May 7. 2013 New Features * Added --help command line argument Bug Fixes * Fix font quality regression on retina displays * Fix autocomplete popup on 2nd+ monitor * Fix failure to debug when using a launch configuration * Display full pathname in editor tab tooltip if pref is set appropriately * Enable ESC to return to editor from tool * Fix color used for current item in editor index menus, color chooser menus, perpectives manager, and a few other places * Fixed invoking open-from-project and find-symbol commands with arg fragment * Scroll Search in Files result list to show current match * Fix color used for conditional breakpoints dialog * Fix closing the feedback dialog Version 5.0.0beta2 ------------------ April 30, 2013 New Features * Added Linux distributions * Added GetAnchorAndCaret to CAPIEditor in the scripting API * Clicking and holding on pin/lock icon also pops up recent visits menu * Added Debug Tests button to Testing tool * Indicate selection mode in editor status area also in non-vi mode * Added Show in Project to context menu on editor tabs Bug Fixes * Fix Python Executable attribute in launch configurations * Fix source assistant when there are syntax formatting overrides * Fix problems with spin buttons and radio buttons in preferences (could lead to corrupting preferences) * Fix encoding of language names in Display Language preference * Make find next match (F3) command work and other fixes to the search tool * Fixed dragging the last tool out of a split * Add various missing mnemonics * Correct filters in file dialogs * Allow Ctrl-G to escape minibuffer auto-completer * Fix bad spacing of radio buttons and checkboxes in preferences on OS X * Improve layout of license dialogs * Fix size of line number column in editor * Don't include Unspecified item in Line Ending Style file property * Fixed Enter in last field of command argument entry forms to execute the command * Fixed y/n keys in query-replace command * Show icons in Testing tool buttons also on OS X * Fixed Messages tool * Moved Testing > Debug menu items to top level of Testing menu * Speed up Search in Files multi-file search * Fix display of search results on documentation * Speed up Find Symbol dialog * Don't render HTML in Search in Files result list * Don't reset Look In, Filter, and Search/Replace and other combo boxes when tools are hidden and then shown again * Don't show auto-save column in Perspectives manager unless Auto-Save Perspectives preference is set to Configured by Perspective * Allocate enough space to state names in Editor > Syntax Coloring preference * Use Consolas font for editor on Windows, when available * Use larger default icon size and style on wider monitors * Expand failed tests correctly * Improved colors on dark backgrounds inherited from OS display configuration * Run all test files selected rather than just first one * Improve performance of source browser & stack data updates * Check or uncheck files in directory appropriately in commit file tree * On Windows, set correct window icon * Correctly handle keybindings to shifted keys on Windows Version 5.0.0beta1 ------------------ April 16, 2013 New Features * Updated and improved GUI based on Qt via PySide * Native OS X GUI * Drag and drop tool and editor tabs * Optional mode where each editor split as its own set of open files * Configurable editor and Project tool context menus * Configurable toolbar via preferences and right click * Sharable custom color palettes and syntax highlighting configurations * Named file sets * Sharable launch configurations * Named debug/execute entry points * More control over environment and command line args for unit tests * Lockable editor splits (click on stick pin icon) to prevent opening other files in that split * Startup dialog to select basic editor preferences on new installations * Preference to control using whole line for copy/cut when there is no selection on the editor (default is to use whole line only on copy) * Preference to disable display of all run args dialogs before debug runs * Expanded bookmarks and diff/merge menus at top right of editor Changes * Abandoned forcing tab size to 8 in Python mixed indent files * Reorganized preferences * Removed commands bookmark_0-9 (use set-bookmark instead) * Removed commands goto_bookmark_0-9 (use goto-bookmark instead) * Debian and RPM product spec is wingide5 not wingide5.0 so 5.1 will replace 5.0 * Patches can no longer be ignored, in order to avoid dependency problems * Renamed Enable Passive Listen -> Accept Debug Connections * The tab key action used by the default Keyboard Personality is now Smart Tab (behavior varies by context) * Python Path is stored as list in project file so it can be shared between Windows and non-Windows machines * Perspective style is configured in each perspective, not as a preference * File Sets from Wing 4.x and earlier are now called File Filters * File Filters now just store changes from the defaults; the preference conversion process will drop any removed default filters, but will retain any that were added by the user * Allowed key names in key bindings have changed: No mouse key names, and some others may not work * OS Commands provides three command types: Command line, Python File, or Named Entry Point * OS Commands are stored in the shared branch of the project file * Editor occurrences are highlighted with solid block by default (rather than outline) * Allow specifying whether a sheet window is acceptible in ShowMessageDialog in the scripting API * Auto-editing is on by default, except for auto-entering spaces and colon ops * Now use Project-configured environment when probing Python for path and other information (previously used startup environment) * CAPIDocument.GetText returns utf-8 encode text to match GetCharRange. Offsets are all within the utf-8 buffer so unicode is not used here. Bug fixes * Use default extension of *.py when creating new files in the project Version 4.1.14 -------------- September 6, 2013 Features * Allow auto-showing the Debug I/O tool only on first output for each debug session Bug Fixes * Correctly report refusal to open a file with size exceeding the configured maximum file size threshold * Fix data corruption when using the x key in vi-mode to delete a non-ascii character * Fix auto-editing when inserting HTML comments to avoid duplicate > * Don't show the run args dialog when restarting the debug process (and use same args) * Don't incorrectly warn about presence of WING:* special env vars in OS Commands * pylint-execute and pylint-package-execute commands show the PyLint panel by default * Don't apply auto-editing operations to new-line-before and new-line-after * Go to correct symbol when selection range is non-empty * Avoid breaking occurrences highlighting when search on invalid regular expression * Fix dropped debugger connections when using Python 3.3 * Allow C debugger such as gdb to attach to a debug process running under Python 3 Version 4.1.13 -------------- May 3, 2013 Features * Added How-To with tips for using Wing IDE with GTK via PyGObject Bug Fixes * Speed up Search in Files, particularly when looking in Project Files * Auto-editing fixes * Don't auto-close () and similar before a symbol or number * Don't auto-fixup {|} or {{|}} when space is pressed * Auto-enter space also after < and > * Correct auto-spacing for ^= * Disable auto-editing in vi replace mode * Correctly handle unterminated strings with u, b, or r prefix * VI mode fixes * Fix moving past wrapped lines in line select mode * Fix moving lines to a register * Fix cursor positioning for s when at end of line * Correctly detect snippet context in files with tab indentation * Fix debugger and shell when old ctypes version is installed * Fix goto-definition in the Debug Probe * Escape regex special characters when search on selection in regex mode * Store user-defined tool window title in perspectives * Set initial syntax coloring preference file type to Python not ASN.1 * Fix Replace All in Wing 101 * Fix license manager when the Python running Wing reports sys.platform as 'linux3' * Fix license manager support for ARM Linux * Fix multi-window focus problem * Speed up project load * Fix incorrectly reported exception during failure of Goto Source in Testing tool * Correctly update visit history during select-scope command * Correctly report refusal to open a file larger than configured max file size (default 100MB) * Fix failure to restore GUI state when one file fails to open * Don't try to search non-existing directories and display error in Search in Files Version 4.1.12 -------------- March 7, 2013 Features * Show perspectives key bindings in Load Perspective sub-menu * Support for Python 2.6 and 2.7 running on cygwin Bug Fixes * Fix colors preference page * Fix color of occurrences on black backgrounds * Set color of text to white in open from project dialog in win32 default theme * Fix extract refactoring when toplevel source is indented * Fix bugs in introduce variable refactoring after reverting the operation once * Return focus to editor after refactoring operations * Further refine detection of defining context for turbo completion mode * Add history point to go back to when doing a select all * Fix Current File Properties dialog * Fix exception seen when restoring tool only perspectives * Fix potential failures to run perforce commands right after startup Version 4.1.11 -------------- February 26, 2013 Features * Right click on tool tabs to assign a key binding to the tool * Allow auto-stripping trailing white space to be limited to project files * Support for Subversion version 1.7.x * Support opening files with Wing via the Linux .desktop file Bug fixes * Allow introduce variable refactoring in more contexts * Auto-editing fixes * Don't incorrectly omit the first argument during auto-entry of invocation * Don't auto-fixup x[:] -> x[]: * Also auto-fixup x(c) -> x()c for c in =<>,+/*^%& and space * Allow auto-entering space and other operations after auto-fixups * Allow auto-fixups also when there is a selection range * Allow colon auto-editing even if an auto-fixup moved the colon * Defer x(.) -> x(). auto-fixup until non-numerical key is pressed * Fix keep external console open under Python 3 * Restore original editor and focus after refactoring operations complete * Fix highlighting of main debug file in project view * Create missing user preferences file so prefs save correctly * Escape in Python Shell or Debug Probe returns focus to main editor if cursor is on blank line * Fix finding context for snippet when a """ string contains a blank line * Find local html files for python manual if they are put in the correct directory in the install directory * Fix bug that prevented introspection of certain value, such as email.Message instances * Avoid right-stripping trailing white space in auto-saved files * Auto-complete on space after "import ba" in Turbo completion mode * Add accelerator for Options menu in Debug I/O tool * Improved color of non-current occurrences in editors on dark backgrounds * Don't duplicate source browser entries * Also colorize 'and' and 'or' in Django templates * Insert ' or " correctly within a triple quoted string when auto editing is enabled and file uses Windows-style newlines (\r\n) * Fix filters that use glob expression in search in files * Add Close All to editor tab right click menu * Drop history point after save-as so visit that file before the previous one * Fixed selection of subset of occurences to replace in the introduce variable refactoring * Show skipped icon for groups of unit tests that were all skipped Version 4.1.10 -------------- January 16, 2013 Features * Allow setting syntax highlighting colors for all supported file types * Added Previous/Next buttons to the Find Uses tool * Added more line editing key bindings in default keyboard personality * Added Close Others to the Open Files tool's context menu * Updated German localization (thanks to Chris Heitkamp!) * Added character order fixup auto-editing operation (such as x(.) -> x(). and x(arg:) -> x():) * Preference for maximum file size to try to open (default is 100MB) to avoid hanging or running out of memory on very large files * Pressing Enter during rename, move, and introduce variable refactoring performs the operation * Improved Directory Properties dialog accessed from Project tool Changes * Section names such as [user-preferences] are now ignored in prefs files and all sections are read in, with later like-named preferences overriding earlier ones * When running with --prefs-files options altered preferences will be written to the last specified preferences file and not the file in the User Settings Directory Bug fixes * Fix typing and pasting into rectangular selection in non-VI keyboard modes * Recognize *.m as matlab file by default * Find Uses prioritizes current file over the rest of the project * Auto-editing Fixes * Respect case insensitive auto-completion matching when auto-entering spaces after keywords * Don't auto-enter spaces in Debug Probe when no debug process is active * Correctly handle multiple line statements when pressing : repeatedly * Don't try to auto-editing during block selection mode * Turbo Completion Mode Fixes * Fixed run-away recursive completion after '.' * Corrected and improved detection of defining context where turbo mode should be disabled (in list comprehensions, for loops, and in assignments) * Fix VI mode r (replace char) on non-ascii characters * Also adjust indentation on decorators after paste * Better handle seemingly small values wth huge repr() in debugger * Fix CVS support on Windows * Fix Compare to Repository when using CVS and certain Perforce versions * Fixed failure to update edge marker and bookmark colors without restart * Close document in correct window when close command is used * Allow breakpoints to be set if the codec for the file name encoding is missing and the filename is ascii * Fix dragging in project tree * Fix slow clipboard operations with some clipboard daemons on linux * Ignore section names in preferences files specified with --prefs-file * Fix moving files to trash on Linux where the move is across file systems * Correctly handle non-default style arg for GetVisualState in scripting API * Separate command queue for each version control system to allow for concurrent execution * Don't mark function annotation return value after -> as syntax error * Remove also individually added files from Testing tool when switching projects Version 4.1.9 ------------- October 18, 2012 Features * Debugger > Advanced > Resolve Properties preference to show the value of properties in the debugger. This is off by default since it may alter runtime state, trigger lengthy computations, cause thread deadlocks or crash on buggy user code. * Added delimiters optional argument to forward-delete-word and backward-delete-word commands * Improve display of directories that aren't under the project directory in the Project tool Bug fixes * Also show class attributes for inherited classes in Stack Data and Watch tools * Always remove prior install when running wing-install.py in the Linux .tar distribution * VI Mode fixes * Fix handling of quoted args in !, :!, and :r[!] * Fix failure of :reg on non-ascii characters * Allow search and replace strings containing " * Allow empty search matches for replace as in :s/^/"/ * Less key allows removal of indent less than indent-size * Avoid failing on non-numerical command repeat values * Turbo completer mode fixes * Don't treat second token as defining context except after 'for' * Complete on ',' and ' ' after 'except' * Django fixes * Step Over in Python code does not stop in intervening Django templates * Step Out from Django template goes to correct Python stack frame * Fix debugging files with non-ascii characters in their names under Python 3 * Fix Pretty Print option in shells * Remove always disabled menu items from Wing 101 * Avoid sluggishness when searching on regex with 0-length result (like ^) * Fix mini-search on regex that matches 0-length result * Expanded and clarified the NUKE/NUKEX How-To * Fix debugger for the 64bit Windows version of NUKE/NUKEX * Improve switching documents with Ctrl-Tab * Fix cut & copy on win32 in some situations * Improve retaining selection in editor if replace all is used * Increase maximum line length in shells and Debug I/O before lines are split * Fix shift-backspace and shift-delete bindings under OS X personality * Remove analysis info from disk immediately when reanalyze file is used * Don't insert tabs into debug probe or shell unless default indent style is tab only * Don't flag some Python 3 set literals as invalid syntax * Don't delete spaces at start of line when auto edit enforce PEP8 style spacing is enabled * Correctly handle I/O errors during auto-save recover * Fix Django unit test support for newer versions of South * Correctly handle files with ':' in their name on Posix OSes * Moved Debugger diagnostic settings to a new preferences group * Display correct docs urls for values in the 'os' module * Avoid extra exception from auto-completer when debug process crashes or is not paused * Don't include all other open files or multiple splits when moving a file to new window * Don't select comment before scope when selecting scope if there's a blank line after it * Close document in active window when using close command * If more than one document window is open, close window after closing last document in window * Document manual http proxy configuration * Avoid X11 errors when using matplotlib with TkAgg backend and without any plots Version 4.1.8-2 --------------- September 6, 2012 Bug fixes * Fixed debugging of code running under matplotlib Version 4.1.8-1 --------------- September 5, 2012 Features * Added How-To for The Foundry's NUKE and NUKEX * Added How-To for IDA Python * Track file operations in Project tool at the revision control level by default (this preference was previously off by default) * Allow use of glob-style filenames for Filter in Search in Files * Added arguments to open-from-project command so it can use the current selection as the initial filter * Added commands open-filename-from-editor and open-clicked-filename-from-editor * Added Describe Key item to Help menu * Added Source Analysis > Advanced > Python Docs URL Prefix preference to allow redirecting standard library documentation URLs to another server Bug fixes * Analyze extensions modules stored in zip archives * Fixed failure to search documentation * VI Mode fixes * Fix vi set-register command * Added repeat prefix support for the vi mode gt and gT commands * Auto-editing and completion fixes * Fix invocation auto-editing in the shells * Auto-close parens/brackets/etc correctly when replacing non-empty selection * Insert trailing = when completing a keyword argument * Fix failure seen in multi-mode auto-completer when placing symbols * Fix excessive memory consumption by the perforce support code * Copy existing window tool layout (if any) when creating new windows * Leave files restored from auto-save open until reviewed by user even if the project changes * Set up environment correctly for revision control systems * Set _ when using Pretty Print in Python Shell or Debug Probe * Open the most recent project even when a non-project file is specified on the command line * Set correct selection after Move Line Up/Down * Set default action to move when dragging files within the project tool * Fix failure to start debugger if 127.0.0.1 isn't in list of allowed hosts * Set visit history anchor when running selection commands like select-more * Fix failure to reinitialize the debugger in some embedded contexts * Avoid KeyError message from threading module when debugging Python 3.3b2+ * Corrected documentation for running unittest tests from the command line * Updated How-To for Google App Engine * Don't generate extra exception when using the run_unittests_xml.py Version 4.1.7 ------------- July 9, 2012 Features * Support for Stackless Python 3.2 * Support for Maya 2013 * Support for Visual Studio 2010 builds of Python 2.6 and 2.7 * Pretty Print option in Python Shell and Debug Probe * How-To for using Wing IDE with Pyramid (thanks to Eric Ongerth) * Implemented vi mode :delm to delete marks * Added open-url-from-editor and open-clicked-url-from-editor commands * Ability to set options sent to Python while debugging * Toolbar icon for viewing and changing the Python configuration * Preference to disable editor scrolling past the last line * RemoveTimeout method on the application object in the scripting API Bug fixes * Improved tab key action in eclipse key binding * Auto-editing improvements * Don't auto-close single quotes within comments * Don't auto-indent after paste into strings * Correct auto-spacing after keywords * Auto-enclosing of selection with [, (, or { places caret at start * Don't indent on : after lambda * Experimental Turbo completion mode * Don't include = in completion with ) * Complete leading keywords at start of line when press Space * Never complete after 'for' and before 'in' in list comprehension * Don't complete defining symbols added after a line already has content * Complete on = when overriding class attributes * Improve heuristic for auto-indent after paste * Don't reuse visible editors unless the Editor > Split Reuse Policy preference allows it * Allow u"" as valid syntax also for Python 3.3+ (was re-added in 3.3) * Update Python 3.3 support to the beta1 release * Support _thread module under Python 3.x * Optimize opening projects * Don't unindent snippets strangely when deleting on blank line while data entry mode is still active * Fix caret position after indenting or unindenting a snippet * Fix focus issues when working with editors in multiple windows * Allow 0b00 and 0o00 syntax also in Python 2.6+ (not just for Python 3+) * Update recent run argument list correctly * Don't mark print(''*1) as a syntax error * Fixed remove-bookmark command * Raise document when double clicking on a test * Highlight the correct current argument in the Source Assistant in more cases * sort-selected operates on correct line ranges * delete-line works correctly on second to last line * Don't activate the mostly unfinished Spanish localization * Syntax highlight 'extends' in Django templates * Autocompleter includes 'in' after 'not' and 'not' after 'and' and 'or' * Wrap long lines in the Watch and Stack Data details view * Save also Maximize Editor Area in stored visual state * Fixed documentation url for string methods * Don't try to use local Python documentation in Source Assistant links since this fails on urls with # marks in them * Include if and else in completer within line * Don't auto-enter : after else within line * search-forward uses most recently visited search tool * Clarify setup steps in the tutorial * Fixed hide/show-horizontal-tools commands * Improved support for large Perforce repositories and a new option to omit scanning for unregistered files when using Perforce * Renamed Show Analysis Stats menu item to Show Python Environment to make it easier to find * Use Allowed Hosts preference also when launching debug from the IDE to support masquerading with peer IP other than 127.0.0.1 * Correct valid expression detection for Introduce Variable refactoring * Also include support for 64-bit Stackless Python 2.6+ and 3.1+ on OS X Version 4.1.6 ------------- May 15, 2012 Features * Support for Django 1.4 * Syntax highlighting for Qt Style Sheet (.qss) files * Added show-file-in-os-file-manager command to show selected file in Explorer, Finder, or other OS-provided file manager * Added Debug Network Port project property for per-project configuration of TCP/IP port used to listen for externally initiated debug * Added git blame support * Added emacs M-c binding Bug fixes * Avoid open file warnings when using Python 3.x debug builds * Shorter delay in restarting Python Shell or debug process * Fixed debugging QThreads in older PyQt versions * Fixed passive listening after ending a debug session * Avoid exception on paste into Debug I/O * Fix $NAME and ${NAME} environment variable expansion * Run args set via wingapi are added to the recent list by default * Correct tab behavior at end of line when in Eclipse keyboard mode * Improved auto-editing * Don't auto-space after keywords that can't occur at start of line * Don't auto-space before operators at start of line * Don't confuse expression in parentheses with an invocation in the shells * Don't insert spaces into unclosed strings in the shells * Allow inserting spaces at start of line with space bar when PEP8 mode is on * Don't add space after * in invocations or defs * Avoid incorrect insertion of opening characters in some contexts * Don't auto-enter opening characters on closing character if any un-closed matches exist between editing position and start of line * Improved experimental Turbo completion mode context detection * Handle space correctly for defining contexts * Always complete locally defined names and names in active locals() * Always complete inherited and special method names in def * Don't complete on ' or " * Complete on , on import lines * Complete arg= items on = * Don't complete after 'for' in list comprehensions * Add locks to output stream in test runner for thread safety * Don't show errors when Django project creation succeeds with getpass warnings * Clear VCS status displays when switching projects and Auto-update is off * Fix behavior of move-line commands at top and bottom of file * Fixed emacs Ctrl-X Ctrl-T to swap correct lines (current and previous) * Better handle leading and trailing comments when selecting scopes * Replace All preserves fold state if possible * Avoid using yellow text to show invalid CSS selectors * Avoid duplicate entries in Find Symbol dialog * Remove incorrectly shown diff/merge tool from toolbar in Wing IDE Personal * Add missing table creation keywords for SQL syntax highlighting Version 4.1.5 ------------- April 10th, 2012 Bug fixes * Fix debugger bug that prevented QThread instances from being created * Renamed indent_new_commment_line to indent_new_comment_line and changed it to match comment prefix with prior line * Mini-search works when cap-lock is on * Don't assume extension modules in packages are all lower case on Windows * Add analysis information for basestring builtin * Improved support for string literals in auto completer * Don't flash console window when showing file in explorer on Windows * Added simple copy command for the pylint tool * Run nose & doc tests even if sys.path is modified before test runner executes * Don't raise window and grab focus when auto-showing the Debug I/O tool * Turbo completion mode completes on = in conditionals after if, elif, while * Include support for debug builds of Python 2.7, 3.1, 3.2, and 3.3 Version 4.1.4 ------------- March 30th, 2012 Features * Include special method names and inherited methods in auto-completer * Added Show in Explorer/Finder to editor tab context menu * Added Copy File Path to editor tab context menu * Option to sort tests by source order * Search in Files Options menu item to copy results to clipboard * Print and Select All in the debug I/O context menu * Added GetClickLocation to editor scripting API * Project property to override the Strip Trailing White Space preference * When auto-editing is enabled, repeatedly pressing : on a new block toggles through entering new blank line, indenting next line, and indenting next contiguous lines under the new block * Added support for debugging QThreads in PySide and PyQt4 * Option to auto-show Debug I/O tool on first output in each debug run (default=True) * Added support for Python 3.3 alpha1 * Emacs mode Alt-{ and Alt-} * Added remove-prompts-and-paste command for removing >>> and ... the pasting Changes * Select next & previous scope now find the next & previous def or class statement from the start of the selection. Invoke the commands with sibling_only=True to get the old behavior * Introspection in debug processes can now be controlled by a preference on the Analysis preference page (the preference previously only controlled introspection in the shells) Bug fixes * Better handling auto-indenting whole lines when copied/cut without the leading indent * Allow git rm on directories * vi mode fixes * Correct V line selection action * Fixed repeat of unindent * Return to browse mode after executing a macro * Improve docs.python.org urls for urllib module under Python3 * Retain key binding when renaming a snippet * Fix Testing tool for Python 3 * Fix potential for crash at shutdown on Windows * Don't show top-level errors in user scripts in the bug reporting dialog * Ensure move-line-up/down keep the line visible on screen * Auto-editing fixes * Auto-wrap long function invocations to configured wrap column * Don't force two spaces before # when not enforcing PEP8 spacing * Don't auto-enter space before # on blank line at end of file * Don't auto-enter space after , in non-Python files * Show informational messages for : operations and auto-indent after paste * Fix caret positioning following auto-indent after paste lines * Python Turbo completion mode disables in contexts where a symbol is being defined * Fixed unwanted recursion of turbo mode completion * Include exception names in more contexts within except clauses * Show user and change set in Hg annotate * Handle case where goto-definition in shell cannot determine lineno * Suppress extra exceptions when Python cannot be found * Don't add \ when using fill-paragraph on certain list literals * Don't auto insert spaces in arguments when auto editing is enabled * Fixed pasting of rectangular selections * Only automatically convert EOLs of project files when conversion policy is automatic * Shorten delay for updating attribute menus when moving in source code * Don't display files in the current editor split when already open in another editor split * Fix auto space insertion around |= * Don't highlight interactive commands 'credits', 'copyright', 'license', 'quit', 'help', and 'exit' as builtins * Print value of multi-line simple expression selected in the editor when it is evaluated in a shell * Always position cursor after indentation when auto-indenting a new line * Improve handling of external file changes on a non-responding server * Don't show tree tooltip when context menu has been displayed * Don't overwrite changed files w/o notice when External Check Freq preference is set to zero * Don't show redundant save item selection dialog when saving only one file * Improve editor performance in long sessions * Updated Plone How-To with clearer instructions for a ZEO install * Handle PEP 3149 extension module names correctly * Improved docs.python.org links for the xml standard library modules * Fix failure to reconnect debugger to IDE after it disconnects * Improved support for unary operators in select-more * Show Testing tool before running tests from Django menu * Show warning in Python Shell's status area if its state does not match the configured Python environment * Option to show a dialog when Python Shell needs restart to match configured Python environment (on by default only in Wing 101) * Allow trying to commit again after a failed commit * Don't forget autoquit flag when using SuspendDebug and ResumeDebug * Clarify debugger API documentation * Fix problems occurring when Ensure debug API call is made after SuspendDebug * Fix display of huge values in the Watch tool * Improved Google App Engine configuration How-To * Fix problems when more than one version control system should be active * Fix rare debugger crash associated with When Printed exception detection Version 4.1.3 ------------- January 11, 2012 Features * Added move-line-up and move-line-down line editing commands * Added set-visit-history-anchor command to set a anchor in the visit history to come back to * Added copy-reference command to copy filename, line number(s), scope, and optionally the current or selected lines to the clipboard * Added experimental Eclipse style key binding * Added Open From Project option to search only on the file name * Added goto-overridden-method to goto the method overridden by the selected method in the editor Bug fixes * Auto-editing * Don't remove space after , in argument lists not already closed with ) * Add closing ' for string when starting with u', r' or ur' * Try to avoid unwanted quote doubling in non-Python code * Improve functionality when working at the very end of the file * Don't mis-apply auto-editing operations inside u'', r'', b'', ur'', and br'' * Convert " and ' also in u'', r'', ur'', b'', and br'' type strings * Also handle capitalized form of U'' and similar strings * Disable auto-edits also in unterminated strings where appropriate * Don't group snippet entry and invocation arg entry into one undo action * Don't embed a win32 manifest in debugger .pyd files so they can be loaded if .exe manifest doesn't specify the C runtime dll; fixes using debugger with blender * Speed up autocompletion and auto-editing in some instances * Remember to hide or show unregister version control files in status displays across sessions * Show start of selection when selecting blocks and scopes * Fixed Debug I/O popup menu * Fixed introspection to respect the Debugger > Data Filters > Do Not Expand preference and added JPackage from Jpype to the no probe default * Don't call __getitem__ when displaying collapsed list in stack data * Fix hanging on regex searches such as (.*)$ that result in empty matches * Support expanding sets in the Stack Data tool * Don't crash auto-completer on module arguments on OS X * Position caret correctly after auto-indent if move to next or previous line * Avoid traceback when selecting the toolbar diff/merge menu during directory to revision compare session * Don't stop the debugger when a value has a non-string __module__ attribute * Fix paste in Debug I/O tool * Don't incorrectly flag print(*args) as a syntax error * VI mode fixes * Set visual mode only if click to create a non-empty selection * Set caret position correctly when exiting visual mode by clicking * < and > in visual mode also indent last line when caret is in position 0 * Fix case operations in visual block mode * Fix % during visual mode * Fix :w to write without changing file for current editor * Fix :w in visual mode to write correct selected range * Don't lose the clip register when delete forward/backward char or word in insert mode * Implemented Ctrl-O/Ctrl-I for previous/next visit history * Use correct column on up/down arrow after f * Fix r in visual block mode * Fix line numbers on which :s operates * Falls back to html snippets in Django files * Fix failure to enable menu items in Watch tool context menu * select-more selects arg name=value when appropriate and nested expression if either nesting character is selected * Show Python 3 docs.python.org pages from Source Assistant when appropriate * Prefer local html for Source Assistant Python doc links when available * Clarify that multiple fragments separated by spaces can be used in the Open From Project dialog * Set first sys.path element to directory of file evaluated in the Python Shell when the shell is being restarted as part of the evaluation * Avoid adding debugger internals 'tserver' directory to sys.path in the Python Shell * Prevent warning about sys.settrace() calls after fork() * Detect and process fork() immediately rather than on next communication with the IDE * Fix possible cause of dropping debug connection on OS X * Fix potential for corrupting Django projects when Python cannot be found in django_admin.py Version 4.1.2 ------------- December 9, 2011 Features * Added Create New Package to the Project context menu * Added Open Files tool for navigating to and closing open files * Added new code selection commands in the Edit > Select menu to select current/next/previous statement or scope * Added data-entry-stopped signals to the CAPIEditor extension API Bug fixes * Fixed evaluation in shells of files with a coding comment * Auto-editing improvements * Improved detection of contexts where ()[]{} should auto-close * Redundant ':' is not typed and for ambigiously indented else, elif, except, and finally will toggle indentation to possible positions * Also stop on just 'value' for 'arg=value' during invocation auto-editing * Prevent redundant : and , in dicts * Fix some problems with default arg removal * Correct spacing enforcement within logical lines * Don't auto-close (), [], and {} after digits * Improve detection of when to auto-enter space after keywords * Add preference to disable PEP8 space enforcement when auto-entering spaces is enabled * Auto-format (), [], and {} on enter also when there is a selection * Don't auto-enter args in class MyClass( * Don't enter spaces before # when at start of existing line * Improve compatibility with macro playback * Auto-enter correct args for __init__ when there is multiple inheritance * Also enclose selection on )]} * Auto-enter args for overridden method in def * Don't convert string delimiters into ` (only ' and ") * Auto-indentation fixes * Fix auto-indenting positions for elif, and finally and else after except * Avoid auto-indenting after paste except in column zero (indent to match) or within the indent area (indent to caret position) * Add pref to allow disabling auto-indent after paste * Fix auto-indentation on 2nd+ line of else, elif, and except * First auto-indentation issued on a line will go to innermost indent level and subsequent auto-indents toggle through possible other indent positions * Ignore decorators when attempting to guess indentation position for def or class after paste * Auto-completion fixes * Don't place '=' after 'self' when auto-completing * Include '=' in auto-completer if it will be placed on completion * Include both locally defined arg and arg= for invocation * Fix potential for corrupting undo queue when auto-completion changes the mime type of a file * Avoid entering redundant spaces when space auto-editing is on * Turbo mode completes snippets only on Tab or Enter * VI mode fixes * Fix :! to invoke filter-range (w/o space after !) * Fix resolution of % in :! when no range is selected * Allow using goto-definition in shells when there is no editor open * Fix crashes when analyzing files with a huge number of subscripts or other repeated expressions (these are typically mistakes in the code) * show-current-file-in-project-tool sets the cursor in the tree appropriately * Fix extract function refactoring operation when a del statement is present * Fixed rare failures to update code analysis after editing * Don't open directories from the Source Browser in the editor * Set selection correctly when pasting lines * Fixed memory leak when switching projects * Fix potential for data entry mode corrupting undo and macro queues * Fixed all open files search when using non-English localization * Fix indent after paste to be undoable without undoing the paste * Reduce menu bar updates when plugins enable or disable during project switch * Show decimal.Decimals as simple values in Stack Data and Watch * Don't fail to advance to next file in multi-file diff * Fix failure to restore perpectives correctly when there are multiple windows * Reduce size of old projects and associated CPU usage and memory leaks seen during project switching * Fix resource leak when exceptions are raised in pyexpat * Fix hangs and improve performance when using perforce integration Version 4.1.1 ------------- November 14, 2011 Features * Support goto-definition on symbols in the shells * Auto-indent when pasting multi-line text in Python code (undo once restores original indentation) * Experimental Turbo auto-completer mode for Python that treats any non-word key as a completion key and Ctrl, Alt, and Command as a cancel keys * Added Smart Tab preference to control type of indentation or disable indentation at line end * Indent to Match menu and tool bar items toggle indentation to one indent position lower if already at matching indent level * Allow disabling auto-focusing of tools when press F1/F2 with User Interface > Other > Auto-Focus Tools preference * Windows installer offers to remove last minor version (4.0 in the 4.1 installer) * Allow setting environment variable WING_TEST_DJANGO_SETTINGS_MODULE to use a different settings file when running Django unit tests * Added links into preferences dialog to the preferences reference * Added Configure Tab Key to the Edit > Keyboard Personality menu * Show/hide separate toolbox window with F1/F2 if there's no toolbox in the current window Changes * The default Tab Key Action preference for VI/VIM mode has changed to Move to Next Tab Stop (was Indent to Match) to match VI/VIM behavior Bug fixes * Fixed corruption of undo stack leading to undo of large numbers of edits * Don't use __builtins__._ for last interactive value when in use by gettext * Don't raise exception if use show-current-file-in-project on a directory * Auto-indent bases indent of else, elif, except, and finally on position of closest possibly matching start block * Auto-editing improvements * Use configured Python commenting style when press # w/ selection * Don't auto-enter spaces after keywords when there is a matching snippet * Don't get confused by dead keys, caps lock, windows key, etc. * Don't enter () when matching ( is first token on the line * Auto-enter space before != also * Convert triple quote chars also when within quote areas * Allow entering any number of spaces at the end of the line or before comment at end of line * Also auto-enter EOL and indent after ':' in def and class definition and following finally * Improved context detection for auto-entering spaces after keywords * Added documentation for Tab Key Action preference and Smart Tab * Also enclose selection () within ''ed strings * Auto-dedent else, elif, except, and finally after : is pressed * Auto-enter quotes when split a single-quoted string within () * Improved detection of unmatched parens/etc in decision to auto-close * Enable auto-spacing in shells as well * Don't auto-close quotes if there is a matching unclosed quote on the line * Delete whole auto-entered pair when deleting opening character with Backspace from within the pair * Show PEP8 compatible arg=value entries in auto-completer * Auto-complete arg= not arg=value when autocompleting argnames * Add = after auto-completed argnames also if there is no default value * Allow using colon as a completion key for auto-completion * Auto-completer auto-enters : after try, else, and finally * Initiate auto-edit with (, [, etc typed during auto-completion * Also auto-enters spaces after keywords placed by the auto-completer * Also enclose selection in [] and {} when auto-close is enabled * Auto-enter two spaces before trailing # (PEP8) * Don't auto-add space after ! and similar if typed just before = * Only auto-close (, [, and { at end of line, before ':', in strings/comments and after callable symbol name * Don't auto-close ), ], and } after punctuation * Don't auto-enter spaces within dict/list/array subscript * Fix auto-spacing around <> * Smart tab will toggle between more possible tab locations: * On a line following a comment also tries prior non-comment code line * For ambigiously indented else, elif, except, and finally tries all possibly matching start blocks * When auto-spacing is enabled, remove any trailing white space created by pressing Enter within a line * Auto-format when press Enter within empty (), [], or {} if auto-spacing is enabled * Remove also any key binding for snippet when removing the snippet * Close snippet if open in editor when removed in Snippets tool * Fix Move Focus to avoid getting stuck in tools that don't accept focus * Never move focus to source assistant so it continues to show data * Don't show irrelevant command documentation in toolbar tooltips * Fix use of copy/paste in macros * Display __init__ docstring when instantiating a class * Fixed traceback seen after entering a snippet or auto-entered function args * Show correct docs.python.org urls for os.path * Handle input correctly in restarted shell * Size line number margin correctly when editor is zoomed * Go to defn in shells goes to type of symbol only if symbol defn unavailable * Files opened explicitly from source browser are opened in sticky / non-transient editors * Left align color popup menus * Correct interpretation of line numbers in vi range limits and fixed implementation of :% * Leave search matches highlighted after exiting mini-search or toolbar search * Don't move to next snippet field or invocation arg when auto-completing with a key other than Tab * Highlight selected occurances in all visible files and correctly clear highlights * Let F keys function when mini-search is active * Don't display error dialog if analysis database is locked * Include intended open source license (MIT License) at top of unit test runners and utilities * Respect DJANGO_SETTINGS_MODULE when running unit tests * Also look in /usr/share/doc/python-docs-#.#.# for local Python docs Version 4.1 ----------- October 28, 2011 Features * Display URLs for relevant Python documentation in the Source Assistant * Additional auto-editing support (must be enabled in Editor > Auto-Editing preferences) * Auto-editing operations can be globally enabled or disabled from the Edit > Keyboard Personality menu * Auto-add spaces around operators, punctuation, and/or after Python keywords * Auto-enter newline and auto-indent after block colon in Python code * Auto-enter matching open parenthesis if type unmatched closing parenthesis * Change quote type when select string or quote char and type ' or " * Also auto-close `` (backtick) * Continue comment on new line * Added Enclose operations to Source menu to enclose rest of line with () etc * Smart tab key (selected in User Interface > Keyboard > Tab Key Action) * Include argument names in auto-completer during invocation * Added new-line-before and new-line-after commands * Added select-more and select-less commands to expand or shrink selection according to the structure of Python code Bug fixes * Correctly analyze def f(((a, b), c), d): * Fix problems with comment-block-toggle command * Always open files in active document window from open commands * Fix vi mode outdent * Fix goto-definition on expression that includes a function invocation * Auto-editing fixes * Enter quotes instead of skipping when type at start of string * Don't include *args and **kw in auto-entered arg defaults * Enter correct args in nested invocations in shells * Don't auto-enter quotes within strings except when typing triple quotes * Also skip over redundant close key if at very end of file * Improved compatibility of auto-editing with macros and repeat operations * Improved behavior when typing quote at end of triple quoted string * Correctly quote auto-entered arguments in shells * Make auto-entering arguments compatible with macros * Improved entry of triple quotes to ease typing of empty string * Don't remove 'self' from auto-entered args for unbound method invocation * Automatically remove unused defaults from auto-entered args and insert necessary argnames * Don't auto-enter # when press Enter before # char * Don't auto-close (, [, and { when before symbol * Folding commands apply to visible fold points prior to the caret if none at current line * Don't show debugger's file out of sync dialog twice when save a file * Show correct variant of debugger out of sync dialog when files are only changed on disk and don't need saving * Fix problems analyzing incomplete except statements * Fix macros with the indent-lines command * Reverse order of window name parts (so filename is first) * Fixed testing support when using Python 3.2 * Avoid event loop problems with WXAgg backend for matplotlib * Do not set interactive(True) when using WXAgg matplotlib backend * Fix database setup for new Django project on Windows * Avoid failure to set up Django superuser account on Windows * Highlight occurrence of xxx. in xxx.yyy even in whole words mode when xxx. is the selection * Make entering snippets compatible with macros * Fix Copy Filenames menu items * Added preference to set max length of a symbol menu * Fix File Properties item on testing popup menu * Rename correct file in project view if follow selection is on * Don't exit data entry mode (for snippets and auto-entered function arguments) when pasting text * Scan main debug file for path changes even if it doesn't end in .py * Moved prompts to margins of shell to fix several bugs * ESC while editing line in a shell will cancel editing the block and move to a new prompt * Set output encoding in test runner to UTF-8 * Fix resolution of non shared namespace packages that appear multiple times in the python path * Don't lose breakpoints across Replace All in Search and Search in Files and when converting a file's newlines or indentation * Fix debugging of input() or raw_input() without prompts Version 4.0.4 ------------- September 19, 2011 Features * History in shells stores whole entered blocks, not individual lines and allows editing blocks * Option to filter shell history by entered prefix * Use dynamic analysis for goto-definition in the editor, when available * Auto-editing (must be enabled with Editor > Auto-Editing preferences): * Auto-enter closing quotes, comments, and parentheses, braces, etc * Tab through auto-entered invocation arguments * Apply quote, comment character, or parenthesis to selection * Add evaluated lines to history in shells if less than 25 lines long * Support ## comments in Mako files * Allow scrolling editor one page below the last line * Support new block syntax in mako templates * Move refactoring can move symbol to new file * Allow module to be renamed via refactoring when version control tracking is enabled * Add Column information to PyLint panel when available in pylint version 0.24+ (thanks to Ronan Le Gallic) * Display messages about globals from recent pylint versions * PyLint panel support for pylint version 0.23+ * Better handling of multiple pylint views * Added visible_only and sticky_only filter flags to GetAllFiles on CAPIApplication in the scripting API * Added Copy Filenames item to Edit menu and Project context menu * Update Main Debug File if set to a file renamed in the Project view * Added accelerators for refactoring operations in the editor context menu * Add accelerators to buttons in the move/delete confirmation dialogs * Added default key binding for evaluate in shell commands * Added keyboard mnemonics to Indentation tool * Use R for properties mnemonic in project popup menu * Added internal-extra-debugger-logging command for diagnosing debugging problems * Expose preferences for debugger logging in Wing IDE 101 Changes * Duplicate indent if cursor is in indent area or on blank line when return is pressed and auto-indent is enabled * Add optional arguments to refactoring commands for use by scripts * Changed arguments for indent-lines and outdent-lines commands to disambiguate number of lines vs. number of indents to apply Bug Fixes * Don't print []'s around tab characters in test output * Highlight occurrences correctly after rename * Less confusing Support+Upgrades subscription renewal reminders * Fix new file and directory items in Project context menu * Allow calling Connect() and other scripting API from non-script (utility) files * Document limitations on reloading scripts * Correct 'match' signal arguments for CAPISearch in scripting API * Avoid obscuring selection with occurrences indicator * Fixed problem using logging from extension scripts * Show also Enable All Breakpoints in the Breakpoint Options menu * Avoid failure to debug templates under Django 1.3 * Avoid SetSourceScopes exception * Fix HTML folding in mako templates * Better auto-indenting of line after a line continued with a \ * Don't specify invalid file name when comparing files from the project tree * Select correct symbol when when renaming and selection ends before ) * Recognize overflow-x and overflow-y CSS3 keywords * Analyze types of default function argument values * Don't duplicate added import in move refactoring * Change autocompleter type when file type changes * Correctly determine if snippet context is method or function * Testing tool doesn't get confused by subprocess or C extension output * Fix analysis of string literal methods * The swap-lines command puts cursor on the second line * VI Mode fixes * Don't apply numeric modifier to text inserted in s, S, c, and C operations * Auto-enter `<,`> after : when in visual mode * Correctly interpret `< and `> on the command line in visual mode * Correctly indent in visual mode after 5> and similar * Allow y and shift-Y in read-only files * gt and gT shift to next/previous document * GVd and VGy also operate on last line * Fix off-by-one bug in re-wrapping lines * Faster initial display of open from project dialog * Don't print TaskletExit exceptions * Reuse editor in another window if one exists when opening a file * Suppress exception when remote file server times out * Show correct help for matplotlib support project property * Activate Django extensions also when the settings.py and manage.py files don't contain the word "django" * Add \n in OS Commands tool after "Process failed to start" error message * Support skips and expected failures in newer unittest versions * Fixed project tree's Follow Current Editor option when tree is in a different window than the editor * Don't goto the wrong symbol if focus is in another editor * Fix Django Restart Shell menu item * Correct ellipsis on truncated Search in Files results * Don't incorrectly include project type preference in Wing Personal * Fixed File Properties in Project View in Wing Personal * Don't leak previously open files into perspectives that save the set of currently open files (except if a file has unsaved changes) * Fix occurrences highlighting when used together with folding * Fix incorrect highlighting of point of definition when following certain links from Source Assistant * Fixed failure to clean up correctly in sub-processes launched by the multiprocessing module (this caused the processes to hang if they contained a breakpoint or raised an exception) * Include both Enable All Breakpoints and Disable All Breakpoints in the Breakpoints tool context menu * Display complete traceback when Evaluate File in shells results in an exception after output * Report correct file name in tracebacks from Evaluate File commands * Show the changed-on-disk warning dialog also when pasting * Fix Menu key handling in vi browse mode * Clearer error message when search in files directory does not exist Version 4.0.3 ------------- June 10, 2011 Features * Ability to save and load test results * Ability to run unittest tests from the command line and save results for loading into Wing * Access to the search engine from the scripting API * Access to source analysis information from the scripting API * Optional reminder when Support+Upgrades is expiring * Added copy-selection-or-line command Changes * Changed default project type to 'shared' to make it clearer how to use projects with revision control * Renamed project view file deletion operation to "Delete" on Windows Bug Fixes * Ignore comments when analyzing code in extract function refactoring * Handle introduce variable case where there is no code * Fix analysis exception when scope disappears * Avoid startup failure when __builtin__.pi is found too early * Improve occurrences highlight color on dark backgrounds * Fixed exception seen when searching in files * Allow ~ in shared perspective filenames * Increased default analysis cache size to 500MB * Highlight "as" as a keyword in Django templates * Add accelerators to the Project context menu * Fix syntax highlighting in CSS3 files * Update recent lists based on visit order, not open order * Avoid selecting whole line when click just before first character * Update analysis info as .pi files are modified * Allow .pi files to define symbols for a package of the same name * Add optional logging to help track down analysis problems * Fix failure to properly handle exceptions while debugging unit tests * Fix problems analysing recursive from import * statements * Fix failure to start when project is corrupted * Correct margin size in Search, Replace, and some other form fields * Rotate the tab labels correctly for tools on the right side * Don't raise internal exception if menu label is corrupted * Don't disable run-to-cursor on enabled, normal breakpoint * Move focus to stack data tool also when it has been shown before * Prevent editing of the stack data detail panel * Don't execute expressions starting with '(' twice in the shells * Include "object" in base class autocomplete list * Correctly identify bool values in the autocompleter * Close editor when a file is deleted with the Project tool * Don't fail to find text if search is repeated * Avoid failing to run a visual diff while another session is active * Don't raise exception if a filename cannot be converted to Unicode * Recognize *.pxi files as Cython * Don't print [HT] in test output from test files indented with tabs * Avoid incorrectly showing key binding for copy in testing tool * Fix next-points-of-use-match command * Document how to use a Django buildout with Wing Version 4.0.2 ------------- May 5, 2011 Features * Added introduce variable refactoring * Allow use of .pi files for source analysis hints also when .py files are present * Added syntax highlighting for R source code * Support for auto-completion with PySide Qt bindings * Recognize new tags and attributes in HTML5 Bug Fixes * Disable Ubuntu AppMenu for Wing to avoid binary compatibility problems * Fix 'global name time is not defined" when using matplotlib with the GTK backend * Avoid traceback seen when default matplotlib backend does not exist * Django support * Added comment and endcomment Django keywords * Added support for {# and #} syntax highlighting in Django templates * Change snippets to use {% kw %} form (with spaces) instead of {%kw%} * Fix potential for crashing when opening Django template files * Fix syntax highlighting for asn1, bullant, cython, inno, lout, nncrontab, nsis, scriptol, smalltalk, spice, verilog, and vhdl files. * Fixed syntax highlighting for cpdef in Cython * Insert (, [, or other character when it is used as a completion key, even when there's no completion * Shift focus to uses tool when find points of use search is started * Don't mark nonlocal statements as syntax errors * Don't close editor on ctrl-W if focus is not on editor window * Fix incremental mode in search tool * Open document in transient editors from points of use tool * Fix attribute completion in shells for Python 2.1 * Use bold font instead of blue in Find Uses so it's readable on a dark background * Add current location to history before query-replace and replace-string operations * Changed encoding error message to explain how to reopen a file in another encoding * Corrected instructions for debugging Plone by launching from the IDE * Fixed extending selection with shift-click when clicking in left margin * Fix hang in source analysis in large packages * Fix Project Properties display bug with ${WING:*} env in Python Path on posix * Limit symbol menus to 200 items and add (bottom) to end when needed * Close tabs open in the default project when switching to another project * Improve handling of packages not in Python Path * Find uses marks module names being called as unlikely by default * Find uses marks attributes used in a base class as probable * Corrected naming in API from PasteTemplate (deprecated) to PasteSnippet * Include locals in autocomplete list in lambda expressions * Expand ~ and environment variables in Interface Search Path preference * Fixed updating points of use when moving a method to a function * Don't fail to show unit test results when receive Esc and some other characters in output from non-Python code * Guard against injecting file names that contain \0 and similar characters from extension scripts * Confirm deletion of OS commands * Better color for occurrences highlighting (based on selection color) * Clear occurrences when search string is set to '' * Suspend file reloading during save to avoid losing data when files are delete from within the save dialog * Find definition in goto definition and the source assistant when symbol is defined through multiple layers of imports * Added support for package namespaces defined through pkgutil * Don't highlight matches that don't contain a letter or number in word highlight occurrence mode * Fix accelerator conflict in search tool Option menus * Fix failure to replace search matches near the end of files * Fix possibility for incorrect placement of replace string in files with non-ascii characters * Goto-definition (F4) also works if caret is at end of a symbol Version 4.0.1 ------------- March 31, 2011 Features * Allow debugging via wingdbstub when python is run with -O * Added an Ensure() function to the wingdbstub module that can be used to ensure a debug session is active * Added a grab_focus argument to the show-panel command that defaults to the value of the flash argument * Added a WING:PROJECT_HOME variable to project string expansion Bug Fixes * Don't fail to start on OS X when DYLD_FALLBACK_LIBRARY_PATH is defined * Fix goto definition on relative module name in an from import * statement * Correctly lock the gui during a move or rename refactoring * Remove outdated information from the PyQt How-To * Create cache directory earlier in bootstrap process * Fix exception when closing windows in one editor per window layout mode * Find 64 bit python installations on 64 bit Windows systems * Retain selection when switch to block selection mode * Django support fixes * Indent correctly when setting TEMPLATE_DEBUG=True in Django project setup and retain any replaced line in commented out form * Update Django How-To to include docs on running and debugging unit tests * When configuring project, use port 8000 by default to match Django default * For __proxy__ instances, show more useful value in the debugger * Allow focus to be shifted to snippets tool * Allow focus to be shifted to a tool that doesn't flash * Uses of a private attribute in another class are marked as unlikely * Delete analysis database file if it gets corrupted * Fix potential for the matplotlib support for the WXAgg and GTK backends to hang up * Show key binding for Open From Keyboard in the File menu * Keep matplotlib plots active in Python Shell also when the indicator imports occur in the initial evaluation * Fix script debugging in Plone 4.1 * Prevent infinite recursion when analyzing instance attributes * Use directory selector when browsing for local directory in version control tools * Fix internal failure that led to blank editor with certain color prefs * Show correct title in directory selection dialogs * Fixed semantics in stdin write, fileno, seek, truncate, tell, and writelines in Python 3.x when working in the Debug Probe or Python Shell * Don't move to next search match from initial position if search options change * Fix failure to find uses in modified buffers in some cases * Fix potential crash if cursor is at end of extremely long line * Remove check for python optimized mode from wingdbstub * Clean up correctly when ending failed diff/merge session * Avoid failure to restore part of the state in a perspective (such as current tab) * Don't scan some files unnecessarily when finding uses * Fix analysis failures in main debug file * Set warning in status area and continue debugging if configured run directory does not exist * Fixed failure to debug Python 3.2 wide unicode builds * Diff/merge tool * End the session when close a file/dir-to-revision scratch buffer * Fix handling path names for diff to repository on Windows * Correct file to revision display when the file uses an encoding other than utf-8 * Avoid logging stdin related error when shutting down the debugger under wsgi * Show correct version control diffs in files using encodings other than utf-8 * Use dialog to collect new file name when rename on the project view (rather than the data entry area at bottom of the IDE window) * Fix mnemonic conflict in Search in Files when showing search type in the tool * Highlight all search results in visible editors * Display errors from a version control diff command * Allow non-ascii characters in hg commit messages * Detect hg commit success when locale is German * Allow mnemonics to work if shift is pressed or caps lock is on * Make getpass.getpass() in Python 2.5 and earlier work in Wing's debugger and Python Shell * Fix rename in project tree if Follow Current Editor option is on * Exclude hidden files from project if appropriate * Updates to French localization (thanks to Jean Sanchez!) Version 4.0 final ----------------- February 19, 2011 Features * Allow setting transparency for debug run marker * Auto-save all files before PyLint scan if autosave == 2 in configuration * Add Ensure function to wingdbstub module * Updated French localization (thanks to Jean Sanchez!) Bug Fixes * Fix failures to show context menu on editor and project * Fix "Use System GTK" preference to work properly * Use correct user settings directory for env var massaging in suid startup * Use dialogs for collecting new snippet name or key binding * Don't use background color on Django and ASP tags * Fix Django functionality when using the default Python rather than one specified in Project Properties * Fix Django error reporting when the found Python has no Django install * Correctly update use when moving a function into package module * Find uses of packages correctly * Fix positioning of extracted function in some cases * Widen the line selection margin on the left of the editor to 5 pixels * Correctly update internal mod time on renamed and moved files to avoid spurious changed-on-disk dialogs for files that are open and modified in the editor when moved/renamed * Find some uses of names imported from modules that cannot be found * Track sys.path changes in the Main Debug File when it is changed to another file without requiring close/open of project * Avoid some analysis exceptions when under load * Don't call __getitem__ during value introspection in the shells and inspection of debug stack data to avoid thread locks in sqlalchemy and other code * Improved find uses searches for __init__ and __new__ methods * Recognize .coveragerc file type * Don't find uses of a method when searching on a name bound to the method * Clean up correctly when a save as dialog in cancelled with the ESC key * Analyze from os.path import join as pjoin correctly * Don't show auto-perspectives message from Project Properties if the property's value was not changed * Don't return dict keyword args as possible match in find points of use * Add option to use dotfile locking when opening sqlite database * Fix life cycle of multiple matplotlib windows with Tkinter backend * Added accelerator for Ignore in Exceptions tool * Improve moving of modules via the move symbol tool * Find class attribute as possible use when finding instance attribute uses * delete-forward-word deletes selection if there is one * Don't underline in the toolbox move to window right click menu * Honor debug I/O encoding preference when using Python 3.x * Recreate debugger attach listener if stop & start debugger through wingdbstub api * Autocomplete from __future__ import statements * Update search tool buttons after transferring selection * Improve moving of decorated functions and to the end of file * Load correct c++ runtime .dll on Windows * Fix occasional loss of analysis information * Sped scanning for version control directories in some cases Version 4.0 beta6 ----------------- January 14, 2011 Features * Preference to control when occurrences of current selection are highlighted (always, for whole words only, or never; default=words) * Preference to control whether occurrence highlighting is case sensitive * Preference to change occurrence highlight style * Added Find Points of Use to the Source Browser context menu (right click) Bug Fixes * Optimize initial analysis of source files * Don't rescan a few files that had been scanned in the last session * Don't ask if a file can be saved after renaming it * Better handle analysis db versions * Add version number to "Edit with Wing" Windows Explorer menu item * Don't fail to extract if destination is at end of file * Sort perspective manager in more natural ordering * Clarify that right clicking displays perspective editing operations * Update GUI without restart when show search type selectors in the Search in Files tool, and move the option for controlling this from Preferences to the Options menu in the tool * Diff/Merge * Sort diff tool alpha w/ folders first * More accurate change %'s and don't fail to identify changed files here * Fix incorrect Previous Difference menu item * Don't swap files A/B when initiate Compare Visible Files * Also restore which editors were visible before failed diff/merge * Fix tracebacks seen when closing an editor for a live diff/merge session * Remove also merged pair marks from editor when a session is ended * Move editor caret to start of current difference pair * Allow opening of unchanged files from diff/merge tool * Don't highlight whole file when file is added or removed * Collect file and directory names in a dialog that contains OK and Cancel buttons * Don't consume _'s in diff/merge recent and active session menus * Don't show bogus 10% change indicator when diff directory to repository * Show error when comparing files without differences * Allow canceling session when it contains only hidden white space changes * Only prompt once for save when comparing to revision * Added Compare to File/Directory items to editor and project context menus * Include needed dll in Windows binaries * Show correct right-click context menu in editor in Personal & 101 * Avoid "is_botframe called for invalid or running thread" seen in some threaded code * Correctly highlight arguments for class methods in source assistant * Don't extend selection when ctrl-click for goto-definition in vi mode * Exclude .coverage files from project, searches, diff/merge, etc * Respect "fold trailing whitespace" preference at startup * Fixed more import problems caused by Django template debugging support in Mezzanine and possibly other apps * Fix Messages tool highlight colors on dark backgrounds * Add needed \ to some long python lines broken up by fill-paragraph * Improved auto-detection of default revision control system when working in mixed projects that include git or hg in enclosing directories * Change Django and related tag coloring to look different than default selection color * Fixed matplotlib support for multi-threaded code using TkAgg backend * Disable broken C/C++ preprocessor interpretation which attempted to grey out inactive code * Set default values in Configure Python dialog correctly in Wing 101 Version 4.0 beta5 ----------------- December 10, 2010 Features * Refactoring: move symbol, rename symbol, extract function * Show points of use to display the locations where something is used * Automatically highlight other occurrences of selected text in editor * Django Support * Add support for running Django unit tests in the Testing tool (thanks to Cédric Ricard for assistance with this) * Added Restart Shell item in Django menu to show and restart the Python Shell tool with the Django environment * Also prompt for superuser information when start new project * Remember values of shared fields in new project dialog * Support for Python 3.2 * Nicer indentation of wrapped lines in editor * Recent selector for Run Arguments in File Properties * Diff/Merge * Indicate changed subparts within diff pairs * Diff highlight color is now configurable in preferences * Added key bindings for next/prev and a->b and b->a merge operations * Option to synchronize scrolling when diff/merge is active (default=on) * Added diff index menu at top right of editor when diff/merge is active * Ability to ignore white space only changes * Show merged pairs in a different color * Auto-activate which version control system menu is shown in editor and project context menus based on selection so that multiple systems can be used within a project. A single system is still used for project-wide operations such as status, update, and commit. * Added perspectives preference and per-perspective option to control when the application state is auto-saved before leaving the perspective * Added Restore Saved State to Perspectives Manager to allow restoring the application state from a perspective without changing current perspective * Updated French localization (thanks to Jean Sanchez and Bob Cordeau) * Added ShowTool method in the application scripting API * Added 'visible-lines-changed' signal on editor scripting API * Status indicator showing when source analysis is active Changes * Always write .wpr & .wpu files with '\n' eols * More information is saved in analysis database so the max disk cache size preference may need to be increased when working with large projects * Added Show / Hide toolbar to Tools menu Bug Fixes * Django Support * Improved error reporting in the setup scripts * Find Python correctly when django-admin.py contains #!env style header * Fix syncdb call when starting new project * Don't hang up syncdb when called after first enabling the auth system * Avoid import errors caused by django template debugging support loading too early * Select current tag when debug stepping through Django templates * Show correct link when announcing newer versions * Delete older items from analysis db correctly * Fix beginning-of-screen-line-text in shells * Avoid exceptions seen when clearing Debug I/O tool * Avoid using obsolete modules/ZTUtils/Iterator and the tabindex attributes in WingDBG page templates (so it works with Plone4) * Paste snippets at correct indent when using |n| where n is an integer * Upgrade Scintilla to version 2.2.1 * Show wrap indicator also at start of line in vi mode * Don't use ... prompt in shell on line following 'if 1: pass' and similar * Don't include lines of all #'s when auto wrapping python comments * Diff/Merge * Correct which file is used for Compare Buffer with Disk * Fixed merge at the very end of the file * Always restore pre-session application state * Fix diff/merge menu item label for diff buffer to disk * Don't end diff/merge session when an editor is closed * Fixed multiple concurrent diff/merge sessions * Set up mime type correctly in difference to repository * Fixed merging added or removed files * Initial scrolling to show first diff should always work * Generate .pi files for PyQt even when it raises odd errors while inspecting classes * Exclude *.log files from All Source Files searches (but not All Files) * Corrected default Wing IDE directory in WingDBG for Zope * Don't fail if non-existing files named settings.py or manage.py have been added to a project * Allow other threads to run in the debugger when raw_input is called * Don't show duplicate information in Source Assistant within a point of call * Don't show information in Source Assistant for the last item in the auto-completer when there is no selection in the completer * Fix repeated regex mini-search * Fixed move-editor-focus-previous command to include all splits * Match conditional breakpoint dialog font size to editor font size * Clarify error message when debug attach fails * Allow pressing Enter to submit and Esc to cancel in conditional and ignore breakpoint dialogs * Make transient / stick pin context menu items visible on dark backgrounds * Make brace matching highlight less bright on dark backgrounds * Avoid exceptions seen when matplotlib is imported with WxAgg backend and no event loop is running * Remove deprecated tabindex tags from Zope debugger support page templates * Display symbol imported via from import * as imported in source browser * Fixed GetAttribute and SetAttribute on the project in the scripting API * Fixed failure to copy empty dirs in project tree * When converting user settings from Wing 3.x->4.x also copy over pylintpanel.cfg, wingdebugpw, suppress-splash, locale, and lastpython * Confirm Clear All Results in testing tool * Fix 'scrolled' signal on editor in scripting API so it is always emitted and the first line is the correct document line * Report exceptions occurring at toplevel of a file when debugging tests * Fixed logging.Logger.error replacement code to avoid incorrect logger exceptions when debugging * Don't display internal exception dialog when another Wing instance has locked the analysis database * Minor corrections and clarifications in tutorial and documentation * Change regex mnemonic in search tools to x to avoid conflicts * Change batch-replace command to use selection like batch-search * Don't visit untitled and scratch buffers in visit history if they are no longer open * Some analysis performance improvements * Fixed accelerator key conflicts in search tools in emacs mode * Speed up analysis when zip file w/ sources is in python path Version 4.0 beta4 ----------------- August 26, 2010 Features * Diff/Merge * Implemented multi-file (directory) diff/merge * Implemented working copy to repository diff/merge * Added Close Others item in the editor tabs menu * Added command debug-probe-clear * Added scripted command watch-selection * Added WING:SELECTION to special envs defined for OS Commands and other tools where environments variables can be referenced Changes * Set default value for Evaluate Only Whole Lines option in shells to False (except in Wing 101) * Finds Cython .py file for module compiled with pure mode if it's in the same directory Bug Fixes * Django fixes * Correctly fold html around {% %} tags * Add default set of code snippets for Django files and show in auto-completer * Add also directory enclosing the site directory to the Python Path when configuring a project for Django to approximate how Django handles both "from sitename.models import x" and "from models import x" * Improve error reporting when Python cannot be found * Added some missing Django template keywords * Fixed matplotlib support for matplotlib version 0.99.1 * Editor hover tips over errors and warnings respect the User Interface / Layout / Enable Tooltips preference * Fix Python syntax highlighting when the Python Executable set in Project/File Properties is invalid * Update editor read-only status when the file's state changes on disk * Place caret at start of line during debug stepping instead of selecting the line * Goto definition ignores assigning None to an instance attribute if a non-None value is assigned * Don't continously analyze source in certain situations * Make docs for debugging Django with reload enabled more prominent * Correctly analyze isinstance call with multiple possible types * Improve file watching on Windows * Fix nose testing support for newer nose versions Version 4.0 beta3 ----------------- June 17, 2010 Features * Support for live update of matplotlib plots for backends TkAgg, Qt4Agg, GTKAgg, and WxAgg with wxPython 2.5+ * Updated French localization of the GUI (Thanks to Jean Sanchez!) * Allow pylintpanel.cfg in the same directory as the project file to override the settings in the copy in the users settings directory Bug Fixes * Django support * Fix failure to debug templates when django.contrib.admin is disabled and in other similar cases * Show meaningful error message on Start New Project when the specified django-admin.py cannot be found * Improved startup and project load times * Fix analysis failure caused by class or def alone on a line * Offer to restart after theme changes rather than to quit * Don't fail to show Snippets tool if when the snippets directory does not yet exist * Fixed error handling when diff/merge fails to set up editors Version 4.0 beta2 ----------------- May 24, 2010 Features * Added Show Docs button to Perspectives management dialog * Support for Django template tags within Javascript and other script sections of HTML Changes * Under Python 2.x, the debugger now explicitely flushes stdout and stderr when start waiting for input on stdin * On OS X, use sys.getfilesystemencoding in preference to locale.getpreferredencoding to determine the default encoding for files that do not declare an encoding and when no default encoding preference is set. Previously, this was the other way around. However, sys.getfilesystemencoding tends to return more reasonable values. * Extension script menus are now placed between the Tools and Window menu * Enabled folding, source assistant, macros, and disk search in Wing IDE Personal * Removed autoquit parameter for StartDebug in debugger API (now always sent to constructor as determined by kEmbedded in wingdbstub) * Removed deprecated commands: * previous-bookmark -- use visit-history-previous instead * next-bookmark -- use visit-history-next instead * search-manager -- use search, replace, batch_search, and batch_replace instead * Removed deprecated API: * CAPIApplication.OpenDocument -- use CAPIApplication.OpenEditor instead * CAPIApplication.ScratchDocument -- use CAPIApplication.ScratchEditor instead * CAPIApplication.RegisterRevisionControlModule -- no longer needed * CAPIApplication.ActiveRevisionControlModule -- no longer needed * CAPIApplication.GetAttribute -- use methods on CAPIProject instead * CAPIApplication.ConnectToAttribute - use methods on CAPIProject instead * CAPIEditor.ScrollToLine argument 'bookmark' -- use arg 'store_history' instead * Use database for analysis data * Renamed Templates tool to Snippets * Commands deprecated and renamed: * template -> snippet * template_file -> snippet_file * template_add -> snippet_add * template_selected_edit -> snippet_selected_edit * template_selected_rename -> snippet_selected_rename * template_selected_copy -> snippet_selected_copy * template_selected_remove -> snippet_selected_remove * template_assign_key_binding -> snippet_assign_key_binding * template_clear_key_binding -> snippet_clear_key_binding * template_show_docs -> snippet_show_docs * template_selected_paste -> snippet_selected_paste * template_selected_new_file -> snippet_selected_new_file * template_reload_all -> snippet_reload_all * template_add_file_type -> snippet_add_file_type * template_rename_file_type -> snippet_rename_file_type (Wing converts key bindings accordingly) * Preference renamed: edit.templates-in-autocompleter -> edit.snippets-in-autocompleter (Wing converts this when creating Wing 4 user settings directory) Bug Fixes * Correctly encode non-ascii characters in source entered into Python shell * Django plugin * Fixed Django menu actions on Windows * Fixed debugging templates on Windows * Improved formatting of text in completion dialogs * Don't enable Generate SQL if there are no apps * Run Sync DB asynchronously, time out after 120 seconds, and show any output in a scratch buffer * Added Extensions sub-menu under Projects menu for Django setup actions * Fix enabling of Django plugin in projects with multiple settings.py and/or manage.py files * Correct (start,end) tag ranges reported in \r\n files * Don't fail to start debugging after ignoring an exception in a template file * Improved exception reporting * Fixed ignoring exceptions in template files * Avoid time consuming rescanning for template tags except at time of file save or read * Correct mime type used for *.xml files * Highlight 'else' within Django template tags * Sped up directory scanning on win32 * Write version 4 project header Version 3.2.13 -------------- March 2, 2011 Features * Added support for Python 3.2 Bug Fixes * Show currect number of matches in Search in Files when showing grouped results * Don't loop infinitely on search files that exceed available memory * Set default values in Configure Python dialog correctly in Wing 101 * Avoid hanging CVS status update on disappearing Windows network drives * Allow $ or ~ to be escaped by \ when expanding environment variables * Don't crash if NUL characters are in a .py file Version 3.2.12 -------------- December 1, 2010 Features * Added support for Stackless version 2.7 Bug Fixes * Correctly ignore exceptions in debugger also for logged exceptions and some others that were not being ignored. * Fixed indent conversion failing when file had inconsistent eol characters * Correct introspected arg order for super() builtin * Change Mako block commenting to use ## and not * Don't remove output of a test when another test named with the start of the first test's name is run * Increase max lines in Debug I/O and shells to 100,000 * Avoid including certain internal stack frames on the debug stack * Better handle non-ascii characters printed in Python Shell & Debug Probe * Don't display comments embedded in arg lists in Source Assistant * Make t the mnemonic for Recent in the Project menu so r works for Properties * Added Project view icon for Javascript * Fixed failure to launch web browser on OS X 10.6 Version 3.2.11 -------------- October 7, 2010 Bug Fixes * Critical fix (also patch #7 for 3.2.10): Avoid data loss when using the Project view to move a file so that it overwrites an already-open file * Don't crash debugger on modules that set __file__ to None or other invalid values * Add .bzr, .git, and .hg to directories to the default excludes file set * Improve perforce integration * Correct startup environment setup on OS X 10.6 * On exit or closing OS Commands tool, terminate any running processes * Syntax highlight InnoSetup files * Avoid missing _v_ft attribute error when debugging scripts under Plone 4 (thanks to Robert Rotterdam for the fix) * Fix Debug Attach to always work under Python 3.x * Stop at exceptions when using python 2.7 unittest * Fixed removal of leading indent when Evaluate or paste tab-indented code into Debug Probe or Python Shell * Remember explicitly added test files * Fix goto source on hg, bzr, & git diff display context menus * Vi mode * Ctrl-P and Ctrl-N navigate the auto-completer * Fix cursor positioning after o or O on indented line (unlike vi this will auto-indent unless the Editor / Indentation / Auto Indent preference is turned off) * / Enter doesn't jump to top of file if search string is not found * Visual Studio keyboard mode * Added "Ctrl-K Ctrl-K", "Ctrl-K Ctrl-N", and "Ctrl-K Ctrl-P" bookmark key bindings * Shift-Delete mode deletes only selection when there is one rather than the whole lines * Add a wingtip describing the Open from Project and Find Symbols features * Don't report incorrect newer versions when checking for updates * Fix beginning-of-screen-line and beginning-of-screen-line-text in shells to operate correctly on lines preceding the current prompt * Fixed unbinding keys * Allow describe-key-briefly command to work with Apple command key * Show more meaningful errors in dialog when pylint fails to run * Keyboard navigation fixes * Improved editor popup menu when displayed via the keyboard * Support menu, delete, & backspace keys in bookmark tool * Support insert, delete, backspace, and space key in PYTHONPATH list widget * Allow Delete and Backspace to delete entries in the Bookmarks tool * Fixed failure to wrap minisearch if display it and press enter to access previous search string * Clarified naming of options in the Default Project Type preference * Fix traceback seen in Perforce implementation when parent directory cannot be determined * Add Cancel button to version control revert and remove confirmation * Fixed copying exception text from testing tool * Larger initial size for patch dialog * Fix internal error seen when clearing Debug I/O tool contents * Propagate KeyboardInterrupt in more cases when input is called in debugger * Fix shells so they work if '__builtins__' is removed from sys.modules (the Google AppEngine does this) Version 3.2.10 -------------- August 18, 2010 Bug Fixes * Vi mode * :w without range to write whole file * x at end of line positions cursor correctly * Paste whole lines after y'a * r+enter places correct line ending character(s) * f, t, F, and T search on correct line ending character(s) * Match current line indent when using O * Support numeric modifiers on i as a way to repeat inserted text * Allow indent-to-match and indent-to-next-indent-stop in visual mode * Shift-delete bound to cut-line in Visual Studio keyboard mode * Allow portions of text in exception tool to be selected and copied * Normally don't include __pycache__ directories in projects * Treat : as part of an environment variable name only if inside () or {} * Split python path properly when environment variable with : is used * Fix failure to activate in rare cases * Don't try to move file to an equivalent name * Don't include extra line when evaluating selection in python shell or debug probe * Start python path browse dialog in starting directory * Stay after prompt in shells when using beginning-of-screen-line and beginning-of-screen-line-text * Testing tool allows copying selected text or all output also in passed tests * Added Ctrl-Minus and Ctrl-Underscore in Visual Studio keyboard personality * Fix swap-lines command on last line in editor * Re-add old style desktop icon in 64-bit RPMs * Don't move focus to testing tool when starting tests * Allow Ctrl-shift-tab to be overridden * Fixed HTML syntax highlighting after escaped EOL within a Javascript string * Run initial Perforce client -o command in the project directory * Fixed debug attach to a remote host * Fix text of partial path warning for Python Path in Project Properties dialog * Keys mapped to start-of-document and end-of-document navigate within the auto-completer when it is active (Ctrl-Home and Ctrl-End and others according to keyboard personality) * Do not wrap test output in XML when debugging unit tests * Improve names of Python syntax coloring states (thanks to Ilya Murav'jov) * Option to display a row of options in Search in Files (thanks to Ilya Murav'jov) * Fixed error message display when using git tool Version 3.2.9 ------------- June 15, 2010 Bug Fixes * Fixed auto-completion in shells and debug hover tips for Python 2.4 and earlier * Fixed VI mode y$ Version 3.2.8 ------------- June 3, 2010 Features * Debugger support for Python 2.7 * Partially updated French localization of the GUI (thanks to Jean Sanchez) Bug Fixes * Avoid hanging up debugger in some Python code * Correctly set embedded mode when starting debugging with import wingdbstub * VI Mode * Fixed non-VI Copy/Paste to work when in VI mode * Fixed p after yj and dj to paste whole lines * Fixed keymap file so Ctrl-S does save * Don't close Custom Key Bindings entry dialog when press Esc so bindings that include Esc can be entered * Always reopen project after patch installation at startup time * Fixed history traversal after Ctrl-Home and Ctrl-End (start/end of document) * Scroll back to prompt in Debug Probe and Python Shell if entering a long source line and beginning-of-line (Home) is executed * Correctly analyze some "with" statements and dictionary comprehensions * Recognize *.css_t files as CSS * Fix help() in the python shell and debug probe under python 3.x * Fix application / context menu key in editor * Allow up to 100,000 lines in the OS Commands consoles * Prevent delete-to-start-of-line command from removing prompt in Python Shell and Debug Probe * Correct documentation for special env vars for Command Line field in OS Commands * Don't hang up Debug Probe when debug process crashes or ends during execution of a command line * Improve parsing of Python 3 function definitions Version 3.2.7 ------------- May 13, 2010 Features * Added preference to control mini-search case sensitivity * Added Debug to Here editor context menu item * Bound Alt-F5 to run-to-cursor debugger command Bug Fixes * Fixed parsing of "from package.module import *" statements * Fixed restart after patch installation during app startup on Linux and OS X * Fixed shared perspectives * Don't add .py to directories created via new directory in project tree on Windows * Improved default extension set in Windows file dialog * VI Mode * Implemented :set for ic, noic, ai, noai, nu, nonu, ro, noro, sm, and nosm * . after x, X, D and a few other delete operations * . after s, S, and C * Fixed p after regular (non-register) Copy/Cut to paste what was copied/cut * Templates tool fixes * Correctly update view when deleting a template * Automatically remove an empty file type when removing templates * Correctly update datastructures when deleting a file type * Allow removing a non-empty file type: Prompt and remove also all templates * Use trash implementation rather than deletion of disk files * Always show '*' tab for templates that appear in all file types * Correctly handle adding and removing of items in '*' tab * Fix errors seen before tool updates when manually remove files on disk * Confirm close of Feedback and Bug Report windows when text has been entered * Fix up and down arrow keys in Debug I/O tool * Include both Disable All and Enable All Breakpoints in breakpoint margin context menu when some breakpoints are enabled and some are disabled * Avoid creating ~/.wingide3 owned by root during install or uninstall on Linux. The desktop icon/menu install log is now /usr/lib/wingide3.2/desktop-install.log and uninstall log is wingide-desktop-uninstall*.log in the system temp directory. * Don't always regenerate .pi files under python 3.x * Fix file properties dialog in Wing 101 * Speed up pathological analysis case Version 4.0 beta1 ----------------- April 23, 2010 Features * Django support * Support for debugging Django templates (breakpoints, stepping, view stack data). Can be disabled under Extensions tab in Project Properties. * Syntax highlighting for Django HTML templates * Improved auto-completion within Django template tag areas * Django-specific actions: Set up Wing project for existing Django project, start new Django (and Wing) project, start app, sync DB, generate SQL, and validate * Scripting API additions * Added a way to specify a script file as a plugin that may be selectively activated * Allow user to specify I/O buffer size/style for sub-processes * Ability to get all editors for a document * Ability to get all directories in project (either top-level or all) * GetClipboard and SetClipboard * Get/Set methods for project and file properties: Main debug file, initial directory, Python executable, run arguments, Python path, and environment * Added arg to GetEnvironment to allow obtaining only user-set values * AddOSCommand, RemoveOSCommand, ExecuteOSCommand, TerminateOSCommand * GetAttribute and SetAttribute on the CAPIProject to allow scripts to associate data with a project or files in the project (the old GetAttribute and ConnectToAttribute methods on CAPIApplication to access undocumented internal attribs are now deprecated). * NewProject * ShowMessageDialog allows adding check boxes, altering buttons, and running non-modal * AddDirectory and RemoveDirectory on CAPIProject * Difference/merge capability (only partially implemented in beta1) Changes * Default for toolbar display is now small icons only (no text) * Cache dir defaults to ~/.cache/wingide4 on non-win32 systems and ~/.cache can be overridden by the XDG_CACHE_DIR environment variable Version 3.2.6 ------------- April 29, 2010 Features * Fix bug that fragmented auto-completion word lists in html files * Added python-shell-clear, python-shell-restart, and python-shell-kill commands * Added Clear to Python Shell Options menu and context menu * Added Duplicate Line Above line editing command * Added emacs style indent-new-comment-line command * Use source code font for details area in Stack Data tool * Added Copy to Clipboard to Source Assistant context menu (right click) * Fixed goto-line when using newer system gtk versions Bug Fixes * Update OS Commands history menu when switching projects * Don't fail to display python manual on win32 in some cases * Fixed location map bug when local dir is root of a drive letter * VI Mode fixes * Accept '.' after co and mo for current line as target * Position cursor correctly after co and mo * Accept :wa also (not just :wall) * Added Ctrl-S to save in vi mode * Fixed . after dd, dw, >} and other operations on next move * Remember modifiers for mode change (like I vs. i) for . * Allow . to repeat p * Fix . after cwabcDelDelxxEsc to repeat whole sequence * Fix x in visual mode to work like d * Fix bug that fragmented auto-completion word lists in html files * Expand $(envname) style environment variable references also in the IDE Extension Scripting / Search Path preference * Remove ## when removing python comments and python commenting mode is block * Copy command works when help text is selected * Expose default file, debug I/O, and shell I/O encoding preferences in Wing 101 * When searching in Help, scroll matches further on to visible area so context is visible * Fixed small memory leak in debug I/O tool * Correctly update current contents of source assistant when change wrap mode * Don't misreport some python 3 dict comprehensions as syntax errors * Fixed failures caused by bookmarks in untitled files * Avoid hanging up debugger on large shelve.Shelf and similar objects * Correctly parse from ..module import * statements * Select filename without extension in rename file dialog * Fixed inclusion of mini-search and several other commands in macros * Close all open files also when closing a project that is unmodified * Avoid multiple Help views when switching projects * Fixed changing of "Include Hidden and Temporary Files" directory property in Project manager Version 3.2.5 ------------- March 4, 2010 Features * Added delete, duplicate, and swap line operations to Source menu * Added rename-current-file command * Added menu item to enable/disable introspection in shells Options menu * Added preference to control default I/O encoding of OS Commands Changes * Restore pre-2.3.2 key bindings for commenting in/out code and add separate key bindings for new toggle commenting menu item Bug Fixes * Fixed output buffering on OS X for debug process and in OS Commands * Fixed debugger support for Stackless 3.0 and 3.1 * Improve input() handling in Python 3.x * Iterator support for sys.stdin * Fixed Fold Python Methods feature to handle comments between methods * Fixed debugger end cases brought out by failure to compile bytecode * Default to utf8 encoding for main debug file in Python 3.x debugger * Moved auto-save files preference to Files tab for clarify * Vi mode searching (/, ?, n, N, *, and #) is case sensitive as in VIM * Fixed HG annotate to use a scratch buffer to show the results * Fixed macros that use backspace at the start of a line * Always display font name in non-italic style in preferences * Added arg to uncomment-out-toggle command to make it optionally remove all levels of comment rather than one at a time * Correct default value for Comment Region Toggle preference to a valid value * Avoid traceback seen when type inferencing times out * Limited extensions to sys.path in main debug file analysis * Fixed keypad +/- in Brief bindings to act on whole lines * Fixed ctrl-S in Brief bindings to use nearby word for search if no selection * Added ctrl-x/c/v/z to Brief bindings * Always use a white background when printing on Windows * Don't flash wrong char under cursor in vi mode when on wrapped portion of line * VI mode * Shift-O in visual mode * gv in browse mode to reselect previous selection and enter visual mode * c and s in visual block mode insert text on each line in block * :N as synonym for :p * gqq and in Visual mode gq map to fill-paragraph (justify text command) * Corrected action of cT and dT to not include search char * 0 and ^ don't toggle between start of line and start of line text * Fix range operated on by vex, ves, and vec * Implemented :e! and :e# * <% and >% indent/dedent between current location and where % goes * Automatically enter visual mode when selecting with mouse (just for duration of one command if starting in insert mode) * Fixed ! filtering via external command * Do not place focus on editor when stepping in debugger to avoid losing focus in Debug Probe or other tools * Fix mini-search to work in the Help / Documentation view * Increase horizontal scrollable width in editor for long lines * Fix potential for crashing debug process on certain file names * Find attributes via introspection on more older style C implemented types * Support recent git versions * Don't crash when copying non-ascii text in OS command output * Don't show multiple instances of the Open from Project and Find Symbol dialogs * Fixed process termination in OS Commands on OS X * Correct sending Ctrl-D in the OS Commands tool so it works when not using a Pseudo TTY * Display error message when a commit is attempted with an empty message * On OS X, dfferentiated icons in OS Commands toolbar * Add *$py.class to default set to exclude in the All Source Files file set Version 3.2.4 ------------- January 28, 2010 Features * Added insert_text as an example editor extension script * Added Indent Region option to tab key action preference * Added visual indicators of line wrapping in the editor when the Wrap Long Lines preference is enabled * Allow resizing the columns in the PyLint tool * Added restart command and offer to use it after installing patches * Notify user when build process fails and offer to start debugger anyway * Pressing Enter on a directory in Project view expands/collapses it * Auto-enter last failed or canceled version control commit message * Added context menu for copy/paste to commit message area in version control tools * Version control annotate commands like 'svn blame' show results in scratch buffer Changes * Restore pre-3.2.3 behavior of the (un)comment_out_region commands so each invocation adds or remove a comment level. Toggle style commenting is now implemented by comment_out_toggle and uncomment_out_toggle. This was an unintended API change. Bug Fixes * Corrected support for non-ascii characters in Debug I/O and Debug Probe when running under Python 3.x * Fix Call Stack tool to avoid selecting wrong frame when stepping * Improve GUI responsiveness in very large projects (optimized external file change checking) * Make sure bookmarks are on screen when traversing marks * Place caret at start of bookmark line when traversing marks * Don't add to the file count in search in files when a file is rescanned * Kill analysis extension module scraper processes when exit Wing and avoid failing to completely terminate the Wing process when such processes exist * Set mime type for files w/o extension with a #!bash or #!perl first line * Don't raise exception when try to execute file and no file is open * Correctly update completion word lists in non-Python files in cases where an error was raised * Renamed confusing tab key action Increase Indent to Move To Next Tab Stop * Documented valid panel types for the show-panel command * On Posix, better handle killing of process groups from the OS Commands tool * Expanded the How-To for Google App Engine * Fix failure to properly auto-indent in some contexts * Support debugging of wide unicode builds of Python 3.x * With statements can be used in python shell & debug probe * Fixed debugger not to leave modules in sys.modules under Python 3.x * Don't auto-hide completion drop downs used in Open from Keyboard and properties, prefs, and command argument collection * Fixed internal error when type in Debug Probe and no debug process is active * Better support for using .pi files with python modules when the source isn't available * Don't show u"" form strings in Stack Data for non-unicode strings or when using Python 3.x * Fix debug internals logging facility under Python 3.x * Move evaluation informational messages to prompt line in Python Shell and Debug Probe so it's clearer they are from Wing and not the code * Remove irrelevant dock window items from the Tools menu when GUI is not in single window mode. * Avoid growing thread selectors too large in thread/frame selectors * Show correct doc string in source assistant for builtin object constructors referenced within the Python Shell, Debug Probe, or while debug is active * Set indent guide color based on editor background color * Don't overwrite sys.exc_info when working in Debug Probe and user-defined stdin/stdout do not have 'encoding' attributes * Recognize also #!Python (capitalized form is used on OS X) as Python file Version 3.2.3 ------------- December 9, 2009 Features * Show return value types in the Source Assistant * Added preference to disable folding of white space at the end of a block of code * Added preference to specify commenting out code with block comments in column zero (e.g. ## in Python) rather than indented default comment style * Show number of search matches and files searched in Search in Files tool * Show number of files and directories in the project view * Added a How-To for using Wing with Autodesk Maya * Added cut, copy, paste items to search and replace entry drop down menus in the Search and Search in Files tools, and make the menu available also as right-click context menu on the entries * Expand special envs like $(WING:FILENAME) in project and file properties, Templating tool, and OS Commands * Toolbar search entry accepts Shift-Enter and toolbar-search-focus command to shift focus to it * Added ability to toggle auto-perspectives from the Tools menu so it's easier to find * Added Ctrl-Shift-F and Ctrl-Shift-G in vi mode to bring up the Search in Files tool for search and replace * Added Select All to Edit menu Bug fixes * Don't lose bookmarks when a file with a bookmark is edited * Fix action of enter key in vi mode search * Correct completion and source assistant information for builtins in Python 3.x (only an issue where builtins changed from Python 2.x) * Inferencer recognizes string type under Python 3.x * Fix introspection for builtins in Python 3.x * Fixed tutorial to also work under Python 3.x * Don't force tab size in Python files to eight except at time of read and save to avoid triggering this feature during normal editing * Fixed failure to cleanly shut down debug in some cases (primarily impacting embedded debugging) * Fixed SuspendDebug and ResumeDebug in the debugger API * Expanded documentation for debugging embedded Python code * Handle invalid dirs in PYTHONPATH when probing for effective python path * Clearer error message when the debugger fails to run due to imprecise fast floating point mode * Added popup indicator in PyLint panel to make Update easier to find * Clarify perspectives GUI * Don't leave existing white space after a template with |m| is inserted * Set correct indentation when template with |m| is inserted into tab-indented file * Find Python manuals installed from packages on OS X and Ubuntu and Fedora * Don't truncate last character in Search in Files result display list * On OS X replicate the environment seen on command line when Wing is launched from the GUI. This fixes potential problems with locale, encoding, and other issues. * Auto-indentation ignores comments between start of block and current position when determining indent position * Minor improvements to connect-at-startup option in Zope integration to avoid confusing tracebacks * Change link in newer release notice to specific product level * Fix theoretical crash in debugger if a file name is exactly 32000 bytes long * Expose Middle Mouse Paste preference in Wing 101 * Set middle mouse paste preference default to False on Windows to avoid common confusion * Don't keep asking to save after Save and Step Over is pressed in debug change confirmation dialog * Disallow non-symbol characters in template names to avoid problems with auto-completion and other code * Uncomment feature will remove one layer of any valid comment type * Update window titles to remove r/o after project is opened * Don't lose bookmarks when comment in/out code, convert a file's indentation, or convert a file's end-of-line style to match project eol policy; also preserve bookmarks if undoing any of these operations * Don't alter folding state when traversing bookmarks, except as needed to display the bookmark * Fixed scraping for PyQt4.Qt and a few other PyQt4 modules * Removed outdated item from the Help / Links sub-menu Version 3.2.2 ------------- October 26, 2009 Features * Added execute/terminate, new, edit, and close buttons to easily operate on commands in the OS Commands tool * Improved syntax highlighting for Mako templates (*.mako files) * Added Show Current File to Project menu to expand to and highlight the current file within the project tool * Added search_text argument to batch-search command * Added Toggle Bookmark to Source menu and editor context menu * Added visual indicator of the location of bookmarks on source files and improved tracking of bookmarks across edits * Added bookmark menu in top right of editor, when bookmarks exist in the current file * Separate completion lists for areas of non-Python files within . Thanks to Ken Kinder. * Allow manually overriding a locked project file * Show number of replacements in Search in Files and Search tools * Added OS Commands option to auto-save before executing commands * Mini-search accepts Enter to search forward and Shift-Enter to search backward Changes * Separated "follow selection" option in project into two options, one for following selection on project view and one for following current editor Bug Fixes * Don't hang-up when a watch tool has a large number of entries * Added missing command documentation for version control * Don't try to recover auto-saved files in 2nd+ instances of Wing * Avoid future warnings and other warnings in Python Shell when used with Python 2.1 or 2.3 * Default .mel files to syntax highlight as C++ (an approximation) * Improved performance for projects with a large number of directories * Increase timeout for WingDBG (Zope control panel) connection to IDE * Include line numbers in default bookmark name when bookmarks are set in a context without enclosing scope and in non-Python files * Don't list packages as children of themselves in the autocompleter * Don't lock up on some python source files * Don't lose scroll position on second+ editor after Replace All * Don't lose consecutive breakpoints during editing if multiple splits are open for the same file * Don't fail to remove run marker in some of multiple splits when debugger continues or exits * Command-click may work for goto definition on OS X * Improve performance of import autocomplete list * Don't fail to start debugger if a new.py file is in main debug file's directory * Avoid exception caused by showing Search in Files tool in untitled project * Fix failure to print on Linux systems that spawn a sub-process in the spool system * Update r/o status of a file after Perforce Revert * Don't lose search string in toolbar search when entering or leaving a line with a breakpoint * Don't lose position of detail view divider in Stack Data tool across debug sessions and frames * Don't try to use broken trash implementation on KDE 3.3 and offer to use fallback trash system if all else fails * Select active version control system based on project contents even if auto-refresh project status is off Version 3.2.1 ------------- September 11, 2009 Features * Added support for Stackless Python 3.0 and 3.1 * Added support for debugging x86_64 Python 2.4+ on OS X Bug Fixes * Don't print when debugging * Handle lost connection from debug server * Recognize all names in form (with angle brackets) as pseudo file names when they are found in __file__ or code objects while debugging * Don't print FutureWarnings in shell and other places when working with Python 2.3 * Fixed Stackless Python support in the 64-bit Linux distributions * Don't display following decorator as part of argument list when entering new def * Correctly report failed commits * Fixed failure to start on Intel OS X if system-wide framework build of Python is not found * Don't indent incorrectly within comment blocks at top level * Don't always stop on a NameError exception by default * Use indent size rather than tab size in vs-tab command * Disable watching of files and directories by version control support by default and add ways to easily enable it * Don't report syntax errors for some valid dictionaries * Find .chm file on Windows even if registry entry contains trailing slashes * Drag-n-drop within the project tree works on Windows * Don't stop when logger error is called with exc_info set to false * Fix auto-indent in a few special cases * Don't fail to start when DYLD_FORCE_FLAT_NAMESPACE or DYLD_INSERT_LIBRARIES are defined with conflicting values on OS X * Don't leak file descriptors when fail to start subprocess Version 3.2 final ----------------- August 18, 2009 Changes * The old Revision Control project properties, under the Extensions tab, have been removed. Use the Version Control preferences instead to configure the new version control integration. * The scripting API support for revision control modules is deprecated: RegisterRevisionControlModule is ignored and ActiveRevisionControlModule always returns True. The scripts that implemented the old-style revision control integration for CVS, Subversion, and Perforce are now disabled by default. These have been replaced with new built-in functionality. Bug Fixes * Remove direct-clicking on project view to rename files and directories since it conflicts with opening files by double click; instead, add menu item to initiate rename * Always use system gtk on 64-bit Linux * Fix bug that disabled editing of project test patterns * Show function or class in symbol menu even if the same name was imported * Don't show definition from base class in source assistant as a likely type * Avoid adding perspective with name set to None * Don't change logging behavior when watching for exceptions * Warn when fail to find a Linux trash * Start shell even if file of seen wing tips is corrupted * Analyze recursive from import * statements * Moved Properties item in Project context menu last to match convention * Update contents of already-visible Perspectives dialog if perspectives are changed in some other way * Correct desktop icon on Linux so it should work with more Linux variants * Don't crash when analysing class with bad syntax * Start shell even if home directory doesn't exist * Take down auto-completer when pressing a completion key and no completion matches * Disable Vista legacy admin file virtualization Version 3.2 beta3 ----------------- July 23, 2009 Features * Perforce & Mercurial version control integration * Added 64-bit Debian, RPM, and tar file installers for Linux * Added Select All item to Testing tool context menu * Added Blame/Praise and Last Revision Diff in the new Subversion integration * Context menu item for copying stack to clipboard in the Call Stack tool * By default confirm copy/move operations initiated by dragging on the Project Bug Fixes * Don't hang up and/or eat large amounts of CPU after an untitled editor is closed or saved * Set default mode for Python to unbuffered (-u) on all OSes so output while debugging is seen more quickly and prompts for raw_input() and similar cases are shown * View as list in version control status tool now works * Don't falsely report syntax errors for some print statements or '*' inside function calls * Avoid flagging "d[a*b] = 1" (and other uses of *) as a syntax error * Add files to recent file menu when toggling state to sticky * Don't flash edit perspective when using debugger restart feature * Recognize .zcml files as XML by default * Fix project Move to Trash on KDE 4+ * Avoid rare traceback seen when moving forward/backward by words * Fix saving of fold state in editors * Don't show the OS X keyboard settings dialog if the settings are already correct under XQuartz * Show a more informative dialog if X11 keyboard settings need to be adjusted under XQuartz * Make sure default log config is set up as it would be outside the debugger before we add our debugger's internal logger * Don't hang on files with names like myfile.py.gz or myfile.py.Z (the mime type and encoding were determined incorrectly as Python) * Debugger no longer reports syntax errors on files with \r\n line endings * Avoid failing to start when there are unexpected files in the autosave dir * Fix problem with unicode in analysis cache * Avoid scrolling during word moves and word operations if the line is already visible on the screen * Bind Alt-/ to show autocompleter in emacs mode and rebind toggling current fold point to Alt-\ to avoid common conflict of old Alt-Tab binding under Posix window managers * Fixed Indentation tool to work with non-Python files * Improved the look of the indentation guides * Don't crash if using private gtk and GDK_PIXBUF_MODULE_FILE is set * Show a dialog on startup if fail to access the user settings directory * Use better default encoding for I/O in the Python Shell on OS X * Retain selection in version control status view to avoid automatic refresh from altering the set of files being operated on * Fixed bug with vi mode :1,1mo2 style move operations * Show underscores correctly in Pylint panel status area Version 3.2 beta2 ----------------- June 17, 2009 Features * Support for Python 3.1 * Rewritten version control integration with support for Subversion, CVS, Bazaar (bzr), and git. See notes in the Changes section below if you have been using Perforce with Wing. * Debugger shows an underline rather than highlighted line when at the very end of a function or method and the last line has already executed. At this time, is given in the Locals in Stack Data and in a tool tip when the cursor hovers over the return statement in the editor. * Added How-To for using Wing with IronPython * Implemented new Project Home Directory in Project Properties under the Options tab to set home directory for project. This is used to override the project file's location as the directory on which Wing will base relative paths for file names in the Project view and elsewhere. It is also used as the directory in which the Python Shell subprocess is launched and for the starting directory when the Default Directory Policy preference is set to Current Project. * Added pref for setting max auto-completer height, default seven lines * Added sub-menu of Edit menu for selecting between keyboard personalities * Implemented emacs Ctrl-O (insert newline after caret) * Ctrl-W places current word in editor into active mini-search * Allow editing the Python Path in Project and File Properties either as a text string or a list * Support __dir__ and _getAttributeNames for dynamic (runtime) completion when the Debugger / Advanced / Allow Dynamic Introspection preference is enabled * Added focus-current-editor command to get focus out of tools * Keep focus on editor when using key equivalents to search/replace with the Search tool * Stop on logged exception in when-printed mode * Added ability to set project-specific pylintrc files * Show key bindings in toolbar tooltips * Show dimensions of compound values in the debug data views * Ability to copy result summary for selected unit tests to the clipbooard * Added Project context menu item to search in selected item * Project files already opened by another instance of Wing are opened read-only to avoid confusing reload dialogs Changes * The version control integration has been rewritten and is now enabled and configured from the Version Control preferences group and includes a tool panel accessible from the Tools menu. Subversion, CVS, Bzr, and Git are currently supported. By default Wing enables the new version control system and disables the old one. If you need to use Perforce, or if you run into problems, the old revision control system can be re-enabled from Project Properties under the Extensions tab. Bug Fixes * Provide valid completion list in 'class x(' context * Fixed perspectives to work properly if auto-perspectives are never enabled * Improved the documentation on perspectives * Re-added the main debug file items to project context menu and restored those in the Debug menu to their former design * Fixed infinite recursion and missing attributes is source analysis * Fixed syntax error message for Python 3.0 and exception tool markup bug * Show key bindings for editor forward/back history buttons in the tool tip * Fix tab indent of string expressions * Increased the frequency of network polling in the debugger, which speeds up some operations * Provide str autocomplete list when interpreter is 2.6.x * Generate more attributes in .pi files when scraping extension modules * Don't drop the debug connection upon call to os.fork() (but child process is not debugged) * Fixed Always Report / Never Report exceptions preferences * Don't fail to omit default tool panels when removed and quit/restart * Don't show completed and terminated threads in the debugger thread list * VI mode correctly toggles position when `` is followed by `` * Support .pi files for package defining extension modules as used in IronPython * Show completer also when type "from a.b." * Added properties to sys.stdin wrapper used in Python 3. * Don't show Wing Tips unless a license or trial has been activated * Source assistant now respects display font when using default theme on win32 * Added info on exception handling to the Django How-To * Avoid problems caching analysis information for files in a zip/egg * Don't report always-report exceptions if there is a handler that handles a base class of the exception (such as 'except NameError:' when an UnboundLocalError is raised) * Don't choke on \r\n in continued single quoted strings * Added .pxd files to default to Cython type * Respect sorting of items in list preferences and properties when items are reordered with drag and drop * Correctly generate signatures in .pi files for functions with no args as specified in doc strings * Always save the current perspective before changing to a new one * Don't flag the following as errors in Python 3.0 style code: 0o07, 0b001, b'', 'raise A from B', 'except X as e', 'class A(metaclass=X)', 'class A(B, x=1)', 'print(x, end=">>")', 'x(a, b, *args, c=1)', 'a, *rest, b = x' and similar, {a, b} set literals, and {a: b for a, b in d} dict comprehensions * Don't choke on variable changes initiated from the debug probe when working under Python 3.0 * Support also debugging Stackless tasklets started with setup() and bind() * When debugging a test, display output a line at a time * Always allocate room for icons in autocomplete popup * Menus prefer "Command-" key binding on OS X if there are several bindings for a command, and the shortest binding in other cases Version 3.2 beta1 ----------------- March 18, 2009 Features * File management in Project view * Create and delete files on disk via the context menu * Rename files by clicking on and editing their names * Copy or move files by drag and drop in the project view * Auto-completion in the editor sources completion data from live runtime when the debugger is active * Perspectives: Create and save named GUI layouts and optionally automatically transition when debugging is started * Partial support for Python 3.0 * Highlight correct keywords and builtins * Working goto-definition and auto-completion for many cases * Debugging support * Improved support for Cython and Pyrex (*.pyx files) * Don't show syntax errors * Improved syntax highlighting * Prompt to restore auto-saved changes when Wing fails to save files due to a crash or preemptive exit * Follow selection in the project tool selects the file name as documents are opened * Added to scripting API: * Ability to connect to active-window-changed signal * Save method on document object * Added key binding documentation to the manual * Set default bookmark name for a new bookmark to the scope name, when possible * Traversal of bookmarks with next/previous within all files or the current file only * Redesigned Exceptions tool with Options menu and content that can be easily copied to the clipboard * Arguments may be specified for external console programs * Added Restart Debugging item in Debug menu and tool bar * Preference to always highlight the current editor line, so the caret is easier to find (disabled by default) * Allow file open / save dialog to be resized on Windows * Added an auto-completer mode that replaces current word only when it seems to match the completion choice * Support completion in relative import statements Changes * The Main Debug File is now set in Project Properties under the Debug tab or via "Set Main Debug File..." in the Debug menu and not from the Project context menu * The commands 'next-bookmark' and 'previous-bookmark' are deprecated and should be replaced with 'visit-history-next' and 'visit-history-previous' for the same functionality, whenever this command is used in user-defined key mappings and scripts. * The CAPIEditor.ScrollToLine API method has renamed parameter 'bookmark' to 'store_history'. A deprecation warning will be printed when scripts use the name 'bookmark' in keyword argument lists. * The wingdb script is no longer used when starting the debugger * Templating tool uses indent/outdent commands rather than right/left arrow keys to move the whole template in or out during data entry mode * The previously deprecated command 'execute-cmd' has been removed * Added optional 'filename' command to the 'open-project' and 'save-project-as' commands, which avoid prompting the user when given * Auto-indentation within multi-line logical lines uses spaces only after the leading indentation on first line is passed Bug Fixes * Don't show always disabled items in editor context menu in non-Python files * Corrected column range highlighted when jump to definition from the Source Assistant * Fixed adding files to the project on Posix by dragging names from external apps onto the project tree * VI Mode Fixes * Fixed 'o' (exchange point and mark) * Avoid restarting search in files unnecessarily in certain cases * Replicate tool set in existing document window when a new one is created * Don't confuse cached debug values for different threads * Correctly show key equivalents in menus also when the command has default arguments specified * Don't reduce window sizes at bottom of screen when restoring windows * Show the file name and line number corresponding with source location in tracebacks when using Evaluate in Shell and Evaluate in Debug Probe * Don't show gibberish TOC.idx file when fail to find documentation after switching Wing installation location * Don't follow circular symbolic links in the project view or in watching directories for changes * The indentation converter will correctly convert docstrings by altering only leading indentation and will avoid converting indentation in long strings within non-docstring multi-line logical lines * Include Show Line Numbers also in Editor preferences * Close Save Files, Project/File Properties, Preferences and a number of other dialogs when Esc is pressed * Close Open from Project and Find Symbol dialogs when Esc is pressed also if there is no match in the list Version 3.1.9 ------------- * Prevent hanging the IDE when some debug data types are expanded or moved into the Watch tool * Prevent crash seen when opening or creating splits for some html files * Correctly set the line ending style also in empty files * Added How-Tos for web2py and mod_wsgi * Added preference to set the rate or disable editor caret flashing * Fixed a few bad links in Wing 101 documentation * Display ActivePython or Python 2.6.1 .chm file * Avoid leaving debugger in a bad state when an Attach fails * Make test runner multiprocessing friendly * Fixed goto source for an exception in the testing tool * VI mode now accepts a range for :w command * VI mode now supports :copy and :move * Read ignored exceptions in zip files correctly from project * python_d.exe debugger support on Windows x64 * Clear watch tool before opening new project * Evaluating selections in the editor in the Python Shell and Debug Probe use 'single' mode for single lines so any value of the expression statement is shown * Fix problem with wxPython support seen when debugging an embedded interpreter * Terminate running processes when they are removed from the OS Commands tool * Fix failure to convert indents in some files Version 3.1.8 ------------- March 23, 2009 * Fix problem seen in some repositories when working with Subversion 1.4+ * Fix problem ignoring settrace exception on x64 systems * Show meaningful error when trying to debug a main file within a zip or egg * Fixed cursor color problem in search fields when editor background is not white * Use .chm file on Windows for python manual when available * Correctly parse import statements that are split over two+ lines * Correctly handle some failures to start sub-processes for various internal functions and the scripting API * Fixed problem with "perforce submit" with some perforce versions * Improved display of long exception messages in testing tool * Show fewer dialogs when passive listen fails inability the debugger and clarify the errors shown * Mark invalid command strings as unavailable * Upgraded Wing's private copy of Python to 2.5.4 (includes security patches) Version 3.1.7 ------------- January 20, 2009 * Support for Stackless Python 2.6 * Fixed partially broken support for Subversion 1.4 and 1.5 * Avoid hanging on HTML files with certain editor background colors * Fix handling of input in OS commands w/ multiple active processes * Use natural sort in testing tool display * Remember the most recently used Goto Line number on a per-file basis * Show tool tip explaining function of stick pin icon on editor * Fix justify text when cursor is at end of a triple quoted string * In vi mode, F char search also finds char if directly to left of caret * Don't auto-close empty windows when moving editors to other windows, to avoid losing custom tool layouts * Fixed the toolbar-search command to also enter the given text into the toolbar search widget * Fixed the toolbar-search-next command to use the already-entered text for searching (the 'text' argument has been removed) * Fixed vi mode failure of !! on certain commands (like 'date') * Fixed project-open wingapi signal * Scripts won't be reloaded if they set a _no_reload_scripts global to true or the auto reload preference is off * Set correct carat when opening new files in vi mode * Corrections to the pygame How-To * Handle cases in debug code where getattr() raises a NameError even if a default value is given * Fix display bug in patch dialog when running with some system GTK versions * Honor the configured Display Area also for dialog positioning * Don't hide the symbol index menus above the editor when save a new file * Avoid overlapping windows when changing the Window Policy preference to One Window per Editor * Correctly repopulate Browse Project Classes in the Source Browser when switching projects * Fixed broken links in the Templating tool documentation Version 3.1.6 ------------- December 12, 2008 * Added support for pylint version 0.15 and later * Fixed incorrect or missing value display sometimes seen in debug tooltips * Fixed incorrect or missing type information in source assistant sometimes seen when working in the Python Shell or Debug Probe * Removed stray references to Watch, Debug Probe, Source Assistant, and Source Browser from the Wing IDE Personal documentation * Don't update non-Python autocompletion word lists too soon while typing is still in progress * Better support for python with statement * Don't hang up at startup if the stored vi mode registers are very large * Clear pending vi move command when Esc is pressed in browse mode * Update availability of save and save-all toolbar icons correctly after saving * Find modules imported via a from . import statement * When auto-brace highlighting, prefer the brace before the cursor when one exists both before and after * Add Evaluate Only Whole Lines to debug probe's option menu * Don't display syntax error tooltip if syntax error display is off * Display doc string from base class when appropriate * Allow columns in template tool to be resized * Update correctly when replacing with '' in search in files tool * Report test results, even when test process completed almost immediately * Report encoding errors in test files correctly * Allow ctrl-mousewheel to zoom in help viewer * Don't let the default encoding be set to something unsupported * Improve differentiation from background colors on dark backgrounds * Fixed problems reporting failure to start subprocesses * Expand ~ in file name entries when listing files * Ignore \ and # comments when finding possible imports * Don't display error dialog when stack frame is in binary file * Change the file type of any open files that match changes to the Files / Extra File Types preference * Correctly show traceback for frames where the linecache returns binary data as the source code Version 3.1.5 ------------- November 6, 2008 * Added 'watch' item to the editor context menu for easier debug watching * VI mode * Fixed yy followed by p at end of file without trailing newline * Fixed v character selection to not auto-select to right when start * Fixed y and d to operate on correct character range * Leave cursor in correct location after y * Repeat of A and O with . correctly positions the insertion * Don't always use absolute path names in testing tool * Correctly handle \\ in run arguments on win32 * Added ability to run pylint against whole package when current file is a package member * Fixed formatting error on Tutorial's Getting Started page * Fixed Help menu link to Introductions to Python * Don't fail to start debugger if sys.stdin can't be replaced * Allow specifying class decorators in the Python Shell and Debug Probe * Fix file entry popups when running with compiz window manager * Correctly display file and directory names that contain &, <, or > in the project view * Store list of test files and test file specs and default testing framework in the shared project file * Support goto-definition and source assistant on 'x' within 'from x import y' statements (where no symbol 'x' is actually created at runtime) * Fixed auto-start of searching when insert tab or paste into search tools' search fields * Don't auto-start searching in Search in Files after project change until user either presses a Search button in the tool or makes some change to the search parameters * Added batch-search-forward and batch-search-backward commands * Include testing commands in manual command reference * Don't set title on Linux & OS X debug console windows so newer versions of gnome-terminal work * Fix external console support on systems with a setuid xterm * Tool box menus now display also in French localization and others that reverse the position of tool box name and position number * Fixed failure to restore browser state when using same project with English and French localizations * Improve horizontal scrolling when displaying search results * Update also shared toolbox window titles when project changes * Correctly search on selected text in editor when the focus is in the Search in Files tool at the time a multi-file search is initiated * Fixed failures to update auto-completion word lists in non-Python files * Don't include Visual Studio project files in All Source Files file set Version 3.1.4 ------------- September 18, 2008 * Added support for Python 2.6 * Don't crash when preferences file contains a blank string for a font * Added goto-line-select command for scrolling to and selecting a line * Added select-lines command to select all of current line or lines * Jump to correct location when click on overridden method name in the Source Assistant * Ensure template directories are created * Don't display message that save is unavailable before running pylint * Allow / and \ to be used to add a directory name in open from project * Search for all space separated words in open from project * Fix signals emitted by the wingapi application object so they work * Support template names with spaces in autocompleter * Don't hang up when up or down arrows are pressed in shell while code is running * VI mode fix: After / deselect then search match once Enter is pressed * Don't hang when there is a fifo in a project directory or when one is opened into the editor * Fix replace all in search tool when last search was for the previous match * Correctly display unittest methods defined in base classes in testing tool * Added Zope Host property for Zope2 configuration so that Wing can correctly translate file names found in the zope.conf using the matching entry in the Debugger / External/Remote / Location Map preference. * Don't convert _ in filename to an underline in pylint tool's popup menu * Support zope buildout directories not named instance * Add highlighted keywords for caml, d, escript, lisp, ps, and yaml files * Don't continously reset the auto-completion preference to enabled * Don't show tooltips on tree views when Enable Tooltips pref is off * Don't hang up when socket.connect() returns an invalid ip address (seen on some Linux systems during startup of the Python Shell) * Fixed a few cases where debug tooltip wasn't shown * Fixed cases where the visual state of the gui would not be restored * Don't fail to open a project if mounted volume is unavailable * Reduce chances that two instances of Wing can obtain the analysis cache lock at the same time Version 3.1.3 ------------- August 5, 2008 * Allow use of Ignore this Exception Location in the Exceptions tool to suppress checking for calls to sys.settrace(). In general, calls to sys.settrace() will break any Python debugger and should be avoided. However, Wing's debugger is still useful, despite partial breakage, in some environments (including Turbogears). * Don't show error dialog when fail to open files in call stack, instead warn in the status area at bottom of the editor window * Suppress error dialog seen when run into encoding errors during column determination in editor when selection is invalid * Better auto-completion for GStreamer (added necessary extension module scraping helper code to the defaults) * Fix removal of files/dirs from non-recursive project directories * Correctly update list of files in non-recursive project directories when contents of disk changes * Fix passing empty arg to subprocess via the api * Improve type inference for variables in sequence unpacking assignment; e.g. a, b = 1, 2 * Corrected menu item labels for moving a tool to another toolbox * Added Evaluate Selection in Debug Probe to editor context menu, when debugger is paused * Fix project switching and window title updates in one-window-per-editor mode * Fix incorrect parsing of user-added pylint arguments * Use system environment's PYTHONPATH when appropriate * Fix perforce's whose line command on win32 * Highlight python builtins; this can be disabled via a preference on the Color preference page * Correctly list names of overridden methods in source assistant * Don't right-strip lines during auto-save also on Windows when the cache directory isn't same as user settings directory * Handle badly formed python with too many ('s in analyzer * Fix double-clicking on stack data and other tree widgets * Fix failure to change projects due to failure to get version from python* executable * Fix exception from problems in testing tool * Case changing commands are recorded correctly in macros * Better handle corrupted project files * Tokenize raw strings correctly * Fixed cases of updating Search in Files that slowed down typing when search scope contained many files * Improved finding of source file when name compiled into bytecode differs from name of pyc file without the c * Fixed stopping on breakpoints and ignoring exceptions in zip files Version 3.1.2 ------------- July 1, 2008 * Add alt-a accelerator for Replace All in search tools * Minor documentation updates * Fixed object life cycle bug in checking files for external changes * Avoid failure to display help, exceptions, and source assistant when the Document Text Styles preference contains an invalid foreground color * Don't incorrectly ramp colors on help, exceptions, and source assistant with some of the non-default display themes * Removed outdated example args from pylintpanel script * Avoid debug process segfault after sys.exit() when using wingdbstub * Catch exception when autosaving file with invalid file name * Allow autocompletion after the else keyword * Allow python executable to expand PYTHONPATH * VI mode fixes * Fixed d$ and c$ and similar to include last character on the line * Correctly handle s/x/y/g where x or y contain '=' * Copy/Cut in editor via menus also moves the selection to the vi register * Correctly repeat tab key and some other actions with '.' * Fixed several problems with finding Python on Linux and OS X * Don't ignore user-provided builds of the debugger for unsupported Python versions * PyLint integration runs pylint asynchronously rather than hanging the GUI * Remove unsupported view-project-by-mime-type command * Improve project tree stability in rare cases * Ask whether to save project when the .wpr file is readonly * Include module name of exception module in exception display * Fix document switching on Ctrl-Shift-Tab * Save fold state across IDE sessions * Don't do auto-completion when at program-requested keyboard input in shells * Debugger source distribution is correctly configured for Wing Pro * Use environment values defined in file properties when executing file * Fixed printing on OS X Leopard * Use also right command key for alt when command is alt on OS X * New global X11 alt key option for OS X to use both option keys for alt * Added missing unit test runners and default templates to the RPM package * Fixed rare exception seen when trying to reanalyze files that are being removed and recreated * Fixed pasting text into the Python Shell in Wing 101 * Expand project tree at startup as it was previously expanded * Don't rewrite project files with True & False as 1 & 0 * Fix encoding problems caused by evaluating files with a coding comment in the python shell * Support from __future__ in Python Shell and Debug Probe * Display < and > correctly in testing tool * Unconditionally stop program in debugger if program calls sys.settrace * Show class attributes in stack data in cases where there are no instance attributes * Show names from nested scope when function name is set multiple times * Re-analyze buffer when analysis is found not to match text while indenting * Added items for Show Documentation to a number of tool's options and/or right-click context menus * Added method to CAPIDebugRunState to obtain the debug process's ID * Added project property to specify default file encoding * Fixed incorrect template field highlighting when template starts with a field and is auto-indented * Group template entry into a single undoable action * Fixed editor state restore to track to changed location of source code (affects bookmarks, among other things) * Fixed restoring of search scope on Windows * Improved goto source for doctest tests in __test__ Version 3.1.1 ------------- May 20, 2008 Bug Fixes * Don't highlight line following selection when searching in selection * Fix replace in selection when lengths of search and replace text differ * Don't set globals to None in doctest runner * Change away from directory search scope in Search in Files when create a new project, to avoid accidentally searching in unexpected places * VI Mode fixes * Don't allow cursor in browse mode to move past end of line * Don't select one character too many when entering line select mode * Fixed 'o' at end of file without trailing newline * Fixed '.' of 'dt' sequences (delete to char search) * Implemented 'a,'b and +x,-y style ranges * Fixed :s to correctly constrain number of matches per line * Fixed :s to constrain replacement to current line by default * Fixed :d to delete just current line by default * Fixed :! to not operate on the whole file if no range is given * Terminate 'r' and similar when Esc is pressed * Avoid exception triggered by rare analysis case * Fix shift-Home in interactive shell & debug probe * Allow () at the end of command name in command-by-name entry * Fix the save-buffer command * Do not exit the debug session when using wingdbstub with kEmbedded=True and a top-level exception is seen * Adjust colors in Exceptions, Help, and Wing Tips to be visible on selected background color * Insert space after completion when space is used as the completion character * Allow user to specify that OS Commands should not be raised for a command when it is executed * Fixed printing failures on Windows seen when running in some locales * Show only recent files within current project in the Open From Project dialog * Added Wrap Long Lines option to OS Commands * Template tool skips 2nd+ like-named field and auto-enters values for them * Resolve relative python interface path entries under the user settings directory * Don't auto-strip trailing white space during autosaves * Don't reposition caret to start of line when auto-stripping trailing white space on the current line * Fixed traceback seen during back tab in emacs mode * Automatically expand search and replace fields in search tools when the text in the fields contains a newline or carriage return * Don't try to use Python versions that are not supported by Wing Version 3.1 ----------- May 7, 2008 Bug Fixes * Disable save all when only project may be saved * Improved doctest support: goto source, __test__ dictionary, output of failed tests * When going to point of unittest exception, ignore inner most fail* or assert* frame * Don't fail to start wing if the last-update-check file is corrupt * Expand folds when altering indent level of folded code to avoid confusing visual state * Text re-wrapping leaves triple quotes in docstrings and leading and trailing open/close paren/bracket in assignments on a separate line if they started that way * Correctly indent after multi-line triple quoted string in arg list or dictionary * Better document the middle mouse paste preference * Fix search & replace in newly created files * Don't remove tests from display tree when test run is aborted * Only expand to show failures that occurred in the last test run * Don't crash when popping up a second copy of a torn off menu * VI Mode fixes * Improved block select mode so visually highlights more like vi * Fixed move to register in char select mode to use correct range * Don't eat an extra character when pasting a block * Don't move caret backward one char when fail search with N or n * Fixed incorrect grouping of undoable actions when changing modes * Fixed failure to set caret shape in some cases * Don't incorrectly offer Find Symbol feature in non-Python files * Source Assistant does not take focus away from the editor * Better detection of console encoding on win32 Version 3.1 beta3 ----------------- April 24, 2008 Features * Project directories may be sorted by mime type and have directories appear at the start or end of the list. This replaces the option to view all files by mime type * Can specify a line number for the first file opened via the command line by appending : to the file name * Preference to auto-strip trailing white space when saving files to disk * Support for scanning the main debug file for changes in sys.path. Only fairly straightforward changes are found, such as those used by buildout generated scripts. * Added How-To for using Wing IDE with the Google App Engine Bug Fixes * Log and suppress intermittent os.listdir failures seen on Linux, to avoid showing repeated error dialogs during background processing * Fix next-document, previous-document, nth-document commands * Don't ignore function vararg and kwarg in source analyzer * Clear testing tool when switching projects * Revised testing tool context menu * Fixed algorithm for indenting 2nd+ line of a logical line * Fixed some typos in documentation * Better handling of nose tests with long names * Fix debugger confusion when variable was previously set to a huge value * Added Debian package dependency for enscript, which is used for printing * VI mode improvements * Set block cursor also when open new file or create new splits * Fixed d delete applied to F and T reverse char search * Added I and A in visual mode, including multi-line typing when block selecting * Changed default behavior of ctrl-x/c/v on OS X to execute vi mode commands rather than cut/copy/paste. The default remains clipboard only on Windows and can be changed with the Keyboard / VI Mode Ctrl-X/C/V preference. * Fixed incorrect selection of first column seen in editor * Fix browser's module view to not show packages multiple times and to update as files are added and removed * Sped up stepping in the debugger * Templates auto-terminate inline data entry mode when reach the final resting place denoted by |!| * Set encoding for stdin / stdout / stderr for debug processes using the debug i/o panel and in both the debug probe and interactive shell * Fix sorting of snippets and similar symbol names so they are correctly selected in the autocompleter * Cancel closing a project if cancel is pressed in the save files dialog * Default key bindings do not mask custom key bindings starting with Esc * Warn when TortoiseHg is installed * Fix stackless debugging when a tasklet finishes * Store current search scope dir name as relative to project file to avoid mistaken search/replaces after copying project files * Allow another file to be chosen when save project fails due to a readonly file * Don't raise exception when auto-completing in certain document types * Fixed minisearch on OS X so that Command-U and Shift-Command-U repeat the search while the minisearch buffer is already active * Python Shell will run threads spawned from the main thread, though only the main thread may read from stdin * Improved debugging of code executed via execfile * Show re pattern methods in python shell's autocomplete popup * Show Python Path in the Show Analysis Stats dialog as a scrollable list * Include None in auto-completion list after return * Use documentation on www.pygtk.org by default in the pygtk_to_pi script, rather than the docs on www.gtk.org (a constant in the script selects among these) * Don't falsely warn that a buildout based Zope2 instance is invalid. * Include the first part of multi-part import names in autocomplete lists. Version 3.1 beta2 ----------------- March 11, 2008 Bug Fixes * Include initial templates * Include test runners in correct location * Fix recursion problem when trying to find name of package not in python path * Correctly report results of decorated functions in testing tool * Don't mark valid with statements as being incorrect * Don't choke on extension modules in .zip / .egg files Version 3.1 beta1 ----------------- March 5, 2008 Compatibility Notes * The key bindings for OS Commands are now stored in the project file and not preferences since the commands themselves are defined in the project. Existing bindings will be retained but may be removed manually in the Keyboard / Custom Key Bindings preference. Features * Open from Project allows quick selection of files from the Project by typing a fragment * Find Symbol allows quick selection of symbols in the current Python file by typing a fragment * Sort menus and lists using more natural sorting so x2.py comes before x10.py * In-line argument entry of code templates/snippets (tab and back tab to traverse fields; arrow keys to change template indent, Esc to exit data entry mode) * Include templates by name in autocompleter * Show gi_running and gi_frame in Stack Data for generators * Simple word list driven auto-completion when working in non-Python files * Preference to set a minimum completion fragment length threshold before the auto-completer is shown * Support for pkg_resources based namespace packages * Support for doctest and nose unit test frameworks * Files within .zip or .egg files can be displayed in the editor Bug Fixes * Don't obscure breakpoints with the debugger run marker in the breakpoint margin * Don't fail to scrape whole extension modules when some argument parsing fails * Prefer framework Python from /Library/Frameworks/Python.framework/Versions/Current on OS X * Do not store key bindings for OS Commands tool in user preferences since the commands are defined in a project-specific way * Block indentation does not remove breakpoints * Display name set on threading object for threads created by the threading module when the name isn't auto-generated * Use insertion caret in vi mode when in insert mode * Data value introspection attempts to avoid calling python code or triggering other dynamic behavior * All stackless tasklets may now be debugged * Display name of stackless tasklet currently running in thread selector * Better support for Python 2.5 syntax, fixes defined variables failing to appear in autocomplete list and rare marking of valid code as having errors Version 3.0.6 ------------- Bug Fixes * VI mode fixes * Fixed mode change commands to work when multiple windows are open Version 3.0.5 ------------- April 24, 2008 Bug Fixes * Fix analysis cache problem when multiple copies of Wing run simultaneously * Show 5 lines for Run Arguments in a file's Debug Properties * Fix problem where 100% of a core was sometimes used after switching tools * Save project automatically before quitting * Fixed some typos in the tutorial * vi mode fixes * Ctrl-E and Ctrl-Y in browse mode leave cursor in correct position * Fix repeat with '.' of <<, >> and a few others * { and } skip also lines that contain white space * Added zc and zo for collapse and open fold point at current line * Added zO to completely expand fold point at current line * Added zR and zM for collapse and expand all fold points * Added zr and zm for collapse and expand more * Allow ctrl-c/x/z copy/paste in visual mode * Suppress errors seen when copy/pasting in vi mode and editor has lost focus * Fixed moving backward during char select mode * Enforce stopping at end of line in char select mode * Fixed r in visual modes and corrected it to replace the correct char range * Do not throw exception when use Ctrl-W +/- and tools are minimized * Fix 'o' so it works properly on a blank line and at end of file * Repeating visual mode < and > with '.' now indents correct number of lines * Fix 'y' in block select mode to move correct text to register * Paste blocks so they are correctly inserted into text * n and N repeat search position cursor at start of match, not end * '' correctly returns to location prior to 'a * Fixed :wq to also close the file if it has no unsaved changes * Implemented :rewind and :last * Added approximation of named based document switching with ":n " and ":p " * '.' repeats deletions correctly without also repeating preceding cursor moves * Fixed :q! to work w/o prompting to save changes * Enable svn add on project for new directories * Don't mistakenly say that search in files is completed when Wing starts * Include pygtk_to_pi.py in src/wingutils in the binary distribution of Wing * Don't fail to start if files in user settings directory are corrupt * Set auto-bookmark before jumping to bookmark so it's easier to return using the history arrows * Don't crash on win32 when accented character is entered into svn commit text area * Fix open from keyboard entry's handling of accented characters Version 3.0.4 ------------- March 5, 2008 Bug Fixes * Debugger overhead reduced by about 50% per instruction * Don't show bogus new-line command failed notice when press enter after a new comment in C/C++ code * Expanded and updated Django How-To * Fixed rare failure not to report test results * Improve breakpoint tracking when inserting lines * Better handle auto-wrapping of ##'ed lines and preserve leading white space after the # characters * Don't fail to start if project file specified on command line doesn't exist * Use package .pi files if they exist for a non-builtin extension module * Improve pygtk .pi files to include enum / flag constants and some modules from gnome-python packages * Don't allow clicking on or moving to header lines in grouped result display mode in Search in Files * Avoid loading CPU when some tool types are visible * Don't flag class name(): as a syntax error * Fix failure occuring when enter is pressed at end of /* */ comment in C/C++/Java file * Fix failure to save projects, preferences, and license activations on file systems that mis-report os.stat(dirname)[stat.ST_MODE] for the directory where the project is being saved * More reliable reporting of exceptions when debugging unit tests with When Printed exception reporting mode * Fixed occasional failure to format method signature in source assistant * Debugger avoids confusing like-named code objects in rare cases Version 3.0.3 ------------- January 14, 2008 Bug Fixes * Fix broken input handling during debugging when working in Debug I/O tool * Use presence of a file to enable the PyLint integration (disabled by default) so it doesn't disable itself with each upgrade of Wing. See scripts/pylintpanel.py. * Fixed incorrect bolding of results in Search in Files when using Group result list format * Avoid errors seen with certain values when typing in Debug Probe or Python Shell and source assistant is visible * Allow clicking on editor stick pin, options, and close items in top right even if menu index menus extend under it * Correctly launch default web browser on OS X11 when DISPLAY is set to /tmp/launch-* style value * Allow setting DISPLAY environment variable to alter which browser is used for displaying on OS X * Try more browsers (when found) for opening URLs and files externally * Recurse into directories named core or matching other temporary file patterns when searching * Don't remove file name header in search in files when updating results * Allow return key to work in the save modified files dialog * Added project name to tool box window titles * Better error reporting when failing to open url on Windows * In emacs mode, ctrl-right arrow moves to end of word, not start of next * In emacs mode, ctrl-@ is synonym for ctrl-space * In emacs mode, ctrl-x [ moves to start of file and ctrl-x ] moves to end * Don't incorrectly process _ in OS Commands menus as accelerator * Fixed failure to track changes to a file when triple quotes are added or deleted * In vi mode, fixed ZZ in visual mode to work properly * Don't ask whether to save new file if a save is explicitly requested * Don't show scratch buffers in file menu recent list and stick pin (visits) recent list * Don't remove non-existent files from project view when they are still in the list of manually added files in the project * Correctly remove excluded directories from the project view immediately rather than requiring restart in rare situations * Start up even if the preferences file is corrupt * Improved handling of lines continued with a \ character * Append \n to process termination message in OS commands * Don't exit Wing when changing projects in some situations * Fix Zope debugging support on 64 bit Linux * Fixed bugs with line section mode and moving to a specific line * Better automatic wrapping of simple python comments * Correctly handle setting title when printing with enscript on Posix and full path to enscript is given in a custom print command * Don't select half of a \r\n eol when displaying line from pylint or other tool * Move remove from project below add to project on popup menu * Ctrl-backspace in emacs mode sets removed text into clipboard * Ensure prompts in debug probe and interactive shell are on their own lines and are initially visible * Ignore blank lines when calculating indent level * Add browse mode z+ keybinding to vi Version 3.0.2 ------------- November 27, 2007 Features * Provide user the option to select conversion style when opening Wing 2.x projects: Either retain as static list or convert to auto-updating project format. * Add project name to window titles Bug Fixes * Fixed opportunity for missing matches during Project search when using the Title Style preference set to Base Name Only * Turned on extension module scraping by default which was broken in 3.0.1 causing failure to show completion for pyqt among other modules * Don't use recursive directories when converting from Wing 2.x projects to avoid performance problems on large directory structures and to avoid including unwanted sub-directories. * Fixed "/" in vi mode to (again) properly exit when enter key is pressed * Correctly prefix 'unknown:' to file names obtained from wingapi (this fixed incorrect availability of Subversion commands for scratch buffers, among other things) * Optimized starting a search of all project files * Correctly handle long filenames in analysis cache * Fixed search problems when 2 or more search tools are available * Fixed segfault when starting to debug with wingdbstub in some situations (for example when working with mod_python) * Fixed crashing on certain X11 servers, most notably under OS X 10.5 * Corrected argument highlighting when invoking unbound or static methods * Do not discard trailing EOL when converting EOL style with File Properties * Linked to Subversion book and cheat sheet in Subversion setup documentation * Show only project file name in project view header to avoid overflow * Select correct initial project view style radio button in Options popup * Don't mix up history between multiple instances of Python Shell or Debug Probe * Update case of filenames on win32 when they change on disk * Don't obscure the current run marker when the Exceptions tool is shown * Removed obsolete auto-add project files preference (use directory properties in the Project view instead) * Allow argument lists for OS Commands tool to be longer than 80 characters * Added move_cursor argument to scroll-text-*-up/down commands so that user can redefine how ctrl-up/down work to not move the cursor within the source * Don't lose debug program output if debug i/o tool isn't shown until after debug program exits * While debugging, wait for all threads created by the threading module when main thread exits * Show full path when using groups result display in Search in Files Version 3.0.1 ------------- October 24, 2007 Compatibility Notes * Toolbox split location is now controlled from the toolbox context menu instead of using a preference. This location is saved in the project, with defaults of right and bottom. Features * Added Remove All Bookmarks to bookmark tool context menu * Added a preference to turn off warning and error indicators on the editor * Windows file dialog remembers last selected filter during a session * VI mode improvements * Added ^[ as equivalent for Esc * | goes to column 0 instead of prompting if no numerical modifier given * / search will move to next match (wrapping if necessary) when enter key is pressed * Changing docs with :next :previous and Ctrl-^ * h, l, and forward/back arrow keys no longer leave current line * When leave insert or replace mode, cursor moves back one * :0 also goes to first line * Line selection mode correctly selects whole lines as move up/down * Deleting to mark (d'x) properly deletes whole lines * '.' can also repeat D and Ctrl-U delete to end/start of line * 'y' places correct lines into register when in line select mode * Fixed 'r' in visual block mode * Don't skip matches when repeat searching with 'n' * Correctly handling '.' after 'n' Bug Fixes * Fixed formatting bug in Wing 101 docs * Don't use windows directory as default initial directory when nothing is open * Report failure to find codec to encode file when writing to disk * Fixed typo in Debian package installation instructions * Fixed several broken links in the documentation * Don't switch thread focus in debugger when debug probe tool is displayed * Better error message when trying to debug unsaved new file * Don't segfault when exceptions are raised in some cases * Fix potential deadlock when debugging multi-threaded code * Turn off "in selection" search when searching for the current selection * Take down menu before switching projects with Recent menu * Optimized switching projects with Recent menu when editor tabs are hidden and many files are open * Changed default Look In scope in Search in Files to "Project Files" * Fixed shutdown bug that could cause problems closing projects cleanly * Don't ask over and over about same unsaved files when stepping in debugger * Track breakpoints when a file is saved to a new filename * Avoid "NameError: name 'os' is not defined" in Python Shell when PYTHONSTARTUP is defined * Improved how-tos for using Twisted and Django with Wing * Corrected reported reported exception line numbers when finally or except clauses are present * Use correct font in editor when point size is fractional and round size to nearest int * Correctly parse xml prologs that contain a standalone declaration * Don't enable Subversion Add for untitled or scratch files * Allow newlines to be entered in cvs/perforce/svn commit messages with alt-return or ctrl-return * Fix module scraping when directory name is too long or contains non-ascii characters * Don't show new Messages window when an IDE extension script raises an exception while loading * Improved autocompletion of nested package imports * Don't show badly sized GUI when opening projects saved with different toolbox locations * Accept keywords passed to __import__ hook * Fix debugger when debugging in python configured with threads disabled * Don't look for changes on disk if check frequency is 0 * Corrected documentation for Exception Mode preference * Updated tutorial to work correctly with python.org RDF feed * Fixed unexpected exception when debug connection closes at certain times * Fixed failure to expand $(WING_LINENO) in OS Commands arg list Version 3.0 final ----------------- September 28, 2007 Bug Fixes * Handle directory deletion on win32 while scanning for changes * Correctly size line number column on Linux and OS X * Removed the broken Stop One Thread option from project properties * Documentation corrections, and added missing docs for threaded debugging * Handle empty command name in OS Commands * Improve checking for pause request from IDE in the debugger * Don't truncate exception summary after 2 lines * Correctly close a project when menu item is used * Reviewed and updated tutorial, How-Tos, and documentation (English only) * Added missing Wing Tips for key functionality * Fixed some failures to display internal decumentation on Windows * Search icon on help documentation toolbar works * Fixed OS Commands toolbox so that double click or middle mouse click will execute or restart the command Version 3.0beta3 ---------------- September 12, 2007 Features * Assign default keybindings to selected testing tool commands Bug Fixes * Hide splash screen before showing auto-update dialog * Don't drop debug connection when introspecting functions or methods with unpickleable default arg values * Fixed broken Watch by Symbolic Path feature * Display autocompletion list for import statements * Correctly size line number column and improve performance when line numbers are displayed * Try not to display error dialog when scraping extension module on Windows * Removed confusing Close Window menu item from Window menu * Update display of all breakpoints properly when enable or disable them all * Fixed Set Window Title in separate tool box windows * Remove any error indicators when saving a Python file to non-Python file * Fixed rare problems when switching between documents * Show str(value) rather than repr(value) for floats in debug tool tips so the value matches what is shown by "print value" and the Stack Data tool * Don't hang when trying to start the debugger with an unsupported python interpreter * Debugger support for starting of threads with obsolete thread.start_new * Don't report that file encoding changes when it hasn't and file properties dialog is closed * Better handling of an empty 'Look In' entry in search in files * Use values set in Wing 101's configure python dialog * Find os.path symbols in autocompleter Version 3.0beta2 ---------------- August 30, 2007 Compatibility notes: * Changed Wing 101 to use a Python Configuration dialog accessed from the Help menu instead of Python Executable in the Debug Preferences; now also allows setting Python Path, Environment, and default starting directory Features * Stackless Python 2.4 and 2.5 are now supported by the debugger and integrated Python Shell on 32 bit machines (however, on OS X support for --with-framework is omitted, and support for Stackless 2.4 is omitted on Intel OS X) * Debugger support for Python 2.5 for 64 bit Windows * Wing 2.x and 1.x project files are now automatically converted to auto-updating format * Added Python Configuration dialog for Wing 101 to be able to configure Python, PYTHONPATH, environment, and default starting directory more easily * Option to remain at the Python prompt in OS Command tool after a Python file has finished executing. * Clicking on exception summary in Exceptions tool displays the original exception location * Updated pylint integration script (disabled by default; in Wing Pro only) to base on version 1.1 from Markus Meyer Bug fixes * Fixed Zope WingDBG so it will connect back to IDE * Auto-completer will now show symbols in an imported module when the module name is first defined by an assignment statement * Fixed OS Commands to launch Python correctly for unbuffered I/O * Corrected documentation for setting Python Path in Wing 101 * Fixed failure to update line number column width as file changes * Don't raise Debug I/O tool in Wing 101 when Python Shell is restarted * Show syntax error exceptions properly when found in a test run from the Testing tool * Optimization to avoid debugger hanging up for 0.1 second every 1.0 second (approximately 10% speed up) * Source assistant recognizes True and False as boolean literals * Source assistant shows docstring for property() defined properties instead of the docstring for the 'property' builtin itself. * Correctly generated prepackaged interface information for all of Python 2.1 standard library * Show correct auto-completions for re objects and re match objects * Offer auto-completion on return values of overridden functions/methods in the prepackaged interface information for the Python standard library * Guard against failures that could lead to termination of debug process when using autocompleter in the Debug Probe * Gracefully handle attempts at evaluating values or expressions when debugger is stopped at a syntax error * Avoid flagging correct indents after conditionals or try/except that are on a single line or contain comments only * Improved browser all project module view so it doesn't omit some modules * Use standard python icon for modules in browser and a package icon for packages * Correctly execute Python files if not in the configured starting directory * Don't repeat some output in OS Commands * Always show full path name in "Document Open Failed" message * Clarified and updated source browser docs * Load the PYTHONSTARTUP file (if any) in the integrated Python Shell * Removed old style document header images * Wing 101 doesn't claim there's a newer version when there isn't and correctly handle no latest or latest beta version of a product * Don't show indent warnings on the editor if the Show Python Indent Warnings preference is turned off * Don't rely on working non-full temp directory in order to inspect possible Python interpreters to obtain version and python path settings (should fix "can't find Python" messages seen sometimes on Windows) * Project and file properties used when running tests * Correctly place Command key modifiers in keyboard overrides on OS X * Don't show bogus/random stack frame when kill debug process while it's running * Show correct module load count during debugging also in Python 2.5+ * Slightly better handling of indent conversion for some files with completely broken indentation * List more modules in autocomplete list for import statements Version 3.0beta1 ---------------- July 30, 2007 Compatibility notes: * The file pattern in the Testing tab of Project Properties for projects used with prior (alpha) releases will need to be entered again by the user. * WingDBG for Zope again debugs just the one designated request thread. To debug multiple threads, use wingdbstub or launch Zope directly from Wing instead of using WingDBG. Features * Added item to Help menu to go to wingware.com home page * Always show package name for __init__.py files in editor tabs * Show enclosing directory name to uniquify same-named files in editor tabs * Use block cursor for vi mode * Ability to send control characters to OS Commands (using the right-click context menu) * Check for updates immediately when start Wing before other windows are shown * Show current test name in status area in Testing tool * Added syntax highlighting for Forth, Erlang, Octave, Verilog, ASN.1, VHDL, CAML, Smalltalk, Inno Setup, Spice, D, and Abaqus files * Add system menu items for Wing on Debian and Ubuntu (does not work reliably under all versions of KDE) * Changed the Testing file pattern in Project Properties to be a list of patterns for easier inclusion of tests from multiple sources Bug Fixes * Don't show stack for threads that are actually not stopped in debugger * Fixed potential for crashing debug process when debugging multiple threads * Fixed failure to convert indents in some files * Don't convert indents within multi-line strings * Indent convert doesn't indent within-logical lines if not indented at all before conversion * Fixed debugger connection failures when network server pref was set * Handle pseudo module objects that don't define a __name__ attribute in the debugger * Highlighted menu items are readable on Vista when using default theme * Drag-n-drop in editor starts when the mouse is moved * Always position autocomplete popup below cursor if there's room on monitor * Don't crash if multiple directory selectors are opened on win32 * Don't crash when clicking on the down arrow of an empty popup menu * Always clear highlight from editor after doing a search in selection * Improved directory scanning speed * Show indentation error/warning tooltip correctly over all of indicator * Fix failure to display non-ascii character exceptions * Look past ##'ed leading comment block for encoding comments in Python files (to handle Zope scripts) * Icons better indicate status during test runs in the Testing tool * Correctly handle closing unsaved project without saving before opening another project (seen when converted 2.x project is not saved) * Announce newer alpha/beta versions when checking for updates from an alpha or beta release, not just patches and newer final releases * Don't shrink down Recent Project menus constantly when Wing is started * For computing auto-indent in Python, ignore multi-line comments in column 0. This is an experimental compromise between code contain blocks commented out in column zero and users working normally at the top level. * Multiple fixes and optimization of tracking modifications to Python code as it is edited * Fixed hang seen sometimes during start of pseudo-tty subprocesses in the OS Commands tool * Wing 101 sets current directory for shells to the location of the current source editor's file * The list of tests changes without needing to restart Wing when the file pattern in the Testing tab of Project Properties is used. Version 3.0alpha3 ----------------- June 13, 2007 Compatibility notes: * Build commands set in project and file properties are now stored in the OS Commands tool where environment for the build can be configured separately from the environment for debugging * Default exception mode is now 'when printed' rather than 'immediately if unhandled'. The when printed mode will not stop if exception is handled up the stack, but finally clauses in the stack frames between where the exception is raised and where it is printed will be executed before the debugger stops. While this should work with most code, it will break stopping on exceptions in any code with a catch-all handler written in C or C++ if that handler does not print the exception. This should be rare; set the Debugger / Exceptions / Report Exceptions to Immediately if Appear Unhandled to restore the previous default behavior. Features * Added documentation for the OS Commands tool * Changing file encoding in file properties now offers to reload the file using the new encoding so it can be repaired if read with wrong encoding * Added option to turn off multi-threaded debugging so only one thread at a time is debugged and the others are ignored while any thread is stopped * License activation and feedback/bug-report dialogs allow configuring an http proxy manually when auto-detection of proxy doesn't work * Testing results may be cleared without re-running tests * Rewrote the indent manager so conversions used a more robust algorithm that can convert files with inconsistent indentation more reliably into a single consistent indentation style * Show Python indentation warnings and errors in editor using yellow and red indicators and allow scrolling through them from the Indentation tool * Show tooltip over warning and error indicators in editor, showing detail of of the problem found there (currently syntax error or several possible indentation warnings and errors) Bug fixes * Fixed startup failure when installed on machine that never had Wing 2.x * Corrected version number shown by win32 installer for remove old install * Optimized testing tool * Correctly omit OS Commands tool from Personal product level * Improved wrapping of docstrings in source assistant * Don't show OS Commands tool for build command unless it fails * Reimplemented build command project/file property to better integrate with OS Commands tool * Prepend '' to sys.path in the Python Shell if not already there * Don't auto-bookmark every search result found during minisearch * Corrected emacs key bindings for batch search/replace so they work properly * Fixed traceback sometimes seen in indentation code when working at end of a file * Fixed dropping of debug connection when display Debug Probe, Stack Data, or Watch tools for the first time while the debug process is running * Fixed failure to open files with existing Wing instance on Windows and OS X * Corrected sizing of the line number column when shown * Debugger doesn't set stack frame file name for code in a string (such as in exec('test()') to the enclosing module name * Remove run marker more reliably when debugging is stopped or when the Clear button in Exceptions tool is pressed * Improved extension module introspection so more cases such as "from PyQt4.QtCore import *" work properly and the pi-cache directory is less cluttered with failed attempts at scraping * Fixed handling of non-ascii characters in message for svn, cvs, and perforce commit * Don't add redundant directories when setting up a Zope/Plone project * Added basic how-to for debugging Django applications * Fixed canned data for tutorial so Debug Probe examples work properly and made several corrections to the tutorial content * Fixed popup menu on testing tool exception lines * Removed files are removed from testing tool * Fixed 'x' in VI browse mode to operate only within the line * Repaired the browser and project manager adapters for source assistant * Fixed debug hover values to display correctly when there is a selection on the editor (indicating that the selection's value should be shown) * Fixed a rare case when open-from-keyboard wouldn't work * Fixed source assistant and browser integration * Show autocompletion on "b" for "from x import a, b" and "import a, b" * Don't copy .pyo files when copying scripts from 2.x installation * Don't fail to copy some files from 2.1 installation because of encoding problems * Inference type of function().attribute * Terminating a debug process from the IDE now works in some situations with remote processes and those running under different users. It also uses SIGQUIT and then SIGKILL on non-win32 systems if the process won't stop. Version 3.0alpha2 ----------------- May 2, 2007 Compatibility notes: * This version will not work with any earlier version of the debug server * Old style project related commands have been removed: add-tree-to-project, and add-package-to-project * Scripting API changes (these are unlikely to impact any extant scripts) * CAPIApplication.ExecuteCommandLine() and AsyncExecuteCommandLine() in the scripting API use slightly different environment for the sub-process. See the compatibility notes in wingapi.pi. * CAPIDebugRunState.GetThreads() returns list of (thread_id, fct_name) instead of list of thread_id Features * Added OS Commands tool for executing external commands and files outside of the debugger * Added "when printed" exception handling mode that stops at exceptions at the time they would be printed * Added Frame Show button in toolbar to jump back to original position at which the debugger stopped at a breakpoint or exception * Added thread selector popup to the Call Stack tool * Show name of thread function in list of threads as well as thread id * Added more file type icons, shown in the project view Bug fixes * Fixed Zope/Plone support to work with new debugger * Fix use system gtk preference * Don't try to scan huge (2GB+) files when searching in files * Fixed Run to Cursor * Fixed Debug Recent * Fixed start debug after save file dialog * WingDBG (for Zope) references ~/.wingide3 not ~/.wingide2 on Posix * Don't display internal stack frames at the top of the stack * Allow Show Autocomplter command in shells * Indicate which thread is the one that initially stopped * Removed old non-threaded debugger implementation * Sped up some debugging operations, such as switching threads when a watch tool is in use, by retaining cached stack data longer * Improved conversion of Default Project from 2.x and initial conversion process in general * Don't request to save files when Python Shell starts * Don't fail to start if pylintpanel.py is present in user scripts dir * Don't attempt to override scripts of same name * Improved scraping of extension modules with unhashable entries like Numeric.umath and some cases where '.' is not in the PYTHONPATH * Fixed pylint launch code in pylintpanel script to use project-defined environment for the sub-process * Fixed non-gui variant of the add-directory to project command * Zope support auto-add project files uses new auto-updating directory style * Allow clicking on already-selected Call Stack item to go to that location * Allow .pi files for extension modules with .dll extension (win32 only) * Don't fail to resolve imported attribute the 2nd+ time resolving it * Fixed display problems in project tree when add a directory with trailing os.sep * Fixed removing of directories from projects so it works while add is still in process and the tree display properly updates * Avoid adding non-existent directories to the project * Fixed failure to set current stack frame correctly on syntax error Version 3.0alpha1 ----------------- March 26, 2007 Compatibility notes * Wing 3.0 runs off a different user settings directory, with different file names for some of the files, The first time Wing 3.0 is run, it will copy preferences, recent lists, and some other information from any found Wing 2.x installation. After that, it works entirely independently from Wing 2.x. * Wing 3.0 can open Wing 2.x projects but Wing 2.x cannot open projects that have been opened with Wing 3.0. When a 2.x project is opened, Wing will show a notice and warn before saving. We recommend saving to another name rather than overwriting your Wing 2.x project. * When converting a project from Wing 2.x, the project will not auto-update its contents unless all files are removed and re-added using Add Directory. * Renamed open command to open-from-keyboard to reflect its action (open still exists for compatibility). Custom key bindings that use this command may need to be updated manually to track this change. Features * Autocompletion and source assistant information for Python Shell and Debug Probe * Debug data value tooltips when hover over symbols or selection in editor * Multi-threaded debugging * Auto-updating project directories * Unit testing tool * Automatic expansion of __ in Python Shell, Debug Probe, and Watch * Exception type is separate entry so always visible in Exceptions tool * Changed Subversion commit to use a larger text entry area Bug Fixes * Optimized scraping of code analysis from extension modules * Moved configuration of line numbers on editor to Edit menu and removed old (confusing) preference * Show auto-completer in keyboard-based file selector when it is not currently visible and Tab is pressed * Don't show feedback dialog as soon when on a trial license * Several fixes to scripting API * Default to print selection only on win32 when there is a selected text * Fixed some failures seen when the User Settings Directory is read only * Protect against unexpected exceptions in signal handlers * Don't hang up trying to reuse an unresponsive instance of Wing to open files * Use project directory in save as dialog when saving new files if possible * Corrected html and xml comment/uncomment to use only two hyphens * Reopen files on a different drive than the project file Version 2.1.4 ------------- February 9, 2007 Bug Fixes * Correctly handle utf-8 byte order mark * Allow control & alt to override default action during drag-n-drop * Better display exceptions caught when program exits * Don't scan .DS_Store directories when updating projects * Fixed broken links in Search section of Tutorial * Documentation added for setting up Wing with Webware * Documentation added for setting up Wing with scons * Don't get confused by files with names ending in 'o' or 'c' but not .pyo/c * Fixed .pi description for file & socket types in python 2.5 * Handle $ followed by a non-letter when expanding environment variables * Correctly interpret * and ? in the Extra Files Types preference * Include scripts directory in user settings directory by default for scripting the IDE * Fix **** wildcard search bug and improve wildcard -> regex conversion so it more closely matches bash * Don't try to expand all nodes in a tree and end up hanging due to infinite recursion * Display widgets in correct order on win32 when running in Hebrew or other locale with a right-to-left language * Fixed Subversion integration for Subversion 1.4 entries files with blank lines * Limit minimum error log size to 10K or greater to avoid slow downs * Disable adaptive scrolling in editor on OS X to avoid conflicting w/ Apple X11 server's algorithm * Fixed selection-changed signal in scripting API * Fixed problem in message log truncation that may have caused problems with search and other functions when IDE was run for a long time * Allow pasting into goto line entry with ctrl-v or equivalent * Report exceptions correctly when debugging with pre-python 2.2 runtime * Scrape extension modules that must be imported from a package, such as PyQt 4's modules * Fixed shells to not produce an error when comment-only or blank-only lines or blocks of lines are evaluated * Altered I/O redirection to work around bugs in pydoc.py (used for 'help()') and possibly other modules that hold onto references to sys.stdout and/or sys.stderr and ignore any changes if those are redirected after the module is loaded. * Fixed one cause of failure to print on some newer Linux distributions Version 2.1.3 ------------- October 12, 2006 Bug Fixes * Show __init__'s doc string is source assistant when creatin new object * On Windows, drag-n-drop in editor defaults to move * Numerous bugs in search-in-files replace fixed * Fixed failure to show search/replace status when working in Search tool * Fixed broken "with" syntax suppot * Fixed subversion integration to work with svn version 1.4 * VI mode fixes * Fixed '.' repeat to work correctly in more cases * Fixed word movements as in 'cw' when starting on one-character word * Improved '.' repeat of < and > * Fixed dj and similar to act on whole lines * Enter in browse mode goes to start of line * Handle Zope Page Template default encoding in the same way Zope does * Evaluate file / selection in shell works with files never saved to disk * Don't report GeneratorExit exceptions in Python 2.5 * Default *.myt files to be text/html type * Fixed pi files for builtin Python 2.5 modules * Improved compilation from source on Solaris * Add .m extension to Matlab filter * Fix support for patches when using wingdbstub * Fix occasional segfault in the debugger when program being debugged ended * Include Quit Now button in dialog shown after patches are installed * Allow env var values in project properties to contain '=' * Fix failure to show tutorial in one window per editor layout mode * Fix crash on Windows when certain fonts are encountered in a CJK locale * Use the initial directory policy preference also for "save as" operations Version 2.1.2 ------------- August 29, 2006 Bug Fixes * Some German translation improvements * Correctly invoke py2pdf for printing on non-win32 platforms * Correctly analyze symbols in class methods with the same name as another class method or attribute * VI mode fixes * Added _ binding * Support for '' * Fixed / to work properly when no match is found * Support for move to register with rectangular selection * Fixed Ctrl-U/D and zH/zL in locales where decimal point is not '.' * Clear move commands on mode change as in ciw * Don't allow deleting one space too many in Python Shell and Debug Probe * Allow more than 80 chars in location map preference * Fixed HTML encoding parsing * Support for left/right wheel mouse scrolling in editor and shells * Fixed regression that broke support for python 2.2 and before on linux * Display exception names properly when running with python 2.5 * Don't flag valid 2.5 code as having syntax errors * Highlight True, False, as, with as Python keywords * Default encoding for XML files is utf-8 * Better sys.path handling in the debugger * Don't warn when a zip file is in project's PYTHONPATH * Allow template and template-file commands to be bound to a key * Start shells in project directory or home directory when using default project, not location of the internal sandbox file * Report existence of new versions also during automatic update check * Don't auto-scroll Debug I/O, Debug Probe, and Python Shell when appending text, if bottom of view is scrolled off screen * Never beep when search fails or history scrolling reaches end of list * Don't search excluded dir when searching same directory 2+ times Version 2.1.1 ------------- July 31, 2006 Bug Fixes * Set line wrap mode correctly when creating new editors * Convert relative to absolute path in posix install script * Fixed failure to create tool when separate toolbox window was closed * Ask before doing "revert" in subversion to avoid losing changes * VI Mode fixes * Fixed 'C' delete to end of line and insert command * 'P' pastes register correctly * ma and then d'a and y'a work to delete or yank range to register * Repeat '.' works for replace character 'r' * Enter in browse mode moves down a line * Ctrl-U and Ctrl-D move the cursor with scrolling * Search with '*' places cursor at start of word * Search with 'n' when there are no matches does not jump to start of file * :sp works for horizontal split * :vs works for vertical split * Modifying 'd' with goto-line commands such as gg and G works * Fixed honoring of selection mode during repeat of beginning/end of line, forward/back char/line, and other movement commands. This affects emacs Ctrl-U and Esc + numbers, and vi mode repeat * Updated German language translation of the GUI * Set initial directory when running build command * Execute files in environment defined by project * Start searching on ctrl-shift-F (batch-search) if auto-restart is on * Fixed opening of Templating when opening projects * Fixed failure to start processes on win32 when a script used '' as the run directory * Correctly parse arguments with quotes in them * Subversion doesn't require ssh agent for 'diff' * Fix .pi generation when doc string content contains \0 or """ * Fix thread handling when python_d.exe is used * Fix python shell & debug probe in older versions of python * Fix breakpoint tracking problems * Fix failure to start debugger on win32 if a file in the initial run directory has the same name of a file in the standard library directory * Change wingapi's ExecuteCommandLine so that it doesn't invoke gtk's main_iteration and cause segfaults * Better caret color on editor when using bright background colors * Fixed formatting problem in Autocompletion tutorial page * Replace all works when working on disk files * Don't use /, /usr/bin, or /usr/local/bin for initial directory unless explicitly specified Version 2.1 final ----------------- June 19, 2006 * Don't hang up in vi mode when use Esc to exit repeat entry * Don't beep in vi mode when Esc is pressed in browse mode * CVS and Subversion commands work in the root directory of a win32 drive * Fixed rare race condition on Linux / OS X causing failure to read all of output from sub-processes (caused failure to find Python and failures in revision control integrations) * Script support doesn't raise exceptions at shutdown * Fixed debugger patch support for rc# releases * Prevent rare exceptions when activating symbol menus via commands * Improve handling of fonts that don't provide coverage for all languages on Windows * Fixed some documentation generation problems (mostly in Personal) * Fixed brief keymap keymap * Added minimal functionality for deprecated search-manager command * Continue running for instance file cannot be written * Keymap overrides with multiple commands and arg lists work correctly * Added reanalyze file to editor context menu * Always show documentation in English to avoid confusion from stale German language documentation pages * Don't fail to start on OS X if username is longer than 8 characters * Honor selected CVS diff type for Show Recent Diffs command Version 2.1rc2 -------------- June 9, 2006 Bug Fixes * Start interactive shell & debugger correctly if locale is set to French * Fix autocompletion if Enter or F1-12 is used as completion key * Fixed installed patch reporting * Allow patch for more than 1, but not all platforms * VI Mode * Match vim in cursor placement after D (delete to end of line) * Leave cursor at end of selection when pasting 1 line from register * Allow hiding of toolbar in one editor per window layout mode * Fix clear in the debug i/o tool * Fix file / directory browsing in forms * Fixed printing on OS X and Linux when path to Wing installation contains spaces * Evaluate file/selection in Python Shell works properly if invoked before the shell is ever created * Set initial search text in both search tools to current selection or previously active search text * Added unit tests and many fixes for scripting API * Fixed ScrollToLine() in scripting API so first line is 0 (to match all other API calls). NOTE: This requires updating any existing scripts that use this call on the CAPIEditor object. * Fix forward-tab command when focus is on search tool * Ensure popup windows are shown w/ recent gnome window managers * Support input methods when running with private gtk on Linux / OS X * Use system defined close icon where possible * Don't crash when previewing some fonts on Windows * Fix bugs when utf8 files containing invalid characters are read * Improve Zope WingDBG error message when connection to IDE fails * Fixed WingDBG failure to connect to IDE when started * Fixed assigning key bindings to templates * Don't try to convert print files to Postscript on Posix -- this was added in 2.1rc1 and caused more problems than it solved. See tooltip for Print Spool Command preference for alternatives to use on systems that can't print PDF files directly. * Fixed Subversion "Add" so command is available when it should be * Fixed failure to show Exceptions tool and possibly other tools in some cases Version 2.1rc1 ============== May 31, 2006 Features * Preference for selecting the action of the Tab key: It can be configured to indent-to-match, increase indent, or insert a tab character (chr(9)) by file type. Users that have the tab key overridden in their preferences must remove the override before this preference will have an effect. * Improved auto-indentation within logical lines: Attempts best guess at desired indent initially and then matches indent for subsequent lines within a multi-line statement. Also dedents automatically when reach end of nested parentheses. * Changed default indent size to 4 * Added a preference to suppress indentation warnings in all files * Commands for easily executing current file or selection in file within the Python Shell (in Python Shell Options menu, editor context menu, and Source menu) * Set "in selection" option in replace tool if multiple lines are selected and unset it is multiple lines are not selected * On Windows, added "Edit with With" item to context menu for .py files in Windows Explorer * Better analyze assignment statements such as: a = b = '' * batch-search & batch-replace commands now have a use_selection argument that specifies whether selection is always put in the search field * Following can be used as autocomplete characters: '.', '(', '[' * Save Session feature for Python Shell and Debug Probe * Multiple commands may be bound to a key if the names are separated by a comma Bug Fixes * Correctly replace series of spaces with tabs when indenting with tab key * Corrected inconsistent tab indentation detector to not complain in cases it should not, and to detect cases where indents produce bad code because of editing mixed indents with an editor that doesn't set tab size right (expected/known indent decrease/increase is compared with actual change in indentation, although no visual indicator for bad locations is implemented yet) * Fixed several indent manager conversion cases to not break code when it can be avoided * Honor user's choice to ignore indent errors in a file once selected * Fixed failure to start when current directory does not exist * Ignore non-numeric values for lineno entered for goto line * Improved dragging or pasting text into Python Shell and Debug Probe * Avoid failure to launch Wing in rare cases where previous instance's remote open port is reused by another application * VI Mode * Fixed '.' for with x, dd, J, and s (please report other such problems!) * '-' now works * dw deletes to start of next word * cw deletes to end of current word * Toolbar search works properly in vi mode * Fixed cases where '.' only worked once * Copy to register in line selection mode takes whole lines * Fixed join lines so it can be used in macros or with '.' * Place focus on tool for the tab that was clicked when expanding tool areas with multiple splits * Fixed Selection Mode items in Edit menu to work properly in non-vi modes and to apply to mouse selection also * Add mnemonics to dialogs * Replace all in selection doesn't replace matches outside of the selection * Windows installer won't install on Windows 98 & ME, which are no longer supported * Don't stop debugger if textual stack data pane can't be updated * Avoid hangs when analyzing some packages * Don't display patch install dialog if there's nothing to install * Fix correct directory in file chooser when focus is not on editor * Make sure cursor stays on the correct line when entering vi's insert mode with the a command * Don't leak leak memory every time the debugger or a python shell is run * Don't use _ as mnemonic in search popup menus * Don't crash if object in the stack data or watch tool turns out to have 0 children when it initially appears that it will have at least 1 child * svn support will work with _svn directories * Default buttons in dialogs work * Validate utf8 data in source files when it's read from disk * Change mnemonic for search in file's filter field to i so it isn't the same as f for the file menu * Fixed using either ESC or Alt for meta in emacs mode * Bookmarks tool shows correct line numbers and only when appropriate for the type of bookmark (marks on Python are symbolic relative marks) * Fixed patch manager to correctly distinguish different processors when patches are architecture specific * Fixed rare analysis cache failure when multiple copies of the IDE are running * Correctly handle '*' in file extension given when creating a template * More reliable toolbar wrapping * Don't show Command- as modifier to keys pressed in the keyboard override preference when the NumLock key is down * Fixed batch search confusion on Posix when files searched are on a path that contains symbolic links. * Offer auto-completion on file objects opened with open() * Fixed printing on Linux systems where PDF cannot be spooled to the print system but either acroread or pdf2ps is present * Tab key moves to next field in form entry unless autocompleter is displayed * Tab key in search tools works regardless of command bound to tab * Display error dialog if X11 isn't installed on OS X * Ignore unknown keys in custom key binding preference * Open pdf manual files correctly on OS X Version 2.1beta2 ================ April 17, 2006 Features * Changed Tab key to increase indent to next level based on the file's indent style. Indent-to-match style indent previously bound to Tab is now Ctrl-=. Entering a single tab character is still Ctrl-T. To return to the old behavior, map the Tab key to indent-to-match in the Keyboard / Custom Key Bindings preference. * As part of above: editor auto-indents also if there is text after the cursor and expanded the Auto-Indent preference to allow excluding this case * Add New File in Project menu to create new blank file on disk and add to project all in one operation * Added Files preference to set policy for determining starting directory for file selection * rstrip-all-lines command to strip whitespace from end of all lines in file * Bind command-by-name to ctrl-F12 by default in all personalities * Added toggle-line-wrapping command * Added preference to disable auto-reload of extension scripts when saved * Search changes * Selected text is put into search field in search tool * Bindings for search in files tool * Backward check box in search tool removed and the next match is found unless the previous match is explicitly requested * Search / replace in selection in search tool * Default to "All Source Files" file set instead of all files to avoid searching through .svn and similar * Replaced Aero theme with Black-Background * Added debugger support for Python 2.5 * Allow name of executable to be specified in SVN and CVS options * Use disk images for distribution on OS X * Show file type name rather than requiring mime type in Extra File Types preference, and allow leading '.' in extensions * Added Perforce status and simple "whose line" support Bug Fixes * Fixed crashing on SUSE 9.x and 10.x, failure to display themes correctly or to change between themes properly, and incorrect display of fonts/sizes * Fixed divide by 0 error when editor disappears when dragging splits around * Bold attribute of syntax highlighting preference can be turned off * Source browser display state is saved in more cases * Page down in OS X key bindings doesn't move cursor * Correctly syntax highlight .tex files * VI Mode * . works correctly in more cases (please report those that don't!) * c, d and similar can be modified with /, t, and other search operations * /, ?, f, t, etc in visual mode correctly set selection * Stop immediately on failed command when numeric modifier is > 1 * Fixed :%s/foo/bar/gc (and related) * Fixed de, ce, cw, and cW to operate on correct range of text * Ctrl-W V to split window in side by side arrangement * Ctrl-W Q behaves like in vi (closes file and window, and quits after last) * Fixed problems with A and a when working in files with \r\n line endings * In visual mode, d places deleted text on register * G goes to end of file by default * cc properly replaces current line * :w writes even if buffer is unchanged * :marks shows bookmarks tool * Stay on current line for f, F, t, and T * Allow numeric modifiers in visual mode * :r! works on win32 (bug may have been intermittant) * Implemented Ctrl-W +/- to resize splits * Implemented = magic indent * Fixed c3l d2w and similar sequences * Fixed macros (recording with q) to work properly for more sequences * Searching with * and # do only whole word matching via regex \ * Ctrl-X/C/V bound to clipboard on win32 and OS X (override this default using the new Keyboard / VI Mode Ctrl-C/X/V preference) * Fixed delete in shells when selection spans back into history * Fixed shells not to execute a block too early in cases such as 'else:' following an indented block * Search text entry is selected when it gets focus * Selecting search in files works when text is selected in editor * Fixed macros to correctly record typing that includes auto-completion * Don't skip matches when changing directions in search tool * Zope/Plone script debugging support works properly for newer CMF versions which broke CMFFormController style scripts * Fix broken OS X key map * Don't use Wing installation dir, user settings dir, and some other useless locations as default directory for file open/etc * Avoid bogus right to left interface arrangement in certain locales * Fixed display bug in Scraping Helper Snippets preference and others * Don't auto-convert line endings in readonly files * Fixed failure to cleanly reload scripts upon Reload All Scripts that caused problems w/ timeouts, and attribute/pref connections * Added scripting API for connecting to signals so those reloads also work properly * Improve look of rotated text * Fixed emacs query-replace which was broken in beta1 * Use correct colors for brace highlighting * Use color for caret and editor margins based on background color * Don't show multiple instances of identical message dialogs * Fixed At Process Termination exception handling mode to work properly with Python 2.4.2 and later and to always stop before the process exits so that data can be inspected * Better failure reporting on rare win32 startup errors * Transfer \n on Windows's clipboard correctly * Fix sporadic win32 resource leak * Don't jump to top stack frame when first show the Call Stack tool * Fixed autocompleter arrow keys to work in all cases * Fixed project manager to work properly even if All Source Files file set is removed from preferences * Fix for 'search' command when specifying search scope for directory searches * Added .ht as default mime type for html * Moderately faster file scanning for disk searches * Reduced menu accelerator conflicts and added missing accelerators * Fixed failure to start on win32 due to inability to process command line * Report failure to start external processes on Linux & OS X * Fixed potential crash in displaying debug data, probably only seen in watch tool * Fixed patch manager to only select patches valid for current version+build * Correctly reload readonly files when changed by external editor * Breakpoints and bookmarks tools (Wing Pro only) have resizable columns * Retry debug listen when it fails up to 5X 1/2 second apart. * Moved default display theme first to avoid confusing behavior when switching between Wing versions or GTK versions * Don't crash when invalid pixmap based theme is used * Fixed problems activating and using licenses on Posix platforms where /var/tmp is not writable * Allow non-ascii characters in search fields * Up / down arrow keys sometimes didn't work when selection included last or first line of file * Added scrollbars to breakpoints and templates tools * Improve look of some non-default themes on win32 after restarting * Source analyzer correctly expands partial paths in PYTHONPATH configured in project or file properties * Warn when partial path is included in PYTHONPATH because this can cause confusion in both source analyzer and debugger * Fixed failure to use configured environment in expanding env value references in project and file properties Version 2.1beta1 ================ February 21, 2006 Features * Redesigned search gui: search tool for interactive searching and search in files tool for batch search * Added detail split in debugger data views for displaying long strings and summary of unexpanded complex values * Added VI like key bindings * Added Brief like key bindings * Added Visual Studio like key bindings * Added named bookmarks and bookmark manager (Wing Pro only) * Added Subversion and Perforce integration (Wing Pro only) * Added a Breakpoints manager tool (Wing Pro only) * Added update manager to check for and downloads/install product updates * Added a maximize editor toggle to temporarily hide tools and menu bar when working in single-window layout mode (the default) * Extension modules are now imported and introspected to offer more auto-completion options when no *.pi file is defined * Better out-of-box auto-completion options for wxPython and PyGTK * Added PDF formatted documentation to Help menu * Added enable/disable all breakpoints commands (Wing Pro only) * Added context menu for the breakpoint margin * Added context menu for the folding margin (Wing Pro only) * Added --reuse command line option to force reusing of existing Wing instance even if no files are specified * Added script for project maintenance: Add or remove files based on contents of disk. Thanks for Ken Kinder. * Implemented regular expression style mini-searching, query/replace and auto-replace * Added keyboard driven char, line, and block select * wingdbstub.debugger.Break() can be used to stop as if on breakpoint * All scripts shipped with Wing IDE are now under MIT style open source license to facilitate reuse and sharing * Added scripting API for altering fold state of editors, and several scripts for acting on Python files (fold all methods, all classes, etc) * Redesigned debugger status indicator now in lower left of window * Added ability to print only current selection also on Linux and OS X * Added Call Stack tool that displays call stack as a list * Improved look and feel resulting from upgrade in underlying GUI toolkit Bug Fixes * Avoid problems when scripting directory names contain non-7 bit ascii character * Wing will run if installed into a directory with a UNC path on win320 * Define MatchObject in _sre module for code intelligence * Allow %% to escape Python string formats in templates Thanks to Peter Mott. * Emacs kill-line command interacts better with clipboard * The debugger works if the user profile directory is defined as a UNC path on win32 * Don't crash when reading analysis cache file with more than 32K tokens on a single logical line * Fixed potential loss of edits when split editor panels are joined * Don't incorrectly report exceptions in sre_parse.py __getitem__ calls under Python 2.4 * Default file sets shipped with Wing omit common directories such as CVS and .svn * Added optional fix for use of the option key or other character composition key on OS X 10.4 (Tiger) * Printing works when a custom PYTHONHOME is defined before Wing is started * Fixed mismatching of undo/redo grouping resulting in too much undo after a keyboard-driven (emacs style) query-replace operation that never matches anything * Correctly handle interactive keyboard commands when there is no active editor * Sort symbols and file names uniformly in a case-insensitive manner, treating '_' as > 'z' (previously sorting varied in different parts of the GUI) * Optimized folding expand-all and added commands for folding just classes and/or methods in Python code * Correct auto-completion for cStringIO.StringIO * Emacs "Ctrl-X O" only moves among editors * Less confusing error message when try to debug a non-existent file * Don't allow dragging text into readonly editors * Don't stop on first line of code when restart debugging from the change detection dialog * Various manual corrections Version 2.0.4 ============= November 8, 2005 Features * Preference to change individual syntax highlighting colors in Python, C/C++, and Java files * Preference to optionally turn off indentation analysis as the source for indent and tab size in all cases or only in non-Python files (in which case configured tab/indent size are always used regardless of file contents) * Revert to Disk in File menu Bug Fixes * Don't crash when reading analysis cache file with more than 32K tokens on a single logical line. * Fixed potential loss of edits when split editor panels are joined * Fixed potential loss of edits when replace in non-sticky editor * Fixed failure to start when locale is not supported and locale.getpreferredencoding() raises an exception * Avoid startup failures on OS X when DISPLAY is set to :0.0 or :0 * Added optional fix for use of the option key or other character composition key on OS X 10.4 (Tiger) * Printing works when a custom PYTHONHOME is set before Wing is run * Fixed mismatching of undo/redo grouping resulting in too much undo after a keyboard-driven (emacs style) query-replace operation that never matches anything * Fix text display broken by GTK 2.8 (needed when running with --system-gtk on Linux) * Allow paste within command line in shells * Place focus on correct editor when using multiple splits and file selector popup menu rather than editor tabs * Don't hang up determining mime type of large single-line files * Zope support * WingDBG debugger support works properly with Zope 2.8.x * Fixed debugging of CMFFormController scripts under Zope * Templating/Code Snippets * Included Templating tool (Wing Pro only) in default toolset (only affects new users or when Restore Default Toolset is used) * Templating tool doesn't get confused by '.' in extensions * Templating tool properly escapes %% * Extension Scripting * Reloading extension scripts no longer breaks panels created by them * Extensions scripts can add themselves as default panels * Extension scripts of same name but in different directories are handled correctly * Prevent user from removing Wing-provided script directory from the extension scripting path and avoid pointing at wrong script folder when multiple Wing installations are present. * Clarify script path preference name to avoid confusion with Python Path for the user's code * Search * Grouped search results display filename above matches for a file * Handle a [ without the matching ] in a wildcard search string * Fixed inability to search for \n in regex mode * Fixed rare exception when running search_manager command * Ignore rarely occurring exception when closing a project * Renamed Run To Cursor to be Debug To Cursor for clarity * Corrections and additions to documentation * Fixed exception reporting in debugger when strings from the server aren't valid utf8 * Display error message when errors occur while writing preferences * Reset the readonly flag on editors when they are (re)read from disk * Fixed failure to clear old analysis cache entries when cache becomes full * Don't disable Stop Debugging when running externally launched process and Kill Externally Launched preference is off. Instead, allow stopping debug but don't shoot the debug process. * Indent manager shows less confusing tab size when converting from a space-only indented Python file * Don't crash when reading recent lists from malformed files * Always print on a white background on win32 * Better handling of ellipsis in source analysis engine * Don't mark //= as invalid syntax * Fixed Encoding file property so new encoding is used for opening files that are not already open in Wing (when using File Properties from the project view context menu). Files that are already open are assumed to have been read successfully so are just marked to be saved with the newly selected encoding. * Use default fonts on win32 even when there's a large number of fonts on the system * Don't hang unexpectedly when starting on win98 and potentially on other win32 systems Optimizations * Sped up disk searches by properly excluding directories in the exclude portion of file sets * Sped up multi-file searches with status GUI update optimization Version 2.0.3 ============= April 21, 2005 Features * New OS X personality for Wing on OS X with a more Mac-like default keyboard mapping * Support for debugging Python code under Linux on 64 bit processors Bug fixes * Fixed problems in debug variable display that resulted in printing tracebacks to the error log * Fixed failure to recognize HTML meta encoding comments if additional tags were included after the charset tag * Optimized typing speed in editor by reducing the number of times that indent style is reanalysed * Fixed failure to correctly recognize mixed tab and space indent style in non-Python files * Fixed manual entry of license activation code if pending activation file can't be read or more than one pending activation exists * Don't set LANGUAGE environment variable in child processes * Optimization: Autosave files every 60 seconds instead of every 3 * Implemented some OS X cmd- key bindings in dialogs * Avoid crashing when switching to or from emacs key bindings and also changing some other preferences at the same time. * Better error reporting when Wing fails to write license lock file * Use local settings directory for cache directories on Windows * Fixed failure to start web browsers on some Linux systems * Reuse existing Wing instance on OS X * Default to English on all Windows systems -- need to set Display Language preference to override this. * Warn when indentation manager may change the relative indent levels in inconsistently indented code during auto-conversion Version 2.0.2-3 =============== March 16, 2004 Bug fixes * Fixed printing on Windows * Fixed failure to debug on Windows w/ Python 2.2 * Fixed failure to start on some OS X machines * Added preference to override system-provided display language * Clarified command and key names reference * Removed stray 'print never stop =...' output by debugger * Updated German documentation Version 2.0.2-2 (Linux only) =============== March 14, 2004 * Fixed error in run-wing.sh that prevented Wing from starting on some versions of Linux * Re-enabled ability to set theme in Wing when using system gtk Version 2.0.2 ============= March 14, 2004 Features * Easier to use Zope/Plone support -- no longer need to install WingDBG or ScriptDebugging products separately: Just go to Extensions tab in Project Properties, turn on Zope support, and specify the Zope Instance Home to use. Wing takes care of the rest of the configuration. * Scripting (Wing Pro only) is now a documented feature, although still experimental and the API will not be frozen until version 2.1 * Added a number of scripting examples (Wing Pro only) that extend core IDE functionality * Deletion of line(s) spanned by current selection * Visual Studio style tab * Line ending conversion * Emacs style add-change-log-entry (Ctrl-X 4 A) * Debugger breakpoint resetting based on tags in comments * Conversion of selection to lower case, upper case, or title case and several other common transformations * Example of insertion of print statements based on doc context * Added facility for templating / code snippets (Wing Pro only) * User can define templates for common code snippets * Optional automatic argument collection * Converts in dentation and line endings for target file * Assign templates to key bindings * See Templates in Tools menu and right click to access documentation * Added simple integrated CVS support (Wing Pro only). This is disabled by default and can be turned on from Project Properties Extensions tab. * OS X keyboard changes * Support for command (apple) key as key modifier so that command-c, command-x, etc may be bound to Wing commands * Added preference to choose key to use as the alt key modifier in all X11 applications * Launch X11 automatically on OS X 10.3 * Added Close Others menu item to close all editors other than those visible in the current window * Debugger always stops on AssertionError exceptions and never on SystemExit exceptions by default. This behavior can be changed via preferences. * Redesigned and reorganized the Project and File Properties dialogs. Moved menu items for project type, syntax highlighting, white space, line ending, and indentation attributes into these dialogs. * Moved project view style selection from project context menu into new Options menu at top right of project views. * Added ability to change a file's encoding from the File Properties dialog. The selected encoding is stored in the project file. BOM markers are written where possible. If encoding comments are present in Python, HTML, XML, or PO files the comment always takes precedence. If no encoding is specified, the default encoding set in preferences or inherited from the system is used. * Added ability to set/clear read-only state of files from File Properties. * Added ability to specify preferred line ending and indentation style for a project (via Project Properties) and policies for warning or auto-converting mismatched files when possible. * Automatically add links on tracebacks in message dialog and Messages tool * Option to automatically add files to the project, either only newly created files, or all files saved while the project is open * Preference to disable pasting from the clipboard into the editor when the middle mouse button is pressed * Multiple files may be opened with the open dialog on win32 * Files may be dragged onto Wing to open them or add them to a project * Spacing between lines in tree & list panels has been decreased and is configurable via the text styles preference * Warn when indentation style is changed from the Source menu to a style incompatible with existing indentation (this is currently only allowed for non-Python files) * Added button to configure reloading to the file reload notification dialogs. * Allow license activation using same User Settings Directory on multiple machines -- old activation files are no longer removed and all existing activations are scanned for a valid license for current host * Allow self-serve increasing of license activation limits at http://wingware.com/extend (requires confirmation via email address of record) * Check for unsaved files when Windows login session is ending * Line number width preference is interpreted as the number of digits if it is less than 10. It's interpreted as pixels if it's 10 or more, * Added button to clear cached analysis data to the preferences editor and removed the undocumented feature that reopening an open file would cause it to be reanalysed * Added Search Help item to Help menu and document viewer toolbar to make documentation search feature easier to find * Autocomplete selection is highlighted with a bolder color * Non-default gtk input methods can be selected via a preference for the entry of non-Western European characters * Improved handling of recursion limited exceptions * PspScript file extension is now recognized as Python Bug Fixes * Search of help on Windows searches all help documentation * Common builtin modules appear in the import autocomplete lists * Don't use deprecated methods when installing debugger hooks in gtk mainloop * Fixed failure to set environment on Window when existing environment keys were not all upper case * Fixed failure to start on Posix systems w/ circular symbolic links in a font configuration directory (seen on SuSe 8.2) * Fixed encoding error when using wingdbstub and the encoding module is not imported before wingdbstub * Don't pop up a dialog if interactive shell fails to start when Wing starts * A from ... import ... as ... statement is handled correctly by the source analyser * Correctly mark file as modified if an external change occurs, but the changes aren't brought into the IDE * Red squiggles are removed when python syntax highlighting is turned off * Don't mistakenly prompt for reloading after an unmodified buffer is written to disk * Enviroment for subprocesses are sorted on Windows NT/2K/XP * Conditional BPs aren't always hit if they contain trailing newlines * Validation of properties dialogs would continue to find errors even after they had been fixed * Debugger was leaking references when exceptions occur, which would cause odd behavior in the wxPython demo * Debugger doesn't slow down when BP's are set in files that don't exist * Dialog is now displayed when attempt to write to a read-only file fails * External change checking is re-enabled after a successful write if it was previously disabled * Sped up display of autocomplete list when it contains a large number of symbols * Source analysis information was incorrect in some cases when multiple lines were deleted in a particular order * Fixed failure to process new entries and crashing when enter large amount of data or output in Python Shell, Debug Probe, or Debug I/O * Prompt to save edited files when middle click on editor tab to close the file, or when right-click and use the "Close" menu item (previously would close w/o saving) * Search manager fixes * Don't crash when searching in binary files * Fixed failure to replace all occurrences when Whole Words search option was being used in the search manager * Don't include '_' as word delimiter for Whole Word searching * Display meaningful error when disk search fails because no directory of given name exists * Fixed incorrect update of search result list that occurred sometimes during edits to files in the result set * Truncate search result list entries to 120 characters surrounding the first search match * Right clicking to add/remove or enable/disable breakpoints on the editor correctly operates on the clicked line rather than the line where the insertion cursor is located * Correctly apply German localization when set on Windows * Fixed failure to correctly detect indent depth in files where the first indent found was before a comment * Correctly detect all forms of "coding" comments in Python files and limit search to first two lines * Treat pt, zpt, cpt, and dtml file extensions as text/xml mime type by default * Fixed broken buttons in Analysis Stats dialog * Correctly handle inserting non-ascii characters with the emacs key repeat (Esc + numbers + key) command * Correctly convert file encodings when insert-file command is used * Correctly handle (w/o crashing) emacs Ctrl-U initiate-repeat command when subsequent Ctrl-U's are used as a multiplier * Count correctly when inserting repeated characters after emacs Ctrl-U is used * Fixed failure to update Modules view initially in some cases * Extended delay after wheel mouse scrolling where a middle mouse click is ignored, to avoid pasting text by accident during scrolling * Corrections to the Zope How-To * Fixed searching for '\n' in a file with '\r\n' line endings * Fixed multiple problems with reverse incremental search * Fixed problems using Indentation tool on non-Python files * H2O themes don't show confusing check mark when a check button is unchecked * Don't fail to start when locale is set to values like 'us'. Instead default to a reasonable value when the locale cannot be recognized. * Also find fonts in /usr/X11R6/lib/X11/fonts/truetype, which is used on some systems (such as Suse Linux) (this corrects fix in 2.0.1) * Class browser "follow selection" option now works * Removed unused "Reopen Windows" project preference * Renamed "Close Also Windows" preference to "Close Files with Project" * Allow selecting outside of the Exceptions tool stack area so copying the contents is possible * Correctly handle lines continued with '\' when entered in the Python Shell and Debug Probe * Added Show EOL option to editor context menu * Set focus on editor before showing context menu so all operations operate on the correct editor * Don't fail on commands that attempt argument collection when there is no editor open at all in a dock window * During trial period, show feedback dialog at exit only every four hours to accomodate trial users that start/quit frequently * Don't indent after line ending with ':' when working within a Python string. * Show popup when right click on shell, debug probe, and debug I/O tools * Increased truncation threshold for shells to 10,000 lines * Correctly detect charset= style encoding specification in html files * Don't process underscores in file names as mnemonics in the context menu shown at top of the editor window * Don't show non-patches as part of patch list shown in About box * For manual license activations via http://wingware.com/activate the pending activation is stored so activation of temporary licenses doesn't fail if more than a day passes between obtaining the request code and entering the activation code. * More descriptive error message when attempt to activate a Wing IDE Personal license inside Wing IDE Professional * Don't fail to save completely empty files * Corrected errors in tutorial and updated for new features since 2.0 * Update already-open editors correctly when Enable Folding preference is changed. * Tool box window titles can now be specified using the tool area context menu's Set Window Title item * Show correct column number in status area when tabs precede the cursor Version 2.0.1 ============= December 6, 2004 Features * Python 2.4 support * Debugger tracer built for production release of 2.4 * Function decorators and generator expressions aren't flagged as invalid code * Optimized debugger when running under Python 2.2 or later * Searchable documentation * Search manager supports batch search of all documentation and interactive and batch search of current documentation page * Toolbar search works in current documentation page * Minisearch (keyboard-driven search) works in current documentation page * Auto-completer improvements * Preference to disable auto-show of the completer (default=Enabled) * Command to show the completer on demand (bound to ctrl-space in normal mode and "esc tab" in emacs mode) * Preference to set time delay after typing stops before the auto-completer is shown (default = 0.0 seconds) * Preference to select among keys that enter selected completion value * Preference to replace existing symbol upon completion rather than always just inserting text (default=Insert) * Preference to use case insensitive auto-completion matching (correct case is always inserted upon completion) (default=True) * Define a default project that is opened automatically when no other project is opened, in order to make it easier to work with Wing without creating and saving a project. * Custom key bindings may be specified without modifying a keymap file * Zope instance directory may be specified in the project properties and the analysis engine automatically finds its Products subdirectory * Added list of installed patch numbers to the About box information * On OS X, added support for Python 2.3 and 2.2 versions compiled with the --with-pydebug and/or --enable-framework configure options Bug Fixes * Fixed seemingly random crash when analysis engine looks up a base class in a module whose internal analysis data is not in memory * Only scroll editor horizontally if cursor is at edge of window and correctly calibrate the horizontal scrollbar * Fixed failure to start up if a blank entry is found in the BROWSER environment value * Fixed failure to recognize #!python style comment the first time a new file is saved to disk * Display the first component of a multi-part imported name in autocompletion list * Search manager fixes * Fixed failure to search in reverse in the search manager * Don't update search results when the search manager isn't visible * Respect option selected for Auto-restart Searches so that result lists are not updated automatically during typing on an editor * Improved handling of stale result lists by anchoring matches to lines * Handle display of multi-line result matches correctly * Incremental search will find non-7bit ascii character * Debugger fixes * Automatically detect when an IndexError or a StopIteration exception will be caught when iterating in a for loop * F10 can be remapped * Directories are listed before files in the project view * Left & right arrow keys will collapse & expand nodes in the project tree and source browser * Don't show reload dialog for files that are open internally only (for source analysis) * Reload dialog is set as transient to topmost window for less intrusive behavior under Windows and most X window managers * Recognize fonts in /usr/X11R6/lib/X11/fonts/truetype (on some newer Linux systems) * Some missing German string translations added Version 2.0 final ================= November 9, 2004 * Updates in German translation of some documentation files * Default theme for Linux is "Simple" which does not have speed issues on some display cards * Fixed problems on Linux causing failure to start or report errors when running with non-English locales. The most common case was failure to start when ~/.wingide2 and ~/.wingide both do not exist and the file-not-found error message from Python contains non-ascii characters in the selected locale. * Fixed infinite recursion bug when analyzing two files that both use from import * to import the other modules symbols. * Added check for pythoncom based shell extensions at startup * Fixed problems with the debugger when gc.get_objects() was used * Don't obscure run location when debugging reaches exception and exception tool is expanded from minimized state * Files in project located on different drives than the .wpr file appear in the project tree display * Don't auto-open default tools and intro screen when opening projects with no open editors in one-window-per-editor mode * Don't repeatedly show the file-has-changed-on-disk dialog and don't show it when only clicking on the editor * Fixed initial display bug in stack data and debug probe panels when they are visible at startup * Correctly find Python file encoding comment when on second line * Don't leak memory when stepping in the debugger and stepping is somewhat faster * Fixed failure to debug certain programs on OS X * Delay creation of internal Timer that's used when debugging wxPython programs * Improved icon on win32 -- now matches Linux / OS X icon Version 2.0rc2 ============== October 26, 2004 Editor * Fixed slow editor responsiveness due to CPU loading introduced in 2.0rc1 * Fixed printing (broken by structural change in 2.0rc1) * Code folding, when enabled, is also available on XML files * Disable justify text on Python code lines where it would break syntax * Do not allow pasting with middle mouse button into read-only editors * Fixed incorrect insertion of parts of previous line when a file is indented with tabs and enter is pressed while the cursor is at the end of non-empty leading indentation * Fixed editor crash caused by editing text with words of length > 1000 * Bound Ctrl-F3 to search-sel-forward and Alt-F3 to search in normal keymapping mode Debugger * Show exception name correctly in the Exceptions, Python Shell, and Debug Probe tools. * Fixed attach/detach feature in debugger * Fixed debug I/O tool to work properly with debug processes that issue multiple input() or raw_input() calls * Only show Apply button in project/file properties dialogs when not shown as part of starting debug, to avoid confusion * Fixed hanging and crashing seen in debug probe, interactive shell, and debug i/o tools when fed very long lines of text * Don't strip the first and last characters from run arguments if they are the same * Fixed problem probing values that implement __getattr__ to return callable objects for all values passed to them -- this caused the debugger to slow down when stepping or even terminate the debug process (seen for example in code that uses xmlrpclib) * Define __file__ attribute in __main__ module if Python 2.3+ is being used Search Manager * Search / replace works in files with non-ascii characters, even when multiple replace operations are done quickly * Search manager at startup pauses search instead of running automatically * Fixed potential for unwanted multiple concurrent disk searches * Fixed potential for unwanted automatic interactive search when search string has not changed * Fixed interactive search in search manager to not get stuck when multiple splits are visible * Don't raise the search manager for "search for selection" operations (except if never yet shown) and keep focus on editor Other Changes * Many fixes for handling non-ascii characters in installation directory, user settings directory, debug filename, project properties, Python path, environment variables, and preferences. This includes fixes for failure to start up, failure to debug, failure to search, and other problems. * Fixed formatting problem in headers of some of the How-Tos * Allow addition of locales in resources/PO without adding corresponding resources/doc translation * Items can be added to the external terminal preference * Binaries for non-i386 Linux` work * Fixed incorrect restore of tool split divider position seen in some cases (such as when typing in python shell) * Ctrl-Shift-S bound to save-as in default key binding * Don't use system gtk on OS X unless --system-gtk is specified as a command line argument to run-wing.sh and hide system gtk option in the preferences editor Version 2.0rc1 ============== October 12, 2004 Features * Multiple files may be selected in the add file to project dialog on Windows NT/2K/XP. * Encoding / Unicode improvements * Include CJKCodecs module for the following Asian encodings (requires use of appropriate fonts in display and editor). Note that this encodings module for Python is still experimental and may contain bugs. The following encodings use the CJKCodecs module: * Chinese (PRC): gb2312 gbk gb18030 big5hkscs hz * Chinese (ROC): big5 cp950 * Japanese: cp932 shift-jis shift-jisx0213 shift-jis-2004 euc-jp euc-jisx0213 euc-jis-2004 iso-2022-jp iso-2022-jp-1 iso-2022-jp-2 iso-2022-jp-3 iso-2022-jp-ext iso-2022-jp-2004 * Korean: cp949 euc-kr johab iso-2022-kr * Improved Unicode: utf-7 utf-8 utf-16 utf-16-be utf-16-le * Recognize XML file encoding in tag * Recognize HTML file encoding in tag * Recognize PO translation (localization) file encodings * Next/previous window commands in Windows menu (includes emacs Ctrl-X 5 O and Ctrl-O bindings) * Editor features * Go to definition of a symbol when control-click on it in the editor * Added menu items for Next/Previous bookmark and bound these commands to Alt plus right/left arrow keys (this caused some changes to the Alt bindings for structural folding commands; Alt-Right/Left is a command standard for bookmark traversal) * Added emacs Ctrl-X Ctrl-X to exchange current position and mark when marking text after Ctrl-Space * Added emacs Ctrl-X Ctrl-W to write current file to another location * Delete when cursor is positioned at end of indent area will delete one level of indentation, not one character * Pressing enter when cursor is at the end of the indent portion of a line will auto-indent the line to match the old indent * Set editors to read-only when the associated disk file is read-only at the time the file is opened. This is indicated in the tab title and status area with (r/o). The read-only status can be changed from the editor context menu using Set Writable and Set Read Only. * Emacs ctrl-a / home functionality goes to start of line first, then end of indent. In non-emacs modes, home goes first to end of indent, then start of line. Both commands are exposed so key bindings can be altered if desired. * After Tab (indent-to-match) is pressed, place insertion caret at end of leading white space when a single line was indented and the line is either blank or the caret was in the insertion portion of the line. * Indent & outdent region now align the first line to a multiple of the indent size for the file * Printing on OS X * Added close item when right click for context menu on editor notebook tabs or header area * Middle click (on mice that have three buttons) closes the editor tab that is clicked upon * Added Move Focus command to Window menu (key equivalent Shift-F1 and Ctrl-X O in emacs mode) to move focus among visible editor splits and tools within the same window * Goto base class items on source browser context menu * Extended support for autocompletion options in builtin and standard library extension modules not available as Python source code. In Python2.3 these include: array errno math rgbimg termios audioop exceptions md5 rotor _testcapi binascii fcntl mmap select thread __builtin__ gc nis sha time bz2 grp operator signal timing cmath _hotshot ossaudiodev _socket _tkinter _codecs _iconv_codec parser socket unicodedata cPickle imageop pcre _sre _weakref crypt imp posix _ssl xreadlines cStringIO itertools pwd strop xxsubtype _csv linuxaudiodev pyexpat struct zipimport _locale _random _symtable zlib datetime regex syslog dl marshal resource sys * Support for user-defined Python Interface (PI) files to describe the API of extension modules that Wing cannot parse for code intelligence * Added splash screen at startup (optionally disabled from User Interface / Advanced / Show Splash Screen preference) * Debugger no longer reports previously seen false positives from its unhandled exception detection algorithm (in sre_parse.py) * Documentation updates * German language translation updated Bugs Fixed * Optimizations * Reduced startup time * Sped up display of imported symbols in code browser * Improved editor responsiveness * Code analysis engine tracks updates in python path * Replace in open files with non-7bit ascii character works correctly * Browser's current module mode works when browser is not in an editor window * A dialog is no longer displayed when the debug process unexpectedly quits * '\r' isn't added to end of lines read from stdin when using external console on Windows * Goto symbol works with nested scopes and builtins * Don't mistakenly mark certain list comprehensions as incorrect code with red squiggleys * isinstance() hints to the analysis engine would not work if the class was imported * Goto base class would sometimes select the incorrect tree row * Incorrect code would sometimes not be underlined w/ red when the file is initially opened * All project classes view of the browser is cleared when the project is closed * Rows for classes in the browser always can be expanded * Correctly restore multiple tool windows when 1 or more is already open * Don't set the initial directory of the file selection dialog to the wing installation dir or to root * Fixed bug w/ close-all when the reload dialog is displayed * Color selector in preferences editors work on OS X * Shared menu bar in one window per document mode is now positioned at the top of the screen * On Windows, the editor doesn't occasionally only display the line the cursor is on * The accent key followed by a space works on non-US keyboard layouts * Visibility options in browser no longer change when browse mode changes. This change causes saved browse visibility options in a project file to be ignored when an project file written with an older beta is opened * Symbolic menus no longer cause the editor to jump to the selected symbol when that symbol does not change * Backslashes are no longer interpreted as escape characters if they don't immediately precede a " or ' in run arguments * Text pasted into other apps on Windows doesn't sometime lose newlines * Can use system gtk on systems that don't install the libraries in /usr/lib or use newer gtk versions * Generate list of instance attributes even when a method name has recently changed * Use python 2.3 manual if version installed on system cannot be determined * Correctly report failures to display external files on Windows * Improved wxPython support in the debugger * Fix failure to write new project file * Don't crash when using some list widgets on Windows * Respect default text encoding specified in preferences for Python files * Fix ctrl-shift-tab keybinding * Log failure to start debugging when IOError happens, but don't put up bug dialog. * Don't truncate error-log at 100K when threshold is set higher * Fixed 1 in 100 chance that a license activation will fail * Don't rewrite project files if they have not changed (more compatible for revision control) * Gracefully handle read-only project files that can't be overwritten * Don't consider no windows printer an error * Fixes for multi-window modes * Omit "Wing IDE: " from window titles in one-window-per-editor mode * Correctly restore project state when in one-window-per-editor mode * Set correct initial directory for File / Open when in one-window-per-editor mode * Initiate quit sequence when close the shared toolbar window in one-window-per-editor mode * Raise already-open source windows correctly in multi-window modes * Fixed Close All Documents to work in one-window-per-editor mode * Iconify or deiconify all other windows when shared toolbar window is iconified or deconified in one-window-per-editor mode (only on win32 because of problems w/ X11 virtual desktops) * Fixed Close Window menu item to work in one-window-per-editor mode (closes most recently active window, not the shared toolbar) * Fixed commands to work in one-window-per-editor mode also when toolbar window is at front * Fixed next/prev/recent document commands in one-window-per-editor mode * Fixed problem that prevented Wing IDE Personal from starting in multi-window modes * Restore also size/position of reused editor and tool box windows (but not dock windows) when opening one project after another and reusing windows * Track existing projects previously used under another windowing policy into the current windowing policy when they are opened * Correctly handle non-sticky editors in one-window-per-editor mode (which currently doesn't have the concept of non-sticky windows) * Don't open multiple copies of same editor in one-window-per-editor mode when a file is opened using different symbolic paths to the same already-open file * Search manager improvements * Auto-enter selection if there is one when Show Search Tool * Enter key in search field brings up first search match and places focus on editor * Better history list, truncated at more manageable length with visible white space * Ctrl-Enter and Ctrl-Tab can be used to place newlines and tabs in search string. Also available from search/replace string option popup menus. * Option to interpret backslash sequences like \n, \t, and \xc3\xa4 -- all those supported by Python * Auto-hide Directory Search file selector combo list after 3 seconds * Allow tab to shift also to/from the Directory Search entry area * Correctly reanchor incremental searches at current cursor position * Show correct line numbers in result lists even in \r\n and \r terminated files * Also update the result list when edits don't remove a line from the result set but do alter the line text * wingdbstub wasn't working in programs where sys.argv doesn't exist * Removed limit of 100 project files in the Wing IDE Personal product * Don't choke on restoring symbolic paths in watch tool if there is no debug process running * Added missing command and preferences reference appendices to the manual * Expanded and updated documentation for recently added features and customization options * For clarity, license manager recognizes and explicitly rejects Wing IDE 1.1 licenses * Allow turning off auto-completion from preferences (either name or attribute completion or both) * Allow analysis of .pi files also before extension modules have been compiled into pyd/so files. * Fixed problems with tracking selection in tree views that caused several bugs in project, browser, and debugger views * Fixed input in Debug I/O tool to avoid munging the input string in odd ways. * Exception reporting improvements * Fixed exception reporting done at process termination so stack can be viewed if debug process can be stopped before terminating * Made it possible to inspect exception traceback after the debug process has exited or been killed * Improved documentation and tips for exception reporting options * Debug Probe / Interactive Shell fixes * Simplified clear buttons in shell and debug probe and restore focus when they are used * Show correct context menu when right click * Don't terminate debug/shell process when fed a syntax error * Send pasted text to end of buffer * Avoid exceptions seen when traversing history with arrow keys * Fixed failure to step after stopping on breakpoint on first line of the debug program * Fixed failure to report failure to execute files * Don't hang up for a long time on large stack traces shown in the Exceptions tool or large reports in the Source Assistant * Set focus on project when right click so Add and other items work relative to position of the file clicked on, rather than current editor file * Editor fixes * Auto-completer correctly handles typing of non-ascii characters * Immediately update tab size on editors showing tab-only indented files when the tab size preference is changed * Show "*" after file names for modified editors in tabs, selector drop down (when tabs are hidden), and Windows menu * Ctrl-up/down arrows leaves caret where it was rather than moving it during scrolling * Mini-search query-replace accepts 'j' for 'ja' in German locale * Better support for pasting text into the mini-search tool * Mini-search properly handles non-ascii characters * Insert file and goto line bring up dialogs instead of using the emacs/keyboard driven entry areas when not in emacs mode * Autocompletion works properly for 'sys' and some other Python provided extension modules * Better auto-selected colors for styles that override the selected editor background color (such as unterminated strings in Python code) * Emacs Ctrl-Space restarts text marking correctly when already marking * Fixed Dedent and Match Indent items in editor context menu * Changed rectangular select to alt-click *and* ctrl-shift-click to avoid conflicts with X windows managers and to match more common conventions on Windows * Items in context menu in editor tabs or header pertain to the clicked-upon tab if over a tab, otherwise the current editor * Show correct column numbers also when lines contain non-ascii chars * Show actual symbols in key bindings in menus rather than names like "parenleft". * Switch document command now works with file names > 80 chars in length. * Several preferences previously limited file names or command lines to 80 characters in length -- now fixed * Show docstrings in source assistant correctly even if indented with tabs: Leading white space is removed and configured tab size is applied to any remaining tabs. * Correctly show code line for links in source assistant in more cases (used to fail when some analysis info was missing) * Start adding file(s) to project from correct location when right clicked on directory name in project tree * Bring Wing Tips window in front of document window(s) if shown at startup * Move calltip highlighting more correctly when moving through a function or method invocation * Fixed confusion H2O theme check boxes so they don't check a checkmark when unchecked! * Moved Close All to File menu (was in Window menu) * Project manager fixes * Remove all old locations cleanly when closing or switching projects (previously some would linger in the mime type view) * Don't show nodes twice when add items in directories that enclose the project directory * Don't remove files other than those organized under the displayed tree nodes (previously removed more when in directories enclosing the project location) * Reject adding unsaved files to the project to avoid problems * OS X fixes * Don't hang up at startup on systems where 'which xterm' return nothing * Fixed bug that prevented the Copy Tutorial Now link on the second page of the tutorial from working * Fixed debugger propagation of LD_* and DYLD_* (on Darwin) environment variables when using external console with debugger * Avoid storing incorrect column widths in stack data and other debugger views * Fixed exception seen sometimes when moving up and down the debug stack * Improved action of the tool areas in default windowing policy so that they properly update minimized/hidden state during manual drag of the divider. * Fixed bug that caused the debug process to terminate when reporting an exception, if multiple Exception tools are displayed. * Fixed bugs that prevented display of hidden or minimized tools in some cases * Fixed bug that automatically populated empty toolboxes with the default set of tools * Fixed right/left non-active notebook tab display in Glossy P theme * All editors opened from the source browser are opened transient * Double click on source browser and debugger displays only opens/watches the item and doesn't also expand/collapse parent nodes * Debugger reports fewer more meaningful errors when a breakpoint is set, removed, or moved and the debug process is unresponsive * Don't sporadically report unexpected debug process termination when the process is killed from the IDE Version 2.0b5 ============= August 6, 2004 Features * Forward/back buttons in top left of editor now traverse forward/backward over visited code rather than files alphabetically (which was a temporary implementation in the beta series) * Added preference to auto-clear debug I/O when debug starts (on by default) * Home command first jumps to end of leading white space and then to start of line, rather than the other way around as it was previously * Re-added temporary breakpoints (Wing IDE Pro only) * Added preference to set editor split reuse policy (reuse current or open in adjacent split) * Ctrl + up/down arrows scrolls text w/o changing relative position of caret on screen * Added show/hide white space and indent guides and comment/uncomment region commands to editor's context menu * Search manager automatically selects search text when it gets focus, to make overtyping old search strings easier * Allow tabbing between search and replace in search manager and Ctrl-T inserts tab character * Allow file encoding to be changed when it is saved if contents cannot be converted to the previous file encoding Bugs Fixed * Don't lock up the Windows clipboard, preventing other apps from using it * Autocompletion is cancelled when menu key is used to display context menu * Fixed problem determining indents in file with a mixture of tabs & spaces * Warn if project or preferences file is corrupted * Fixed hanging seen sometimes during search result list updates * Use correct encoding when writing disk files during Replace All that operates directly on disk * Search manager replace operation avoids placing incorrectly encoded characters into the editor buffer * Show file in project tree, even when they are in a different directory heirarchy as the project file * Set text encoding from system text encoding as returned by locale.getpreferredencoding() * Don't underline valid Python 2.1, 2.2, & 2.3 syntax with red squiggly underlines * Hide tooltips when switching to other window on win32 * Don't shift focus to toolbar buttons when they are clicked * Improve sizing of horizontal and vertical toolboxes in document windows * Handle non-7bit ascii characters in environment names correctly * Handle non-7bit ascii characters in Python Path correctly * Clean up internal data structures properly when a window is closed * File specific environmant settings are merged properly and expanded in run arguments * Make sure analysis of imports times out rather than get into an infinite loop * Win32 cut/copy/paste key bindings added to the normal keymap * Keyboard/menu driven Cut/copy/paste now works in toolbar search, Debug Probe, Python Shell, and Search Manager * Fixed analysis failures when scope name is empty * Better tracking of position of notebook dividers * Hide inherited option is honored in the source browser * Improved text buffer scrolling * Saved searches are initially paused when restored from project file * Modal dialogs don't stay of top of windows from other apps * Fixed failure to open and colorize multiple file types (including PHP) * Fixed failure to convert Wing IDE 1.1 projects properly when they contained ascii characters with value > 127 * Filter out internal font names starting with @ in the font selection dialog * Reduced flicker and eliminated misdrawn areas on Windows * Avoid emitting middle mouse click sporadically during mouse wheeling on win32 * Improved one-window-per-editor mode - As per original design, menubar and toolbar are now in a separate shared window in this layout mode - Fixed next/prev document and switch/recent document commands in this mode - Better initial window sizing and positioning - Use new window, not tool area, for newly created help views - New Document Window in Window menu creates new blank document, not help view * Handle search matches in new, unsaved files * Fixed keyboard/command macros so they work properly * Fixed Esc + numbers + key/command in emacs mode to work properly * Correctly find strings when doing a case insensitive search for a string containing non 7bit ascii characters and respect regex flags * Don't hang in source browser when finding children of a non resolvable import * Buttons that become available when mouse is over them can be clicked * Don't buffer debug process's sys.stdout & sys.stderr when redirecting output to debug i/o panel * Support systems that return None for the filesystemencoding * Fixed broken file title style preference so it works and updates when changed * Changed tooltip on editor tabs and popup menu to always show full path for file names, regardless of setting used for file title style in prefs. This can be turned off by preference so tooltips match the selected file title style. * Turned "follow selection" preference off by default to avoid newbie confusion * Right click in project or browser no longer shows source if the "Follow selection" checkbox is checked * Don't zoom tool areas until mouse up when clicking on tabs, and then only if the mouse up is within the tab area * Browser doesn't alter selection and scroll position when in current module mode and selecting between files * Moved browser "follow selection" to options menu to save on width * Tab key now inserts a tab into Debug Probe and Python Shell * Debugger data displays now store expansion state in a way that does not encode which stack frame is being viewed. * Debug attach, conditional breakpoint, breakpoint ignore count, and analysis stats dialogs appear with correct sizing and position * Fixed run to cursor to work properly also when starting debugging * Debugger now properly logs internals into a file and logs without redundant timestamps when sent to stdout or stderr * Remember Python intepreter after set in project properties, so that one is used in the future if Python cannot be found by default on the system * Fixed WingDBG product to support Wing 2.7.1+ (fixes code broken by renamed methods in Zope) * Extra File Types preference now also supports wild cards built with '*' and '?' * Clarified Extra File Types vs. File Sets preferences * Allow selecting Exceptions text by right clicking * Fixed traceback seen when search on selection and some other features * Fixed periodic tracebacks seen during editing near breakpoints * Automatically clear stored value errors when user changes prefs that affect whether timeouts occur or huge list/string threshold is reached * Fixed failure to create analysis cache directories after converting Wing IDE 1.1 projects or when user's profiles directory is not writable * Fixed autocompletion not to report an error on non-ascii characters starting a completion * Fixed spurious traceback seen when displaying Help in some cases * Handle symbolic watches correctly across IDE sessions * Corrected Editor preferences area for Wing IDE Personal * Don't insert tab character into editor when working in search manager and tab key is pressed * Fixed reuse of existing license activation, better error reporting when a Wing IDE 1.1 license is fed to the 2.0 license manager, and clarified license activation dialog titles. * File open/save dialog now displays properly on Windows NT4 * Don't deselect text when press modifier keys in shells, which prevented using keyboard to copy/paste, among other things * Show correct offset when searching in non-ascii files that are already open in an editor * Avoid blank links / broken search result list seen in some cases depending on file content * Don't close windows automatically when use emacs ^X^K key binding * Don't auto-quit in certain cases when switching into "separate tool windows" windowing policy and when working in "one window per editor" mode * Added Ctrl-Tab and Ctrl-Shift-Tab as key bindings for next/prev document (Ctrl-PageUp and Ctrl-PageDown also work) Version 2.0beta4 ================ Features * Class browser * Improved patch system which should alleviate the problems upgrading a patched installation * Use window icon on Linux * Editor and tree menus are displayed when shift-F10 or the menu key is pressed Bugs Fixed * Fixed critical bug that could result in truncating files to length zero when non-ascii characters are used. * Fixed support for pausing in a gtk2 program when it is in the C mainloop. * Renamed confusing split vertically and split horizontally menu items * backward-tab command works * Wing defaults to its private copy of gtk and it may be set to use the system gtk via a preference * Exceptions is only listed once in tools menu * Opening files in an existing instance of Wing works more than once * Project is save when last window is closed via the window manager's close button * Directories deleted from project tree when files are removed * Reload dialog doesn't get confused when a file listed is closed * Fixed code analysis confusion when classes or functions were renamed and modified files were not saved when quitting * Don't try to read past the end of the document when getting indent info * Don't segfault if BP with a non-zero ignore count is removed while debugee is running * Project commands are available even when project doesn't have focus * Fixed code analysis problem which was triggered be certain combinations of multi-line deletions * Correctly underline urls in doc strings * Eliminated analysis hanging up when a file contains multiple recursive from import * statements that reference the same files * Only look for # coding: spec in the first two lines of file and don't fail if the encoding name is invalid * Switching between projects sometimes triggered an internal exception * Don't leak thread object handles on win32 when subprocesses are started * Close disk files when search is paused or aborted * Rescan file for information about a particular scope if cached information is incorrect * Fixed exception when debugger is stopped while sending BPs to server * Multiple lines of text may be dropped in interactive shell * Disk search no longer stops when a file is encoded with a codec that is not shipped with Wing * Numeric keys work correctly when caps lock is enabled on win32 * Run args were added to command line twice when external console was used * Unsaved new buffers are not saved in project state or recent lists * File and directory selection dialogs can handle non ASCII characters * Encoding was being reset to file system encoding when file originally read contained a byte order mark * Recent lists can contain non-ASCII characters * Don't reset encoding if it is specified by a # coding: comment in Python files * Correctly detect if a name of an open file is specified in a save as operation for a 2nd file * Don't show the license dialog again in same run session after selecting a trial license * Reload the license information completely after installing a permanent license over a trial license * Fixed dialog order problems that prevented saving after 10 minute no-license trial * Added key bindings for both next and previous document commands in Window menu Version 2.0beta3 ================ Features * Printing on Windows * Integrated bug/feedback submission forms that submit directly to wingware.com * New license manager with easier and clearer license setup directly from the product w/o emailed license files * Wing will run using the system-wide installation of gtk2.2+ when present on Linux systems * Wing comes with the necessary support for displaying TrueType fonts anti-aliased when they are present on Linux * Toolbars wrap depending on available window width and tool display size/style * Replace All doesn't show warning dialog if replacing will happen only in already-open files * Startup time reduced if project isn't displaying files by mime type * Added preference for setting editor insertion caret width * Keep one transient editor open by default to make recent switching work better. Maximum number of non-visible non-transient editors can now be set from Advanced editor preferences (default=1) * File entry widget are not case sensitive on Windows Optimizations * Editor performance improved in themes with pixmap background (affects anything that involves drawing, especially scrolling) * Editor scrolling with arrow and page keys much more responsive Bugs Fixed * Fixed failure to remember ignored exceptions when check box in Exceptions tool is used * Remember unmaximized size of windows between sessions when windows are maximized * Fixed potential crash when switching projects * Initial window appears on one monitor if there is more than one monitor * Breakpoints with ignore counts work properly * Japanese characters can now be entered into the editor, though on Windows the pre-input string appears at the top left hand corner of the window * Add package or add tree add all non-generated files to project * Debug I/O and python shell auto scrolls to bottom when lines are wrapped * Symbol menus above editor updated correctly * Row under pointer in project tree is selected before displaying popup menu * Message dialog boxed are sized based on their contents * Removing all files from project doesn't trigger an exception * Various memory leaks fixed * Fixed cause of possible crash in source analysis (may have caused crashing of indent manager and source browser) * Pasting non-ascii characters on win32 works * Copied selections don't disappear after a file is closed * Remote file translations are used when sending breakpoints to server and various other fixes to remote debugging * Don't prompt to reload twice after a open file is deleted * Don't prompt to reload immediately after saving a file on win32 (only happened occasionally) * Don't crash after version 1.x project conversion or in other cases associated with attempted display of the message/error dialog * Don't auto-quit (appears as crash to user) after project file is closed (also happened during switching projects when no Help view was open) * Fixed crashing that could be caused during editing when editor or shell line wrapping is turned on * Fixed many problems with getting the debug/analysis PYTHONPATH right and failures to update the path when changing project settings or switching between projects. * Replace All button in warning dialog now works properly * Project properties doesn't reject blank lines in environment settings * Debugger didn't work with Python 1.5.2, 2.0, & 2.1 interpreters * Don't overwrite non-project files when try to open them as projects * Most cases of watch manager hanging up Wing have been fixed * Watch manager Clear All no longer breaks the watch manager until restart * Watch manager shows error messages only when values actually edited * Setting new values from debugger in the locals dictionary now works * Update project name shown in project manager when save as * Search manager entry areas set correct display font, size correctly according to font, and don't disappear text while typing * Don't overwrite user's GDK/GTK/PANGO env settings * Correctly handle zero length files in saving * Show correct search result ranges in non-ascii encoded files when searching directly from disk (the file is not open in an editor) * Don't obscure files listed on command line with a Help view * Handle name=value arguments in the source assistant so correct call tip highlighting occurs * Don't warn about forcing tab size to eight over and over again when editing in files where this is being done * Show tab size restored to prefs notice for clarity when indentation is repaired by user * Update internal indentation analysis more often (previously was sometimes deferred long enough to make indent warnings confusing) * Correctly enable tab size entry box in indentation manager when available * Search manager should always update result list after files are edited instead of often "forgetting" about files * Fixed search manager result list with grouped file name display style * Search manager warns in Messages when it cannot open a file that is part of the search scope (such as non-existent project files) * Improved search manager result list update to avoid jumping scroll position when editing a file included in the list * Don't confuse batch search results in files of same name when updating results list after edits * Search manager search string history is properly updated * Don't use mnemonics in search manager history lists * Clicking on already-highlighted match in search manager also displays the editor with match selected (did nothing before) * Fixed incorrect reseting of ignore-changed-files and auto-save-files preferences when the debugger shows its warning dialog during debugging. * Fixed failure to set state properly when editor has more than one split * Don't show Help in the tools menu * Removed Messages and Indentation from the set of tools shown by default * Set focus on tools more often, hopefully w/o being annoying * Set focus on editor if tool with focus is minimized or hidden * Fixed object life cycle bug that could lead to failure to start debugging * Fixed potential internal state consistency problem in debugger that led to endless cycle of trying to kill the debug process * Show key bindings for more commands in menus (previously missing related mutually exclusive commands like break set/clear) * Don't spontaneously show the search manager when traversing menus and at other times * Don't fail to bring "Confirm Save" and other modal sub-dialogs to front under certain window managers Version 2.0beta2 ================ Bugs Fixed * Correctly find Python even if not set in Project Properties (was leading to total failure to auto-complete or show info in Source Assistant for Python libs and builtins) * File selection dialog doesn't crash a some Linux distributions. * Background and encoding of search entry set correctly. * Editor doesn't hang when entering a u before an existing r' * Build system changed; now requiring glibc 2.2 or later, which should avoid several potential sources of crashing on Linux but also discontinues support for glibc 2.1 (too many I18N problems) * Fixed worst problems with one-window-per-editor mode (but this still needs work) Version 2.0beta1 ================ Features * Added preferences for setting display theme, font/size, and background color on editor, text selection, etc. Default theme is set to Yattacier3 on Linux * Added preference for separating tool areas from editor window or running with one window opened per editor * Added ability to move tool boxes and splits into a new window or among other open tool windows * Added ability to move editors to a new window or among open editor windows * Added commands and key bindings for toggling display of the tool panels * Set better key bindings on non-editor text entry areas when in emacs mode * Improved support for non-ascii encodings for editor files and file names (still needs some work) * On Windows, Wing's profile directory is now under the per user Application Data folder in a 'Wing IDE' sub-folder. * Restore Default Tools command in the Tools menu * Restore to factory defaults button in preferences dialog * Re-enabled about box Bugs Fixed * Python shell works on Win 98 & ME. Programs being debugged always use a separate console on Win 98 & ME only. * Segfault opening some projects * Project display bug resulting in duplicate items * Location maps for remote debugging work. Also, the initial file: prefix does not need to be specified in the local name. * Rotated text on sideways tabs displays appropriately * Multiple open files in the editor don't cause naming confusion * Double click expands and collapses expandable tree nodes * Shared project files work properly * Debug variable display tree column widths use better default size and correctly track user changes * Better initial defaults for toolbar style and number of splits in tool panels when working on smaller screens * Analysis failure/bugs no longer prevents adding new lines to a file * Don't show duplicate type inference results in the source assistant * Use correct split when add/remove tools * Document window close box doesn't work right * Failure to save files before when when set both "ignore unsaved" and "autosave files" in debug preferences * Numerous object life cycle bugs * Search manager doesn't work on untitled files * Search manager doesn't track save-as changes in files and scope * Search manager doesn't track project scope changes * Better editor split reuse policy (don't always open over the current editor) * Folding preferences don't have any effect * Fixed bugs in trial license nag dialog * Set better margin and caret color when change editor background color Optimizations * Much faster multi-file searching Version 2.0 =========== Major Features -------------- * Redesigned GUI to flexible MDI with zoomable, reconfigurable panels, multi-window option, tabbed editors, and integrated source navigation * Integrated help and documentation * Error indicators on source code * File / scope navigation menus added to source editor (replace old unwieldy source index menu) * Graphical preferences editor; all preferences take effect immediately without need to restart the IDE * Batch searching of open files, all project files, and disk files by directory, optionally recursively * Wildcard and regex search/replace * Multi-file Replace All * Keyboard driven mini-search/replace feature available also in non-emacs editor mode * Wing Tips tool to display useful hints on using Wing IDE * Improved debugger watch points: By reference, parent reference and slot, symbolic path, or path within a particular module in sys.modules * Improved debugger expression evaluation via new Watch manager * Debugger sys.modules data view * Altering values in debugger by entering Python expressions within tree views Minor Features -------------- * Environment variables can be specified in project and file properties using $(ENVNAME) form * New editor syntax highlighting support for: CSS, VB.NET, TCL, Postscript, Fortran, Bullant, ITCL, Matlab, docbook, Masm assembler, Baan, Crontab, VB Script, Scriptol, POV Ray Tracer Scene Description Language, ESCRIPT, Basser Lout typesetting language, MMIX Assembly Language, NSIS, YAML, and VXML * Project file can be sorted into deep tree view * Project display supports multiple selections * Optional visual long line wrapping on editor display * Restore reasonable scroll and selection state when reloading editor contents from disk after disk copy of file was changed externally * Added ability to block debugger expansion of values by data type, so that buggy extension module code can be avoided. This is used to avoid crashing on GdkColormap under pygtk, and types can be added with the debug.no-probe-types preference. Values on this list are still shown in the debugger display as opaque data values. * Line wrapping in non-Python is constrained to currently selected range of lines, if more than one line is selected before Justify Text feature is used. * Added internal type checking and expanded error messages for reading the preferences files * Added preference edit.print-spool-cmd to allow setting the command that is used to spool pretty printed Python output (Posix only) * Minor improvements in icon graphics and new icon for application * Available module names are displayed in autocomplete list when entering an import statement * Added ability to set selection color in editors * Improved debugger value reloading * Editor dedents correctly after "continue" Bug Fixes --------- * Start macro record is always enabled and terminates existing macro record and restarts if already recording a macro * Take common leading space into account when auto wrapping text, so that line length is still constrained to wrap column * Splash screen always draws correctly now * Fixed failure to reload when an external python executable changes * Increased default network timeout for debugger to 10 seconds to avoid problems connecting on slow machines (mainly seen on win98) * More informative info in debug connection-failed dialog, indicating that the problem may be a timeout error * Fixed failure to attach to a process that Wing detached from * Files with spaces at the beginning & end can be opened from the recent menus * A class derived from a class with the same name that's imported from another module doesn't confuse the analysis engine. * Improved debugger's stdin wrapper so it works more reliably when the IDE disconnects, the IDE reconnects, and in some situations on Windows. * Fixed crashing sometimes seen in debugger during tree expansion (due to bugs in gtk1 tree widget) Version 1.1.10 ============== August 28th, 2003 Features -------- * Added auto-completer options for Python 2.2 and 2.3 builtins * Debugger support built against Python 2.3 final * Also show __slots__ for debug values if present * Added support for debugging code running under cygwin Python 2.2 and 2.3 on Windows * Added names defined in base classes to completion lists for a class object * Added proj.dir-omit-types preference that specifies wild cards for omitting whole directories while adding a directory tree to the project, and also omit Subversion (.svn) directories by default * Added emacs Esc greater / less key bindings Bug Fixes --------- * Don't autosize windows on win32 when switching editor buffers and the window is maximized * Fixed potential for infinite replace-all loop when replacing with a string that contains the search string and the cursor starts after that last match in the file * Fixed failure to set initial directory during directory selection (happened always on win32 and in unsaved projects on posix) * Avoid doing DNS lookups unless absolutely necessary, to reduce chance of problems on hosts with misconfigured DNS * Allow use of Ctrl + Shift or Alt + Shift in key bindings on letter keys * Disabled warning about rotor module in Python 2.3 processes * Fixed problem in debug API preventing suspend * Fixed rare reference counting problem at shutdown in debugger on Windows * Fixed failure to find base classes when a base class is imported * Fixed running the debugger with a statically linked dbgtracer module * Fixed problem in redirecting I/O during debugging under Delphi and some other environments that replace sys.stdin with an object missing "closed" * Fixed brace matching problems seen in some nested cases in Python files * Fixed setting DYLD_* environment variables when using a debug console (OS X only) * Fixed save dialog to work properly when closed from window manager (Linux/Unix only) * Fixed getcwd call (FreeBSD/Solaris only) Version 1.1.9 ============= March 24, 2003 Debugger -------- * Debugger now supports Python 2.3 * Show console by default when debugging (previously the default was not to show the console, which was often confusing to new users) * Added preference to specify which console program to use when debugging with a console on Linux/Unix. * Debugger displays both contents of __dict__ and values obtainable by calling keys() and __getitem__() when both are present and allows expanding descendents of str and other built-in classes in Python 2.2+ * Debugger data probing via __members__ attribute is now on by default, allowing for deeper display of data values in some extension modules, such as pygtk. * Debugger will work with OS X python interpreters built with the framework option enabled * Debugger stack includes point of syntax errors in more cases * Fixed failure to pass command line to debug process if it begins with a space * Don't incorrectly add aq_self and aq_parent values, when present, to user data __dict__ when debugging Zope code * Turn off Nagle algorithm at both ends of the debug connection, for faster debugging. Editor ------ * Improved auto-indentation within logical lines, esp. inside multi-line sequences and dicts in tab or mixed tab+space indented files * Added ability to show an edge marker on source code (by default in light red at column 80; this is configurable with preference edit.show-edge-marker) * Added Ctrl-T as alternate key binding for inserting a tab character (because Ctrl-Tab conflicts with KDE virtual screen swapping) * Added cursor repositioning commands to the Source menu with key bindings also in normal (non-emacs) editor mode (emacs mode bindings for some of these are non-standard) * Automatic brace matching can be turned off with new preference edit.auto-brace-match=false (it's on by default) * Disabled tab error indicators in tab and mixed indent files, where they are not reliable * Fixed auto-indent to also replace indent of same level when the contents of the indent (in terms of tabs vs. spaces) differs * Under X windows, don't whomp on an external selection when a new editor is created or opened * Fixed emacs interaction to work properly with characters entered on keyboards with Alt Gr key Source Analysis --------------- * Fixed problems with code analysis when '>>' is used in an expression * Fixed caching of code analysis data when import statement is part of a compound statement (e.g. 'a = 1; import string') * Autocomplete works (if type can be inferred) for variables named r, R, u, U, ru, & RU. * Fixed analysis of unicode literals * Improved interface files for builtin Other ----- * Added Quickstart, How-Tos, and Python Success Stories links to the Help menu * Search manager now remembers search options in the project file * On Linux/Unix, help menu and Open in External Viewer in Project's right-click menu display by default using the browser configured in BROWSER environment variable, or by searching for common browsers. This may be overridden with preferences gui.url-display-cmds (for urls) and gui.file-display-cmds (for local disk files). * On Windows the default extension for a file type is added to a newly entered filename unless an extension is specified * On Linux, don't fail to start up on machines missing basic fonts * Added xsd and a number of other XML related file extensions for automatically recognizing file type for syntax highlighting * On Linux/Unix, close all sockets on exec to avoid propagating them into spawned processes. This could lead to problems with reusing Wing instances, inability to listen on the debug socket, failure in detach/attach, or failure to debug programs that spawn sub-processes. Version 1.1.8-3 =============== January 31, 2003 Bug Fixes --------- * Avoid stopping debugger in internal function when stepping into an import * Improved path name detection for modules that are loaded before debugger starts Version 1.1.8-2 =============== January 28, 2003 Features -------- * Added debugger support for Python 2.1 on OS X in binary distribution * Fixed WingDBG Zope support module to avoid revealing internal exceptions during debugging Version 1.1.8 ============= January 21, 2003 Features -------- * Debugger now detects module load and reload and correctly indicates to the user cases when the source being viewed in the IDE does not match the code that is running in the debug process (e.g., after edit but before module reload) * Set TCP_NODELAY on debug connection for slightly faster debug stepping (only with Python 2.0+ debug processes) * Added ability to specify also the debug password file name in wingdbstub.py, to override the default of .wingdebugpw Bug Fixes --------- * Correctly accept non-ascii chars as input from the keyboard * Improved reporting of failure to view manual and other external documents * Fixed occasional failure to stop at 1st BP reached when debugging an externally launched program * Avoid failure to expand instances that look like short values because len(str(value)) < the configured short text threshold (default 55) * Fixed debugger to handle file names > 260 characters in length on win32 * Lengthened timeout for reusing existing Wing instance to open files, to avoid intermittent failure on slower machines * Corrected documentation for Lite to omit some preferences not available in this product level * Corrected documentation for external launch debugging to describe the access control password file * Optimized display of large values in the interactive shell and update status message while command is executing * Fixed wingdbstub.py handling of the WINGDB_PWFILEPATH environment variable * Fixed failure to detect an empty project file * Avoid spurious tracebacks at end of debug session, e.g. in wxPython apps * Fixed file location cache to correctly normalize paths like C:\\\\x\y\z and \\\\\\x\y\z on win32 (to C:\x\y\z and \\x\y\z, respectively). This fixes potential failure to stop on breakpoints and similar problems. * Fixed emacs file selection manager to correctly display C:\ instead of C:\\ when working directory is top level of drive on win32 * Internal file location cache expanded for faster large project startup and fixed to avoid potential confusion of different files * Fixed file location cache to correctly interpret C: on win32 as the current working directory associated with C: rather than C:\ * Fixed failure to auto-indent in empty Python files when edit.indent-style is set to tabs-only and edit.indent-size does not match edit.tab-size Version 1.1.7 ============= November 14th, 2002 Features -------- * Added preferences to control whether auto-completion is done with tab or enter key or both * Debugger support for values that descend from dict, list, and tuple in Python 2.2, and adjustments needed as a result of related type/class unification changes in Python * Added emacs Alt-b and Alt-f key bindings Bug Fixes --------- * Fixed failure to start the debug process on Windows when PYTHONPATH is defined * Fixed failure to automatically find Python interpreter when PYTHONHOME is defined or PYTHONPATH contains conflicting standard library directories * Fixed Project Properties dialog to work correctly when no Python interpreter is found * Fixed problems handling some types of debug data * Fixed problems opening manual from directory path containing spaces * Fixed failure to open non-file URLs from Help menu on OS X * Work around bug in os.path.abspath() on Windows to avoid failure to open or find files * Key bindings now override menu accelerators in cases of conflict (instead of the other way around) Version 1.1.6 ============= September 23rd, 2002 Features -------- * New, much improved Zope support packaged as a Zope product (WingDBG) with configuration from the Zope Management Interface * Added command to switch to the most recently visited source document (Ctrl-Alt-L emacs binding; available as Ctrl-5 in normal editor mode) * Added key mappings for cursor movement keys on the numeric key pad * Brace match feature now includes the braces so that repeated use of the command moves to ever-larger enclosing scope (or next set in file if no larger enclosing scope is found) * Added menu item for inserting a tab character (which includes the key combo to use) * Search manager doesn't beep incessantly during failed incremental search * Added scrollbar to the View Manager's list of views * Added support for Pause inside input() and raw_input() on Mac OS X * The product source code now builds on FreeBSD and Solaris * Additional diagnostics for startup failure on win32 Bug Fixes --------- * Fixed annoying intermittent failure to scroll to position in editor during debugging, when using source index menu, and in source browser * Don't drop the debug connection on certain kinds of syntax errors in the Interactive Shell and Debug Probe, and properly report the results of these to the user * Source browser source view retains scroll position when resize the view or click on document / source tabs * Properly reset and propagate PYTHONHOME to the debug process also * Fixed some problems with propagating PYTHON* env variables on win32 * Increased timeout for debug initiation phase to avoid problems on very slow networks or machines * Allow debug code that sets sys.stdin to an object that is missing methods * Fixed problem with exit on failure option in wingdbstub; this now raises an exception rather than just exiting * Fixed bug causing problems when sending larger packets from the debug process to the IDE * Fixed potential for infinite loop in the search manager Replace All * Added missing wingdb-suid file to Linux RPM * Improved documentation for building Wing from source and build support * Corrected copy of product license in the manual * Splash screen updates properly when obscured and on slow X servers * Corrected default www manual location when local disk copy cannot be found Version 1.1.5 ============= June 25th, 2002 Features -------- * Added ability to immediately initiate forward or backward searches based on the current editor selection, or the nearest word when no selection is made * Faster access to view manager with ctrl-0 (zero), for quickly switching views * Added command and key equivalents for displaying the location at which a Python source symbol is defined. Similar to Goto Definition in the source index menu, except this is accessible by keyboard navigation and works from cursor location instead of click location. * Added support for string methods. The Python interpreter you are using must be version 2.0 or newer for string methods to appear. * Expanded contents of autocompletion lists for builtins. * Added button to Error List dialog for faster access to the debugger * Improved and expanded documentation for remote debugging. Bug Fixes --------- * Support for mod_python and other single-threaded environments that muck with the Python thread state * Correctly display the location of syntax errors encountered in the debugger * Correctly handle display of the current exception location also when using 'raise' inside of an exception handler block * Optimized debugger so stopping on a max recursion exception doesn't take (nearly) forever. * Fixed resetting of local variable values from the Debug Probe * Fixed failure to stop at a breakpoint on the first line after a StartDebug api call * On win32, correctly handle cases where Python is placing 8.3 short names into modules and code objects (e.g., if Zope is running as a service on win32, or if running from certain command line environments). * Don't hang in Replace All when replaced value contains the search value and start with the search value selected in editor * Fixed hanging when trying to open non-project files as project files * Fixed problems with forcing indent style to use in non-Python files * Fixed code analysis so that the number of symbols that can be imported through a from ... import * statement isn't limited to 200. * Omit bogus project properties radio buttons "Use project settings" * Update toolbar when clicking on stack * Also enable frame up command when at 2nd stack item and using wingdbstub * Move run marker correctly when single click on stack and remove it when continue running * Only enable run-to-cursor command when appropriate * Search manager key equivs also work after clicking on one of the buttons * Changed all ctrl-alt+letter key bindings (these do not work on win32) * Update windows under print dialog on win32 * Added missing files for source distribution Version 1.1.4 ============= May 3rd, 2002 Features -------- * Second+ copy of Wing started from the command line with some file names in the argument list will reuse the existing copy of Wing. This can be overridden by specifying --new as a command line option, which forces creation of a new instance of the IDE. * In emacs mode, Esc followed by key and Alt-key are now automatically defined as equivalents. Thus, Esc g and Alt-g both goto-line, and Alt-4 is like Esc 4 repeat operation. * Emacs key binding Ctrl-U is now also supported * Added manual documentation for Wing's command line arguments * Trial copies of Wing IDE now display a dialog box every 15 minutes. Your purchase makes a big difference in our continued development of Wing IDE! Bug Fixes --------- * Fixed broken macro record feature, which was doubling up all keys pressed during macro playback * Fixed long periods of hanging at startup on win98 with certain Python path or project contents * More descriptive error message when Python cannot be found at all * Increased debug timeout to 10 seconds to accommodate slower machines * Make sure that the analysis cache is created in all cases, so source analysis is faster on reopening a project. * Don't display quit warning except when last window is really closed * Don't quit Wing when last Window is closed as part of project new/open operation * Multi-part key bindings now work correctly (e.g. Escape Less) * Esc in keymap files is now a synonym for Escape * Don't use Shift-Alt key bindings for letter keys (three bindings were changed in normal editor mode, for clone-window, move-editor-to-new-window, and delete-window). No code was changed, as shift should not be used as a meaningful modifier for letter keys. * License manager doesn't crash Wing if it fails to read a lock file; instead, it treats it as a foreign valid lock. Also set permissions on lock files to avoid problems in more cases. * Optimized external file modification time checking to address slowness seen when large numbers of Python files are discovered through source analysis. * Optimized source browser and analysis engine for faster startup in very large projects or when running with a broad PYTHONPATH. * Fixed source browser updates during analysis to keep constant the selection, expansion state, and first visible line. * Fixed potential problems in source browser and other tree views during content updates, which led to broken keyboard navigation * Fixed printing on linux systems where Python 1.5.2 is not the default Python on the path * Fixed insert-file editor feature, which was broken on win32 with native file selection dialogs Version 1.1.3 ============= March 12, 2002 Features -------- * Added ability to show integers in debugger in decimal, hex, or octal. Default is set by debug.default-integer-mode preference and can be altered from the Integer Display section of the Run menu. * gui.display-font-name may now be a full X windows font spec instead of just the font name, allowing finer control needed for some X servers. Bug Fixes --------- * Fixed broken sorting of lists on the debugger display * Fixed failure in code analysis to resolve a name imported from a package, resulting in missing items in auto-completion and source browser * Fixed broken one-view-per-window mode * Fixed broken process attach/detach (Wing IDE Standard only) * Update breakpoint icons correctly when click to change line in editor * Fixed broken conditional, temporary, and ignore count break point support when clicking on breakpoint margin with modifier keys * Improved fallback options used internally if a configured font cannot be found * Fixed bug that could cause debugger to crash when a break point is deleted during and active debug session * Prevent duplicate display of path information in the Analysis Stats dialog * Fixed failure to display file count in analysis stats dialog * Don't show internally used editor views in the Search Manager and other view lists * Fixed breaking of toolbar icons if execute a non-available command once, as was possible in double clicking on icons * Disabled New Blank Window in one-view-per-window mode, since it is not needed there Version 1.1.2 ============= February 18, 2002 Features -------- * Added gui.popups-stay-up preference (default false) that when set to true causes right-click popups to stay up for browsing after the mouse button is let up. This works better with some types of mice and track balls. * Initially open project manager and an untitled source file by default if no project is opened otherwise (i.e., the first time Wing is run). Bug Fixes --------- * Search manager correctly unfolds search targets when using Search Manager search and replace features * Optimized external change checking, which should avoid some of the heavy disk access and unresponsiveness of the GUI seen during startup when opening large projects on some machines * Fixed bug that could lead to crashing of debug processes running under Linux, in cases where the debug process code objects contain relative path names * Fixed failure to debug new untitled files when saved during debug initiation * Fixed writing of incorrect header in non-shared (single-file) project files * Fixed failure to handle cases where stale license lock files cannot be removed * Correctly update breakpoint and similar commands on all cursor movement * Set default directory in emacs file open to initial directory when working from an untitled document * Don't auto reopen projects when files are given on the command line Version 1.1.1 ============= January 14, 2002 Bug Fixes --------- * Dlls from the WINGHOME\bin\dlls directory are always used on win32 to avoid conflicts with other installed programs (such as gimp) * Added code to terminate a subprocess that takes too long to execute (this could hang up Wing during probing of odd Python environments) * Enabled support for 256 color display mode on Windows (with some display glitches remaining, such image display in About window) * Debugger does not hold onto references to PyFrame objects longer than required. This makes the debug run environment more like the non-debug environment, and thus avoids bringing out bugs in client code, as was seen in crashing some wxPython apps. * Disabled extra debugger support for Qt, due to crashing in some versions of pyqt or Qt. See the manual or FAQ for information on how to keep Qt apps responsive to Pause or breakpoint editing during free-running. * Added code to terminate a subprocess that takes too long to execute. * Fixed browser expansion code; it could get into an infinite loop when expanding a module with imported names. * Fixed bug in outdenting ranges of code that include blank lines * Fixed source browser auto-scrolling bug, sometimes leading to failure to turn off filters when filter checkboxes are unselected * Browser visibility checkboxes are now correctly set at startup Version 1.1 final ================= January 2, 2002 Bug Fixes --------- * Fixed yet another leak associated with the win32gtk cursor implementation (could lead to crashing in longer runs) * Don't filter out tuple, dict, or list entries even if the entry type is listed in debug.omit-types * No longer show variables in debugger (only worked previously in Python 2.0 and 2.1 and conflicted with filtering by value type) * Don't ask to reload directories when their content changes * Improved scrolling update when scroll one line at a time in tree views * Ctrl-Shift-F5 debugs current file * Eliminated benign warning messages when WinXP switch user desktop is active * Fixed failure to close projects in some cases during project switch * Added key mappings for the keypad navigation and insert/delete keys * Redirected gtk / gdk error messages to our log file * Wing cancels end session request on win98/ME if there are unsaved changes * Add .pyw as a valid extension for Python files Version 1.1rc3 ============== December 17, 2001 Bug Fixes --------- * Fixed hard crash (Linux and win32) caused when clicking around on items in source browser or project manager that caused the docstring view to be updated, if the docstring was previously scrolled past the length of a newly selected docstring. This may also have affected the indentation manager, search manager, window status area, project manager, and other text display areas. * Fixed problems with cursor setting code that could lead to disembodied cursors and crashing on win32 * Fixed several resource leaks and memory bugs, mostly affecting win32 * Fixed broken run-to-cursor command * Fixed inability to reduce size of the expression evaluator * Win32 no longer fails to display file selection dialog from project/file properties dialog the 2nd+ time * Fixed bug preventing reporting of user exceptions when the exception class contains no docstring or non-string value for docstring * Fixed flashing of editor during some debug stepping or display from source browser, project manager, or after goto-symbol-defn * Debugger skips internal code reached at line zero during module imports (previously, it stepped on line zero but failed to display any stack or source info) * Fixed broken Show More / Less buttons in textual variable display area * Re-enabled WXPython support * Removed failed attempts to log messages from wingdb when verbose debugging is turned on (the log file name is encoded and can't be accessed from here) * Fixed failure of the debug process when debug.verbose preference is true and there is no valid console for the process * No longer attempt to display when raise exception in Interactive Shell or Debug Probe * Install scripts for linux are now (again) shipped as executable * Fixed several failures to update display on win 98/ME * Windows no longer resize when label at the bottom of the window is longer than the current width. * Replace most GtkText widgets with Scintilla to avoid GtkText bugs. Version 1.1rc2 ============== December 6, 2001 Bug Fixes --------- * Fixed major win32 handle leak in cursor code that led to crashing of Wing after running for longer periods of time * Fixed bug in win32 drag-n-drop code that would cause wing to crash sometimes if drag was not dropped anywhere * Fixed initialization failure in win32gtk event filter list (possible cause of crashing) * Fixed handling of possible crash during quit win32 quit handler * Fixed problems in View Manager resulting in failure to close views, activate views, and in some cases complete lockup of the IDE * Fixed failure to change to syntax highlighting by file name from the Source menu * Fixed bug in Interactive Shell and Debug Probe that led to failure to detect huge values in Python 1.5 debug process, or problems handling unicode values in Python 2.x debug process Version 1.1rc1 ============== December 4, 2001 Incompatibilities ----------------- * Users of wingdbstub.py must update their copy of this file from the new Wing installation. * Preferences debug.use-xterm and debug.persist-xterm have been renamed to debug.use-console and debug.persist-console, respectively. The old names are no longer supported. * The preference main.print-wing-debug-output has been removed. Debug output is now obtained with 'wing --verbose' on linux or by running console_wing.exe on Windows. * The preference debug.-verbose-debugging has been renamed to debug.verbose and is no longer supported under the old name. * If you manually copied the debug server code to a remote host, you must update to the new debug server code. Earlier versions cannot be used with this release. New Features ------------ * Support for Windows XP * Added debugger and syntax highlighting support for Python 2.2 * Source code analyzer accepts // as an alternate spelling of / * Wrapped Python-level sys.stdin so that the debug program's keyboard I/O is multiplexed with the debug server socket, allowing Pause and breakpoint commands to be used when the debug process is waiting for keyboard input. * Keyboard input initiated as a result of commands typed in the interactive shell or debug probe now occurs in the shell windows rather than the debug process or Wing IDE console. * Changed the Debug Properties dialogs to add also ability to control whether or not a debug console is spawned with the debug process. By default, none is spawned and the console from which Wing was launched (if any) is reused for command line I/O for the debug process. Set value to Start New Console to create a new private console for the debug process. * Debugger now supports most cases in which module __file__ is a partial path. See Limitations section of manual's Debugger Chapter for remaining unsupported cases. * Added next/previous view commands and view manager for switching between or closing views. * Added keyboard navigation of tree views in source browser and project manager, and auto-scroll upon expansion near end of view. Use up/down arrows, page up/down, and home/end for navigation, right/left arrows to expand/collapse parents, shift+right arrow to expand recursively up to 5 levels deeper, and enter or return to open a selected item. * Restore also scroll position and selection when opening source views * Remember and restore the view style and filter settings on source browser * Debugger shows private instance variables in form __varname (classname) instead of the Python internal form of _classname__varname. * Textual variable display now indicates expansion depth and estimated redisplay time needed after stepping or when entering values in debug probe or expression evaluator (which may alter debug state, and thus require reloading variable values from the debug process). * Page up/down now work in the auto-completer for scrolling through choices * Edit preferences file provides easy access to preferences file in use * For easier tech support, IDE output is now logged to a periodically truncated file called error-log in WINGHOME/profiles/[username] (Windows) or ~/.wingide (Linux). Preference main.max-error-log-size sets the truncation threshold (default=100K). * Added checks for file existence before attempting to start debug or execute from within Wing IDE. * Added check box to indentation check dialog to allow selectively blocking checking the file in the future (previously, it was always only checked once) * Added ability to compact project files by removing non-critical visual state, history, and similar information. This is done from the Project menu. * Moved all per-file and project-wide debug properties into the per-user project branch when saving projects in sharable form for use in a revision control system. * Enhanced debugger warning about edited files, allowing ignore or auto-save via check boxes and alter the dialog options if the debug process was launched outside of Wing IDE. * Interactive shell and debug probe 'paste' automatically adjust pasted text to bring the first line to zero column, so that code from source that is further indented can be pasted in more easily. * Added Python for Beginners link to Help menu. * Preference main.print-wing-debug-output has been removed. To obtain debug output, run console-wing.exe on Windows or "wing --debug" on Linux. * Added ability to log information about debugger internals to a file by using the debug.logfile preference. Under wingdbstub, a value kLogFile can be set, or you can use environment variable WINGDB_LOGFILE to control logging to a file. * Added format info to debug properties dialog. Bug Fixes --------- * Fixed failure to open files added to new blank project created initially when launching Wing, after the project was saved but before it was closed/reopened * Fixed problem that led to crashing of Wing IDE after unexpected loss of connection to the debug process * Fixed several bugs that led to failure to detect external file changes or spurious requests to reload files that have just been saved by Wing (usually after Save As) * Interactive shell and debug probe will no longer time out on commands that take a long time to complete. * Fixed traceback and dropping of debug connection, seen during call to _IsAvailable_force_var_reload when debugging under load * Fixed launching of xterm console for debug process under Linux and improved environment propagation for setuid/setgid xterms (all LD_* envs are now automatically propagated) * Fixed errors caused by special characters on debug process command line on Linux (args are no longer passed through sh) * Fixed failure to display some prompts not ending in \n when running the debug process on Linux (stderr/stdout/stdin are now unbuffered in the debug process, using the -u python command line option) * Brace Match command from source menu correctly highlights the range * Wait cursor is set during entire debug variable transfer process * Improved handling of recursive imports * Editor popup handles deletion of all methods in a class better. * The final part of a dotted name no longer appears in the source browser at the child of a module node in certain circumstances. * Fixed failure to remove directory from project. * Source browser's class display is now cleared when a project closes. * Autocompletion now works after manually changing the mime type of a file to python. * Selections work properly when more than 2 or more editor views are open. * EINTR errors seen during socket select (caused by any signal received by the app) are now handled correctly instead of causing errors or termination of the debug session. * Fixed incorrect closing of stdin in the debugee process on Linux when no new xterm was used. * Debug server works better if the exceptions module is not found. * Debug process now stops as soon as possible in a non-Python mainloop environment * Fixed failure to scroll text into position during debugging or in source browser, when target line was near bottom of a newly created view * Fixed keyboard equivalents in search manager, which were not working on win32 * Fixed emacs search and query/replace inserts space into strings instead of attempting completion match when space bar is pushed * ^G or Esc out of keyboard managers fixed to restore visual state of editor to that before interaction (this was broken recently) * Fixed Linux-only bug resulting in concatenation of lines in files with CR-only line endings * Fixed weird Linux-only process control bug where turning on debug passive listen, launching Netscape from the Help menu, and then quitting and restarting Wing would cause failure to reenable debug passive listen due to socket-in-use error. * Now correctly handle /x/y/z project location and file of name /x/y/zfile without translating the file name to 'file' (the correct ../zfile is used instead). * Fixed possible problems launching debug process on win98 if the program name contains special characters or spaces. * Fixed bug leading to Too Many Users message in cases where the the license lock file is in place on disk but the license file is removed and Wing is relaunched. * Debugger can now pause and breakpoints may be set when stdin is being read. * Reduced interactive brace matching overhead, which may solve disappearing cursor bug seen during key-repeated keyboard navigation of source on fast (1.2Ghz+) machines. * Fixed detection of whether nested scopes are used for name resolution when changing interpreters. * External change detection now only brings up one dialog and updates it as additional changes are detected, instead of displaying one dialog per change batch. * Don't add classes to browser when analysis is incomplete at time of project close / new / open * License and project managers no longer choke on "none", "true", or "false" as value for one of the fields (only pref mgr translates these strings to Python data types of None, 1, and 0). * Fixed bug that foiled optimization of project and pref files read * Fixed malloc bug that allocated 1 byte less than expected when pasting into a text field on win32. * Wing puts up a error dialog if it can't find the python15.dll when it starts. * Modules located in C:\ directory are displayed in the source browser. * Eliminated beeps on win32 when Alt is pressed with a key that is not a menu accelerator. Version 1.1b8 ============= October 22, 2001 Incompatibilities ----------------- * Users of wingdbstub.py must update to the current release's version of this file * If you copied the debug server code to a remote host, you must update to the new debug server code. Earlier versions cannot be used with this release. New Features ------------ * Default source editor windowing mode is now to place multiple editors into one or a few windows. This can be disabled by setting preference gui.one-view-per-window to true. Newly opened editor views are always embedded into the most recently used source editor window. Use New Blank Window, New Cloned Window, and New Window with Current View from the File menu to create additional source windows. The Windows menu and ^X B in emacs mode can be used to switch between views. * Added New Cloned Window in the File menu, to allow opening multiple concurrent views of the same source file (also in single-view- per-window mode). * Previously open manager windows are also reopened automatically when a project is opened. * Windows menu now includes blue section headings and lists hidden views in multi-view-per-window mode separately. * Added preference debug.safe-size-checks-only that can be used by numpy and other users to avoid timing out the debug session as result of values typed in the Debug Probe. The default is true, which indicates that Wing will not attempt to avoid network transfer of very large values resulting from typing in the interactive shell. When set to false, interactive shell will attempt to avoid large values but then invokes any __getattr__ methods twice, which may have undesired side effects. * Wing now sets the foreground lock timeout on Windows 98/ME and 2K/XP in order to be able to raise debug source windows to the very front, even when Wing is not the frontmost app. This is a global option so also allows other apps to raise windows when they are not the foreground app, and persists until the last copy of Wing quits. This can be disabled by setting preference gui.set-win32-foreground-lock-timeout to false but be prepared that debug source windows may not raise in some cases (they will flash in the task bar instead). The preference is set to true by default and is included in the starter prefs choices presented to the user the first time Wing is run. * Double clicking on a word in the autocomplete popup menu completes with the selected word. * Expanded documentation of those rare cases where the debugger may fail to stop on break points or at exceptions, with work-around information. * Indentation manager is now also available for non-Python source files * Update indentation style according to edits made also for non-Python or untitled files that have never been saved to disk. Previously, the initial analysis of indent style remained static for the session. Bug Fixes --------- * Better support for debugging files loaded through a relative path name (either via relative path entry on PYTHONPATH / sys.path or by relative path name sent to exec). * Don't allow save-as to overwrite files that are already open in Wing, as this leads to possible data loss and constant reload event detection * Confirm overwrite on files also on win32 * Fixed folding bugs: No longer randomly expands fold points during brace match and correctly expands fold points during edits without doing so unnecessarily * Avoid hanging up for long periods of time on large Python files when triple quoted strings are formed or opened during editing. * Expand folding to display search target both in emacs mode interactive search and when using the search manager * Set __main__ module correctly in IDE-launched debug processes, to hide the enclosing debug machinery's __main__ * Non-ascii characters are displayed appropriately in menus and doc-string displays on win32, and Wing no longer crashes when displaying some non-ascii characters * Don't track cursor backwards to previous lines when dedent or uncomment code * Don't save invalid debug properties when user cancels out of dialog after error properties are displayed * Don't lose cursor position randomly in the editor (e.g. ctrl-a and then del key work in normal mode to delete whole file contents) * Limit auto-scrolling after indent/dedent and comment in/out operations * Keep modal dialog windows on top of the application's other windows * Don't obscure the message dialog in various cases (it is now modal and stays on top) * Fixed failure to quit and other strange interactions resulting from dialog display * Include traceback in all interactive shell errors to make better distinction between failure and success * Fixed use of incorrect cached analysis data when replacing a file with another file with an older modification time and when abandoning unsaved changes * Corrected analysis symbol discovery in some situations when nested def or class statements are used * Analysis menu no longer fails to appear when there are source symbols consisting of only underscores ('_') * Use native win32 file selection dialog for locating license file the first time Wing is run or when license file expires * Improved font sizing in dialog boxes * Removed the never-enabled Restart item from Run menu * Fixed backtrace when checking the Incremental box in search manager * Doc strings from files containing \r in newline no longer show with black squares on display in project manager and browser docstring areas * Window title is updated immediately after a save as to a different file. * Fixed cases of duplicate evaluation from the interactive shell * Fixed failure to update contents of expression evaluator windows when user types in the interactive shell * Debugger checks for run with -O or -OO option or PYTHONOPTIMIZE, which won't work during debugging due to lack of debug information * Fixed pausing in non-Python main loop environments, where there is a long period of time spent in Python code only (broken in a recent release) * On Windows, fixed support for using python_d.exe with the debug process * On Windows, use python.exe and not python_d.exe as the default Python when none is specified by user * On Windows, fixed project properties dialog not to complain gratuitously about missing Python installation if Python is found in the registry but not on the Python path * Debugger Save and Restart dialog restarts the correct debug process also when it wasn't the main debug file * Confirm quit before closing last open Wing IDE window * Don't persist the debug process console window by default. Set preference debug.persist-xterm=true to return to the previous behaviour of delaying the debug process exit until user types in the console window. * Editor repaints more often when scrolling in some cases * Update the project manager window title whenever projects are opened, closed, or saved under another name * Set wait cursor during close/save/open/new project actions and for close all editors command * Improved file selection panels in file/project properties dialog so browse button leads to modal file selector in modal variant of this dialog and to non-modal file selector otherwise (linux only). In non-modal variant the browse button will raise already-visible file selector dialog. * Rescan for type of line ending and indentation style to use when a file is reloaded from disk, so that correct line endings and indent form are placed after external file translation occurs. * Fixed signal mgmt bug causing failure to update macros, indent style, and suspension of analysis during typing in the source editor * Don't rehandle terminator in incorrect emacs key sequences, to avoid places CR line endings on text and other related raw key problems * Fixed incorrect initial sizing of Source Browser and Debugger panels seen on some fast Windows machines * Fixed printing to work on Linux also in cases where the 'python' found via search path is not 1.5.2 Version 1.1b7-2 =============== September 17, 2001 Incompatibilities ----------------- * Users of wingdbstub.py must update to the current release's version of this file * Earlier versions of the debug server cannot be used with this release. This is only relevant if it was copied out of the distribution for use on a remote host; otherwise, it is automatically updated. New Features ------------ * Auto dedent also after 'pass' in Python code * Split interactive shell into two independent tools: Interactive Python Shell for testing / sandbox, and Interactive Debug Probe, for probing a paused debug program Bug Fixes --------- * Fixed incorrect locals dictionary used in top-level invocation, leading to problems at the __main__ scope when running under debugger * Interactive shell will run its sandbox using the same Python interpreter set up for the project or main debug file and runs in external process rather that within Wing * Interactive shell New Session button restores focus to shell editor * No longer bring up debugger window when program has quit entirely or the debug connection was lost * The "set current as main debug file" on the project menu works also in multi-view-per-window mode * Avoid using horrible font on some win32 systems * Fixed problems with cursor positioning on win32 when Lucida Console is used * Fixed incorrect treatment of __builtins__ as dictionary in debug globals space * Fixed failure to start when main.startup-show-debugger preference was true * Font used in scintilla dialog boxes & debug window uses the same font as the menus * Fixed code analysis problems with files containing '\r' without a following '\n' * Fixed shift-enter, ctrl-enter, and alt-enter to always place correct newlines into the source text (shift-enter was placing '\r' in all types of files) * Fixed drag and drop to convert dropped lines to correct form of line endings for the target file Version 1.1b7-1 =============== September 6, 2001 Incompatibilities ----------------- * Users of wingdbstub.py must update to the current release's version of this file * Earlier versions of the debug server cannot be used with this release. This is only relevant if it was copied out of the distribution for use on a remote host; otherwise, it is automatically updated. New Features ------------ * Interactive shell is now also available when no debug process is running * Structural code folding is now available for Python, C, C++, Java, Javascript, HTML, XML, Eiffel, Lisp, and Ruby files * Breakpoints can be set, cleared, enabled/disabled, or altered by clicking on the breakpoints margin in editor * Brace highlighting occurs adjacent to cursor, also in non-styled files, and uses more visible hilighting * Auto-wrap in Python doesn't combine logical lines and properly indents wrapped areas * Added syntax hilighting for Ada, Eiffel, Lisp, Ruby and Bash files * Added debugger support for WXPython mainloop environment * Error list now supports copy to clipboard with right-mouse popup menu and syntax hilighting * Search Manager defines key equivalents for search, replace, and replace-and-search and these work also when the manager is not at front * Search Manager includes a search history for selecting previously used search strings, and automatically sets the most recent search string into the GUI * Key equivalent and Search Manager button also defined for searching backward * Search Manager supports incremental searching (search starts to happen as you type the search string) * Added search status display area to the Search Manager * Search Manager stays on top above the source file that's being searched * Search manager raises when search fails and it's not at front * Conditional breakpoint dialog supports copy/paste from clipboard with right-mouse popup menu and syntax hilights the conditional * Displays also column in editor status area * No longer select the current line during debugging: This is indicated with a colored background and marker instead without setting the selection * Preferences to turn off raising source text windows on exception specifically when working in the interactive shell or expression evaluator * Only show breakpoint margin on Python files * Added embedded script flag to wingdbstub.py in order to allow retaining the debug connection indefinately in an embedded scripting environment * Added preference gui.auto-save-before-action to set whether altered files are automatically saved before starting a debug session, executing a file, or running a build command (default=false) * Toolbar is omitted from source browser (but can be shown with the new gui.show-toolbar-in-browser preference) * Toolbar in debugger window is truncated to include only the tools that can be used in that window * Added preference for controlling selection policy after actions like indent/outdent, and (un)commenting out blocks of code: Options are to always select, never select, or select only if there is already a selection (the latter is the default) * Automatically supports new releases of the same major.minor version of Python (e.g., 2.1.1 will work using included support for 2.1.x) * Added message to clarify why exceptions are sometimes reported in the debugger when not seen outside of the debugger * Wing traps and handles termination messages as if Quit was executed, so that unsaved file prompt is shown and exit is clean * Convert line endings in pasted text to match the existing file contents also on Linux (this was already being done on Windows) * Updated Zope+Wing bundle to base on Zope version 2.4.0 Bug Fixes --------- * Printing is enabled at all times and prints contents of unsaved buffer and not saved disk file * Correct auto-indentation in tab-indented non-Python files and correct post-auto-indent cursor positioning in mixed style indent files * Don't reopen recent project if most recently closed or created new unsaved project * Faster startup times * Comment-out doesn't operate on blank lines and comment-in doesn't damage non-commented lines * Escape will cancel out of autocompletion * Reduced time it takes to save project files * Fixed failure to report exceptions from expression evaluator * Fixed failure to kill the old process upon Save and Restart during debug on win32 * Fixed incorrect display of source text window from expression evaluator and interactive shell * Fix problem with entering ../ in save as dialog * Fixed dual flashing cursors in Search Manager dialog * Fixed ctrl+shift+punctuation key equivalents so they also work on win32 * Fixed hanging of the GUI when right or middle mouse click in the source editor's scroll bars * Fixed crashes seen when free-running a WXPython program in the debugger * Update buttons in search manager also when paste in text * Clear PYTHONPATH at startup to avoid importing incorrect modules when users add a Python module location to their path * Fixed IndexError on stack in some forms of embedded script invocation * Now also auto-saves or prompts for save before executing a file (outside of the debugger) or running a build command * External file modification check now looks for any change in modification time, not just change to a newer modification time * Block keyboard interupt from being handled. This previously could result in loss of critical routine tasks like servicing the debug connection and check for externally changed files. * No longer writes dos line endings for files that contain other line ending styles * Fixed auto-wrap to write correct line endings and not always '\n' * Now avoids undo chain problems after no-op auto-wrap * Uses less GDI resources on win32 * Fixed multiple memory leaks * Increased delay before auto-scrolling and sped up auto-scroll * Fixed replacement of python path with the word 'custom' in some cases * Front window gets the focus back when the save as and other standard dialogs are closed on win32 Version 1.1b6 ============= July 3, 2001 Incompatibilities ----------------- * Users of wingdbstub.py must update to the current release's version of this file * Earlier versions of the debug server cannot be used with this release. This is only relevant if it was copied out of the distribution for use on a remote host; otherwise, it is automatically updated. New Features ------------ * Added printing support on win32 * Added drag and drop support for text move/copy on win32 * Added support for mouse wheel scrolling of all windows on win32 (improved since 1.1b5 patch) * Completed support for nested scopes when a 2.1 interpreter is used and a 'from __future__ import nested_scopes' statement is found. * Debugging Tkinter based programs is supported on Windows and is improved on Linux. * Large debug data values resulting in timeouts during evaluation no longer end the debug session * Debug data handling errors (timeouts or internal errors) are recorded in project file and values are never refetched unless forced by user * Interactive shell tries to determine if an expression is going to result in a huge value and network timeout (but cannot always tell ahead of time) * Comment in/out region now places comment after line indentation, to make it more compatible with indentation features * Search/replace manager allows selecting file to search in addition to using active view (which is still the default) * Added project name to the project manager window title * Ctrl-period is bound to 'redo' in emacs mode * Source distribution also includes files for the Windows version * Popup menus appear a bit to the right to avoid automatically selecting the first item (e.g., 'Cut' in the source index menu) Bug Fixes --------- * Correctly support display of iso8557 family characters on win32 also * Improved win32 native save / save as dialog to include suggested file name and file type in all cases * Fixed goto base class in source browser so it works in many more instances * Debugging embedded Python code now works properly without crashing * Fixed bug causing loss of debug connection when size of locals or globals exceed the value of the debug.huge-list-threshold preference * Better handling of unexpected exceptions raised by extension modules in debug code in response to assignment or comparison of debug values in the debug machinery * Fixed traceback in resetting on cancel from font/size dialog if some editors are closed while it's up * Changed key maps so shift specifier is ignored for keys that may be in different keyboard locations depending on locale * Fixed bug that prevented some classes from being displayed in Class Heirarchy view * Fixed bug that dropped info about a function or class when a comment followed the declaration. * Draggable dividers now update as you move them, so they are much more usable * Fixed rectangular and regular paste to work correctly in all cases * Fixed newline handling in pasted text to convert to target file's format * Blocked escape key from entering source text as BEL * Correctly enable/disable variable display in expression evaluator * Add newly saved files and projects to recent lists also * Fixed failure to reevaluate in expression evaluator, leading to time outs in some cases with large data values * Set mime type when source menu is used to alter syntax hilighting so that breakpoints can be set into any file that's user-defined as being Python even if no file extension mime map is matched (the selected mime type is stored in the project file) * Fixed some cases where Python wasn't found even when it should be on win32 * Detect .pyd & _d.pyd files as C extensions in code analyzer * Fixed editor paragraph auto-wrap function to compute correct common line prefix in all cases * Fixed GdkCursor warnings and associated memory leak on win32 * Formatting bug fixes in HTML version of manual * Now raises the frontmost window in the app if another app is in front Version 1.1b5 ============= May 11, 2001 Incompatibilities ----------------- * Users of wingdbstub.py must update to the current release's version of this file * Earlier versions of the debug server cannot be used with this release. This is only relevant if it was copied out of the distribution for use on a remote host; otherwise, it is automatically updated. New Features ------------ * Partial support for Python 2.1 nested scopes (symbols appear in autocompleter and source browser when nested scopes are enabled) * Tested also on Debian 2.2, Suse 6.4 and 7.0, Mandrake 7.1 and 8.0, RedHat 6.0 and 7.1 (see manual or website for full list) * On Windows, use standard file and directory selectors rather than the gtk file selector; preference gui.use-native-file-selector can be set to false if the gtk selector is wanted instead * Added ability to specify a default file location mapping for remote debugging. This is used for all otherwise unmatched remote hosts. * Added examples to manual of file location mappings for various remote/networked debugging scenarios. * #!*python* at head of file now indicates python mime type by default * On Linux, --system-gtk as first command line argument to the 'wing' startup script will force use of system-wide version of GTK and re-enable themes. Caution: Some versions of gtk and some themes may cause crashing. * Added instructions for rebuilding the debug server from source code, for use on platforms other than Linux and Windows (Lynx OS has been tested) * Color coded debugger status messages Bug Fixes: General ------------------ * Fixed failure to start up Wing on some win32 installations * Don't repeatedly warn about not being able to find Python if it's ever been found in order to handle some partially broken or non-standard Python installations on win32 * Changed all file selection dialogs to non-modal to avoid sub-dialog problems * Fixed traceback in menu code that sometimes appeared while quitting Bug Fixes: Debugger ------------------- * Fixed failure to display message when debug connection is lost unexpectedly * Fixed several bugs introduced earlier in this beta series that caused unexpected loss of debug connection, most associated with very large data values in the debug session * Correctly indicate when referenced debug data values no longer exist * Correctly handle changes in values in the expression evaluator (another bug introduced in an earlier beta) * Fixed failure to stop at breakpoints and incorrect source display when debug file contains #!/usr/bin/python (or equivalent) and is started by typing ./debugfile.py (possibly, among other scenarios) * Fixed slash / backslash conversion when debugging remotely between Windows and Linux or vice versa * Fixed F10 so it works for Step Into also on Windows Bug Fixes: Editor ----------------- * Fixed wrong cursor positioning after auto-indent in files that contain tabs in indents and when indent size != tab size * Fixed integration with system-wide clipboard * Fixed emacs-mode paste/^Y/button-2 behaviours to allow access to system-wide clipboard * Don't paste non-rectangular selections as rectangular on win32 * Don't warn about not being able to watch for changes in files that don't exist on win32 * Set up indent style correctly initially in files with mixed tab-only and space-only indent * Correctly update the indentation manager when undo and other actions affecting indentation style in Python files; also avoid corrupting analysis information with wrong indent counts Bug Fixes: Project Manager -------------------------- * Don't ask to save project while opening it! * Fixed incorrect identification of files in projects in some cases * Properly update tool and menu bar in all cases when opening/closing projects * Fixed duplicate use of 'R' accelerator in Project menu Version 1.1b4-2 (Windows only) =============== April 25, 2001 * Fixed failure to handle spaces in path to Python installation Version 1.1b4 ============= April 20, 2001 Incompatibilities ----------------- * Users of wingdbstub.py must update to the current release's version of this file * Earlier versions of the debug server cannot be used with this release. This is only relevant if it was copied out of the distribution for use on a remote host; otherwise, it is automatically updated. New Features: General --------------------- * Wing IDE ships with its own subset of Python so now avoids problems stemming from running under unexpected environments and experimental versions of Python. The debug process can run under 1.5.2, 2.0, or 2.1. * Analysis is now informed by which python interpreter is selected for the project or main debug file: The corresponding python path is used for finding modules and built-ins. * Added a new dialog box for viewing analysis status and environment. * When no specific python interpreter is selected in project or per-file debug properties, and 'python' is not on the search path, Wing searches in /usr and /usr/local on Linux and in the registry on Windows to locate the newest installed version of Python by default. * Added manuals for Wing IDE and Python and a number of useful URLs to the Help menu; manuals are displayed from local disk if possible, or from web if not found locally. * Added ability to open items in the project list into an external viewer or editor by right-clicking and selecting "Open with External Viewer" from the popup menu * Added preferences to set external viewers to use with disk files (by mime type) and URLs (by protocol type): This is used both for the Help menu items and for opening project items into an external viewer/editor (this pref is ignored on Windows, where the centrally configured viewers for file types and URLs are used instead) * Added preference for adding additional file extension to mime type mappings to those already defined by Wing or in system-wide configuration files * Now auto-reopen most recently open project at startup (unless turned off via preference or when a project is given on command line) * Added preference allowing automatic opening of project files as projects even when opened from the File menu (default=true). Previously, they were opened as text files by default. Now they will be opened as projects except if the project file cannot be read as a project file, in which case it is opened as text. * Added recent lists for opening files and projects * Added recent lists for debug files and executed items * On Linux, Wing IDE ships with its own version of gtk that disables use of themes. This avoids intermittent crashing when running against some versions of gtk and under some gtk themes; to run with your native installed GTK, remove or rename the directory WINGHOME/bin/gtk-bin but beware of crashing when themes are changed while Wing is running or in some cases when closing source file windows. Also, make sure to turn off guimgr.enable-tooltips preference if you run against a version of GTK older than 1.2.8. * Set display of tooltips on by default on new installations. This was causing problems in gtk versions less than 1.2.8, but now gtk is shipped with Wing. Turn this off with the gui.enable-tooltips preference only if you force running against an older GTK version on Linux. If you are upgrading and already have this preference in your personal preferences file, you need to set it to true manually if you want tooltips. * Now store debug properties and most other platform-dependent values in the project file and preferences in a way that allows the same project or preferences file to be used on multiple platforms * Source window and menu item titles can be configured to use various forms of names for files. Default is file name with appended parenthesized partial relative path (relative to location of project file or current working directory if there is no project open) * Added abbreviated menu bar to Project Manager window * Added startup splash screen * Added preferences for setting menu fonts and the font used in content display areas throughout the IDE (other than the source editor, which is configured with a separate preference or from the Source menu). These can be used to override Gnome theme or Windows-defined default values. New Features: Debugger ---------------------- * Debugger now supports Python 1.5.2, 2.0, and 2.1 on Windows and Linux * Interactive shell can now accept pasted-in multi-line statements * Added support for selecting how data values are tracked in debugger display windows: By symbolic path, by direct reference, or by named slot in a referenced parent value. This can be controlled via preferences or selected from the right-click popup menu over the main debugger variable display tree. * Added ability to add or remove items from the debug program's environment, either project-wide or per-file or both * Debugger shows Zope acquired attributes via aq_self and aq_parent, when present * Class-scoped values in an instance are italicized * Can now also zoom out whole locals or globals tree to separate window New Features: Editor -------------------- * Added preferences for default editor font/size, and a font/size selector dialog that can alter the settings for a single file or for all files in a project * Added ability to show/hide a line numbering column in source editor * Added preference to set the default end-of-line style to use with newly created files * Improved keyboard/command macro facility supports more commands, including indent and comment in/out commands, auto-completion, undo/redo, and allows use of previously defined macro in definition of a new macro * Indent-to-match feature now will uniformly indent a whole selected block to match according to the context of the first line of the block Bug Fixes --------- * Fixed missing editor scrollbars bug under certain themes and gtk versions on Linux * Fixed crashing under certain versions of gtk on Linux, such as on Mandrake 7.2 * Windows version now supports Python 2.0 and 2.1, as well as 1.5.2 * Fixed failure to start debug process when no args were specified for the debug program on win32 * Fixed crashing of IDE and/or debug server on dictionaries with class instances as keys (pickle was trying to access the class on the IDE end of the connection) * Fixed bugs causing failure to update zoomed-out variable display views when the display contained certain types of data * Somewhat gentler probing to more often avoid crashing less-well-behaved C extension modules during attribute access for debugger variable display * Fixed introduced bug on Linux causing rejection of debug properties when using default 'python' executable setting * No longer bring up source code window when encounter an exception in expression evaluation or interactive shell * Fixed bug resulting in corrupted project file when multi-line commands are pasted into the interactive shell window (due to incorrect packaging of command history) * Syntax is correctly restyled again when the lexer is changed manually (this was broken in first 1.1 beta release) * Re-enabled change/force indentation options which were broken in earlier 1.1 beta * Fixed incorrect reassignment of 'len' in source editor code leading to tracebacks * Fixed bug causing debugger to ignore the run directory debug property * Fixed aspects of macro recording and playback broken in earlier 1.1 beta * Fixed resizing of browser window to overly large height when viewing source * Fixed transient failure to update analysis information when an unsaved source file was closed and reopened * Reduced dependency on environment: Python interpreter core for use by the IDE is now included in the distribution, so only the debug server must support multiple versions of Python * Fixed incorrect close sequence for search manager window, leading to tracebacks with each window focus change Version 1.1b3-3 (Windows only) =============== March 13, 2001 Bug Fixes --------- * Fixed common problem preventing debug to be started from within the IDE (caused by one of several bugs associated with spaces in path names and/or incorrect doubling up of quotes around args with spaces in them and/or path joining oddities on win32) * Now record installation directory in Windows registry to avoid failures to start Wing cleanly on various Windows variants * Fixed failure to execute items outside of debugger on Windows due to missing environment setup * Fixed failure in file entry panel of project or per-file debug attributes when no file was selected * Fixed traceback emitted in some cases when quitting or closing editor windows, due to late call into methods of destroyed object * Fixed failure to remove stale license lock files on win32 Version 1.1b3-2 =============== March 3, 2001 Bug Fixes --------- * Eliminated use of strptime, which doesn't exist on win32 Version 1.1b3 ============= March 2, 2001 Features -------- * Win32 port; tested on Win 98/SE, Win NT4 SP6, Win 2000 SP1. Python 1.5.2 must be installed separately. Please note that this is a pre-release and contains some rough spots. Read the bug list! * Additional documentation for Zope + Wing bundle (Linux only) Bug Fixes --------- * Fixed incorrect assignment of 'cgi' files to perl (naturally, we're assuming python instead) * Fixed crashing caused by perl and some other lexers (syntax highlighting) * Fixed failure of debugger to display source location of fatal errors in __main__ scope of debug program * Fixed modal dialog interaction in debug properties file selector and turned off unnecessary modal behaviour of this dialog * Values entered in debug properties dialog are now validated for correctness * Fixed browse button for run directory in debug properties dialog so the file selector will accept a directory as it should * Removed delay between dropping debugging connection and reestablishing passive listen mode in debugger (which caused problems with fast respawning programs) * Improved color allocation to avoid problems on X servers with limited color availability * Fixed auto-indent bug in if/elif and try/except blocks that contain multiple statements on a line (as in "if x: print x \n elif y: print y") Version 1.1b2 ============= February 20, 2001 Incompatibilities ----------------- * Users of wingdbstub.py must update to the current release's version of this file. * The version 1.0 debug server cannot be used with this release. This is only relevant if it was copied out of the distribution for use on a remote host; otherwise, it is automatically updated. * Indentation features have changed so that the editor preference edit.use-tabs-to-indent-default is no longer used. This has been replaced by edit.default-indent-style. Features -------- * Added a Python indentation manager for analysing and converting indentation style found in source files * Configured edit.tab-size is now applied in cases where a Python file is indented with tabs only, and tab size of 8 is enforced only when required by the Python interpreter * Added ability to attach/deattach/reattach to debug processes * Debugger recognizes externally launched processes and refuses to kill them unless debug.enable-kill-external preference is set to true * Support for debugging Zope 2.3.0 as well as 2.2.2 * Created bundled distribution combining Wing IDE and Zope into one easy-to-install package * Added extension interface for registering debug server sockets with gui environments and other mainloop environments that spend much time in non-Python code that would prevent servicing of the debug communication channel. Gtk, Tkinter, Qt, and Zope are already supported as of 1.0; this interface allows users to support their own custom environments as well. * Added preference to enable tooltips over the toolbar. Note that this is still off by default because it brings out a bug in gtk versions before 1.2.8; please upgrade before turning on this option. * Added set/clear main debug file items to Project menu and item to set debug file properties on current window in Run menu (these are also available on the project manager's popup menu) * Added Add Current File item to Project menu for adding the currently open file to the project * Quoted true/false literals in preferences are now recognized as well as the unquoted form * Additional third party materials are now included on the CD: Python 1.5.2 and 2.x source and documentation, RPM distributions of Python, Zope binary and source distributions, 75dpi fonts missing on some systems Bugs Fixes ---------- * Fixed failure to start when the machine's reported host name was not in /etc/hosts or DNS * Fixed bug where debugger would include parts of itself on the call stack in some case * Fixed bugs associated with multi-user installation using floating-locks, where Wing would fail to set up individual user environment and exit with misleading "Could not Open X Windows Display" message * Fixed creation of initial preferences file to output true or false instead of 'true' or 'false' for project autosave setting, and set added code to properly support previously incorrectly generated files * Debugger now propagates LD_LIBRARY_PATH and PYTHONPATH also to debug processes running within an xterm on Linux systems where xterm has setuid permissions * Fixed macro recording so hitting '\n' does not break macros due to auto-indent * Disabled commands that are not macroable * Disable/enable macro commands according to macro recording state * Keyboard macros can be executed in any window, not just where they were recorded (but recording still only works within the window where the macro was started) * File edit status indicator in lower left is now reset to clean immediately after save * Fixed failure to start in some cases under Python 2.x, due to incorrect append() in code that reopens windows * Fixed analysis bug causing tracebacks in some cases immediately after save * Fixed a number of debugger network protocol bugs with symptoms such as failure to step into some imports and incorrect ending of the debug session * Fixed failure to rescan for modules during debug start, causing sometimes unresponsive debug server when running under gtk, zope, tkinter, or qt and using wingdbstub * Fixed backtrace occurring when gui.show-toolbar was set to false Version 1.1b1 ============= February 7, 2001 This was a private technology preview released to a few individuals. All change information is now included in the listing for version 1.1b2 above. Version 1.0 =========== December 1, 2000 Incompatibilities ----------------- * Multi-view-per-window related options have been disabled; this facility wasn't completely functional in previous releases and will be completed in a post-1.0 release. * Users that have copied the preferences file into ~/.wingide/preferences may wish to copy the new proj.* preferences out of the copy of preferences file distributed with this release. Setting the proj.save-without-asking preference to true is recommended. * Users of wingdbstub.py must update to the current release's version of this file. * The version 1.0b4 debug server cannot be used with this release. This is only relevant if it was copied out of the distribution for use on a remote host; otherwise, it is automatically updated. Features -------- * Now optionally remember window positions and close/reopen documents as projects are closed/opened * Added support for debugging Tkinter based programs * Added support for debugging PyQt based programs * Added ability to define client/server file location mappings for remote debugging * Added ability to launch python code, makefiles, and any other executables so they run outside of the debugger * Added optional display of light vertical indentation guides * Debugger now uses random tcp/ip port number when debug application is launched from within the IDE, to avoid multi-user conflicts in more cases * Added menu item to control whether or not the IDE listens for externally initiated debug connections * Added ability to automatically save the project data files before debugging and exiting. This is controlled by the 'proj.save-without-asking' preference. * Changed location of autosave files to ~/.wingide/autosave * Added main.print-wing-debug-output to control whether internal wing errors are printed to stdout/stderr or not. Defaults to false. Bug Fixes --------- * Fixed embedded source code object in source browser so it works right * Don't ask to fix indentation on read-only files * Key equivs listed in menus are the first found in the keymap file * Now lock the user interface to prevent inconsistent display of old/new variable data while the debug program is running * Clear the textual variable view area when appropriate * Optimized auto-completion to be more responsive * Fixed auto-indentation with triple quoted strings to be more rational * Ensure cursor is visible before executing most editor commands * Slowed auto-scrolling so selecting long ranges is easier * Eliminated (harmless) gtk warnings when the debug window is resized multiple times * Cut/copy/paste/clear now work as part of editor macros * Status area now shows correct line after a brace matches * Files specified on the command line are created if they are not found Version 1.0b4 ============= November 21, 2000 Incompatibilities ----------------- * Project and debug file properties have been redefined. You may need to explicit set the radio buttons in the dialog boxes if your project specifies non-default python executable, python path, run directory, or build command. * Users that have copied the preferences file into ~/.wingide/preferences may wish to copy the new proj.* preferences out of the copy of preferences file distributed with this release. * Users of wingdbstub.py must update to the current release's version of this file. * The version 1.0b3 debug server cannot be used with this release. This is only relevant if it was copied out of the distribution for use on a remote host; otherwise, it is automatically updated. Features -------- * Autocompletion now detects the type of many more variables, when type can be inferred from return value of a function or instance creation * Expanded the expression evaluator to allow multiple types of inspection views * Added interactive Python shell * Added caching of source analysis information for faster startup and lower memory usage * Added F-key bindings to control debugger in emacs mode * Added ability to manually set document type to use for syntax highlighting and this information is remembered in the project file * Added Source menu so Edit menu is shorter * Added preference to check for external file changes on each edit to the file (in addition to auto-check and check-at-save options previously implemented) * Added preference for default white space display choice and store white space visibility choices in the project file on a per-file basis * Expanded preference for when to raise the source window during debugging (now can raise-always, raise-never, or raise-new to only show it if changing files during stepping) * Auto-completion can be canceled with ctrl-g (emacs mode) or esc (normal mode) Bug Fixes --------- * Numerous optimizations affecting startup time, time to open files, responsiveness during typing, and speed of code analysis * Fixed bug preventing stopping at breakpoints and display of source code in a number of cases: (1) when pyc files were created with a different current directory than the current run, (2) when the python path contains partial, relative path names and the current directory is changed during execution, (3) when pyc files were created with compileall.py * Fixed bug where debug client was reinitiating passive listen too quickly after killing a debug session, so the port was still in use * Fixed bug causing incorrect stack frame/index display in some cases when the eval manager was used * Fixed bug causing hanging of the IDE when double clicking quickly on certain toolbar icons * Fixed resetting of conditional breakpoints so the changed condition is properly set in the debug server during an active debug session * Fixed cache invalidation so that stack frames always get refreshed with current variable data when they should (and not when they don't need to be refreshed) * Fixed bug causing conversion of long strings into tuples in project files * Prevented debugger from stopping within its own code, so that stopping a free-running program places you in a more logical place * Fixed stepping into imports so they always work properly * Reverting a file from disk no longer removes all its breakpoints and breakpoints are moved to valid code lines * Fixed delete key so it will delete forward if no selection * Fixed reloading of project file if changed externally * Fixed conflict between alt-w emacs binding and windows menu accelerator * Fixed bugs in tracking breakpoints when files are edited outside of the IDE so that bps are kept on a valid source line * Fixed removal of the run marker when before it wasn't always removed from the editor window * Properly remove breakpoints in deleted ranges of text * Improved module display in browser by showing more directories * Names imported through "from import *" are updated as the imported module changes. * Untitled projects are now named better * A file that imports wingdbstub can now be debugged safely when launched from within the IDE as well * Improved auto-indentation within multi-line triple quoted strings and after a dedented comment * Fixed debugger so it doesn't always bring up the source when you change stack frames; now must double click or middle-mouse-click on the frame to bring up the source * Fixed window menu so it displays names with "_"'s correctly. * Fixed bug that was prevent browser from finding definitions of instance attributes. * Fixed various bugs in goto base class in browser so it works in more cases. * Sorting by type in browser now uses the type that an imported name refers to. * Improved responsiveness when typing with many windows open. * Fixed menu positioning bugs that was causing long menus to hang partially off screen. * Copy / paste works within the IDE when a editor window is closed. Version 1.0b3-2 =============== Nov 1, 2000 Incompatibilities ----------------- * None Features -------- * Added syntax hilighting for *.diff and *.patch files * Added checking of external changes on open files and preferences to control requests to reload in various cases * Much improved support for Zope debugging (the former limitations on setting breakpoints during a run have been lifted) Bug Fixes --------- * Fixed crashing on XML files * Fixed infinite loop in debug args dialog box when brought up for the first time for a file after the run/continue toolbar icon is pushed * Fixed bug that caused failure to stop at breakpoints or display source for files imported only with 'import x.y' and in some other cases * Fixed bug that caused failure to register the debugger's socket with gtk when using libglade * Fixed bug in wingdbstub preventing it from working unmodified in binary-only installations (oops) * Fixed a bug in the uninstall script preventing uninstall of the source tar dist Version 1.0b3 ============= October 25, 2000 Incompatibilities ----------------- * Users that have copied the preferences file into ~/.wingide/preferences may wish to copy the new proj.* preferences out of the copy of preferences file distributed with this release. * Users of wingdbstub.py must update to the current release's version of this file. Note also that the kStopOnFirstLine and kWingDBPython options are no longer available. * The low-level debug API has changed: It is now an add-on for wingdbstub and not a separate facility. * The version 1.0b2 debug server cannot be used with this release. This is only relevant if it was copied out of the distribution for use on a remote host; otherwise, it is automatically updated. Features -------- * Added support for evaluation of arbitrary expressions in the debug context * Improved auto-indent based on Python source code analysis information * Added ability to import an entire directory tree into the project * Added more control over showing white space and end-of-line as visible chars * Preliminary support for debugging Zope applications (see manual for details and status) Bug Fixes --------- * Fixed bug to allow debugging and printing of file names with a space in name * Fixed crashing of Wing during debugging after a zoomed-out variable tree display window was closed * Added much more sophisticated determination of which exceptions are going to be handled and which are not, so those that appear unhandled can be reported during debugging. * Improved exception reporting to fix a several bugs causing the debugger to fail to report debugee exceptions to the IDE (Wing previously acted as if the debugee had exited normally): - Failed to detect unhandled exceptions that occurred within an exception block - Failed to report exceptions re-raised by a finally block - Failed to report exceptions occurring within a loop block * Fixed problem in debugger API that was causing failure to debug above the stack frame where StartDebug() was called. * Added code so that the debug connection is closed after StartDebug() as the program exits, even if StopDebug() was never called, so that the IDE does not time out on the broken connection. * Debugger now correctly highlights and presents stack frames in all cases, also as unhandled exceptions are propagated outwards * Fixed bug where exception location wasn't always shown (e.g., with syntax errors in an imported file) * Now don't exit the debug program artificially as the result of syntax errors * The debug input/output xterm, when enabled, now persists until user types return or enter. This can be controlled with preference debug.persist-xterm. * Fixed problems in SuspendDebug() and ResumeDebug() in the debugger API * A message box is displayed if a directory is empty when adding a package to a project. This avoids a core dump with older versions of gtk. * Debugger API bugs fixed so that stophere=1 option works on StartDebug() * Fixed bug causing early debug tracing, so that debugger sometimes started to debug itself during initialization * Fixed klunky behaviour in toolbar when a single button was pressed repeatedly without moving the mouse * Autocompleter builds a better list possible names based on context and dotted imported names work. * Fixed bug preventing expansion of sub-values in short items displayed as a single string in the debugger * Fixed off-by-one bug in stack display when StartDebug() is used * Fixed off-by-N bug in current frame shown when frames were on stack due to nested eval() or exec() calls * License manager now removes stale lock files created on localhost, to avoid reaching license limit after crashes. * Project manager automatically keeps a blank project open when nothing else is open, to avoid confusion about what's going on when Wing is launched without arguments * Fixed bug in comment-out feature in editor so that it also works when blinking caret is at the very start of a line * Fixed indentation bug causing incorrect indentation when previous line ended in a comment * Fixed keypad enter to work * beginning-of-line command now first goes to start of line, and if repeated to the end of the leading white space * Fixed ctrl-tab so it really inserts a real tab character and not spaces * Fixed crashing of IDE caused by lexer problems when reading an HTML file with embedded Javascript, and corrected other embedded lexers (VB, PHP, and Python) to syntax hilight with the correct keywords * Set the watch cursor on all GUI areas now during busy times, using a new more reliable/correct approach * Fixed bug causing wacky horizontal scrolling of source code in various cases * Emacs mode interactive search uses more logical last-search-string on double ^S or ^R * Fixed handling of '#' within strings in license manager and preferences Version 1.0b2 ============= Sept 29, 2000 Incompatibilities ----------------- * Users that have copied the preferences file into ~/.wingide/preferences may wish to set preference edit.print-python-as-text=false in that file. This release fixes bugs in Python printing, and setting this option to false will enable (previously broken) syntax hilighting in printed Python text * Users of wingdbstub.py must update to the current release's version of this file. * The version 1.0b1 debug server cannot be used with this release. This is only relevant if it was copied out of the distribution for use on a remote host; otherwise, it is automatically updated. Features -------- * Python 2.0 support - Wing will run under Python 2.0 - Wing understands many of the Python 2.0 language extensions * Added comment-out / uncomment-out feature for all supported mime types * Added close-all feature for closing all open source windows * Added fill-paragraph / rewrapping feature for reformatting text easily * Added support for international keyboards (at least deadkeys now work) * Source code analyser now works with files that have DOS line endings * Source code editor now works with DOS line endings (indent was broken, and it now adds in DOS line endings if the file already has them) * Added preferences for filtering of the contents of the debugger variable display area by value type or variable/key name, and to control size thresholds for skipping huge data values that would result in hanging the debug process * Wing now prompts to set major pref choices such as editor personality and print paper size the first time it is started * Better support for multiple debug entry points in a single project * Added key accelerators for the first 9 views in the Windows menu. * Much improved brace matching feature * Set cursors to watch to indicate 'busy' in some places now Bug Fixes --------- * Generalized data display so that more data types can be seen in the debugger, including (smallish) numpy arrays * Fixed bugs in the debugger that caused it to end the debug session when encountering very large data values (displaying very large values is not yet supported though) * Fixed debugger to correctly set run environment when specified (but not when connecting to an externally launched program) * Fixed bug in debugger that prevented cPickle from working with any add-ons, such as Numeric in numpy. * License manager now allows you to run >1 concurrent copy of the IDE as same user * Fixed printing multi-page syntax-hilighted Python documents * Fixed a bug in license manager that prevented correct reporting of too-many-users condition * Fixed per-file debug properties dialog so it is no longer modal * Fixed incorrect appending of wingdb.py to end of sys.argv during debug * Fixed off-by-one bug in outdent region code. * Eliminated traceback when browser is clicked where there is no text. * Eliminated analysis popup failure on package __init__.py files. * Fixed tokenizing of unicode strings and single-quoted strings that span more than one line. * Main debug file indicator is now refreshed properly when changed in project mgr * Fixed FAQ/Manual information on using the profiler with the debugger * Fixed bug that caused browser to freeze when a sequence of imports didn't resolve to an actual identifuer. * Fixed crash during autocompletion when starting completion in the middle of a word & backspacing. * Fixed 'late pref mgr call' traceback that could occur while exiting the IDE * Fixed crashing of IDE when debug program exits unexpectedly during a variable expansion * Fixed crashing of IDE when debug program's xterm input/output window (when enabled via prefs) is closed during a debug session * Better analysis of multiple changes to the source text that happen quickly and that involve adding or removing lines. * Adding a package to project doesn't get confused by subdirectories with names that match mask within the project directory. * Added check to Save As to see if a file with the new name is open in the IDE. * Substantially sped up debugger variable display expansion * Fixed bug in debugger causing failure to show the source location and/or detailed info for certain types of SyntaxError exceptions * Debugger main project file is reset correctly when projects are closed Version 1.0b1 ============= Sept 7, 2000 First public release