summaryrefslogtreecommitdiff
path: root/support/pkgcheck/CHANGES.md
blob: 9ef9e834741ffbbc4118b154060c5ba3a3c133d5 (plain)
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
# General remarks

- the x.y.z is the version of the Rust source code which follows semantic versioning
- the combination of version and version date designates the version of the package as it is uploaded to CTAN


# Changes

2018-12-09 (1.0.0)
   - 1.0.0   First stable version

2018-12-16 (1.0.0)
   - quick_intro.txt: improve wording
   - build_ctan_zip.p6: add source files to be included into CTAN zip archive
   - devnotes.md: add documentation how to build your own binary

2018-12-26 (1.1.0)
   - enhance check for generated files which now could reside in any
     subdirectory in the package tree. This changes the format of the
     e0019 message slightly where now the path of a generated file will be
     displayed in the e0019 message
   - change ordering of the sections in the pkgcheck.pdf document. First come the
     informational messages, then warnings and error messages and finally fatal messages.
   - add a short info to the PDF documention about how to install pkgcheck

2019-01-02 (1.2.0)
   - some code simplification
   - **New feature**: checks that path names in the TDS zip archive contain the package name
     (only exception is a man page path)
   - add test cases for messages e0026, e0028

2019-03-09 (1.3.0)
   - recompile with newest http library
   - checking URLs
     - when checking URLs we try to get the headers first. If this fails we try to get the web page.
     - when checking URLs and a redirect has an invalid location containing 127.0.0.1
       then we regard the url as ok
   - ignoring .tfm files when checking for duplicates
   - now checking for UTF BOMs. If a README file contains a BOM we issue an error message,
     if other files contain BOMs we issue a warning message

2019-03-11 (1.4.0)
   - recognizing generated files in a .dtx file when they are included using a
     filecontents resp. filecontents* environment.

2019-03-14 (1.5.0)
   - a README can be a symlink which will now be detected properly
   - if a symlink points to a file object outside of the package directory tree error message
     e0030 will be issued

2019-03-29 (1.6.0)
   - new error message e0031 when a filename contains invalid UTF-8 characters

2019-06-30 (1.7.0)
   - when symlinks occur in e0025 they are reported as files
   - improved error message e0025 now displaying the paths of the affected
       files/directories/symlinks
   - if a found http(s) link ends with "`" then the trailing "`" will be discarded
   - compiled with rust edition 2018

2019-07-20 (1.8.0)
   - add a check to detect temporary files in the TDS zip archive

2019-07-21 (1.8.1)
   - correct typo in e0008 message text

2019-08-07 (1.8.2)
   - updating crates, requiring slight code changes in integration.rs
   - ignore windows files .nsh and .reg when checking for LF line endings
   - new error message e0034 for unwanted files in top level directory of a TDS zip archive
   - e0020 now reporting only unwanted directory in top level directory of a TDS zip archive

2019-10-01 (1.8.3)
   - (Experimental) issue warning if a file in the package tree (W0005) or in the TDS zip archive (W0006) is
     larger than 40MiB
   - (Experimental) for babel-base.tds.zip use the real package name 'babel' (instead of 'babel-base') in order
     to check if the path name contains the package name

     Both features are regarded as experimental because both contain a hard coded check. If required
     things will be changed in the future.

2019-11-04 (1.9.0)
   - (Experimental) for latex-base, latex-tools, latex-graphics and latex-amsmath use the real
     directory name 'latex' when checking path names in the TDS zip archive
   - New error message e0035 if a TDS zip archive is found in the unpacked directory tree
   - add testcases for w0005, w0006 and e0035

2019-11-27 (1.9.1)
   - recognize .bat files as script type
   - add test case for .bat file recognition

2019-11-28 (1.10.0)
   - remove message E0020 to report unwanted top level directory in a TDS zip archive
   - more checks for a TDS zip archive
     - check for temporary files or directories

2020-01-17 (2.0.0)
   - more error checking in TDS zip archives
     - detecting if a .dtx or .ins file is not in a subdirectory of source/ or doc/ toplevel directories (E0036)
     - detecting empty directories (W0007)
     - detecting hidden directories (E0006)
     - detecting temporary files (E0008)
       - as a special case tex/latex/tools/.tex is allowed for package latex-tools. The
         same applies for latex-tools-dev package
   - revamped handling of line ending checks
     - reporting if a file has CR line endings only (E0037)
     - reporting if a file has inconsistent line endings (E0038)
     - reporting if a Windows file does not have Windows (CRLF) line endings (W0008)
       - a file is regarded a Windows file if its name ends with one of .bat, .cmd, .nsh or .reg
     - files with CR, or CRLF line endings will be corrected to LF
     - but windows files will be corrected to CRLF line endings
     - when correcting line endings a line ending at the end of a file will be added if required
     - renamed command line switch
       - old: -L, --correct-crlf         Correct CRLF line endings
       - new: -L, --correct-le           Correct line endings
   - other changes
     - new message F0007 when tmp directory is not writable or the tmp directory is full
     - some code simplifications
     - crates update
     - when detecting an empty file also permissions will be checked and (if requested) corrected
     - (Experimental) for latex-base-dev, latex-tools-dev, latex-graphics-dev and latex-amsmath-dev
       check for latex-dev in the path names in the TDS zip archive
     - if a file in a generated file statement contains a directory part it was correctly
       recognized but not compared correctly to the contents of the TDS zip archive

2020-02-07 (2.0.1)
   - use the `-a` (convert text files) flag when temporarily unzipping the TDS archive
   - crates update

2020-04-12 (2.1.0)
   - add new test case e0033
   - don't issue error messages when a .bat file has 0755 permission
   - improvements regarding detection of generated files (error message e0019)
     - generated REAME files caused e0019 error message when they were specified with
       a relative path name in the `\generate` statement in the .dtx resp. .ins file
     - don't issue error message when a pdf file, generated by .dtx/.ins, exists
     - don't issue error message when an existing .ins file is generated by a .dtx file
     - improved text in error message e0019
   - call pdfinfo and unzip without specifying an absolute path so that it gets found
     when it is outside of /usr/bin (reported by Arthur Reutenauer)

2020-11-20 (2.2.0)
   - small code changes due to new release of blake2 library
   - replace deprecated tempdir crate by tempfile crate
   - (Experimental) instead of latex-firstaid use latex/firstaid when checking path names
     in TDS zip archive
   - unpack TDS zip without -a flag which was introduced in 2.0.1. According to Petra this creates
       more problems than it solves
   - revive e0020 which checks for unwanted directories in the top level directory of a TDS zip
       archive. 
   - new error message e0039: no doc/ top level directory in tds zip archive
   - new error message e0040: too few top level directories in tds zip archive
   - new error message e0041: map file found in path not starting with `fonts/map/dvips`
   - add more test cases