Pydev Changelog

What's new in Pydev 4.2.0

Aug 19, 2015
  • Further improvements on code completion unpacking compound types.
  • Not adding auto 'import' token in cython files (to accept cimport).
  • PyDev Mylyn integration no longer depends on a specific PyDev release.
  • Fixed halting condition when unable to create native file watches.
  • Vertical indent guide no longer slows down the editor on Linux (PyDev-582).
  • New search page for Python contents:
  • Text-searches using a Lucene index allows for fast matches.
  • Matches can be flattened and grouped by project, folders and modules.
  • Results page allows additional filtering based on module name.

New in Pydev 4.1.0 (May 27, 2015)

  • Code Completion:
  • Improved unpacking of compound types on more situations (PyDev-573).
  • Debugger:
  • PyDev remote debugging no longer blocks running program to completion (PyDev-574).
  • When there are too many referrers to some object, results are trimmed.
  • Python 3 grammar:
  • Accepting @ as matrix multiplication operator.
  • async and await are properly parsed.
  • Fixed issue parsing 'list remainder' construct (PyDev-568).
  • Others:
  • Fixed issue showing editor title name when more than one dot was present in the filename.
  • Support automatic folding elements when opening a file -- must be enabled in PyDev > Editor > Code Folding (patch by Andreas Pakulat).
  • Fixed issue on search page.
  • Included css to set default editor colors for PyDev for in Eclipse dark theme.
  • Tab-stops on comments added and enabled by default (patch by jheiv).
  • Fixed StackOverflowError on code-completion (PyDev-570)

