coala v0.9.0 Release Notes

Release Date: 2016-11-22 // over 7 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 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.