Releases: netromdk/vermin
Version 1.3.2
1.3.2:
super()without arguments requires v3+
1.3.1:
- Don't suppress test errors for Python 2.7, 3.4, and 3.5 with GitHub Actions
- Added kwargs rules specific to the change from v2 to v3
- With inconclusivity when using
--violationsand--targetexit code is0(#79) - Yield note when not enough evidence to conclude minimum versions
- Scan top-level folders in all cases. The recent implementation of
--no-symlink-foldersdidn't scan top-level folders - or input folders. That's a problem if the input folder is/tmpwhich is a symlink to/private/tmpon macOS, for instance. Cases such as that will now be handled correctly. - Added and fixed rules (mostly 3.10 related) (#78)
1.3.0:
- Python 3.10 support
- Optionally exclude parsing comments for 30-40%+ speedup. The
--no-parse-commentsargument orparse_comments = noconfig setting, can be used to disable it. - Not scanning symlinks to folders can incur huge speedups for certain projects, especially if they
point inside a project's hierarchy. These symlinks can be included in analysis via the--scan-symlink-foldersargument orscan_symlink_folders = yesconfig setting.
Deprecations
- Lax mode has been deprecated in favor of specific analysis exclusions. Will be removed in v. 1.4.
Version 1.3.1
1.3.1:
- Don't suppress test errors for Python 2.7, 3.4, and 3.5 with GitHub Actions
- Added kwargs rules specific to the change from v2 to v3
- With inconclusivity when using
--violationsand--targetexit code is0(#79) - Yield note when not enough evidence to conclude minimum versions
- Scan top-level folders in all cases. The recent implementation of
--no-symlink-foldersdidn't scan top-level folders - or input folders. That's a problem if the input folder is/tmpwhich is a symlink to/private/tmpon macOS, for instance. Cases such as that will now be handled correctly. - Added and fixed rules (mostly 3.10 related) (#78)
1.3.0:
- Python 3.10 support
- Optionally exclude parsing comments for 30-40%+ speedup. The
--no-parse-commentsargument orparse_comments = noconfig setting, can be used to disable it. - Not scanning symlinks to folders can incur huge speedups for certain projects, especially if they
point inside a project's hierarchy. These symlinks can be included in analysis via the--scan-symlink-foldersargument orscan_symlink_folders = yesconfig setting.
Deprecations
- Lax mode has been deprecated in favor of specific analysis exclusions. Will be removed in v. 1.4.
Full Changelog: v1.2.2...v1.3.1
Version 1.3.0
- Python 3.10 support
- Optionally exclude parsing comments for 30-40%+ speedup. The
--no-parse-commentsargument orparse_comments = noconfig setting, can be used to disable it. - Not scanning symlinks to folders can incur huge speedups for certain projects, especially if they
point inside a project's hierarchy. These symlinks can be included in analysis via the--scan-symlink-foldersargument orscan_symlink_folders = yesconfig setting.
Deprecations
- Lax mode has been deprecated in favor of specific analysis exclusions. Will be removed in v. 1.4.
Full Changelog: v1.2.2...v1.3.0
Version 1.2.2
1.2.2:
- Support exclusion of multi-line strings (#76)
- Fixed erroneous detection of nested curly braces in string formatting (#75)
- Fixed reported line numbers for variable/final/literal annotations
- Regularly scanning code with CodeQL via GitHub Actions
Appreciated feedback from @adamjstewart.
1.2.1:
- Fix for only showing files with violating results when using
--violations(#74)
Advisories:
- Upgraded urllib3 1.25.10 to 1.26.5 (GHSA-q2q7-5pp4-w6pg)
1.2.0:
- Target versions violations linting mode:
--violations(#57, README section) - Fix crash on adding exclusion after overriding config from another (#68)
- Fix member detection in exception handlers and raise expressions (#69)
- Detect
nonlocaland user-definedlong(#70) - Capture assignment targets as user-defines
- Detect ellipsis literal out of slices (#71)
- Detect set literals and set comprehensions (#72)
- Detect multiple context expressions in a
withstatement (#73)
Version 1.2.1
1.2.1:
- Fix for only showing files with violating results when using
--violations(#74)
Advisories:
- Upgraded urllib3 1.25.10 to 1.26.5 (GHSA-q2q7-5pp4-w6pg)
Appreciated feedback from @alalazo.
1.2.0:
- Target versions violations linting mode:
--violations(#57, README section) - Fix crash on adding exclusion after overriding config from another (#68)
- Fix member detection in exception handlers and raise expressions (#69)
- Detect
nonlocaland user-definedlong(#70) - Capture assignment targets as user-defines
- Detect ellipsis literal out of slices (#71)
- Detect set literals and set comprehensions (#72)
- Detect multiple context expressions in a
withstatement (#73)
Version 1.2.0
- Target versions violations linting mode:
--violations(#57, README section) - Fix crash on adding exclusion after overriding config from another (#68)
- Fix member detection in exception handlers and raise expressions (#69)
- Detect
nonlocaland user-definedlong(#70) - Capture assignment targets as user-defines
- Detect ellipsis literal out of slices (#71)
- Detect set literals and set comprehensions (#72)
- Detect multiple context expressions in a
withstatement (#73)
Appreciated feedback and contributions from @gousaiyang.
Version 1.1.1
1.1.1:
- Don't evaluate annotations by default, added
--eval-annotations(#66) - Detect user function decorators (#67)
- Stop using Python 3.4 which isn't supported with GitHub Actions anymore
Advisories:
- Upgraded PyYAML 5.3.1 to 5.4 (GHSA-8q59-q68h-6hv4)
- Upgraded Pygments 2.7.2 to 2.7.4 (GHSA-pq64-v7f5-gqh8)
- Upgraded Bleach 3.2.1 to 3.3.0 (GHSA-vv2x-vrpj-qqpq)
Appreciated feedback from @gousaiyang, @TylerYep, and @tobbez
1.1.0:
- Config file support (#56)
Vermin automatically tries to detect a config file, starting in the current working directory where it is run, following parent folders until either the root or project boundary files/folders are reached. However, if --config-file is specified, no config is auto-detected and loaded.
Config file names being looked for: vermin.ini, vermin.conf, .vermin, setup.cfg
Project boundary files/folders: .git, .svn, .hg, .bzr, _darcs, .fslckout
A sample config file can be found here.
- Added new arguments:
--no-backport--no-dump--no-exclude--no-feature--no-hidden--no-ignore--no-lax--no-pessimistic--no-quiet--no-target--show-tipsto have an opposite of--no-tips--dumplong form of-d
- Extended comment exclusion support (#59)
- Added and fixed backports (#61)
- Detect unpacking assignment (3.0)
- Fixed false positive generalized unpacking cases (#63)
- Fixed magic line Python detection
- Incompatible interpretation on syntax errors using
--pessimistic(#48) - Fixed exception cause related minimum versions (#60)
- Fixed reported line of
withstatement - Fixed solitary
#noverminborder case with newline before it - Added
txtas excluded extension for detection - GitHub Actions fixes
- Test and analyze on PRs too
- Finish coveralls session when all parallel tests are done
- Renamed lax mode to lax (internal)
- Extend lax mode support
- Tidy up Makefile
Version 1.1.0
1.1.0:
- Config file support (#56)
Vermin automatically tries to detect a config file, starting in the current working directory where it is run, following parent folders until either the root or project boundary files/folders are reached. However, if --config-file is specified, no config is auto-detected and loaded.
Config file names being looked for: vermin.ini, vermin.conf, .vermin, setup.cfg
Project boundary files/folders: .git, .svn, .hg, .bzr, _darcs, .fslckout
A sample config file can be found here.
- Added new arguments:
--no-backport--no-dump--no-exclude--no-feature--no-hidden--no-ignore--no-lax--no-pessimistic--no-quiet--no-target--show-tipsto have an opposite of--no-tips--dumplong form of-d
- Extended comment exclusion support (#59)
- Added and fixed backports (#61)
- Detect unpacking assignment (3.0)
- Fixed false positive generalized unpacking cases (#63)
- Fixed magic line Python detection
- Incompatible interpretation on syntax errors using
--pessimistic(#48) - Fixed exception cause related minimum versions (#60)
- Fixed reported line of
withstatement - Fixed solitary
#noverminborder case with newline before it - Added
txtas excluded extension for detection - GitHub Actions fixes
- Test and analyze on PRs too
- Finish coveralls session when all parallel tests are done
- Renamed lax mode to lax (internal)
- Extend lax mode support
- Tidy up Makefile
Appreciated feedback and contributions from @gousaiyang
Version 1.0.3
1.0.3:
- Fixed a file paths detection issue when using parsable format on Windows
1.0.2:
- Fixed parsable format Windows bug related to file paths
- Running tests on macOS and Windows in addition to Linux, with
pipandvirtualenvcaching - Improved internal testing framework with parameterized arguments for test cases
- Using version tuples in tests rather than float values in preparation for Python 3.10
1.0.1:
- Fixed regression when using
--versions(#58) - Added project linters: pylint and pyroma
- Improvements based on new linter findings
- Switched from Travis CI to GitHub Actions that are much faster to start and complete
Appreciated feedback from @ThomDietrich.
1.0.0:
- Python 3.9 language support and rules
- Added 253 rules
- Detect
dictunion anddictunion merge - Support detection
|and|=of builtin types - Detect
removeprefixandremovesuffixonstr,bytes, andbytearray - Detect builtin generic type annotations
- Detect relaxed decorators (#51)
- Detect
novermin/novmcomments correctly on indented single lines (#47) - Display problematic context when incompatible versions are found (#49)
- Fixed cases of incorrect member-to-module resolving (#53)
- Fixed builtin generic type annotations detection for FQNs (#54)
- Add minimum versions for function decorators and class decorators (#55)
- Parsable format that can be used with third-party software:
--format parsable(#48) - Expose detection and source code visitation API (experimental!)
- Detect async for-loops (3.6)
- Detect module
__dir__()and__getattr__(name) - Added long arguments:
--quiet,--target,--processes,--ignore,--lax - Added
-Vshort form of--version - Convert Config to not be a singleton
- Fixed line numbers of annotations and literal variable annotations
- Sort verbose output results for line/column numbers when present
- General processing speedups
- Improved unit test framework
Appreciated feedback and contributions from @gousaiyang and @CendioOssman.
Version 1.0.2
1.0.2:
- Fixed parsable format Windows bug related to file paths
- Running tests on macOS and Windows in addition to Linux, with
pipandvirtualenvcaching - Improved internal testing framework with parameterized arguments for test cases
- Using version tuples in tests rather than float values in preparation for Python 3.10
1.0.1:
- Fixed regression when using
--versions(#58) - Added project linters: pylint and pyroma
- Improvements based on new linter findings
- Switched from Travis CI to GitHub Actions that are much faster to start and complete
Appreciated feedback from @ThomDietrich.
1.0.0:
- Python 3.9 language support and rules
- Added 253 rules
- Detect
dictunion anddictunion merge - Support detection
|and|=of builtin types - Detect
removeprefixandremovesuffixonstr,bytes, andbytearray - Detect builtin generic type annotations
- Detect relaxed decorators (#51)
- Detect
novermin/novmcomments correctly on indented single lines (#47) - Display problematic context when incompatible versions are found (#49)
- Fixed cases of incorrect member-to-module resolving (#53)
- Fixed builtin generic type annotations detection for FQNs (#54)
- Add minimum versions for function decorators and class decorators (#55)
- Parsable format that can be used with third-party software:
--format parsable(#48) - Expose detection and source code visitation API (experimental!)
- Detect async for-loops (3.6)
- Detect module
__dir__()and__getattr__(name) - Added long arguments:
--quiet,--target,--processes,--ignore,--lax - Added
-Vshort form of--version - Convert Config to not be a singleton
- Fixed line numbers of annotations and literal variable annotations
- Sort verbose output results for line/column numbers when present
- General processing speedups
- Improved unit test framework
Appreciated feedback and contributions from @gousaiyang and @CendioOssman.