App-Licensecheck
================
Created: 2000-01-28
Home page: <https://metacpan.org/release/App-Licensecheck>
Home page: <https://metacpan.org/pod/App::Licensecheck>
Bug tracker: <https://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=licensecheck>
Maintainer: Jonas Smedegaard (JONASS) <jonass@cpan.org>
v3.0.36 2018-04-05
- Limit to compile only trait patterns actually used.
- Match name alone, before recompiled custom regexes.
- Simplify AGPL-related pattern slightly.
- Sort license keys once.
- Tighten apache pattern slightly.
- Tighten gpl pattern.
- Track matches in hash (not array).
- Use Regexp::Pattern::License trait patterns any_of licensed_under
or_at_option version version_numberstring.
v3.0.35 2018-03-30
[ Bug Fixes ]
- Fix tolerate alternative regexp compilers.
[ Test Suite ]
- Adapt testsuite for detecting uppercase GPL or LGPL post
Regexp::Pattern::License v3.1.0.
- Adapt testsuite for detection of FSFULLR post Regexp::Pattern::License
v3.1.0.
- Adapt testsuite for improved detection since Regexp::Pattern::License
v3.1.0.
- Adapt testsuite for renamed pattern kevlin-henney → Kevlin-Henney post
Regexp::Pattern::License v3.1.0.
- Adapt testsuite for renamed pattern khronos → Khronos post
Regexp::Pattern::License v3.1.0.
- Testsuite: Improve workarounds for license
zlib-acknowledgement/Nunit/NUnit.
- Testsuite: Tolerate Aladdin License mis-categorized as unversioned by
SPDX, as reflected post Regexp::Pattern::License v3.1.0.
[ Other ]
- Improve license patterns cecill_b cecill_c to detect more forms
(previously misdetected as cecill).
- Use Regexp::Pattern::License subject patterns.
v3.0.34 2018-03-29
[ Bug Fixes ]
- Fix support uncompiled patterns from Regexp::Pattern::License.
- Fix tighten license key loop (skip eventual DefHash attributes).
- Fix tighten version matching: Wrap in group when optional.
- Fix word-based comment removal.
[ Documentation ]
- Extend TODO with more ideas.
[ Test Suite ]
- Demote ScanCode tests to maintainer tests.
- Fix Software-License test to match license shortnames (not captions
which are not fixed).
- Relax devscripts test to match SPDX-style license captions as supported
post Regexp::Patterns::License v3.1.0.
- Testsuite speed boost: Parse skipfile once per set, not once per file in
each set.
- Testsuite: Add function license_like.
- Testsuite: handle alternative name of license bdwgc → MIT~Boehm post
Regexp::Pattern::License v3.1.0.
[ Other ]
- Generalize singleversion patterns.
- Resolve license patterns as Debian → SPDX → generic (not just Debian →
generic) to support less SPDX-centric names post
Regexp::Pattern::License v3.1.0.
- Simplify pattern tag resolving.
- Slight speed boost: Use eq (not regexp) for simple comparisons.
- Speed boost: Fix load regexp patterns once (not once or twice per file).
- Use regexp patterns as-is (avoid recompiling).
v3.0.33 2018-02-15
[ Test Suite ]
- Extend testsuite to 2410 succeeding tests and 5313 TODOs (from 227 and 7
TODOs), when ScanCode v2.1.1 test data is available below
$ENV{XDG_DATA_DIRS} + tests/ScanCode/
- Rewrite testsuite to use Test::Builder::Module (not Test::Roo).
v3.0.32 2018-02-09
[ REGRESSIONS ]
- Adapt testsuite to tolerate misdetecting MPL-1.0 as MPL: Regression
caused by more generalized matching.
[ Documentation ]
- Add TODO file, with a bunch of ideas.
- Improve POD: Add SEE ALSO section to commandline tool.
[ Other ]
- Adapt and extend testsuite to cover new license patterns supported by
Regex::Patterns::License 3.1.0: bdwgc bdwgc-matlab gfdl lgpl-bdwgc.
- Optimize slightly: Skip embedded or referenced licenses earlier.
- Tighten regexes: Generalize and improve matching.
- Use Regexp::Pattern.
- Use Regexp::Pattern::License 3.1.0 tags.
v3.0.31 2017-08-16
[ Documentation ]
- Fix bogusly labelled changelog entry part of release 2.0.30 (didn't fix
bare-named BSD licenses, but instead tightened a bunch of license
patterns).
[ Packaging ]
- Stop ship Regexp::Pattern::License, now an independent distribution.
v3.0.30 2017-07-05
[ Bug Fixes ]
- Fix license pattern ms_pl to detect MS Public License (not non-free MS
Permissive License).
- Tighten license patterns afl agpl cdl gfdl gfdl_nivgpl lgpl llgpl mpl
ms_pl ms_rl qpl sgi_b wtfpl mit to require descriptive prefix when only
an abbreviation.
Axel Beckert++
[ Test Suite ]
- Add OSI test (including only currently succeeding OSI licenses for now).
[ Other ]
- Added: Add license pattern artistic_2.
- Improve license pattern agpl to skip english (not only french)
cecill_2_1.
- Improve license pattern epl to detect some forms of "or newer".
- Improve license pattern epl.
- clean_comments(): Relax to match varying amount of horizontal whitespace
(not exactly one character) followed by any non-whitespace (not only a
word character).
- clean_comments(): Tighten to match and strip only horizontal whitespace
(not newlines).
v3.0.29 2017-01-24
[ REGRESSIONS ]
- Drop gpl+aladdin combo license: Too exotic.
[ Bug Fixes ]
- Fix detect BSD licenses as bare name.
Vasudev Kamath++
- Fix don't choke on unspecificed BSD license.
[ Documentation ]
- Document Regexp::Pattern::License as a private module.
[ Other ]
- Added: Add license patterns ofl aladdin rpsl mit_cmu mit_cmu_warranty.
- Improve license patterns ftl mit_feh mit_enna cube eurosym libpng zlib
zlib_acknowledgement.
- Sort before enumerating ambiguously related combo licenses.
- Streamline license parsing: Process loops of similar patterne.
v3.0.28 2016-11-25
[ Bug Fixes ]
- Fix detect dual licensing mit_new mit_old (and speed up partsing while
at it).
- Fix tighten detection of ISC license (was misdetecting curl).
- Fix tighten detection of mit_new license (was misdetecting other MIT
flavors).
- Fix tighten license pattern curl (was misdetecting other MIT variants).
[ Documentation ]
- Extend license pattern dsdp with alternate fedora name PetSC.
- Fix typo in changelog.
- Tidy changelog: Improve distinction between newly added and
added-to-patternlist entries.
[ Other ]
- Add license pattern ISC to Regexp::Pattern::License::Pattern.
- Added: Add new license pattern icu.
- Added: Add new license pattern mit_advertising.
- Added: Add new license patterns mit_enna mit_feh.
- Drop unused and too broad trait pattern disclaimer.
- List license mit_new alternate fedora name Modern Style with sublicense.
- Tidy Regexp::Pattern::License: Remove stray bogus regexp.
- Tidy Regexp::Pattern::License::Pattern: Fix sort pattern list.
- Tidy Regexp::Pattern::License::Pattern: Rename pattern
provided_no_warranty → asis_expr_warranty.
- Tidy Regexp::Pattern::License::Pattern: Rename pattern
repro_notice_cond_discl → note_repro_notice_cond_discl.
- Tidy Regexp::Pattern::License::Pattern: Rename pattern
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.
- Improve detection of license AGPL.
- Improve detection of license Apache.
- Improve non-version descriptor matching.
- Improve version matching in license detections.
- Tighten regexes: Generalize and improve version matching.
- Tighten regexes: Simplify space matching (string already normalized).
- Tighten regexes: Treat affero as alternative (not prefix) to GPL
prefixes lesser and library.
v3.0.24 2016-09-03
[ Bug Fixes ]
- Fix apply options --check --ignore to full path (not basename).
v3.0.23 2016-09-01
[ Bug Fixes ]
- Fix skip parsing non-files (regression since v3.0.5).
- Fix stop ignore options --check --ignore (regression since v3.0.5).
[ Other ]
- Use Path::Iterator::Rule.
v3.0.22 2016-08-21
[ Bug Fixes ]
- Fix have option --deb-machine imply option --deb-fmt.
[ Other ]
- Adjust SPDX-like shortnames to match Debian format.
- Improve detection of GPL/LGPL/AGPL versions.
- Stop merge differently cased owners.
- Use List::Util and Sort::Key::Multi.
- Use https protocol in deb-machine header.
v3.0.21 2016-08-20
[ Bug Fixes ]
- Really fix strip copyright sign unconditionally.
v3.0.20 2016-08-20
[ Bug Fixes ]
- Fix strip copyright sign unconditionally.
- Fix strip trailing newline from copyrights.
v3.0.19 2016-08-19
[ Bug Fixes ]
- Fix strip copyright sign with option --deb-machine.
[ Documentation ]
- Mention in description of --deb-machine option that it implies
--copyright.
[ Other ]
- Add option --copyright-delimiter, including comma by default.
- Handle missing year or owner with option --deb-machine.
- Require well-formed years when splitting ownerlines with option
--deb-machine.
v3.0.18 2016-08-13
[ Bug Fixes ]
- Fix defaults for options --list-delimiter and --rfc822-delimiter (was
one space too many).
- Fix stop use obsolete undocumented String::Copyright blocks method.
- Fix use NONE for no authors with option --deb-machine.
[ Packaging ]
- Tighten dependency on String::Copyright.
v3.0.17 2016-08-12
- Fix avoid bogus "generated-file" as SPDX license.
- Have option --deb-machine imply option --deb-fmt.
v3.0.16 2016-08-11
- Add "Auto Generated" to the generated file detection.
Paul Wise++
v3.0.15 2016-08-11
[ Documentation ]
- Mention in description of --lines option that it does optimistic search.
[ Packaging ]
- Tighten dependency on String::Copyright to versions supporting
configurable threshold.
[ Other ]
- Do full search when parsing whole file.
v3.0.14 2016-08-01
[ Test Suite ]
- Flag test involving multi-line multi-statements as TODO (regression
since moving to String::Copyright).
v3.0.13 2016-07-25
[ Packaging ]
- Fix tighten runtime-requirement on PAth__Tiny for visit().
Stuart Prescott++
v3.0.12 2016-07-24
[ Test Suite ]
- Fix devscripts test to use curly quotes as metacharacters (not
Paranthesis also used within, triggering warnings on some versiones of
perl).
v3.0.11 2016-07-24
[ Packaging ]
- Fix declare runtime-requirement on String::Copyright.
v3.0.10 2016-07-24
[ REGRESSIONS ]
- No longer detect multi-line multi-statement copyright strings (not yet
suppported by String::Copyright).
- Now misdetects some chatter as copyright statements (not yet suppported
by String::Copyright).
[ Test Suite ]
- Relax devscripts test: Ignore trailing dot and "All rights reserved"
boilerplate.
[ Other ]
- Use String::Copyright.
v3.0.9 2016-07-24
[ Documentation ]
- Drop old licensing header from devscripts test: Fully rewritten by now.
- Fix decode "©" in --version option output (workaround for Pod::Constants
not supporting UTF-8).
- Fix some categorizations of old changelog entries.
[ Test Suite ]
- Rewrite devscripts test to match patterns (not exact strings), and
handle varying output on encoding failure.
[ Packaging ]
- Drop superfluous test-requirement on strictures: Already declared as
runtime-requirement.
- Fix declare test-recommendation on Software::License (not too vague
recommends).
[ Other ]
- Stop use Unicode features: We don't really do any complex Unicode, so
let's try target older perl.
- Update headers of module and tests: Strip hashbang; consistently use
strictures.
v3.0.8 2016-07-24
[ Bug Fixes ]
- Avoid superfluous regex modifier /l.
[ Packaging ]
- Fix tighten test requirement for Test::Script to versions checking for
stdout/stderr.
[ Other ]
- Add "Generated with" to the generated file detection.
Paul Wise++
- Pseudo-decode alternative representations for copyright sign and
hyphen-minus.
v3.0.7 2016-07-20
[ Test Suite ]
- Bail out gracefully if Software::License fails to create some licenses.
[ Packaging ]
- Make Software::License test optional.
v3.0.6 2016-07-20
[ Packaging ]
- Fix require experimental (for switch feature).
[ Other ]
- Improve separation of copyright parsing from comment stripping and
copyright serializing
v3.0.5 2016-07-19
[ SECURITY ]
- Fix: Stop dereference symbolic links: non-intuitive and potentially
dangerous (possibly introduced in error intended to enable recursion).
Sandro Mani++
[ Test Suite ]
- Fix tighten rest-requirement on Software::License to versions supporting
new_from_short_name().
[ Other ]
- Avoid type constraints and all but one coercion, for a 30% speedup in
script initialization.
- Move find routine to library.
- Stop call system command find in script (uses Path::Tiny::visit
instead).
- Tidy script to rename $file → $path and $files_count → $paths_count
where not yet resolved as file.
v3.0.4 2016-07-18
[ Test Suite ]
- Drop non-working option "--installed" from script tests (leftover from
Debian autopkgtest support).
- Stop use Path::Tiny in test where unneeded.
- Use Test::Script to ensure correct perl invokes script in tests.
Slaven Rezić++
v3.0.3 2016-07-18
[ Test Suite ]
- Use Test::Roo and library calls (not script) for devscripts corpus
license coverage tests.
[ Packaging ]
- Fix require strictures for tests.
v3.0.2 2016-07-16
[ Test Suite ]
- Add devscripts test tied to devscripts corpus, converted from earlier
shunit2 script.
- Rewrite Software-License test to stop rely on Debian fork of
Software::License (see bug#828218).
- Rewrite Software-License test to use Test::Command.
[ Packaging ]
- Run perlcritic with tidyall, and move tidyall test to xt dir.
[ Other ]
- Bump license to GPL-3+.
- Resolve only regexes actually used.
- Use Getopt::Long::Descriptive.
- Use experimental given/when switch.
v3.0.1 2016-06-29
[ Documentation ]
- Add CPAN Request Tracker as alternative bug-database.
- Add myself as current author, and claim copyright for recent changes.
- Add pre-CPAN changelog entries.
- Adjust copyright notice to mention initial committer (not later
maintainer).
- Link to script from POD DESCRIPTION of library.
[ Packaging ]
- Tighten tidyall config to avoid cruft in bin dir.
v3.0.0 2016-06-27
[ Bug Fixes ]
- Fix tighten to use Getopt::Long 2.24: Needed for :config option.
[ Documentation ]
- Rewrite documentation of options, and --help putput.
[ Packaging ]
- Initial CPAN release (after being in Debian since 2007, and before that
in KDE SDK since 2000).
[ Other ]
- Added: Add --deb-machine option for Debian "deb5" copyright file format.
- Refactor codebase, with up to 400% speedup and reusable parts in a Moo
library.
- Removed: Drop support for reading configuration from files: Limited use,
legacy filenames, and odd parsing by use of risky shell call.