Changes¶
Pre-1.0 Series¶
Development
current (unreleased)¶
Prepared the first version of a package documentation generated with Sphinx (HTML, PDF (LuaLaTeX) and some manual pages).
py-treesum¶
Combine Unix epoch and ISO timestamp values into one record. The parser recognizes the previous format also.
Option
--ignore-symlink-typeis now the default. Deactivate with--no-ignore-symlink-type.Shorten some record markers in the “tabular” output style:
ERROR:intoERR:andWARNING:intoWARN:.Because no parser existed previously the compatibility break is somewhat limited.
In the “tabular” output style errors regarding size numbers are sequences of
/characters instead of?previously.Because no parser existed previously the compatibility break is somewhat limited.
Implemented a parser for the “tabular” output style.
Allow to put warnings into the output. May be dectivated with option
without-warnings.Implemented option
--with-notesto optionally put detailed data about ignored files or directories into the output.In Python 2: the “surrogateescape” error handler (introduced in v0.11) is not called when is should be called: some illegal UTF-8 is accepted while it should be treated as illegal. This is fixed now.
Obey
--ignore-symlink-typealso for symbolic links on the command lines.
0.12 (2026-08-29)¶
py-treesum¶
Implemented option
--ignore-symlink-type: when not following symlinks to directories and files do also not try to determine the link target’s type (which can be done only when resolving the link).
0.11.1 (2026-08-28)¶
Fixed wrong publication date in the README.
0.11 (2026-08-28)¶
py-treesum¶
Message digests for directories that contain non-ASCII filenames changed because of a new filename normalization algorithm.
The digest values are now independent of the
--utf8or--fsencodingsettings. These settings now just determine how filenames in the output are encoded.These are tested on a POSIX system using Python versions 2.7, 3.4, 3.5, 3.6, 3.7, 3.9, 3.11 and 3.14 using different locale settings.
On most handled errors do not use the concrete OS errno for digesting but an OS independent generic one. Note that this may change message digests in the output.
Some record formats of a “treesum” file changed to be more consistent.
Make
--utf8the default instead of--fsencoding.Computation of the CRC is now independent of the native OS lineendings that are in effect. Also lines with no records (whitespace only lines, comment lines using
;or#) do not contribute to the CRC.Implemented
--rfc1924and--base85for shorter digest representations in the output. Also implemented--base32for completeness.In some cases the TAINTED property of a message digest was not propagated to parent directories properly.
0.10 (2026-08-02)¶
0.9 (2025-05-18)¶
py-treesum¶
Fix an oversight that led to crashes on Python version before 2.7.9 (where
hashlib.algorithms_availableandhashlib.algorithms_guaranteedare not available).Optimize CR/LF handling on Windows when using I/O redirection.
Make
ERRORoutputs more consistent.
0.8.1 (2025-04-02)¶
This is the first non-private release.
Breaking Changes¶
current¶
Combine Unix epoch and ISO timestamp values into one record line.
--ignore-symlink-typeis now the default.Shorten some record markers in the “tabular” output style:
ERROR:intoERR:andWARNING:intoWARN:.In the “tabular” output style errors regarding size numbers are sequences of
/characters instead of?previously.
0.11 (2026-08-28)¶
py-treesum¶
Message digests for directories that contain non-ASCII filenames changed because of a new filename normalization algorithm.
Changed the way how
OSErrorexceptions contribute to message digests.Some record formats of a “treesum” file changed to be more consistent.
Computation of the CRC is now independent of the native OS lineendings that are in effect. Also lines with no records (whitespace only lines, comment lines using
;or#) do not contribute to the CRC.