Wingware Early Access Program

Cranes

Wingware's Early Access Program lets you try out new versions of Wing while they are still under development. You can participate in this program simply by downloading and using the early releases of Wing.

Now Available: Wing 7.0.0.2 Beta

Wing 7 is a major new release that introduces a number of powerful new Python IDE features, as well as many bug fixes and minor improvements.

Our focus in Wing 7 is to improve the code warnings system, add better ways to view arrays, data frames, and other types of data in the debugger, support PEP 3134 chained exceptions, improve bookmarking, and introduce a more flexible update manager. Details of these changes can be found below.

This version of Wing is now available as a beta release. The IDE is usable for real work in most code bases, but you should expect some minor problems. If you have used previous versions of Wing, please be aware that source code analysis on newly discovered code takes somewhat longer to complete, in order to extract the information needed by the new code warnings system.

Changes in 7.0.0.2

Improvements made by this point release include:

  • 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, etc
  • Improve the code warnings user interface
  • Add support for xarray.DataArray to the array viewer
  • Allow storing the code warnings configuration in project, user settings, or a selected file
  • Review, update, and reorganize all the How-Tos
  • Support Timeout modifier in multi-key bindings
  • Add RPM and Debian packages for Linux
  • Auto-restart the Python Shell when changing projects, unless disabled by user
  • Allow dialogs to be resized on OS X
  • Optimize code analysis and other features
  • Add Positronic, Cherry Blossom, and Sun Steel color palettes (thanks to Daniel Hill)
  • Partially update German localization (thanks to Christoph Heitkamp)
  • Make about 14 other bug fixes and minor improvements

See the change log for details.

Known Problems

When this release applies the first update it will incorrectly report that there are installation validation problems. This can be ignored. Restarting after the update is installed may also hang and require forcing Wing to quit. Both problems have been fixed in the update but the fix only takes effect after Wing is restarted.

On Linux with RPM or Debian package, update installation will appear to fail. However, canceling out of the installation dialog and restart Wing does apply the update.

Incompatible Changes

Wing 7 makes some changes worth noting for users of earlier versions. For example, we have dropped support for Python 2.5 and 3.2 on all OSes and we have dropped support for all 32-bit Python versions on OS X. In addition, drag and drop in the Project tool now moves files rather than copying them, and the default number of non-sticky editors has been increased to five.

A detailed list of other more minor incompatible changes can be found in the change log.

Downloads

Wing Pro 7.0.0.2

Wing Personal 7.0.0.2

Wing 101 7.0.0.2

Bug Reports and Feedback

Please submit bug reports or feedback on early releases to support@wingware.com or from Wing's Help menu. Please do not post about early access releases on our public forum or mailing lists.

Documentation

Documentation for early access releases is available only from Wing's Help menu.

What's New in Wing 7

New Code Warnings System (Wing Pro)

Wing 7's new code warnings system focuses on early identification of real coding errors, including syntax errors, undefined variables and attributes, unresolved imports, indentation errors, unreachable code, and eventually other types of errors (aspects of this are still under development). The code warnings system can also display warnings obtained from external checkers such as pylint, pep8, and mypy. The new Code Warnings tool in the Tools menu can be used to view and manage warnings by removing false positives and less useful warning types. Code warnings configurations may be stored in the project, in user settings, or in a sharable separate file. When code warnings are present, an icon is displayed in the top right of the editor to navigate warnings in that file. It is now also possible to configure the display style and colors for code warnings, from the Editor > Code Warnings preferences group.

Data Frame and Array Viewer

The new array viewer for debug data works with numpy's ndarray, Pandas DataFrames, xarray.DataArrays, sqlite3 query results, and Python's internally defined data types. The viewer loads data incrementally as needed for display, so it can be used with very large data sets. The display can be filtered with text, wildcard, or regular expressions to match one or more rows, optionally matching on specific columns. Array-like and dict-like instances that implement __getitem__ may also be used with the array viewer, when the Debugger > Introspection > Allow Calls in Introspection preference is enabled. To use the array viewer, right click on an item in the Stack Data tool and select View as Array.

Improved Stack Data Display

The Stack Data tool has been improved, by adding an option to hide __name__, __name, and/or _name style symbols, an option to hide memory addresses in values, and a way to set integer display mode from the tool's Options menu.

Shift-Space to Show Data in the Editor (Wing Pro)

Pressing Shift-Space while the debugger is active and paused displays the value of all visible symbols in the editor, using popup tooltips. Wing attempts to position the tooltips so they do not obscure the underlying source code.

PEP 3134 Chained Exceptions

PEP 3134 chained exceptions are now supported in the Exceptions, Call Stack, Stack Data, and Testing tools, and in the toolbar and stack menus.

Improved Bookmarking Support (Wing Pro)

The Bookmarks tool now allows assigning a category to bookmarks, entering notes for bookmarks, and filtering bookmark display and traversal by category or text fragment, to make it easier to use bookmarks to manage development tasks. Other minor improvements to bookmarks include the addition of a toolbar and Options menu to the Bookmarks tool, showing a bookmark attribute dialog when creating named bookmarks, confirming bookmark removal, showing tooltips over bookmarks, allowing multiple non-contiguous selections on the Bookmarks tool, improved ability to track bookmarks across external file changes, ability to share bookmark categories with other projects, and export and import bookmarks and bookmark categories.

New Update Manager

Once initially installed, Wing 7 can update itself to new versions without requiring download of an installer. Rollback to older versions is available from the About box, and updates may be generated for use on hosts that don't have internet access. This new system will allow us to make more frequent releases of minor features and bug fixes. Installers will still be made periodically, but more releases will be available only through the update manager.

Other Improvements

Wing 7 includes a number of other improvements:

  • Search, goto-definition, find uses, and other features display callouts on the editor to make it easier to see the referenced text
  • Three new color palettes, Positronic, Cherry Blossom, and Sun Steel, are now available (thanks to Daniel Hill)
  • The debugger steps over importlib code when Step Into is executed on an import statement
  • Wing includes typeshed to improve analysis of the Python standard library and some third party modules
  • A new MATLAB keyboard personality has been added
  • Remote agent installation has been simplified (Wing Pro)
  • Code folding is now available also in YAML files
  • OS Commands can be shared among all projects (Wing Pro)
  • All documentation has been reviewed, rewritten, and updated
  • Next Tool and Previous Tool traversal from the Tools menu
  • Improved restoration of visual state in editors for files that change outside of Wing
  • Wing now runs on Qt 5.10
  • Analysis support for super()
  • Partially updated German localization (thanks to Christoph Heitkamp)
  • Ability to specify provisional keys that time out in multi-key bindings

See the change log for other improvements and details.