New in Pydev 3.9.1 (Jan 9, 2015)

  • Preferences:
  • PyDev preferences may now be saved and persisted for each project or in the user settings (not just in the workspace).
  • Currently Save actions, Code Formatter, Typing and Imports are supported (more to come in upcoming releases).
  • The same pages in the preferences are used to save settings to (multiple) projects or user settings.
  • Configuration files are saved in Yaml format and are meant to be saved in version control.
  • Editor:
  • The option to apply auto-formating was changed to apply any save actions in non-workspace files.
  • Editor icon improved for dark theme (patch by Fathony Luthfillah).
  • When running the pep8 code analysis, the markers shown are no longer 1 character off.
  • Django:
  • Improved Django 1.7 support (patch by David Lehrian).
  • Profiling:
  • Integration with PyVmMonitor: http://pyvmmonitor.github.io/ (currently only available for backers of the effort).
  • A profiling view was created where the location of PyVmMonitor should be specified.
  • Just turning the option on will make all runs from that point on run with the selected profile backend enabled.
  • Debugger:
  • Connecting to subprocesses working in Python 3.4.
  • Attach to running process is now supported on Mac OS.
  • Others:
  • Unset VIRTUAL_ENV before running external Python to protect the sys.path (patch by James Blackburn).
  • pytest: Expected failure is no longer marked as a failure.
  • pytest: The working dir is changed so that conftests are loaded properly (to workaround issue in pytest: https://bitbucket.org/hpk42/pytest/issue/639/conftest-being-loaded-twice-giving).
  • Fixed issue where an unused import would not be properly removed if it was not a from import.
  • Fixed exception when drawing minimap overview ruler.

New in Pydev 3.9.0 (Nov 14, 2014)

  • IMPORTANT:
  • PyDev requires Eclipse 3.8 or 4.3 onwards and Java 7! For older versions, keep using PyDev 2.x (use LiClipse: http://www.liclipse.com for a PyDev standalone with all requirements bundled).
  • Vertical Indent Guide is now available (may be customized in PyDev > Editor > Vertical Indent Guide. PyDev-359).
  • MINIMAP:
  • The horizontal scrollbar is shown by default (again). It's still possible to hide it in the Preferences > PyDev > Editor > Overview Ruler Minimap.
  • Fixed critical issue where the minimap could lead to a repaint recursion on some Linux versions (reproduced on Ubuntu 12. LiClipse-120).
  • The PYTHONPATH is now properly passed to PyLint when using an external executable (PyDev-475).
  • Fixed issue where breakpoints in other editors (i.e.: CDT) where wrongly being handled by PyDev (patch by Danny Yoo. PyDev-482).
  • Fixed issue doing code-completion for builtins in Jython (PyDev-457).
  • INTERACTIVE CONSOLE:
  • When doing a code-completion with Ctrl+Space, let tab change the focus instead of doing the tab-enabled completion.
  • Output given from the backend could end up being editable (PyDev-465).
  • Input() was including the prompt in the input string (PyDev-465).
  • Debugger console was outputting greeting message when it shouldn't (PyDev-464).
  • pep8: --exclude can now be used in pep8 parameters (patch by Sebastian Elsner. PyDev-466).
  • autopep8: end line delimiter is now being kept (patch by Ben Blank. PyDev-461).
  • Unittest integration: Making sure we don't import the unittest module before executing pytest (PyDev-455).
  • Unittest integration: Fix to use the proper encoding when passing stdout/stderr to the java side.
  • Fixed issue when debugging file without extension (when there was no default editor associated to the file name).
  • Debugger: getpass properly working with additional arguments (PyDev-460).

New in Pydev 3.8.0 (Sep 30, 2014)

  • pep8 upgraded to 1.5.7
  • Fixed issue in dialog shown when PyDev editor is opened which could lead to closing the IDE.
  • Selecting PyQT API version using sip.setapi no longer fails in debug mode (PyDev-452).
  • Code completion tries to get docstring definition from class before evaluating property (PyDev-412).
  • Internal error error when parsing file with wrong syntax: java.lang.ClassCastException for invalid dict (PyDev-411).
  • runfile was restored in pydevconsole (Ctrl+Alt+Enter is working again).
  • Variables and Expressions views working again when debugging interactive console (PyDev-446).
  • Pressing Shift to debug with Ctrl+F9 test runner now properly works in Linux (PyDev-444).
  • Fixed interpreter configuration when the interpreter prints something before actually running interpreterInfo.py (PyDev-448).
  • Fixed NullPointerException when debugging file without extension.

New in Pydev 3.7.1 (Sep 9, 2014)

  • Minimap:
  • Minimap is enabled by default.
  • The minimap now shows content based on the outline.
  • It's possible to customize the minimap selection color.
  • Fixed issue where the background in the minimap could have a part with a different color until the image was fully redrawn.
  • Scrollbars hidden by default.
  • Editor:
  • Auto code-completion on all letter chars is enabled by default.
  • Debugger:
  • Merged debugger code with the PyCharm fork.
  • Fix the wrong signature of stackless.get_schedule_callback.
  • Breakpoints work in Django templates (requires the LiClipse: http://brainwy.github.io/liclipse/ html/django editor to work).
  • Gevent debugging (must be enabled in the debugger preferences page).
  • Faster debugging when dealing with huge dicts/sets/lists/tuples.
  • QThreads can be debugged (for remote debugging, 'import pydevd' must be done before any user code is executed for it to work).
  • Interactive Console:
  • Output is gotten asynchronously.
  • It's possible to interrupt the console.
  • Others:
  • Autopep8 now works with non ascii sources.
  • More than 20 levels of indentation no longer causes ArrayOutOfBoundsException.
  • Fixed some NullPointerExceptions.
  • A bunch of other bugfixes.

New in Pydev 3.7.0 (Aug 27, 2014)

  • Minimap:
  • Minimap is enabled by default.
  • The minimap now shows content based on the outline.
  • It's possible to customize the minimap selection color.
  • Fixed issue where the background in the minimap could have a part with a different color until the image was fully redrawn.
  • Scrollbars hidden by default.
  • Editor:
  • Auto code-completion on all letter chars is enabled by default.
  • Debugger:
  • Merged debugger code with the PyCharm fork.
  • Fix the wrong signature of stackless.get_schedule_callback.
  • Breakpoints work in Django templates (requires the LiClipse html/django editor to work).
  • Gevent debugging (must be enabled in the debugger preferences page).
  • Faster debugging when dealing with huge dicts/sets/lists/tuples.
  • QThreads can be debugged (for remote debugging, 'import pydevd' must be done before any user code is executed for it to work).
  • Interactive Console:
  • Output is gotten asynchronously.
  • It's possible to interrupt the console.
  • Others:
  • Autopep8 now works with non ascii sources.
  • More than 20 levels of indentation no longer causes ArrayOutOfBoundsException.
  • Fixed some NullPointerExceptions.
  • A bunch of other bugfixes.

New in Pydev 3.6.0 (Jun 24, 2014)

  • PyDev requires Eclipse 3.8 or 4.3 onwards and Java 7! For older versions, keep using PyDev 2.x (use LiClipse for a PyDev standalone with all requirements bundled).
  • pep8:
  • pep8.py was upgraded to the latest version.
  • Code formatting:
  • autopep8.py can now be used to code-format Python files (must be enabled in the code formatter preferences -- use '-a -a' for really aggressive mode).
  • Moved auto-save from the code formatter page to the save actions page (and created links to each other).
  • Fixed issue where a space was placed before a unary operator on an empty line.
  • The internal Jython was upgraded to 2.7.beta2 (some manual shrinking was applied to make it smaller).
  • On a run as unit-test (Ctrl+F9), if Shift is pressed when doing the launch, the unit-test will be launched in debug mode.
  • Shift+F9 can now be used to launch the current editor in debug mode (so, no more running a module with F9 to run it again later on in debug mode with F11).
  • Issue where the modules manager would miss the bultin modules was fixed (i.e.: Ctrl+1 to fix 'sys' undefined variable will show the 'import sys' fix).
  • Fixed corner case where filtering global tokens could miss some entries.
  • Fixed issue where relative import with more levels would not be found (on dotted imports).
  • It's now possible to debug UTF-8 files with BOM on Python 3.
  • Code completion proposals order was tweaked so that locals/globals appear first.
  • Trailing commas are no longer left when auto-removing unused imports (if that option is enabled in the preferences).
  • The manual now has instructions on how to use the Find Referrers while debugging.
  • The PyDev editor supports the new dark theme in Eclipse 4.4 (so, when it's chosen the editor colors are properly updated).
  • Code analysis: when a package imports itself it's no longer warned as an import not found.

New in Pydev 3.5.0 (May 22, 2014)

  • Important:
  • PyDev requires Eclipse 3.8 or 4.3 onwards and Java 7! For older versions, keep using PyDev 2.x (or LiClipse for a PyDev standalone with all requirements bundled).
  • Adding plead for the current crowdfunding at http://tiny.cc/pydev-2014.
  • PyDev now has a new logo.
  • py.test:
  • Improved py.test test runner preferences page.
  • py.test integration improved to be less intrusive and work with xdist.
  • py.test protocol invocation now allows for module/session scoped fixtures to work properly.
  • Add bookmark and add task actions are shown in the ruler context menu (Ctrl+F10).
  • Code completion was not properly recognizing variables assigned to self inside an elif statement.
  • Django 1.7: Model.objects is manually patched inside PyDev to give proper code-completion results.
  • Debugger: hovering over private ('__' prefixed) variables now shows proper value.
  • Thread.isAlive() is no longer called to workaround debugger issue on Python 3.4.
  • Hyperlinking should not happen on spacing characters (I.e.: Ctrl+click on spaces).
  • Fixed NPE when interpreter is created with JDT and loaded afterwards without it.
  • Fixed issue where tokens cached information could end up being null after I/O.
  • Manually creating new run configuration no longer gives an exception (i.e.: configuration without associated project).
  • Out-of-sync error on PYTHONPATH change (patch by Danny Yoo)
  • There's an extension point for clients to resolve modules (patch by Danny Yoo).
  • Ctrl+Shift+G (find references) is now properly categorized.
  • Rename refactoring now validates files (read only) prior to refactoring (patch by Danny Yoo).
  • Not checking preferred settings when the PyDev plugin is started, but rather when a PyDev editor is opened.
  • Setting remote debugger socket to be properly reused.
  • The PyDev stdout/stderr redirector now properly uses PYTHONIOENCODING.

New in Pydev 3.4.1 (Apr 10, 2014)

  • Interactive Console:
  • Send a single line to the interactive console with F2 (akin to Ctrl+Alt+Enter but only for the current line).
  • Debugger:
  • Added support for debugging spawned subprocesses.
  • New Django launches no longer have -noreload to take advantage of that (but existing launches have to be manually edited -- or removed and recreated).
  • When terminating a process its subprocesses are also killed (avoiding django zombie processes).
  • In the debugger, locals are now also properly saved on PyPy (requires a newer version of PyPy too).
  • Remote Debugger: when specifying items in PATHS_FROM_ECLIPSE_TO_PYTHON pathnames are normalized.
  • Fixes to work with Jython 2.1 and Jython 2.2.1
  • Always setting PYTHONUNBUFFERED environment variable to 1.
  • The python default encoding is no longer changed (only PYTHONIOENCODING is used now and not sys.setdefaultencoding).
  • Minor improvements on get referrers.
  • General:
  • Cython: .pxd and .pxi files are properly supported.
  • Interpreter configuration: It's possible to reorder PYTHONPATH entries with drag and drop.
  • Fixed django interactive shell to work with newer versions of Django.
  • Rename working properly for files without extensions.
  • Fixed issue where specifying the type of a variable with a comment was not detected in the code-completion.
  • Fixed issue where we'd open a file as if it was an external file when it was actually a file in the workspace or inside a source folder.
  • PyDev Package Explorer: fixed issue where some errors would remain showing when they didn't exist anymore.
  • PyDev Package Explorer: fixed issue where items could change its order depending on decorations.
  • On a double-click on spaces, all the spaces are selected.
  • Test Runner:
  • Improved py.test integration: it's now possible to select which tests to run with Ctrl+F9 (even if not under a class).
  • No longer breaks if a file which was in a launch config is removed (still runs other tests in the launch).
  • After a test run finishes, if there are non-daemon threads running they're printed to the output.
  • Fixed UnicodeDecodeError when running unit-tests under python 2.x
  • Fixed issue on test discovery on Linux.
  • Sorting Imports:
  • Sort of imports no longer adds spaces at end of imports.
  • Sort of imports no longer passes the number of available columns specified.
  • It's now also possible to keep the names of 'from' imports sorted.

New in Pydev 1.5.1 (Dec 7, 2009)

  • Improvements in the AST rewriter
  • Improvements on the refactoring engine:
  • No longer using BRM
  • Merged with the latest PEPTIC
  • Inline local available
  • Extract method bug-fixes
  • Extract local on multi-line
  • Generating properties using coding style defined in preferences
  • Add after current method option added to extract method
  • A bunch of other corner-case situations were fixed
  • Bug-fixes:
  • Minor editor improvements
  • Adding default forced builtins on all platforms (e.g.: time, math, etc) which wouldn't be on sys.builtin_module_names on some python installations
  • Adding 'numpy' and 'Image' to the forced builtins always
  • Ctrl+1: Generate docstring minor fixes
  • Ctrl+1: Assign to local now follows coding style preferences properly
  • Exponential with uppercase E working on code-formatting
  • When a set/get method is found in code-completion for a java class an NPE is no longer thrown
  • Backspace properly treated in block mode
  • Setting IRONPYTHONPATH when dealing with IronPython (projects could not be referenced)
  • No longer giving spurious 'statement has no effect' inside of lambda and decorators
  • Fixed new exec in python 3k
  • Fixed NPE when breakpoint is related to a resource in a removed project
  • Fixed import problem on regexp that could lead to a recursion.
  • No longer giving NPE when debugging with the register view open
  • List access be treated as __getitem__() in the list -- patch from Tassilo Barth
  • Fix for invalid auto-self added when typing

New in Pydev 1.4.4 (Feb 21, 2009)

  • This release fixes a critical bug when configuring the interpreter (if no environment variables were specified, the configuration didn't work)