Releases: ascmitc/mhl
Release list
Release v1.2
This release …
- includes major fixes for ignore patterns,
- improved flattening of nested histories, and
- has a significant performance improvement for large histories.
Details:
- Apply the ignore patterns relative to the (nested) history they are in and not relative to the root history.
- example: a pattern of
/test.txtinside a nested history only applies to the one file at exactly this path inside the nested history, not a filetest.txtinside the root history
- example: a pattern of
- Transform an ignore patterns provided in a root history to be relative to the nested history where it applies.
- example: an ignore pattern
/A/AA/test.txtpassed to the create command that applies to a file in a nested history (starting at/A/AA) is now stored as/test.txtonly in that nested history.
- example: an ignore pattern
- Further improve the ignore patterns handling to match the specification (handling of * wildcard, relative and absolute patterns, and handling of folders) and add many new tests.
- extend the flatten command to work with nested histories and the flattened manifest is not placed in a temporary folder anymore.
- Also Improve performance of the create command by removing unnecessary relative path resolution (relevant for histories > 1000 files)
Release v1.1
Fixing issues on Windows due to "\" in paths.
This version has now official support for the Windows platform, including running tests for Windows via github automations.
Release v1.0.4
Until v1.0.3 the ascmhl create command writes wrong syntax for author info (as part of the <creatorinfo> tag):
<author>
<name>John Doe</name>
<role>Data wrangler</role>
<email>john@mail.com</email>
<phone>+1 123 456789</phone>
</author>
In v1.0.4 this is changed to the correct syntax:
<author role="Data wrangler" email="john@mail.com" phone="+1 123 456789">John Doe</author>
Please not that backwards compatibility is maintained in the ascmhl commands, so ASC MHL histories with the wrong/old syntax above can still be read (for example, with the ascmhl info command). This avoids that author info in any previously created histories gets unusable.
Also the order of tags within the <creatorinfo> is fixed to conform to the XSD.
Release v1.0.3
- Adding new error code 33 for missing ASC MHL manifest file (i.e. *mhl) file during chain file check (was same as missing ASC MHL history, error code 30)
Release v1.0.2
Fixing Python version definitions (now >= 3.11) in setup.py
Release v1.0.1
- Updating Python version in deploy script for pip package
Release v1.0
New features
- Renaming of files:
- proper handling of
previousPathin XML files as documented in specification - new option
--detect_renaming(-dr) for detecting renamed files based on their hash value
- proper handling of
- Changes or missing manifest files in ascmhl folders are now detected
Changes
- Updating code and tests to work with Python 3.11 and 3.12
- Adding missing "Z" at the end of time stamps in file names as required by specification
Fixes
- Fixed: logging of nested histories stopped after first level
- Smaller fixes and improvements
⚠️ (Potentially) breaking changes
-
ascmhllibrary and command line tool now works with Python 3.11 and 3.12 (0.9.x versions worked with Python 3.7, 3.8, 3.9) -
Unfortunately the error codes have been quite a mess and had duplicates, probably from previous merges. We cleaned them up entirely as follows (also see errors.py):
- Changed error/exit codes
CompletenessCheckFailedException: 15 → 10NoMHLHistoryException11 → 30VerificationFailedException12 → 11VerificationDirectoriesFailedException15 → 12NewFilesFoundException13 → 21NoMHLHistoryExceptionForPath14 →NoMHLHistoryException30SingelFileNotFoundException15 →SingleFileNotFoundException20- New error/exit codes
ModifiedMHLHistoryFile31NoMHLChainExceptionForPath32
Release v0.9.3
- Fixing issues with non-required attribute
versionin<tool>element for reading - Updates in README
Release v0.9.2
- Fixing issues with non-required element
<roothash>for reading and writing
Release v0.9.1
Patches:
- Fixing incompatibility with latest versions of the
Clickpackage insetup.py(withresultcallback).