company: Try to find a prefix only outside of strings and comments.
eldoc module: Use correct variable to hide eldoc mode.
Remove C-c C-i binding for yasnippet.

Company is much smarter about completion keys, so we do not need
to occupy TAB, allowing yasnippet to use this key again.
Warn the user when their code is rewritten.

python.el rewrites Python code it sends if it contains the idiomatic
if __name__ == '__main__' construct, to avoid accidental script
execution. This is useful, but can be confusing, so elpy now warns
the user when this is happening.

Fixes #208 (and see #207 for an example of the confusion caused).
New commands: open and indent line below/above.

They open a line below or above the current one, move there,
and indent. This is useful for inserting new lines from the
middle of the current line.

These commands, inspired by other IDEs, are bound to S-return and
C-S-return by default.
Do not select the shell buffer after sending the current buffer.

This is not always what users want, as they can include side effects
in their module, and want to just see the results of evaluating the
code, not actually interact with it. Because of this,
elpy-shell-send-region-or-buffer now displays the inferior shell
buffer, but does not select it.

Users who want to switch to the buffer after sending some code can
just use C-c C-c followed by C-c C-z.
Small rework of the snippets.

The enter and exit snippets now conform to the yasnippet-snippets
repository (mostly), while super now makes use of the .yas-setup.el
mechanism and is seriously improved. There's a new snippet for
__init__ methods, too, which automatically assigns arguments to
instance variables.
Error handling rework.

When Elpy encounters a problem it can't handle, especially in the
backend, it will now pop up a buffer with configuration options
and backtrace information, as well as a link to the bug tracker.

The RPC server now also provides a way of throwing a warning
exception only, resulting in a simple message without any actual
errors, which should result in a much more smooth interaction
experience.
elpy-rpc--open: Set default directory to /

It was possible for elpy to accidentally find the wrong modules when
it was started from the wrong directory. Forcing it to be run from /
solves that problem.

Fixes #228, among other problems.
Update the Jedi backend to Jedi 0.8.0.

This fixes #213
Company backend improvements.

Make sure to return nil from the prefix handler if we know for sure
that we can't find completions here. Also, add the ability to call
the backend interactively as per company conventions.
Allow customization of elpy-enable.

The customization buffer, including elpy-config, can now be used
to enable Elpy globally, without having to modify the user init
file by hand.
Run completions on M-TAB and fall back to dabbrev.

Elpy now can be forced to complete something using M-TAB. If we
can't find a possible completion using the backend, we fall back
to the dabbrev-code backend of company-mode.
Remove elpy-rpc-traceback.

The new backend error handler always prints the traceback, so this
workaround is not necessary anymore.
Show current defun in eldoc, remove C-c C-q.

Elpy will now show the current class and function in the mode line
if it can't find a calltip. The key binding C-c C-q and associated
function are therefore obsolete and have been removed.
Support Python 3.4, remove autoimport.

Elpy now officially supports Python 3.4. This means removing the
experimental auto-import refactoring option, which never worked
that well to begin with, and certainly won't keep up with Python
development.
Remove statement-based movement.

These add very little over the default functions in python.el and
just add complexity.
Eldoc: Don't show nil as the current method.
Convert Jedi version to string.
Ignore parse errors in Rope.

Rope just gives up after a while trying to fix errors. That should
not bother a user.