Bump version: 1.4.0 → 1.4.50
Mention the license in the README
Replace auto-complete-mode with company-mode.

This is a first shot at using company-mode for completions. This
simply adds a company backend that duplicates the auto-complete
functionality. Elpy will make more use of company's features in
the future.

Fixes #102.
Elpy module support.

Elpy now supports the concept of modules, self-contained pieces
of software that can individually be enabled or disabled to
support additional features.

This has a few user-visible changes:

- elpy-default-minor-modes is gone. Elpy now uses elpy-modules,
  but the functionality is different. You can easily enable minor
  modes in elpy by adding them to elpy-mode-hook.
- elpy-clean-modeline is gone. The functionality is not, individual
  modules can decide if they want to hide mode line lighters.

Fixes #145.
Cleanup and sections in Elpy.

This change marks a few things as obsolete, they might get removed
in future versions of Elpy:

- idomenu. This will likely be integrated with other functions to
  quickly navigate to definitions.
- elpy-doc-websearch. If at all, this should be accessible from
  a pydoc buffer.
- elpy-refactor. The Rope refactoring support has been rather
  flakey and experimental. Also, Rope development has been pretty
  slow. This might be dropped entirely in a future version.

If you don't like this, let me know before I do a release.

This implements parts of #148.
More clean-up for the modules.

Enable modes in modules and require libraries there, too. And Add
the missing highlight-indentation module.
Remove elpy-rpc-project-specific.

This option was unused for a while, it's the default.
Rework elpy configuration.

Elpy will now not pop up an installation screen on any configuration
problem anymore, but simply signal an error and suggest the user
to run M-x elpy-config. This command will open a buffer with some
information about the Elpy configuration and customization options
for Elpy.

To make this more useful, the Elpy customization options have been
reworked.

This change removes elpy-show-installation-instructions, which is
now useless.

This implements most of #146.
Use two spaces in front of inline comments.

This is the recommended behavior in PEP8.

Thanks to Xiao Hanyu. Fixes #224.
Renamed legacy variable
Remove debug code. Ahem.
Update tests to the restructured elpy.el.
More fixes to make tests run.

We have to use melpa-unstable for some packages. Which pulls in an
unstable version of nose.el, which breaks with older Emacsen. So
work around that, too.
server config: Use positional access to sys.version_info.

Python 2.6 does not have the names yet.
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.