App-Licensecheck
view release on metacpan or search on metacpan
- improve detection of GNU 'or-newer' usage grant version
- improve logging and comments
- logging: avoid undefined version for custom agpl grant detection
- logging: generally resolve positions
- logging: stepwise: log whole version string (not only number)
- logging: stepwise: resolve positions
- optimize: atomic: skip a few scans if grant already detected
- optimize: track incomplete patterns (not subset of complete ones) -
speed boost of %25!
- optimize: use optimized regex with /g (apparently supported by
re::engine::RE2)
- pre-compile left-anchored trait pattern version
- scan for GNU 'or-newer' usage version before singleversion grant version
- sort or'ed parts of expressions
- stepwise: detect 'or-later' usage grant also as versioned grant
- stepwise: detect prepended version
- stepwise: explicitly (regardless of list @L_tidy) avoid gpl
- stepwise: relax to use wider window for license name
- stepwise: track start and end position, and a moving current position
(not additional static ones)
- stepwise: use named (not numbered) capture for version
- track examined files
- use both custom and atomic patterns (not only custom) for agpl fsful
fsfullr gpl lgpl
v3.0.45 2020-02-21
[ Bug Fixes ]
- fix: try fallback encoding per-file (restore explicit encoding for
subsequent file)
Dominique Dumont++
- sort positions numerically (not alphanumerically)
[ Documentation ]
- fix print encoding name (not Encode object ref) if encoding fails
- use canonical encoding name iso-8859-1 (not latin-1)
[ Test Suite ]
- change namespace of local libraries to Test2::Licensecheck
- support fixing or skipping with Test2::Licensecheck::ScanCode skipfiles
[ Other ]
- streamline detection of bsd licenses
- update (improved but still failing) misdetection of SSLeay since
Regexp::Pattern::License v3.2.0
v3.0.44 2020-02-10
[ Test Suite ]
- ensure local script is executable
v3.0.43 2020-02-10
[ REGRESSIONS ]
- now misses trove declarations for AGPL-3+
[ Bug Fixes ]
- adjust end position of located license name
- resolve license fulltext last, to leave room for shadowing with
-or-newer grant
- tests: declare "use utf8" and "use feature 'unicode_strings'" in
encode.t
[ Documentation ]
- update TODOs
[ Test Suite ]
- drop unused function is_licensed_like_scancode
- tighten encode.t (still fails with non-UTF-8 locales)
- update author tests related to ZPL since Regexp::Pattern::License
v3.1.102
- update tests
- use List::SomeUtils (not List::MoreUtils)
- use Test2::V0
[ Packaging ]
- relax to require strictures unversioned
- require Encode::Locale Encode
- require MooX::Struct
- require Regexp::Pattern 0.2.12 and Regexp::Pattern::License 3.1.102
- stop test-recommend List::MoreUtils
- stop test-require UNIVERSAL::require (unused since v3.0.2)
- test-require Test2::V0 (not Test::Builder::Module Test::Requires
Test::More)
[ Other ]
- avoid misdetecting CECILL-1.1 as GPL-1+ due to extending trait pattern
licensed_under since Regexp::Pattern::License v3.1.102
- consistently use strictures, unversioned
- consult coverage of well-formed scan to avoid duplicate matches
- improve detection of AGPL licenses
- optimize detection of ZPL licenses
- simplify avoiding license duplicates in expression by skipping grant of
same id as already found fulltext
- simplify flagging step-wise grants
- stop resolve regexes licensed_under version_later (unused since v3.0.42)
- tighten which regexes to generate
- track detected licensing as objects
- track step-wise traits as objects
- track traits as objects
v3.0.42 2020-02-01
[ REGRESSIONS ]
- now fails to detect dual-licensing of CC-BY-SA-3.0 or LGPL-2 (test case:
utilities.scad)
[ Bug Fixes ]
- gracefully skip to next file on failure decoding a file (broken since
v3.0.38)
Dominique Dumont++
[ Test Suite ]
- environment variable LICENSECHECK sets path to licensecheck (default:
bin/licensecheck)
Gregor Hermann++
- simplify tests Software-License.t devscripts.t encoding.t
[ Packaging ]
- test-require Test::Command::Simple (not Test::Script)
retain_notice_cond_discl â note_retain_notice_cond_discl.
- Tidy Regexp::Pattern::License::Pattern: Rename pattern discl â
asis_sw_name.
- Tidy Regexp::Pattern::License::Pattern: Rename pattern discl_disclaim â
discl_name_warranties.
- Tidy Regexp::Pattern::License::Pattern: Rename pattern discl_provide â
asis_name_sw.
- Tidy Regexp::Pattern::License::Pattern: Rename pattern name_no_ad â
nopromo_written_prior.
- Tidy Regexp::Pattern::License::Pattern: Rename pattern promo_no_author â
nopromo_neither.
- Tidy Regexp::Pattern::License::Pattern: Rename pattern retain_notice â
note_invar.
- Tighten license pattern bsd-2-clause. Tidy
Regexp::Pattern::License::Pattern: Rename pattern asis_sw_name â
asis_sw_by_name.
v3.0.27 2016-11-23
[ REGRESSIONS ]
- Drop too exotic licensing phrase, and corresponding test case.
[ Bug Fixes ]
- Fix avoid detection of GPL/LGPL fulltext (rarely if ever used as grant).
- Fix detect license FSFULLR (was misdetected as bogus FSFULR).
- Fix detect license MPL-2.0 (was misdetected as MPL-2.0 or AGPL).
- Fix detect licenses mit_old mit_unspecified (was misdetected as
mit_new).
- Fix version identifier to use + only in machine-readable mode.
[ Other ]
- Add combo pattern perl to Regexp::Pattern::License.
- Add license pattern afl to Regexp::Pattern::License.
- Add license pattern agpl to Regexp::Pattern::License.
- Add license pattern apache to Regexp::Pattern::License.
- Add license pattern artistic to Regexp::Pattern::License.
- Add license pattern beerware to Regexp::Pattern::License.
- Add license pattern cc_by_sa to Regexp::Pattern::License.
- Add license pattern ftl to Regexp::Pattern::License.
- Add license pattern llgpl to Regexp::Pattern::License.
- Add license pattern mpl to Regexp::Pattern::License.
- Add license pattern ms_pl to Regexp::Pattern::License.
- Add license pattern openssl to Regexp::Pattern::License.
- Add license pattern public_domain to Regexp::Pattern::License.
- Add license pattern python to Regexp::Pattern::License.
- Add license pattern qpl to Regexp::Pattern::License.
- Add license pattern sgi_b to Regexp::Pattern::License.
- Add license pattern wtfpl to Regexp::Pattern::License.
- Add license patterns adobe_2006 adobe_glyph apafml to
Regexp::Pattern::License.
- Add license patterns bsd_2_clause bsd_3_clause bsd_4_clause to
Regexp::Pattern::License.
- Add license patterns cddl cecill cecill_1 cecill_1_1 cecill_2 cecill_2_1
cecill_b cecill_c epl to Regexp::Pattern::License.
- Add license patterns fsfap fsful fsfullr to Regexp::Pattern::License.
- Add license patterns gpl lgpl to Regexp::Pattern::License.
- Add license patterns libpng zlib zlib_acknowledgement to
Regexp::Pattern::License.
- Add license patterns mit_new mit_new_materials mit_old mit_unspecified
postgresql, and group pattern mit to Regexp::Pattern::License.
- Add license patterns unicode_strict unicode_tou to
Regexp::Pattern::License.
- Added: Add new group pattern bsd.
- Added: Add new group pattern gnu.
- Added: Add new license pattern ms_rl.
- Added: Add new license patterns cc_by cc_by_nc cc_by_nc_nd cc_by_nc_sa
cc_by_nd cc_cc0 cc_sp.
- Added: Add new license patterns cube eurosym.
- Added: Add new license patterns curl dsdp mit_oldstyle
mit_oldstyle_disclaimer mit_oldstyle_permission ntp ntp_disclaimer.
- Added: Add new license patterns gfdl gfdl_niv.
- Added: Add new trait pattern clause_advertising_always.
- Added: Add new trait pattern license_prefix.
- Added: Add new trait pattern license_version.
- Added: Add new trait patterns clause_retention clause_reproduction
clause_advertising clause_non_endorsement disclaimer.
- Added: Add new trait patterns fsf_unlimited fsf_unlimited_retention.
- Added: Add new trait patterns version_later version_later_paragraph
version_later_postfix.
- Added: Introduce new modules: Pattern::License Pattern::License::Parts.
- Clean m4 dnl comment marker.
- Drop no longer used internal license shortname list.
- Emulate Regexp::Common -keep syntax to capture version number.
- Improve detection of license GPL.
- Improve license detections artistic perl.
- Relax detection of license GPL.
- Relax license pattern cc_by_ca.
- Tidy code: Drop noop code.
- Tighten regexes: Generalize abbreviated AGPL/LGPL/GPL matching.
- Tighten regexes: Generalize and improve LGPL matching.
- Use Regexp::Pattern::License for shortname resolving (with internal list
as fallback until phased out).
v3.0.26 2016-09-22
[ Bug Fixes ]
- Fix exclude AGPL false positives.
[ Other ]
- Use generalized license string composition at more places.
v3.0.25 2016-09-21
[ Bug Fixes ]
- Fix avoid non-digit in version of license Artistic.
- Fix delimit multiple licenses with "and/or" (not "or") when ambiguous.
- Fix parse whole file for test info-at-eof.h (default length only
approximates lines and is too short since String::Copyright 0.003003).
[ Test Suite ]
- Fix tighten runtime-requirement on PAth__Tiny for visit().
Slaven ReziÄ++
- Update testsuite to reflect Perl license detection.
[ Other ]
- Apply fallback marker "UNKNOWN" after (not during) license detection.
- Detect license CC-BY-SA.
- Detect licenses APAFML Adobe-Glyph Adobe-2006 Aladdin SIL FSFAP FSFUL
FSFULLR JSON PostgreSQL Unicode-strict Unicode-TOU zlib-acknowledgement.
- Enhance detection of Perl license.
- Generalize license string composition.
( run in 0.518 second using v1.01-cache-2.11-cpan-d7f47b0818f )