.o88Oo._
d8P .ooOO8bo._
88 '*Y8bo.
YA '*Y8b __
YA 68o68**8Oo.
"8D *"' "Y8o
Y8 'YB .8D
'8 d8' 8D
8 d8888b d AY
Y, d888888 d' _.oP"
,q. Y8888P' d8,
d "q. `Y88P' d8" b
Y, Y ,o8P ,Y
8q. oooo888P" .p8
8 "qo._ _.op" 8
8 '"P8866ooo6688P"' 8
8 8
8 8
8. .8
"b d"
'b d'
8 8
q. .p
q. .p
"qo._ _.op"
'"P8866ooo6688P"'
With this release we declare coala proudly as beta. Most features are now
available and coala is ready for daily use.
All bears have been moved out of coala into the `coala-bears` package. If you
want to develop bears for coala, you can now install it without the bears just
as before. If you want to use the coala official bears, make sure to install the
`coala-bears` package and if needed follow the instructions to install linters
needed by the bears for your language.
According to `git shortlog -s -n 5fad168..` 56 people contributed to this
release. We sadly cannot name all the new coalaians here but every single
one of them helped making coala as awesome and polished as it is today.
New features:
- `--no-config` allows to ignore existing coafiles in the current directory.
(https://github.com/coala-analyzer/coala/issues/1838)
- In-file ignore directives now support globs.
(https://github.com/coala-analyzer/coala/issues/1781)
- `coala-json` supports the `--relpath` argument so the JSON output can be
moved to other systems reasonably.
(https://github.com/coala-analyzer/coala/issues/1593)
- `--bear-dirs` are now searched recursively. They are also added to the
Python PATH so imports relative to a given bear directory work.
(https://github.com/coala-analyzer/coala/issues/1711,
https://github.com/coala-analyzer/coala/issues/1712)
- `coala-format` exposes the `{severity_str}` so you can get a human
readable severity in your self formatted result representation.
(https://github.com/coala-analyzer/coala/issues/1313)
- Spaces and tabs are highlighted in the CLI to make whitespace problems
obvious. (https://github.com/coala-analyzer/coala/issues/606)
- Actions that are not applicable multiple times are not shown after applying
them anymore. (https://github.com/coala-analyzer/coala/issues/1064)
- Documentation about how to add coala as a pre commit hook has been added:
http://coala.readthedocs.org/en/latest/Users/Git_Hooks.html
- Actions emit a success message now that is shown to the user and improves
usability and intuitivity of actions.
- A warning is emitted if a bear or file glob does not match any bears or
files.
- `coala-json` supports now a `--text-logs` argument so you can see your
logs in realtime, outside the JSON output if requested. You can output the
JSON output only into a file with the new `-o` argument.
(https://github.com/coala-analyzer/coala/issues/847,
https://github.com/coala-analyzer/coala/issues/846)
- `coala-ci` yields a beautiful output now, showing the issues
noninteractively. (https://github.com/coala-analyzer/coala/issues/1256)
- A `coala-delete-orig` script is now available to delete autogenerated
backup files which were created when a patch was applied. This is called
automatically on every coala run.
(https://github.com/coala-analyzer/coala/issues/1253)
- The `--limit-files` CLI argument was introduced which is especially useful
for writing performant editor plugins.
Exitcode changes:
- coala returns `5` if patches were applied successfully but no other results
were yielded, i.e. the code is correct after the execution of coala but was
not before.
- coala returns `4` now if executed with an unsupported python version.
Bugfixes:
- The `appdirs` module is now used for storing tagged data.
(https://github.com/coala-analyzer/coala/issues/1805)
- Package version conflicts are now handled with own error code `13`.
(https://github.com/coala-analyzer/coala/issues/1748)
- Previously inputted values for actions are not stored any more if the action
fails.
(https://github.com/coala-analyzer/coala/issues/1825)
- coala doesn't crash any more on Windows when displaying a diff. Happened due
to the special chars used for whitespace-highlighting Windows terminals do
not support by default.
(https://github.com/coala-analyzer/coala/issues/1832)
- Escaped characters are written back to the `.coafile` correctly.
(https://github.com/coala-analyzer/coala/issues/921)
- `coala-json` doesn't show logs when invoked with `-v` or `-h` anymore
(https://github.com/coala-analyzer/coala/issues/1377)
- Keyboard interrupts are handled more cleanly.
(https://github.com/coala-analyzer/coala/issues/871)
- Tagging will only emit a warning if the data directory is not writable
instead of erroring out.
(https://github.com/coala-analyzer/coala/issues/1050)
- Unicode handling has been improved.
(https://github.com/coala-analyzer/coala/issues/1238)
- Cases where `--find-config` has not found the configuration correctly have
been resolved. (https://github.com/coala-analyzer/coala/issues/1246)
- Some cases, where result ignoring within files didn't work have been
resolved. (https://github.com/coala-analyzer/coala/issues/1232)
For bear writers:
- A new built-in type is available from `Setting` for using inside `run()`
signature: `url`.
- `Lint` based bears have a new argument which can be set to test whether a
command runs without errors. This can be used to check for example the
existence of a Java module.
(https://github.com/coala-analyzer/coala/issues/1803)
- The `CorrectionBasedBear` and `Lint` class have been merged into the new
and more powerful `Lint` class to make linter integration even easier. It
also supports you if you need to generate an actual configuration file for
your linter.
- `LocalBearTestHelper` as well as the `verify_local_bear` have been
revamped to make it even easier to test your bears and debug your tests.
- File dictionaries are now given as tuples and are thus not modifyable.
- A number of new tutorials about bear creation have been written.
- Bears can now be registered at coala and thus be distributed as own packages.
Notable internal changes:
- API documentation is now available at
http://coala.readthedocs.org/en/latest/API/modules.html
- coala switched to PyTest. Our old own framework is no longer maintained.
(https://github.com/coala-analyzer/coala/issues/875)
- As always loads of refactorings to make the code more stable, readable and
beautiful!
- The main routines for the coala binaries have been refactored for less
redundancy. If you are using them to interface to coala directly, please
update your scripts accordingly.
- Loads of new integration tests have been written. We're keeping our 100% test
coverage promise even for all executables now.