All Versions
10
Latest Version
Avg Release Cycle
43 days
Latest Release
2530 days ago

Changelog History

  • v0.11.0 Changes

    May 22, 2017
                                                       /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

    • coala now exits with a non zero exit code when error level results
      ๐ŸŒฒ are logged. If you relied on coala logging in scripts or other
      automated systems please modify them to work with the new behavior.
      โœ… You can find all exit codes here.
      PR #3905

    General

    • ๐Ÿ“œ Section Inheritance had been added to the coafile parsing. With this
      ๐Ÿ”„ change we are deprecating implicit default section inheritance.
      Instead, you can now have definite section inheritance by using the
      ๐Ÿ‘ . in the section title. Append operators are now supported
      ๐Ÿ‘ allowing addition of values to inherited section. See the
      Explicit Setting Inheritance section of the
      โœ… docs
      for a syntax example and detailed instructions
    • The section name cli is reserved for cli arguments and should not
      ๐Ÿ”ง be used in the coala configuration file (coafile). If you are
      ๐Ÿ”ง currently using it in a configuration file, coala will warn you.
    • coala now outputs absolute file paths when a bear fails. This should
      ๐Ÿ‘‰ make debugging bear failures easier when using custom bears.

    Usability

    • A new placeholder, source_lines, has been added to the coala
      --format option. Use it to output the affected lines in the source
      file when a result occurs.
    • Bears are displayed alphabetically when listed using --show-bears.
    • โš  coala outputs a warning if a setting is overridden in the same
      section since this is probably not what the user intended.
    • --format is handled correctly when --ci is specified, outputting
      formatted output without asking questions. Issue#3999
    • coala will report the version of the dependency required when the
      ๐Ÿ”– version check fails. Issue#3982

    Bear Developers

    • ๐Ÿ‘• @linter decorator works with global bears. See our bear writing
      ๐Ÿ‘• docs
      for more information on how to write a global bear with the
      ๐Ÿ‘• @linter decorator.
    • Bear.DownloadCachedFile raises exceptions when the download fails.
      ๐Ÿ‘€ Please see the requests library
      ๐Ÿ“„ docs
      for a complete list of possible exceptions that will need to be
      ๐Ÿ– handled.
    • ๐Ÿ—„ The deprecate_settings decorator now supports multiple
      ๐Ÿ—„ deprecations of the same setting. Issue #3537
    • ๐Ÿ‘€ A new SEE_MORE attribute has been added to the Bear class. Use
      it to attribute (usually by linking the main page) the original tool
      ๐Ÿ‘• in linter bears.
    • ๐Ÿ‘• Unified Diff support has been added to the Diff result, linter and
      display mechanisms.

    ๐Ÿ›  Bugfixes

    • ๐Ÿ›  Caching has been fixed to work correctly. Results are only cached
      when a bear successfully runs. A bear which fails in the middle of a
      โš™ run will not have a result cached anymore. This should make flushing
      the cache manually mostly unnecessary for end users. PR#3722
    • Non-optional settings check settings from dependent bears now.
      Previously, it would error because the dependency would not have its
      settings satisfied. Issue#3149
    • The Result object now handles None values of TextPosition
      properly. Previously, it would return arbitrary results which would
      impact bear authors. Issue#3094
    • A few problems when using coala in systems with incomplete locales
      ๐Ÿณ data have been fixed. This was common in Docker containers. Issue#3906
  • v0.11.0.rc2 Changes

    May 12, 2017
    • ๐Ÿ›  Fixed critical section inheritance bug where sections with different capitalization would not inherit. Issue #4182
  • v0.11.0.rc1 Changes

    April 27, 2017

    Shortlog

    • ๐Ÿ‘€ Major changes to exitcode behavior(see docs)
    • ๐Ÿ—„ default .coafile section will be deprecated soon. Please stop using it now!
    • ๐ŸŽ‰ Initial next gen core code has been commited, however it has not been activated
    • ๐Ÿ†• New logging handlers
    • ๐Ÿ‘ Better aspects support has been added, still not ready for general usage
    • Empty results are not cached. End users shouldn't have to run with --flush-cache anymore
    • coala should now be able to output in unified-diff format
    • golang now has coalang doc bindings (?)
    • coafiles can now use the append (+=) operator to inherit from other sections
    • ...and much more
  • v0.10.0 Changes

    February 05, 2017
                       `++- -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

    • Results are cached even if a bear does not run. This can lead to empty
      results where there should be errors. To temporarily deal with this
      โš™ run coala with the --flush-cache option

    General

    • โœ… Test cases have been improved across the board so they catch more errors
      before production.
    • ๐ŸŒฒ Log output via json has been added which is accessible by using the
      ๐ŸŒฒ --log-json option.
    • coala domain has been changed from coala-analyzer.org to coala.io.
      Please file a bug if you find any broken links or instances of the old url.

    Usability

    • ๐Ÿ‘ emacs has been added to list of editors that coala supports.
    • โš  coala will now output a warning if you specify an editor that is not known.
    • ๐Ÿ‘• The noqa keyword used by other linters as an ignore keyword is now
      ๐Ÿ‘Œ supported as a coala ignore keyword.
    • โšก๏ธ libclang-py3 update to 3.4 is known to cause problems for some users. Please
      uninstall and reinstall it if coala tells you there is a version mismatch
      in libclang-py3.
    • ๐Ÿ‘ C# now has proper language support and should work with AnnotationBear
      ๐Ÿ”ง and all other bears which require language configuration.

    ๐Ÿ—„ Deprecations

    • ๐Ÿ—„ change_line method in Diff.py has been deprecated and has been
      โฑ scheduled for removal.
    • ๐Ÿšš format_str setting has been completely removed after being deprecated
      ๐Ÿš€ last release. Use format instead to specify a formatting string.

    Developers

    • โœ… Travis has been enabled for developers to test their changes on their own CI.
    • Bears will now check for prerequisites using specified requirements
      before running. Either override check_prequisites in the bear or write
      a new requirement class if you wish to have a custom check.
    • When a language is not known by coala, an Unknown language will be
      ๐Ÿ‘‰ used.
    • ๐Ÿ‘• @linter decorator now warns when using unsupported or anonymous capture
      groups.
    • ๐Ÿ†• New dependency_management package has been created to contain package
      manager and dependency classes used by coala. All of the old *Requirement
      ๐Ÿšš classes have been moved here. Some new dependencies classes are
      CabalRequirement and MavenRequirement. Developers should add
      ๐Ÿ‘ requirement classes there now for the requirement types they wish to support.
    • ๐Ÿ“ฆ DistributionRequirement can now check if a package is installed in many
      ๐Ÿง popular linux distros.
    • Diffs are able to add a single line using the add_line method now.
    • Language class ignores leading and trailing spaces in language lookups.
    • Language class should auto-complete when using languages that have
      been defined.

    ๐Ÿ“„ Docs

    • A Code of Conduct has been added. This will guide conflict resolution if the
      need ever arises.
    • ๐Ÿ“„ API docs are now part of the coala repository.
    • ๐Ÿ“š Developer contribution documentation has received a major update

    ๐Ÿ›  Bugfixes

    • ๐Ÿ›  Fixed an issue where using linter bears on windows had thrown an exception.
      Issue 3323
    • ๐Ÿ‘ coala -c (config file) option properly supports specifying directories.
      ๐Ÿ‘ป Previously it has thrown an exception.
      Issue 3221
    • ๐Ÿ“š Documentation status github badge has been fixed.
    • Console interaction uses a unicode dot to represent spaces instead of the
      ๐Ÿ‘ bullet for better cross platform rendering.
      Issue 2751
    • ๐Ÿ‘ป Language class raises proper exception to fix hasattr behavior.
      Issue 3160
    • ๐Ÿ‘ Ignore statements in multi-line comments should be supported properly now.
      Issue 3441
  • v0.9.1 Changes

    December 28, 2016

    ๐Ÿ›  This bugfix release addressed the following issues:

    • ๐Ÿ›  The installer has been fixed to only install on supported python versions.
      Issue #3310
      Issue #3383
    • โช The format_str option to specify a format string has ben restored to
      โช coala run in format mode. This is deprecated and was only restored to
      provide plug-in developers a grace period to switch to the replacement
      setting format.
      Issue #3303
    • ๐Ÿšš Setuptools was removed from our requirements list because having it only
      ๐Ÿ“ฆ only caused dependency problems for other packages installed on the system
      coala Bears Issue #751
    • โšก๏ธ PyPrint dependency was updated to a version which does not pull in
      setuptools anymore.
    • API change: An auto-apply disable option was added to run_coala to fix
      issue detection by unattended services that use coala when the coafile
      0๏ธโƒฃ contains a default_action
      Issue #3212
    • A few specific language class behaviors were changed. This should only
      affect developers
      Pull #3175
      Pull #3167
  • v0.9.0 Changes

    November 22, 2016
                       __
                 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 use
      coala --non-interactive and coala --json respectively.
    • Multiple patches within one line, even from different bears, can be
      ๐Ÿ”€ automatically merged by coala.
    • coala returns the exitcode 2 when not passing any --bears or
      --files as well as when no section is enabled and nothing was done.
    • coala can now automatically add Ignore ...Bear comments to your source
      code. Simply use the Add ignore comment action when offered.
    • 0๏ธโƒฃ Users can press enter to dismiss a result by default.
    • Result action descriptions have been compressed to make them easier readable.
    • The section name is now displayed when asking the user for missing settings.
    • coala --non-interactive shows results and patches by default now.
    • ๐Ÿšš coala-dbus has been removed as it wasn't used by anyone.
    • A --no-color argument allows to run coala with uncoloured results.
    • ๐Ÿ–จ Log messages are printed on stderr now.
    • ๐ŸŒฒ coala --json doesn't output log messages in JSON anymore. This is a
      ๐ŸŒฒ technical issue. Log messages can easily be fetched from the stderr stream.
    • ๐ŸŽ Some performance improvements could be achieved.
    • A lot more strings, like roger or no way are allowed for boolean
      values. (728b7b0)

    Bear API Changes:

    • ๐Ÿ—„ LanguageDefinition has been deprecated. Use
      coalib.bearlib.languages.Language instead. Consult
      โœ… http://api.coala.io/en/latest/coalib.bearlib.languages.html#module-coalib.bearlib.languages.Language
      for usage hints.
    • ๐Ÿ‘• The deprecated Lint class has now been removed.
    • ๐Ÿšš The CondaRequirement has been removed.
    • ๐Ÿ“ฆ The multiple constructor for PackageRequirement classes has been
      โœ‚ removed.
    • ๐Ÿ—„ A deprecate_bear decorator is now available so bears can be renamed
      seamlessly.
    • The Diff object has now dedicated functions to replace, insert
      ๐Ÿšš and remove SourceRange objects.

    ๐Ÿ› Bug Fixes:

    • ๐Ÿ›  A glob cornercase has been fixed.
      (#2664)
    • ๐Ÿ›  An issue where empty patches have been shown to the user has been fixed.
      (#2832)
    • ๐Ÿ›  Wrong handling of periods when changing casing has been fixed.
      (#2696)
    • ๐Ÿ›  A caching bug where results have not been shown to the user has been fixed.
      (#2987)

    ๐Ÿ“š Documentation:

    Internal Changes:

    • ๐Ÿ“‡ Deprecated parameters are stored in the function metadata.
    • ๐ŸŒฒ Python builtin logging is now used.
    • Numerous changes to get started on https://coala.io/cep5 have been
      implemented. The first aspects are already defined in
      coalib.bearlib.aspects and bears can already append aspects to results.
    • coalang files now have an alias dictionary.
  • v0.8.1 Changes

    September 04, 2016

    coala 0.8.1

    ๐Ÿ›  This bugfix release addressed the following issues:

    • The cache will be correctly invalidated when changing section targets now.
      (#2708)
    • Dependencies are resolved before asking the user for needed values. This will
      only affect custom bears that have dependencies that require settings.
      (#2709)
    • โšก๏ธ PyPrint was updated from 0.2.4 to 0.2.5.
    • PipRequirement uses sys.executable instead of hardcoded python. This will
      only affect coala or bear developers.
  • v0.8.0 Changes

    August 22, 2016

    coala 0.8.0 - grizzly

                   -                         
                 `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 now supports syntax highlighting in results!
    • ๐Ÿ–จ Questions are now printed in color; this will improve visibility when a lot
      of text is written to the screen.
    • ๐Ÿ‘ coala-json now supports --show-bears and --filter-by-language
    • โž• Added a --show-capabilities flag that displays the types of issues coala
      can detect and fix for a particular language.
    • Display the line number when a line is missing; this could happen if a bear
      that had run previously overwrites it.

    For Bear Writers

    • Bears now have a new REQUIREMENTS attribute which will be used to
      automatically resolve bear dependencies. This includes:
      • Native requirements (from package managers such as apt-get, dnf, pacman, ...)
      • Conda requirements
      • Python requirements through pip
      • go requirements
      • Ruby requirements through gem
      • NodeJS requirements through npm
      • RScript requirements
      • Julia requirements
    • ๐Ÿ“š Language independent documentation parsing routines: these can be used to
      ๐Ÿ“š make bears for linting documentation without having to worry about the
      language.
    • ๐Ÿ‘ coalang now supports C, C++, CSS, Java, Python3 and Vala.
    • ๐Ÿš€ A new bear creation tool has been released: with this tool, it's easier than
      ๐Ÿ‘• ever before to create external linter based bears for coala!
    • A new ASCIINEMA_URL attribute has been added to bears. This should
      contain an URL to an asciinema video displaying the bear's capabilities in action.
    • Bear results may now have a confidence parameter: this is supposed to
      quantify the confidence, on a scale of 1 to 100, the bear has when flagging results.
    • ๐Ÿ—„ A deprecate_settings decorator has been created to deprecate old,
      ๐Ÿ‘€ unsupported bear parameters. Please see
      here
      for an example usage.
    • ๐Ÿ›  Code Simplification has been added to the set of possible fixes that
      bears can offer.

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  Fixed an issue where errors were generated for lines containing only a
      single tab character. Issue #2180
    • ๐Ÿ›  Fixed an issue with question where stray escape characters may be present.
      Issue #2546
    • Group questions about missing values in a coafile by bears.
      Issue #2530
    • ๐Ÿ‘ป An issue where an exception was raised wrongly when the same diff was
      ๐Ÿ›  generated multiple times has been fixed.
      PR #2465

    ๐ŸŽ Performance

    • ๐ŸŽ Caching is now enabled by default. This is a huge performance improvement
      ๐Ÿ‘€ for HDD users - we've seen a 2x improvement when coala is run on coala.
      To disable caching run coala with the --disable-caching flag.
    • ๐Ÿ–จ An issue where coala takes over 2 seconds to print the help manual through
      ๐Ÿ›  --help has been fixed.
      Issue #2344
    • ๐ŸŽ A small performance improvement from reusing already loaded file contents.

    ๐Ÿ“š Documentation

    • A complete overhaul to the README page with a focus on design and
      readability.
    • โœ… A new FAQ page has
      been created.
    • ๐Ÿ“š Various other documentation pages have been improved with new resources,
      ๐Ÿ‘ better explanations, and some corrections.
    • ๐Ÿ“š The whole documentation has been moved to a
      ๐Ÿ“š separate repository.
      ๐Ÿ“š Please file any documentation related issues over there.

    Regressions

    • โฌ‡๏ธ Dropped Python 3.3 support

    Internal Changes

    • There has been a shift of several modules from coala to
      coala-utils. This includes the whole
      StringProcessing library, ContextManagers, and some decorators.
  • v0.7.0 Changes

    June 22, 2016
              ,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:

    • Shell
      โœ… Autocompletion
    • Patches are shown without prompting the user if small enough,
      otherwise diffstats.
    • ๐Ÿ“‡ Bears have metadata and can be browsed. Browse the bear
      ๐Ÿ“š documentation

      repository for more information on all the bears.
    • Lots of usability improvements! coala will suggest using certain
      ๐Ÿ”ง options if no meaningful configuration was supplied.
    • The help was revamped completely and is way easier to read.
    • A --verbose alias is available for -L DEBUG.
    • 0๏ธโƒฃ The default_actions setting accepts globs for bears now.
    • The --apply-patches argument was added to automatically apply
      all patches.
    • ๐Ÿ‘ coala supports experimental caching. This can lower the run time to
      a fraction of the time needed to perform the full analysis. It will
      ๐Ÿš€ be enabled by default in the next release. To use it, invoke coala
      with --changed-files.
    • Bear showing is divided into a new set of settings: --show-bears
      ๐Ÿ‘‰ shows all bears, --filter-by-language allows to filter them,
      --show-details and --show-description allow changing verbosity
      of the output.

    ๐Ÿ”‹ Feature Removals:

    • ๐Ÿท Tagging was removed.
    • ๐Ÿ‘• linter does no longer show the executable of the bear by default.

    ๐ŸŽ Performance Improvements:

    • Globs will be internally cached now so they don't need to be
      retranslated every time. This may show improvements of several
      seconds when working with a large set of files.
    • ๐Ÿ‘€ coala supports experimental caching. See New Features for
      more information.
    • coala does not delete *.orig files on startup anymore. This was a
      ๐ŸŽ huge performance hit especially on HDDs or big file trees. The
      cleanup can be performed manually by running coala-delete-orig.
      Instead coala will keep track of *.orig files more smartly.

    ๐Ÿ›  Bugfixes:

    • **.py can again be used instead ** /*.py.
    • ๐ŸŒฒ If errors happen before the initialization of logging, tracebacks
      will be shown.

    For bear writers:

    • Bears can have a number of attributes now, including author
      ๐Ÿ‘ information, supported languages or categories. A requirements
      attribute will help generating requirements definition files more
      easily in the future.
    • ๐Ÿ‘• The linter wrapper provides a result_severity and a
      result_message parameter now.
    • Bears can now delete and rename files.
    • The LanguageDefinition doesn't need a language_family anymore to
      load language definitions.
    • Results can be created directly from the Bear class more
      conveniently with self.new_result(...).
  • v0.6.0 Changes

    April 28, 2016
     .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:

    • 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. (#1888)
    • The result filter algorithms can handle file additions and deletions now.
      (#1866)
    • Ignore statements without a stop statement are now accepted as well
      (#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. (#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. (#1928)

    Notable internal/API changes:

    • ๐Ÿ“‡ FunctionMetadata has a new merge function that can be used to merge
      ๐Ÿ“š function signatures and documentation comments.