Skip to content

Latest commit

 

History

History
270 lines (183 loc) · 14.1 KB

CHANGELOG.md

File metadata and controls

270 lines (183 loc) · 14.1 KB

Changelog

0.7.2

Rule changes

  • Add rule double-precision-literal (#390)
  • Add rule to detect missing function result clause (#386)
  • Add rule to flag implicit save in pointer initialization (#396)
  • Add rules preferring multi-word keywords to include spaces (#393)

Documentation

  • Fix fpm.toml examples in docs/settings.md (#387)

Other changes

  • Raise SyntaxError for missing nodes (#394)

0.7.1

This is a bug-fix release, with one new rule. Thanks to our new contributors for improving the documentation, and packaging for AUR!

Rule changes

  • Add rule for exit/cycle in unlabelled loop (#364)
  • Expand rule for character*(*) to handle character*N, character*(:), and character*(expression) (#354)

Bug fixes

  • Don't print diagnostics in --fix-only mode (#359)
  • Fix --statistics reporting for unsafe fixes (#368)
  • Fix false positive real-implicit-kind in type declaration (#378)
  • Move default-public-accessibility highlight to public statement (#351)
  • Write to stdout even when no fixes are applied in stdin mode (#358)

Documentation

  • Update introduction to README.dev.md (#360)
  • docs(index): fix link to best practices (#350)
  • docs: add package manager install instructions (#377)
  • docs: fix links to best practice (#357)
  • fixing some spelling and grammar (#352)

Other changes

  • Add pre-commit hooks (#376)

0.7.0

This release features 25 new rules, many more options for controlling exactly which rules are enabled anywhere from per-file to per-line, and some useful command line options.

Breaking changes

We've reorganised a lot of the rules and categories. Rule and category redirects should minimise any breakages, but you should update your config appropriately.

We have also changed the rules that are on by default. This may mean you now have to explicitly enable some rules there were previously checked, and you may find more warnings being raised from new rules.

The rule statement-function has been temporarily removed while we work to reduce false positives.

Stabilisation

The following rules have been stabilised and are no longer in preview:

Rule changes

  • Add missing-default-case (#240)
  • Add check for use of specific names for intrinsic functions (#254)
  • Add rule magic-number-in-array-size (#236)
  • Add rule missing-action-specifier and Io rule category (#230)
  • Add rule for deleted feature pause statements (#304)
  • Add rule to find computed go to statements (#264)
  • Add rule to find missing intrinsic specifiers in use statements (#253)
  • Add rule to flag trailing backslash (#311)
  • Add rule to test for uninitialized pointers in derived types (#299)
  • Add rules for magic/non-portable IO units (#239)
  • Add rules for multiple modules/programs in same file; Add rule for include statements (#268)
  • Add rules for unused/duplicated/redirected allow comments (#334)
  • Rule: multiple-statements-per-line (#246)
  • Temporarily remove statement-function (#339)
  • Warn about invalid rules in allow-comments (#266)
  • Suggest iso_fortran_env parameters for literal kinds (#245)

CLI

  • Add --exit-zero and --exit-non-zero-on-fix CLI options (#328)
  • Add --statistics CLI flag to show counts of violations (#330)
  • Add ability to read from stdin (#307)
  • Add command to generate shell completion scripts (#340)
  • Add logging framework and --verbose/quiet/silent flags (#274)

Configuration

  • Add "allow" comments (#242)
  • Add options to exclude files (#238)
  • Add per-file-ignores (#232)
  • Decouple CLI and config file (#312)
  • Mark rules as Default or Optional in map_codes (#324)
  • Recategorise rules (#329)
  • Respect .gitignore (#285)
  • Warn when selected rules are ignored for some reason (#305)

Bug fixes

  • Bugfix: Catch negative exponents in missing-kind-suffix (#244)
  • Bugfix: Count files scanned and files skipped correctly (#309)
  • Bugfix: line-length and file-extensions ignored in toml files (#251)
  • Bugfix: fix get_files force excluding with directories (#296)
  • Bugfix: make specific-names an unsafe fix (#263)
  • Catch syntax errors introduced by fixes (#227)
  • Don't raise linter violations or apply fixes when syntax errors are detected (#336)
  • Fix Windows testing issues (#318)
  • Fix some issues with newlines in fixes on Windows (#315)
  • Handle broken pipes (#290)

Documentation

  • Add guide for adding new rules to README.dev.md (#300)
  • T042: Fix example code in assumed-size-character-intent rule (#234)

0.6.2

Bug fixes

  • Fix Node::edit_replacement eating newlines (#225)

0.6.1

Bug fixes

  • Bugfix: star-kind fix set to unsafe (#218)

Documentation

  • Fix link to rules table in Readme (#217)

0.6.0

Preview features

  • Move statement-function rule to preview set (#164)

Rule changes

  • Add automatic fixes (#181)
  • Add check for external procedures (#195)
  • Add fix for deprecated-relational-operators (#182)
  • Add fix for old-style-array-literal (#183)
  • Add fix for star-kinds (#186)
  • Add fix for trailing-whitespace (#187)
  • Add fix for unnamed-end-statement (#185)
  • Add fix for missing label on exit/cycle (#184)
  • Add rule common-block (#165)
  • Add rule for implicit external procedures (#192)
  • Add rule for incorrect whitespace before comment (#194)
  • Add rule for missing private statements in modules (#150)
  • Add rule for missing double-colon in variable decls (#171)
  • Add rule for obsolescent entry statement (#169)
  • Add rule for statement functions (#162)
  • Rename external-function to procedure-not-in-module (#200)

CLI

  • Add --preview option (#151)
  • Add fancy progress bar (#145)
  • Don't require argument for CLI --preview (#153)
  • Print git commit and extra info with --version (#174)
  • Show preview rules in explain (#154)

Configuration

  • Add (many) more output formats (#177)

Bug fixes

  • Bugfix: DiagnosticMessages were created on pre-transformed file (#191)
  • Bugfix: report number of files scanned (#173)
  • Bugfix: utf-8 multi-byte characters breaking diagnostic output (#198)
  • Less aggressive warnings for no-real-suffix (#156)

Documentation

  • Add basic docs (#210)

0.5.1

Performance

  • Better parallel performance (#137)

Bug fixes

  • Don't warn on missing intent for procedure arguments (#139)

Documentation

  • Clarify check help text for recursive file searches (#143)

0.5.0

Performance

  • Parallelise check (#129)

CLI

  • Add a success message when all checks are passed and a summary of number of files scanned (#104)
  • Make explain arguments positional (#113)
  • Select categories by name (#112)
  • Select rules by name (#111)

Bug fixes

  • Add fix for superfluous implicit none (#99)
  • Fix explain bug with RuleSelector, improve explain output (#110)
  • Fix reading config files (#124)
  • Remove deleted flag from help text (#115)

Documentation

  • Update precision explanations (#126)
  • docs: Clarify how check searches for files (#128)

Other changes

  • Enable more sophisticated rule selection (#108)

0.4.0

Configuration

  • Add setting for file extensions to check (#89)
  • Add support for config files (#87)

0.3.0

Rule changes

  • Add check for old-style array literals (/.../) (#54)
  • Add rule for assumed size dummy arguments (#57)
  • Add rule for deprecated relational operators (#82)
  • Add rule for initialisation in declarations (#72)
  • Add rule for missing intent attribute (#50)
  • Add rule for missing label on exit/cycle (#53)
  • Add rule for non-explicit end statements (#84)
  • Add rules for character assumed size issues (#75)
  • Implicit real kinds rule (#81)
  • Print context of violations (#45)

Bug fixes

  • Bugfix: newline printed for files without rule violations (#42)

0.2.0