Coala Versions Save

coala provides a unified command-line interface for linting and fixing all your code, regardless of the programming languages you use.

0.5.2

8 years ago

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

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:

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:

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

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:

  • 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:

0.3.0

8 years ago

coala 0.3.0

(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:

  • Auto-apply feature added! Results can directly be processed without user interaction specifying the desired action!
  • A missing coafile that is explicitly wanted through the --config flag throws an error instead of a warning. Only default coafile names (ending with .coafile) raise a warning.
  • Various new bears integrating existing linter tools, e.g. for C/C++, Python, Ruby, JSON and many more!
  • Allow to ignore files inside the coafile.
  • Results can now be stored and tagged with an identifier for accessing them later.
  • OpenEditorAction lets the user edit the real file instead of a temporary one.
  • All usable bears can now be shown with --show-all-bears.
  • Only # is supported for comments in the configuration file syntax.
  • Multiple actions can now be executed on the CLI.
  • Patches can now be shown on the CLI.
  • A coala-format binary was added that allows customized formatting for results to ease integration in other systems.
  • Printing utilities have moved into the PyPrint library.

New bears:

  • Lots! Just do coala -A to find out about them!

Bear API changes:

  • A bear can implement check_prerequisites to determine whether it can execute in the current runtime.
  • The PatchResult class was merged into the Result class.

Bear changes:

  • SpaceConsistencyBear offers more verbose and precise information about the problem.

0.2.0

8 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.
  • Add code clone detection bears and algorithms using CMCD approach.
  • Console color gets properly disabled now for non-supporting platforms (like Windows).
  • coala results can be outputted to JSON format using the coala-json command.
  • Automatically add needed flags to open a new process for some editors.
  • Save backup before applying actions to files.
  • Return nonzero when erroring or yielding results.
  • Write newlines before beginning new sections in coafiles when appropriate.
  • The default_coafile can now be used for arbitrary system-wide settings.
  • coala can now be configured user-wide with a ~/.coarc configuration file.
  • Manual written documentation is now hosted at http://coala.rtfd.org/.
  • Changed logging API in Bears (now: debug/warn/err).
  • clang python bindings were added to the bearlib.
  • Exitcodes were organized and documented. (http://coala.readthedocs.org/en/latest/Users/Exit_Codes/)
  • Handling of EOF/Keyboard Interrupt was improved.
  • Console output is now colored.
  • Bears can now easily convert settings to typed lists or dicts.
  • Bears have no setUp/tearDown mechanism anymore.
  • Colons cannot be used for key value seperation in configuration files anymore as that clashes with the new dictionary syntax. Use = instead.
  • The --job-count argument was removed for technical reasons. It will be re-added in the near future.
  • A --show-bears parameter was added to get metainformation of bears.
  • The coala versioning scheme was changed to comply PEP440.
  • coala --version now gives the version number. A released dev version has the build date appended, 0 for local versions installed from source.
  • A coala-dbus binary will now be installed that spawns up a dbus API for controlling coala. (Linux only.)
  • The StringProcessing libary is there to help bear writers deal with regexes and similar things.
  • A new glob syntax was introduced and documented. (http://coala.readthedocs.org/en/latest/Users/Glob_Patterns/)
  • The --apply-changes argument was removed as its concept does not fit anymore.
  • Bears can now return any iterable. This makes it possible to yield results.

New bears:

  • ClangCloneDetectionBear
  • LanguageToolBear
  • PyLintBear

Infrastructural changes:

  • Tests are executed with multiple processes.
  • Branch coverage raised to glorious 100%.
  • We switched from Travis CI to CircleCI as Linux CI.
  • AppVeyor (Windows CI) was added.
  • Travis CI was added for Mac OS X.
  • Development releases are automatically done from master and available via pip install coala --pre.
  • Rultor is now used exclusively to push on master. Manual pushes to master are not longer allowed to avoid human errors. Rultor deploys translation strings to Zanata and the PyPI package before pushing the fastforwarded master.

Internal code changes:

  • Uncountable bugfixes.
  • Uncountable refactorings touching the core of coala. Code has never been more beautiful.

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

v0.1.1-alpha

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

v0.1.0-alpha

9 years ago

Attention: This release has known major bugs when using the "open editor" action. See #316. This is fixed in the 0.1.1-alpha version.

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