Releases: netromdk/vermin
Version 1.3.0
- Python 3.10 support
- Optionally exclude parsing comments for 30-40%+ speedup. The
--no-parse-comments
argument orparse_comments = no
config 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-folders
argument orscan_symlink_folders = yes
config 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
nonlocal
and 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
with
statement (#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
nonlocal
and 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
with
statement (#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
nonlocal
and 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
with
statement (#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-tips
to have an opposite of--no-tips
--dump
long 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
with
statement - Fixed solitary
#novermin
border case with newline before it - Added
txt
as 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-tips
to have an opposite of--no-tips
--dump
long 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
with
statement - Fixed solitary
#novermin
border case with newline before it - Added
txt
as 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
pip
andvirtualenv
caching - 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
dict
union anddict
union merge - Support detection
|
and|=
of builtin types - Detect
removeprefix
andremovesuffix
onstr
,bytes
, andbytearray
- Detect builtin generic type annotations
- Detect relaxed decorators (#51)
- Detect
novermin
/novm
comments 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
-V
short 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
pip
andvirtualenv
caching - 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
dict
union anddict
union merge - Support detection
|
and|=
of builtin types - Detect
removeprefix
andremovesuffix
onstr
,bytes
, andbytearray
- Detect builtin generic type annotations
- Detect relaxed decorators (#51)
- Detect
novermin
/novm
comments 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
-V
short 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.1
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
dict
union anddict
union merge - Support detection
|
and|=
of builtin types - Detect
removeprefix
andremovesuffix
onstr
,bytes
, andbytearray
- Detect builtin generic type annotations
- Detect relaxed decorators (#51)
- Detect
novermin
/novm
comments 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
-V
short 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.0
Since the project is almost 3 years old, it's time for version 1.0.0!
- Python 3.9 language support and rules
- Added 253 rules
- Detect
dict
union anddict
union merge - Support detection
|
and|=
of builtin types - Detect
removeprefix
andremovesuffix
onstr
,bytes
, andbytearray
- Detect builtin generic type annotations
- Detect relaxed decorators (#51)
- Detect
novermin
/novm
comments 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
-V
short 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.