1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286
|
App-Licensecheck
================
Created: 2000-01-28
Home page: <https://metacpan.org/pod/App::Licensecheck>
Home page: <https://metacpan.org/release/App-Licensecheck>
Bug tracker: <https://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=licensecheck>
Maintainer: Jonas Smedegaard (JONASS) <jonass@cpan.org>
v3.3.9 2023-07-04
[ Bug Fixes ]
- fix: properly catch second decoding error, to try raw as fallback of
both explicit and iso-8859-1 encoding (broken since v3.3.1)
[ Test Suite ]
- relax encoding tests to cover String::License v0.0.6
- relax stderr for a few encoding tests
- skip encoding tests on cygwin
[ Other ]
- log failure error before retry notice
- use Feature::Compat::Class after core features, to support newer perl;
thanks to Jitka Plesníková and Graham Knop (see RT#148507)
v3.3.8 2023-01-18
[ Test Suite ]
- skip test reading.t with too old String::Copyright
[ Packaging ]
- test-recommend String::Copyright 0.003009
v3.3.7 2023-01-17
[ Packaging ]
- test-require Test2::Tools::Command
v3.3.6 2023-01-16
[ Packaging ]
- really use String::License
v3.3.5 2023-01-15
- externalize license resolving: use String::License
- stop (directly) use re::engine::RE2 Array::IntSpan experimental
Regexp::Pattern Regexp::Pattern::License File::BaseDir File::Basename
Software::LicenseUtils YAML::XS Test::Without::Module
- use Test2::Tools::Command (not Test::Command::Simple)
v3.3.4 2023-01-14
[ Bug Fixes ]
- use warnings, no longer done in Feature::Compat::Class since v0.05
[ Test Suite ]
- fix plan count to work on older perls
v3.3.3 2023-01-09
[ Bug Fixes ]
- avoid silence warnings on older (but not too old) perls
v3.3.2 2023-01-07
[ Bug Fixes ]
- avoid silence warnings on older perls
[ Test Suite ]
- rewrite fedora tests
v3.3.1 2023-01-03
[ Bug Fixes ]
- resolve naming schemes when listing licenses
[ Documentation ]
- extend copyright to include present year
- improve synopsis
[ Test Suite ]
- add author tests to check SYNOPSIS
- simplify and generalize tests slightly
- tell Perl::Critic that Object::Pad implicitly enables strict and
warnings
[ Packaging ]
- tighten dependency on Pod::Usage to silence spurious 'used only once:
possible typo' warning notably with perls older than 5.18
- unset executable bit on module file in source
[ Other ]
- have module methods return lists, and print to STDOUT in main script
- modernize class instantiations to use field and :param and ADJUST (not
has and BUILD)
- parse shortname schemes in main script, slightly simplifying modules
- refactor to iterate files in main script
- rename parameter shortname_scheme -> schemes, and validate
- stop include path in log messages within method parse_license
- use Feature::Compat::Class (not Object::Pad)
- use Feature::Compat::Try (not Try::Tiny)
- use Object::Pad 0.74
v3.3.0 2022-01-08
[ Bug Fixes ]
- catch decoding errors and retry as iso-8859-1 encoding
- fix dumping of content tail
[ Documentation ]
- clarify option --tail
- update TODOs, and reformat as CommonMark
[ Test Suite ]
- add tests reading only header and tail
- check full contents of Software::License generated data
- enable debug output for encoding tests
- fix one devscripts TODO test
- parse perl-generated Software::License data as utf8
- refactor to directly use App::Licensecheck (i.e. drop local module
Test2::Licensecheck)
- rewrite Software::License tests to check against library
- rewrite devscripts tests to use library
- separate script report tests from devscripts.t
- use only SPDX shortnames (not also debian shortnames) for
Software::License and SPDX tests, and list only deviating entries
[ Other ]
- Added: add options --quiet --debug --trace (and deprecate now no-op
option --no-verbose)
- Run perltidier (not perltidy) with tidyall
- avoid given/when
- call log->trace() (not log->tracef()) for simple strings
- change option --skipped to use Log::Tiny (not core warn), and log as
debug when not set
- declare package version with package name, and move POD sections NAME
VERSION SYNOPSIS DESCRIPTION closer to top of files
- have $fh $license $copyrights as slots (not local variables)
- improve resolving offset
- logging: dump content as trace (not notice)
- logging: log fatal errors using Log::Tiny
- logging: log files processed as debug, with decoding details (not
tersely as trace)
- logging: warn about obsolete options using Log::Tiny (not using core
warn)
- logging: warn tersely on file decoding failure, and list error message
as debug (not all as notice)
- merge method parse_lines() into parse_file(), and use $encoding slot
(stop redefine as local variable)
- pass around File object (not path, content and (currently unused) offset
in content)
- refactor to have slot $path in main class (not class File)
- refactor to hold semi-cleaned content (not cleaned-for-license-parsing)
in slot $content
- refactor to merge local class File into main class
- refactor to read and decode files in method content()
- refactor to use Object::Pad (not Moo or MooX::Struct)
- use named arguments for struct objects
v3.2.14 2021-11-22
[ Bug Fixes ]
- fix tests to use executable set in environment variable LICENSECHECK
Paul Gevers++
v3.2.13 2021-10-11
[ Bug Fixes ]
- fix encoding tests flag as TODO tests using undecoded input:
String::Copyright documented to accept only strings
Adrian Bunk++
[ Test Suite ]
- tighten test to not fail with old String::Copyright
[ Other ]
- relax dependency on perl to v5.12, and explicitly 'use' it, to slightly
simplify boilerplate
- stop use version (unneeded with modern perl)
- tighten runtime-dependency on Encode, to avoid 'Use of uninitialized
value' on stderr
v3.2.12 2021-08-30
[ Bug Fixes ]
- use path-less shebang (not indirect env executable, and execute from
blib subdir when available
SCANTRELL++
Slaven Rezić++
v3.2.11 2021-08-18
[ Test Suite ]
- skip *-no-RE2 tests unless installed Regexp::Pattern::License is recent
enough to support it
v3.2.10 2021-08-18
[ Documentation ]
- improve POD markup of SYNOPSIS and a few code strings
[ Test Suite ]
- improve tests
- test-require Test::Without::Module
[ Packaging ]
- relax to recommend (not depend on) module re::engine::RE2
v3.2.9 2021-08-16
[ Packaging ]
- stop use Sort::Key::Multi
[ Other ]
- strip xml tag <ref ...>, and extend to strip html tags <p> <br> with
attributes (not only bare tags)
v3.2.8 2021-08-15
- fix tests and silence warnings with Regexp::Pattern::License less than
v3.8.1
v3.2.7 2021-08-14
[ Bug Fixes ]
- extend local lgpl dual-license pattern to not assume name patterns
include trait published_by, required since Regexp::Pattern::License
v3.9.0
- stop treat : or :// as cruft
- strip simple closing (not only opening) html tags as cruft
[ Test Suite ]
- add test for (not yet detected) BSD-3-clause~Refractions
- simplify tests
- stop skip author test apparently succeding nowadays
- test-recommend Regexp::Pattern::License 3.9.0
- update author tests to cover Regexp::Pattern::License v3.9.0
[ Other ]
- avoid hardcoding names of specific prefix traits
- detect python_2 and (additional, standalone) cnri_python in same file
- force atomic scan for mit_new, to avoid misdetecting ambiguous MIT X11
grant as only x11
- optimize: compile only patterns actually used
v3.2.6 2021-08-07
[ Documentation ]
- correct typo in SEE ALSO entry
- extend copyright to include present year
[ Test Suite ]
- update author tests to cover Regexp::Pattern::License v3.8.0
[ Packaging ]
- tighten test-recommendation on Regexp::Pattern::License
[ Other ]
- optimixe: compile some internal regexes only once
- postpone compiling regexes, to speedup response time for non-scanning
command-line options
v3.2.5 2021-07-22
[ Bug Fixes ]
- fix shebang to use /usr/bin/env (don't hardcode /usr/bin/perl)
- strip all trailing dash a.k.a. soft-wraps (not only first instance)
[ Packaging ]
- tighten test-recommendation on Regexp::Pattern::License
[ Other ]
- extend functions clean_cruft() clean_cruft_and_spaces() to strip html
tags
v3.2.4 2021-07-17
[ Test Suite ]
- update testsuite to cover Regexp::Pattern::License v3.7.0
[ Other ]
- extend function clean_cruft_and_spaces() to strip trailing dash,
assuming it is soft-wrap
- refine resolving of license names to cover more variants
v3.2.3 2021-07-07
[ Bug Fixes ]
- fix option --copyright-delimiter (deb-machine output broken since
v3.2.0)
[ Test Suite ]
- rewrite encoding tests
[ Other ]
- stop use strictures (not sure why, but CPANTESTERS choke on it)
v3.2.2 2021-07-04
[ Bug Fixes ]
- fix ignore atomic discoveries in areas already detected stepwise as a
license, grant, or exception
- fix include leading licensed_under when tracking detected positions
- fix resolve shortname not reusable in grant (e.g. SPDX using unversioned
SISSL for SISSL-1.1)
[ Documentation ]
- fix describe option --shortname-scheme (not bogus option
--shortname-schemes) in changelog entry for release v3.2
- fix trace output to include string for stepwise or_later grant trait
- mention in POD when each option was introduced
[ Test Suite ]
- add README to source, documenting origin of Fedora tests
- add test for not yet recognized PS-or-PDF-font exception
- tighten test requirement on Regexp::Pattern::License
- update tests to cover Regexp::Pattern::License v3.6.0
[ Packaging ]
- relax runtime requirement on Regexp::Pattern::License
- tighten .gitignore file
[ Other ]
- tighten internal trait objects to require file attribute
v3.2.1 2021-06-29
[ Bug Fixes ]
- fix option --deb-machine (broken since v3.2.0)
[ Test Suite ]
- fix include missing test files
- stop use strictures in tests (unneeded with Tests2::V0)
v3.2.0 2021-06-22
[ Bug Fixes ]
- stepwise: fix omit version for singleversion objects
Sandro Mani++
- tighten custom BSD detection to avoid SSLeay false positive
- use Getopt::Long and Pod::Usage (not Getopt::Long::Descriptive)
David Bremner++
[ Documentation ]
- add pod section ENVIRONMENT (replacing and expanding section DEBUGGING)
- colorize output of --help option, and auto-enable color more reliably
- document that options --check and --ignore apply only when multiple
PATHs are provided
- improve markup of pod section OPTIONS
- rephrase description for option --skipped
- restore POD section OPTIONS (gone since v3.0.2)
- split pod section OPTIONS into subsections
- stop bogusly annotate v3.1.0 bugfix as security-related
- update TODOs
[ Test Suite ]
- update author tests
- update detection of SISSL since Regexp::Pattern::License v3.5.0
- update to match capitalized name of Libtool exception, corrected since
Regexp::Pattern::License v3.5.0
[ Packaging ]
- tighten to require more recent Regexp::Pattern::License
[ Other ]
- Added: add option --list-licenses
- Added: add option --list-naming-schemes
- Added: add option --shortname-scheme, replacing option --deb-fmt (kept
for now, documented as deprecated)
- logging: fix resolve identifier in trace of exception and flaw detection
- resolve license patterns only when used, speeding up --help
- use IO::Interactive
v3.1.1 2020-05-21
[ Test Suite ]
- drop tricky and superfluous exception test
v3.1.0 2020-05-21
[ Bug Fixes ]
- avoid uninitialized value in local Apache-and-BSD pattern
Sandro Mani++
[ Test Suite ]
- check detection of generated file
- check detection of incorrect FSF postal address
- update author tests
- update to reflect changed markup of flaws
[ Packaging ]
- fix test-require (not only runtime-require) strictures
- tighten to require more recent Regexp::Pattern::License
[ Other ]
- Added: enclose flaws with square brackets (not parens, now used for
details of some flaws) in legacy output
- detect exceptions, tracked as objects
- streamline and improve detection of generated file
- streamline and improve detection of incorrect FSF postal address
- track detected flaws as objects
v3.0.47 2020-05-17
[ Bug Fixes ]
- fix resolve SPDX keyword for *_or_later (broken in commit 1bcccbdv3.0.40
released since v3.0.40)
- stepwise: fix detect leading version
[ Documentation ]
- add some TODOs
[ Test Suite ]
- adjust for normalized license names in legacy output
- update author tests
- update detection of EUPL since Regexp::Pattern::License v3.3.1
- update test related to lgpl_* patterns covered since
Regexp::Pattern::License v3.3.2
[ Packaging ]
- tighten to require more recent Regexp::Pattern::License
[ Other ]
- append extrainfo to final legacy license string (previously appended
each license but only for custom match)
- avoid misdetecting license caldera as license-group bsd
- avoid misdetecting license python_2 as cnri_python
- drop custom GPL fulltext resolving (unused since
Regexp::Pattern::License 3.3.1)
- drop obsolete custom patterns
- improve log messages
- optimize: include left-anchoring when pre-compile clean_comments regexes
- quirk: avoid-step-wise for cua_opl_1
- revert: avoid detecting grant for license group (broken)
- skip custom LGPL grant resolving when (not only GPL-2 but also) LGPL-2
or LGPL-2.1 fulltext detected (needed since Regexp::Pattern::License
3.3.1)
- stepwise: optimize: match name left-anchored
- use usage patterns (i.e. *_only *_or_later)
v3.0.46 2020-03-13
[ Bug Fixes ]
- atomic: tighten grant patterns to include licensed_under prefix
[ Documentation ]
- relicense project as AGPL-3-or-newer; add Purism SPC as copyright holder
- update git repository URL
[ Test Suite ]
- mark 3 flawed author tests as such
- mark 4 bogusly versioned tests as such
- update author test related to gpl_* patterns covered since
Regexp::Pattern::License v3.3.0
- update author test related to rare apache_2 pattern covered since
Regexp::Pattern::License v3.3.0
[ Packaging ]
- require Regexp::Pattern::License 3.3.0
[ Other ]
- add FIXME comments where (mostly custom) patterns lack test coverage
- atomic: consult coverage from stepwise scan to avoid duplicate match
- atomic: explicitly (regardless of list @L_tidy) skip cc-by when
cc_by_sa_3 is detected
- avoid finalize in custom scan for GPL fulltext
- avoid wildcard in local bsd pattern
- detect vague grant for license group
- extend clean_comments() to strip escaped newline
- 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)
[ Other ]
- drop obsolete custom patterns
- optimization: drop custom CC patterns
- optimization: stop skip detection of GPL/LGPL fulltext
v3.0.41 2020-01-30
[ Documentation ]
- clarify comment about identifiers being DEP-5 or SPDX (not only SPDX)
[ Test Suite ]
- testsuite: update tests for Regexp::Pattern::License v3.1.101 (many
improvements, few "regressions" especially related to dual-licensing due
to previously accidentally matching by name only)
[ Other ]
- merge duplicate detections of same license
- optimization: avoid accidentally flagging all objects for rescanning
when checking if rescanning can be skipped :-/
v3.0.40 2020-01-28
[ Bug Fixes ]
- drop bogus small optimization.
- resolve SPDX keyword for AFPL.
- step-wise grant: capture non-versioned grant.
- step-wise grant: skip type:group license names.
- strip fortran comment also on otherwise empty line.
[ Test Suite ]
- update author tests for added Trove captions since
Regexp::Pattern::License v3.1.100.
- update author tests for improved trait licensed_under since
Regexp::Pattern::License v3.1.100.
[ Other ]
- fix: step-wise grant: capture traits before mangling version.
- improve custom-matching versioned apache grants.
- improve logging.
- optimization: step-wise grant: scan for name only directly after
licensed_under.
- step-wise grant: detect type:singleversion license names.
- step-wise grants: track trait license_label (in addition to
licensed_under).
- step-wise grants: track trait license_label_trove (in addition to
track_label licensed_under).
- streamline detection of well-formed licenses.
- tests: update author testsuite.
- track identified areas of strings and skip further parsing; require
Array::IntSpan.
- use nsort_by to sort matches; require List::SomeUtils (not List::Util).
v3.0.39 2020-01-04
- Improve detection of CC licenses.
- improve logging; stop require MooX::Role::Logger
- optimize bsd detection (apparently case-insensitive match in unneeded)
- use hash interface of Regexp::Pattern and RE2 regexes; require
re:engine::RE2, and more recent Regexp::Pattern and
Regexp::Pattern::License
v3.0.38 2020-01-03
[ REGRESSIONS ]
- misdetects some GNU fulltext licenses as also maybe LGPL
[ Bug Fixes ]
- Add missing newline when no arguments
- fix: detect creative commons dual-version-licensing (not misdetect as
same version twice)
- support non-utf8 locale
[ Test Suite ]
- Isolate and extend encoding tests.
- adapt author testsuite for improved detection (and few minor
regressions) since Regexp::Pattern::License v3.1.95
- silence warnings in handling utf8 content
[ Packaging ]
- use more recent Regexp::Pattern::License
[ Other ]
- Add missing newline when no arguments
- Improve detection of AFL licenses.
- Improve detection of Boost licenses.
- Improve detection of Cecill licenses.
- Improve detection of WTFPL and WTFNMFPL licenses.
- Move encoding loop from executable to library.
- Streamline detection of well-formed grants.
- Tighten and improve detection of Artistic licenses.
- define local regexes in sub licensepatterns (not sub parse_license)
- improve detection of apache licenses
- pass file and position to function parse_license
- support environment variable DEBUG; require modules Log::Any
Log::Any::Adapter::Screen MooX::Role::Logger
v3.0.37 2019-06-12
[ Documentation ]
- Update TODOs.
[ Test Suite ]
- Adapt author testsuite for improved detection (and few minor egressions)
since Regexp::Pattern::License v3.1.94.
- Adapt testsuite to use recent Software::LicenseUtils (not slightly older
Software::License).
- Fix handle missing ScanCode corpus..
- Load Test::Builder only once per module..
- Update testsuite: OSI license Artistic-1.0 really is Artistic-1.0-Perl.
[ Other ]
- Reuse previous name match.
- Simplify conditionals: Replace given-when-continue with if.
- Skip scan for CC grant unless name already detected.
- Use more recent Regexp::Pattern::License.
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.
|