coala provides a unified command-line interface for linting and fixing all your code, regardless of the programming languages you use.
AGPL-3.0 License
Bot releases are hidden (Show)
/ss.
-+ooooyhhsoo+++/-...-d+``oy-
`:sNMMMMMMMMMMMMMMMMMMMMMMMMNMMMs
.sNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMd`
:hMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMm:
+mMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMN.
/mMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNN-
/mMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMhd
`yMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMmNMMMMMMMMMMm
`dMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMh :smMMMMMMMN
sMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNh+. ./ohNMmh
-NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMmy/.
-mMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMds/.
hMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMd----:oyyyNMMMMMMMyo+-
`MMMMMMMMMMMMMMMMMMMMMMMMMdMMMMMMMo `+ydMMMMMMMMMMMMMNs-
/MMMMMMMMMMMMMMMMMMMMMdo.``-/sMMMM+.omMMMMMMMMMMMMMMMMMMMMh:
/MMMMMMMMMMMMMMMMMMMs. oMMMhyMMMMMMMMMMMMMMMMMMMMMMMMMh`
yNMMMMMMMMMMMMMMMMM/ yMMmmMMMMMMMMMmyo///oyNMMMMMMMMMs
+mMMMMMMMMMMMMMMMMy /dMMMMMMMMMd: ./+/- :dMMMMMMMd
`oMMMMMMMMMMMMMMMMd` .MMMMMMMMMh .dMMMMMm: hMMMMMMM:
oNMMMMMMMMMMMMMMMMMM: :MMMMMMMMM: hMMMMMMMm :MMMMMMM/
:NMMMMMMMMMMMMMMMMMMMM/ -MMMMMMMMMo -NMMMMMN/ oMMMMMMM/
-mMMMMMMdhdMMMMMMMMMMM/` `dMMMMMMMMM+ :oso/` oMMMMMMMM:
:NMMMN. :dMMMMMMMMM+ :MMMMMMMMMMmo:` .:smMMMMMMMNo
.yNMMh: .mMMMMMMMMd hMMMMMMMMMMMMMMMMMMMMMMMMMMd.
`` .:////++: oNMMMMMMMMMMMMMMMMMMMMMMd+`
-+syhhdmmmNNNNNmdhss/.
This release was brought to you by 65 contributors contributing 141
commits.
The name of this release is BrewBear to highlight the improvements made
to our dependency management system, including the addition of brew
support for mac users. Mac has been an officially supported platform for
a long time and we would like to draw attention to this often overlooked
fact. Support has also been added for conda
and cargo
allowing bears
which use linters available from those package managers to manage their
dependencies.
Initial next generation core code has been merged and will be integrated
over the coming releases. Until then, please use the current API.
We have added a release candidate system to our release process to allow
users to easily test changes in the latest pre-release version of coala.
Instructions for obtaining the rc package will be posted for each
minor/major release to the coala gitter channel, blog, and twitter. We
encourage all users interested in checking out new features or helping
to test these pre-releases on their projects. If you do find a
regression in a release candidate, please report it to the issue tracker
with the word Regression
somewhere in the title.
Breaking Changes
General
default
section inheritance..
in the section title. Append operators are now supportedExplicit Setting Inheritance
section of thecli
is reserved for cli arguments and should notcoafile
). If you areUsability
source_lines
, has been added to the coala--format
option. Use it to output the affected lines in the source--show-bears
.--format
is handled correctly when --ci
is specified, outputtingBear Developers
@linter
decorator works with global bears. See our bear writing@linter
decorator.Bear.DownloadCachedFile
raises exceptions when the download fails.deprecate_settings
decorator now supports multipleSEE_MORE
attribute has been added to the Bear
class. UseDiff
result, linter andBugfixes
Result
object now handles None
values of TextPositionPublished by Mixih over 7 years ago
Published by Mixih over 7 years ago
default
.coafile section will be deprecated soon. Please stop using it now!--flush-cache
anymoreunified-diff
formatPublished by Mixih over 7 years ago
`++- -o+`
-oo: :yhho ohhy: :oo.
:hhhoohhh+ +hhhoohhy:
``.--shhhhhy: /yhhhhho--..`
+hhhhhhhhhhh+ ohhhhhhhhhhh/
`/+/////+hhhh/ +hhhy+///////`
-yhhhs hshhhy-
.os/ hhhhy- -yhhhh +ss.
.yhho shhho``ohhhs `ohhy`
-yhhs` +hhhsshhh+ `shhy-
.::shhhs++/+yhy////shhhhhhs////yhy++++yhhho::-
/hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh/
-::shhhs++++yhy////shhhhhhs +shhhs::.
-yhhs` +hhhsshhh+ `shhy-
.yhho` shhho``ohhhs ohhy.
.ss+ hhhhy -yhhhh /so.
-yhhhs shhhy-
`///////+yhhh+ /hhhh+/////+/`
/hhhhhhhhhhho +hhhhhhhhhhh+
`..--ohhhhhy/ :yhhhhhs--.``
:hhhoohhh+ +hhhoohhh:
-oo: :yhho ohhy: :oo-
`+o- -++`
For this release we had 168 commits contributed by 66 unique contributors
over 2.5 months.
The name of this release is PolarBear to reflect changes we have made to our
release process. We have implemented a release freeze before all releases
to serve as a testing period for all staged changes. This should also help
us keep releases on schedule.
This release is an enhancement release which brings the usual slew of
improvements to documentation and API. We have started preparing the codebase
for the big changes that are outlined in the cEPs like section inheritance
and the next generation core.
Known Bugs
--flush-cache
optionGeneral
--log-json
option.coala-analyzer.org
to coala.io
.Usability
noqa
keyword used by other linters as an ignore keyword is nowlibclang-py3
update to 3.4 is known to cause problems for some users. Pleaselibclang-py3
.C#
now has proper language support and should work with AnnotationBearDeprecations
change_line
method in Diff.py
has been deprecated and has beenformat_str
setting has been completely removed after being deprecatedformat
instead to specify a formatting string.Developers
check_prequisites
in the bear or writeUnknown
language will be@linter
decorator now warns when using unsupported or anonymous capturedependency_management
package has been created to contain package*Requirement
CabalRequirement
and MavenRequirement
. Developers should addDistributionRequirement
can now check if a package is installed in manyadd_line
method now.Language
class ignores leading and trailing spaces in language lookups.Language
class should auto-complete when using languages that haveDocs
Bugfixes
-c
(config file) option properly supports specifying directories.Language
class raises proper exception to fix hasattr
behavior.Published by Mixih almost 8 years ago
This bugfix release addressed the following issues:
format
.Published by sils almost 8 years ago
__
o#'9MMHb':'-,o,
.oH":HH$' "' ' -*R&o,
dMMM*""'`' .oM"HM?.
,MMM' "HLbd< ?&H\
.:MH ."\ ` MM MM&b
. "*H - &MMMMMMMMMH:
. dboo MMMMMMMMMMMM.
. dMMMMMMb *MMMMMMMMMP.
. MMMMMMMP *MMMMMP .
`#MMMMM MM6P ,
' `MMMP" HM*`,
' :MM .- ,
'. `#?.. . ..'
-. . .-
''-.oo,oo.-''
For this release only we had 58 different contributors from all around the globe contributing way
over 200 commits over 2.5 months to coala.
The name of this release is GlobalBear to honour our GlobalBear
class and
leave a statement on how global the community grows: gone are the days when we
visit conferences and we have to explain the project to all the people. More
and more people know the project before we meet them and this is great! This is
a huge step in our conquest to take over the world!
The GlobalBear
class serves our users by providing project wide "global"
analysis. This release it will probably make its last appearance because it
will be deprecated in favour of a more sophisticated concept in the near future.
We have also worked a lot towards building our dream of letting users declare
code analysis configuration completely language independently: to take a
sneak peek at what we want to do, check this out. You will see that
the first aspects are already in our source code and that bears can already
associate results with them so future versions of coala will be able to tell
the user a plethora of facts around the type of issue pointed out.
For users, we have added a lot of usability improvements as well as for example
the ability to merge patches within one line: if you previously had to run
coala multiple times because of patch conflicts, this is likely not the case
anymore!
As a Bear writer you now have access to our Language
facilities: they
will give you facts about programming languages that you analyse so you can
build truly language independent bears. Also, you now can use
http://api.coala.io/ to get more information about our classes and functions
you work with.
Command Line Interface Changes:
coala-ci
and coala-json
have been deprecated. You can now usecoala --non-interactive
and coala --json
respectively.coala
returns the exitcode 2 when not passing any --bears
or--files
as well as when no section is enabled and nothing was done.Ignore ...Bear
comments to your sourceAdd ignore comment
action when offered.coala --non-interactive
shows results and patches by default now.coala-dbus
has been removed as it wasn't used by anyone.--no-color
argument allows to run coala with uncoloured results.coala --json
doesn't output log messages in JSON anymore. This is aroger
or no way
are allowed for booleanBear API Changes:
LanguageDefinition
has been deprecated. Usecoalib.bearlib.languages.Language
instead. ConsultLint
class has now been removed.CondaRequirement
has been removed.multiple
constructor for PackageRequirement
classes has beendeprecate_bear
decorator is now available so bears can be renamedDiff
object has now dedicated functions to replace
, insert
remove
SourceRange
objects.Bug Fixes:
Documentation:
Internal Changes:
coalib.bearlib.aspects
and bears can already append aspects to results.coalang
files now have an alias dictionary.Published by sils about 8 years ago
This bugfix release addressed the following issues:
sys.executable
instead of hardcoded python. This willPublished by adtac about 8 years ago
-
`Ns :s-
. mMd` :Nd.
:h /ss/` +md.
dN` :NMMMy` .ymmy. -+`
dM+ dMMMMMm`.NMMMMN. +Mo
` -sddy: yMMMMMM/+MMMMMMo dMo
s/ +MMMMMy.dMMMMM-:MMMMMM+ -yhs`
.Ms /MMMMMMo /hdh: oMMMMh`+MMMMm.
-MN. hMMMMMh `/osssoos+- dMMMMMs
oyhho.+mMMm:+dMMMMMMMMMm+ sMMMMMs
mMMMMMy``` dMMMMMMMMMMMMMh.`sMMMh`
yMMMMMMy `MMMMMMMMMMMMMMMMy:..`
`yMMMMMd yMMMMMMMMMMMMMMMMMMMMNh+`
.ohhs-+mMMMMMMMMMMMMMMMMMMMMMMMMd
.yMMMMMMMMMMMMMMMMMMMMMMMMMMMh
mMMMMMMMMMMMMMMMMMMMMMMMMMMMh`
yMMMMMMMMMMMMMMMNhssssyyyso-
/dMMMMMMMMMNy+.
./syhys/-
For this release, we have had 46 developers from around the world contributing
over 150 commits in the last 9 weeks.
Improving the API available for bear writers is one of the areas we've focused
on for this release, with several new and exciting features. General performance
has also been improved heavily with some major changes under the hood. The
documentation has also been worked on, with an emphasis on user-friendliness
and design.
There have also been major internal changes in preparation for the complete
decentralization of bears, which would allow the installation of individual
bears.
Below are some of the important changes introduced for this release:
New Features
coala-json
now supports --show-bears
and --filter-by-language
--show-capabilities
flag that displays the types of issues coalaFor Bear Writers
REQUIREMENTS
attribute which will be used toapt-get
, dnf
, pacman
, ...)pip
go
requirementsgem
npm
coalang
now supports C, C++, CSS, Java, Python3 and Vala.ASCIINEMA_URL
attribute has been added to bears. This shouldconfidence
parameter: this is supposed todeprecate_settings
decorator has been created to deprecate old,Code Simplification
has been added to the set of possible fixes thatBug Fixes
Performance
--disable-caching
flag.--help
has been fixed.Documentation
Regressions
Internal Changes
StringProcessing
library, ContextManagers
, and some decorators.Published by sils over 8 years ago
,o8b, .o88Oo._
P d d8P .ooOO8bo._
d' p 88 '*Y8bo.
.Y ." YA '*Y8b __
db, d" _ooQ.dPQ, YA 68o68**8Oo.
.8' YI.Y" b B "8D *"' "Y8o
.Y ;L 8, Yq.8 Y8 'YB .8D
B .db_.L q, q "q '8 d8' 8D
8" qp 8, 8 8 d8888b d AY
8 ",dP Y, d888888 d' _.oP"
"q 8; q. Y8888P' d8
'8 b "q. `Y88P' d8"
'D, ,8 Y ,o8P
'odY' oooo888P"
(Release logo by Fabian Neuschmidt)
For this release, 32 people from all over the world have contributed
about 200 commits over almost two months.
The focus of this release is certainly on the usability of coala.
Usability testing has made us aware of some important difficulties,
users have to face when trying out coala. We have implemented a lot of
countermeasures to lower this barrier.
The changelog below summarizes the most important user facing changes.
Not listed are especially lots of internal improvements and
documentation fixes.
New Features:
--verbose
alias is available for -L DEBUG
.default_actions
setting accepts globs for bears now.--apply-patches
argument was added to automatically apply--changed-files
.--show-bears
--filter-by-language
allows to filter them,--show-details
and --show-description
allow changing verbosityFeature Removals:
linter
does no longer show the executable of the bear by default.Performance Improvements:
New Features
for*.orig
files on startup anymore. This was acoala-delete-orig
.*.orig
files more smartly.Bugfixes:
**.py
can again be used instead **/*.py
.For bear writers:
linter
wrapper provides a result_severity
and aresult_message
parameter now.LanguageDefinition
doesn't need a language_family
anymore toself.new_result(...)
.Published by sils over 8 years ago
.o88Oo._ .". " .".
d8P .ooOO8bo._ dPo. O#O .oPb
88 '*Y8bo. 88o. .o#o. .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:
coala --show-language-bears C++
for C++.Bugfixes:
For bear writers:
additional_info
which can be used to givetypechain()
function is now available for easy conditional typename()
shortcut now which provides the bear class name.get_config_directory()
function is available that returns the rootlinter
decorator makes it even easier to write new linterNotable internal/API changes:
FunctionMetadata
has a new merge
function that can be used to mergePublished by sils over 8 years ago
Minor bugfixes:
filter_results
function had some problems in some cases which have been fixed.Published by sils over 8 years ago
.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.coala-json
supports the --relpath
argument so the JSON output can be--bear-dirs
are now searched recursively. They are also added to thecoala-format
exposes the {severity_str}
so you can get a humancoala-json
supports now a --text-logs
argument so you can see your-o
argument.coala-ci
yields a beautiful output now, showing the issuescoala-delete-orig
script is now available to delete autogenerated--limit-files
CLI argument was introduced which is especially usefulExitcode changes:
5
if patches were applied successfully but no other results4
now if executed with an unsupported python version.Bugfixes:
appdirs
module is now used for storing tagged data.13
..coafile
correctly.coala-json
doesn't show logs when invoked with -v
or -h
anymore--find-config
has not found the configuration correctly haveFor bear writers:
Setting
for using inside run()
url
.Lint
based bears have a new argument which can be set to test whether aCorrectionBasedBear
and Lint
class have been merged into the newLint
class to make linter integration even easier. ItLocalBearTestHelper
as well as the verify_local_bear
have beenNotable internal changes:
Published by sils over 8 years ago
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:
autoapply
setting in aBugfixes:
Published by rultor almost 9 years ago
(You can read the release announcement on http://wordpress.schuirmann.eu/2015/12/coala-platypus/)
We are dropping Python 3.2 support (and so PyPy). Also we are removing
translations, the default language is English.
This release contains these following feature changes:
--config
flag.coafile
) raise a warning.--show-all-bears
.#
is supported for comments in the configuration file syntax.coala-format
binary was added that allows customized formatting forNew bears:
coala -A
to find out about them!Bear API changes:
check_prerequisites
to determine whether it canBear changes:
Published by rultor about 9 years ago
.o88Oo._
d8P .ooOO8bo._
88 '*Y8bo.
'*Y8b __
YA 68o68**8Oo. _.o888PY88o.o8
"8D *"' "Y8o.o88P*' Y.
Y8 'YB .8D Y.
'8 d8' 8D o 8
8 d8888b d AY o d'
Y, d888888 d' _.oP" d88b 8
q. Y8888P' d8 Y, d8888 P
"q. `Y88P' d8" q. Y888P .d'
Y ,o8P "q `"' ,oP
oooo888P" `Y .o8P"
8ooo888P"
This release features the following feature changes:
--find-config
flag: Searches for .coafile in all parent directories.coala-json
=
instead.--job-count
argument was removed for technical reasons. It will be--show-bears
parameter was added to get metainformation of bears.coala --version
now gives the version number. A released dev
version hascoala-dbus
binary will now be installed that spawns up a dbus API for--apply-changes
argument was removed as its concept does not fityield
New bears:
Infrastructural changes:
pip install coala --pre
.Internal code changes:
We are very happy that 7 people contributed to this release, namely Abdeali
Kothari, Mischa Krüger, Udayan Tandon, Fabian Neuschmidt, Ahmed Kamal and
Shivani Poddar (sorted by number of commits). Many thanks go to all of those!
coala's code base has grown sanely to now over 12000 NCLOC with almost half of
them being tests.
We are happy to announce that Mischa Krüger is joining the maintainers team of
coala.
Furthermore we are happy to announce basic Windows and Mac OS X support. This
would not have been possible without Mischa and Abdeali. coala is fully tested
against Python 3.3 and 3.4 on Windows and 3.2, 3.3, 3.4 and Pypy3 on Mac while
not all builtin bears are tested. coala is also tested against Pypy3 and
Python 3.5 beta (in addition to 3.3 and 3.4) on Linux.
Note that this is a prerelease, thus this release will be supported with only important bugfixes for limited time (at least until 0.3.0 is released).
Released by Rultor 1.56.2, see build log
Published by sils over 9 years ago
This patch release fixes a major usability issue where data entered into the editor may be lost.
coala 0.1 provides basic functionality. It is not feature complete but already useful according to some people.
For information about the purpose of coala please look at the README provided with each source distribution.
Note that this is a prerelease, thus this release will be supported with only important bugfixes for limited time (at least until 0.2.0 is released). Linux is the only supported platform.
Documentation for getting started with coala is provided here:
https://github.com/coala-analyzer/coala/blob/v0.1.0-alpha/TUTORIAL.md
If you want to write static code analysis routines, please check out this guide:
https://github.com/coala-analyzer/coala/blob/v0.1.0-alpha/doc/getting_involved/WRITING_BEARS.md
We love bugs - if you find some, be sure to share it with us:
https://github.com/coala-analyzer/coala/issues
Published by sils over 9 years ago
coala 0.1 provides basic functionality. It is not feature complete but already useful according to some people.
For information about the purpose of coala please look at the README provided with each source distribution.
Note that this is a prerelease, thus this release will be supported with only important bugfixes for limited time (at least until 0.2.0 is released). Linux is the only supported platform.
Documentation for getting started with coala is provided here:
https://github.com/coala-analyzer/coala/blob/v0.1.0-alpha/TUTORIAL.md
If you want to write static code analysis routines, please check out this guide:
https://github.com/coala-analyzer/coala/blob/v0.1.0-alpha/doc/getting_involved/WRITING_BEARS.md
We love bugs - if you find some, be sure to share it with us:
https://github.com/coala-analyzer/coala/issues