coala v0.10.0 Release Notes

Release Date: 2017-02-05 // 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

    • 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