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)