Coala

Latest version: v0.11.0

Safety actively analyzes 681844 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 5

0.8.0

For this release, we have had 19 contributors from around the world
contributing 176 commits to just coala-bears in the past 9 weeks.

Here are the important changes and additions:

**New Bears**
- `CSecurityBear` - Lints C/C++ files and identifies possible security
issues. [[CSecurityBear documentation]](https://github.com/coala-analyzer/bear-docs/blob/master/docs/CSecurityBear.rst)
- `HappinessLintBear` - Checks JavaScript files for semantic and syntax
errors using `happiness`. [[HappinessLintBear documentation]](https://github.com/coala-analyzer/bear-docs/blob/master/docs/HappinessLintBear.rst).
- `WriteGoodLintBear` - Lints the text files using `write-good` to
improve proses. [[WriteGoodLintBear documentation]](https://github.com/coala-analyzer/bear-docs/blob/master/docs/WriteGoodLintBear.rst)
- `coalaBear` - Checks for the correct spelling and casing of `coala`
in the text files. [[coalaBear documentation]](https://github.com/coala-analyzer/bear-docs/blob/master/docs/coalaBear.rst).
- `VultureBear` - Checks Python code for unused variables and functions
using `vulture`. [[VultureBear documentation]](https://github.com/coala-analyzer/bear-docs/blob/master/docs/VultureBear.rst)
- `YapfBear` - Checks and corrects the formatting of Python code using
`yapf` utility. [[YapfBear documentation]](https://github.com/coala-analyzer/bear-docs/blob/master/docs/YapfBear.rst)

**Major API Changes**
- Settings unification - most bears have seen API changes. Settings' names
are now consistent across bears. This supports backwards
compatibility, however (but with a deprecation notice). You can find the
whole list [here](http://dpaste.com/3EP5GCV).

**New Features**
- Bear upload tool - this is a part of the complete decentralization of
bears. With this tool, bears are uploaded as individual packages to PyPI
and just the necessary bears (and their dependencies) can be installed.
- Also as a part of the decentralization process, several bears now have
the `REQUIREMENTS` attribute. This is one of the requirement objects
supporting various package managers such as `apt-get`, `dnf`,
`yum`, `pip`, `npm`, `gem`, and so on. To learn more, please
see the `coala` [0.8.0 release changelog](https://github.com/coala-analyzer/coala/blob/master/RELEASE_NOTES.rst).
- Several bears now support the `ASCIINEMA_URL` attribute. This contains
an URL to an asciinema video displaying the bear's working.

**Bug Fixes**
- An issue in `FilenameBear` involving files with fully capitalized names
has been resolved. [Pull 687](https://github.com/coala-analyzer/coala-bears/pull/687)
- Various corner cases with `InvalidLinkBear` involving some false positives
and false negatives have been fixed.
[Issue 691](https://github.com/coala-analyzer/coala-bears/issues/691)

**Documentation**
- A complete overhaul of the README page with a special emphasis on design
and user-friendliness.

**Regressions**
- Python 3.3 support was dropped.

0.7.0

For this release, 17 contributors have contributed about 200 commits to
coala-bears only.

We are bumping the version number to 0.7.0 to keep it in sync with the
coala releases.

New bears:
- `VerilogLintBear` (Lints verilog code)
- `AnnotationBear` (Annotates source code language independent for
further processing)
- `TailorBear` (Checks Swift code for style compliance)
- `CPPCheckBear` (Checks C/C++ code for security issues)
- `RAMLLintBear` (Checks style of RAML documents)
- `GoErrCheckBear` (Finds unchecked Go function calls)
- `RubySmellBear` (Finds code smells in Ruby)
- `FilenameBear` (Checks and corrects file naming conventions)
- `IndentationBear` (An experimental indentation checker and fixer
with a language independent algorithm.)

New features:
- Numerous documentation improvements.
- GitCommitBear:
- The WIP check yields a `Normal` Result now.
- InvalidLinkBear:
- Numerous false positive fixes.
- An ignore regex can now be passed.
- RuboCopBear:
- About 30 new configuration options were added.
- GNUIndentBear:
- 15 new configuration options were added.
- FormatRBear:
- 6 new configuration options were added.

Bugfixes:
- CPDBear:
- A case where results with an invalid line reference were
yielded was fixed.
- CheckstyleBear:
- In some cases results were not correctly parsed. This
was fixed.

Internal changes:
- Almost all bears use the new `linter` now instead of `Lint`.

0.6.0

.o88Oo._ .". " .".
d8P .ooOO8bo._ dPo. OO .oPb
88 '*Y8bo. 88o. .oo. .o88
YA '*Y8b __ Y88o. .8. .o88Y
YA 68o68**8Oo. W8888O888888888W
"8D *"' "Y8o w8888'88'8888w
Y8 'YB .8D `o88:88:88o'
'8 d8' 8D .O8`88'8O.
8 d8888b d AY oO8I88I8Oo
Y, d888888 d' _.oP" oO8|88|Oo
q. Y8888P' d8 oO8.88.8Oo
"q. `Y88P' d8" .oO.88.Oo.
Y ,o8P .oO888888Oo.
oooo888P" .oO8 8Oo.
+oO8+ +8Oo+
'bo. .od'


This release is shaped a lot by working on high quality bear writing tools. Our
codebase has matured further (improved tests, various internal improvements)
and key features for writing and organizing bears were introduced.

Over the last 1.5 months, 22 unique contributors have helped us at the coala
core project.

This time, the release logo is carefully hand crafted by Max Scholz!

New features:
- Smart globbing: use backslashes without an extra escape now if they don't
escape delimiters.
- Results now can have additional information appended.
- Bears expose information on which languages they support. You can query for
bears e.g. with `coala --show-language-bears C++` for C++.

Bugfixes:
- Linters suppress the output correctly now when checking for linter
availibility. (https://github.com/coala-analyzer/coala/issues/1888)
- The result filter algorithms can handle file additions and deletions now.
(https://github.com/coala-analyzer/coala/issues/1866)
- Ignore statements without a stop statement are now accepted as well
(https://github.com/coala-analyzer/coala/issues/2003).

For bear writers:
- A tutorial for managing bear dependencies is available in our documentation
now.
- The Result object has a field `additional_info` which can be used to give
an elaborate description of the problem.
- A `typechain()` function is now available for easy conditional type
conversion. (https://github.com/coala-analyzer/coala/issues/1859)
- Bears have a `name()` shortcut now which provides the bear class name.
- A `get_config_directory()` function is available that returns the root
directory of the project guessed by coala or provided (overridden) by the
user.
- A new `linter` decorator makes it even easier to write new linter
wrappers. (https://github.com/coala-analyzer/coala/issues/1928)

Notable internal/API changes:
- `FunctionMetadata` has a new `merge` function that can be used to merge
function signatures and documentation comments.

0.5.2

Minor bugfixes:
- Linter prerequisite output is suppressed now
- the `filter_results` function had some problems in some cases which have been fixed.

0.5.0

.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.

0.4.0

88 .o88Oo._
8 |8 d8P .ooOO8bo._
8 | 8 88 '*Y8bo.
8\ | /8 YA '*Y8b __
8 \|/ 8 YA 68o68**8Oo.
8\ Y 8 "8D *"' "Y8o
8 \ | /8 Y8 'YB .8D
8 \|/ /8 '8 d8' 8D
8\ Y / 8 8 d8888b d AY
8 \ / / 8 Y, d888888 d' _.oP"
8 \|/ 8 q. Y8888P' d8
8 Y 8 "q. `Y88P' d8"
8 | 8 Y ,o8P
8 | 8 oooo888P"


New features:
- Auto-apply can be enabled/disabled through the `autoapply` setting in a
coafile.
- Auto-applied actions print the actual file where something happened.
- A new bear was added, the GitCommitBear! It allows to check your current
commit message at HEAD from git!
- Filenames of results are now printed relatively to the execution directory.
(https://github.com/coala-analyzer/coala/issues/1124)

Bugfixes:
- coala-json outputted results for file-ranges that were excluded.
(https://github.com/coala-analyzer/coala/issues/1165)
- Auto-apply actions that failed are now marked as unprocessed so the user can
decide manually what he wants to do with them.
(https://github.com/coala-analyzer/coala/issues/1202)
- SpaceConsistencyBear: Fixed misleading message when newline at EOF is
missing.
(https://github.com/coala-analyzer/coala/issues/1185)
- Results from global bears slipped through our processing facility. Should not
happen any more.

Page 3 of 5

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.