coala v0.11.0 Release Notes

Release Date: 2017-05-22 // over 4 years ago
  •                                                    /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

Previous changes from v0.11.0.rc2

    • ๐Ÿ›  Fixed critical section inheritance bug where sections with different capitalization would not inherit. Issue #4182