Releases: openpreserve/jhove
Releases · openpreserve/jhove
v1.26.0-RC2
JHOVE 1.26-RC2
2022-04-22
General
- GUI improvements including keyboard shortcuts and code clarifications. [#635]
- Fixed issue [#667] GUI JSON output truncated. [#728]
- Fixed issue [#628] Allow for folder analysis from GUI. [#635]
- Fixed issue [#627] GUI: in character encoding options, "UTF-8" appearing twice. [#635]
- Fixed issue [#643] Language changeable using Java property and configuration file. [#693], [#729]
For example:<languageCode>de</languageCode>
- Refactoring and fixes for Java 11 compatibility. [#688], [#682], [#716]
- Java constants for various core classes. [#426], [#586], [#594] - [#598], [#600], [#603] - [#606]
- Minor refactorings to address Java warnings and similar. [#577]
- Builds now performed by Github actions. [#718]
- Third party module JARS added to documentation site. [#566]
- Re-prioritize logging levels for core events. [#636]
EPUB Module
- Remove extra "s" from "fonts" in Representation Info [#677]
- Bump EPUBCheck in extension modules from 4.2.2 to 4.2.6 [#650]
GIF Module
- Use ModuleBase#readUnsignedByte to read global color table [#663]
PDF Module
- Fixed issue [#358] Parenthesis handling in Document Information Dictionary. [#359]
- Fixed issue [#375] ClassCastException when handling indirect objects. [#596]
- Fixed issue [#531] Missing error IDs for "Size entry missing in trailer dictionary." [#579], [#590], [#597]
- Added support of 256 bit AES encryption algorithm. [#621]
- Fixed bug in halding reporting of skipped pages. [#620]
- Improvements to reporting of cross-reference exceptions. [#619]
- Ignore comments in PDF annotations. [#622]
- Fixed issue [#669] Inconsistent double entries in pdf module's errormessages.properties and translations [#689]
- Safely exit infinite loops on AProfile.outlinesOK / checkItemOutline [#704]
- Prevent infinite loop in Literal.readUTFLanguageCode() [#709]
- Fixed German translation of PDF-HUL-18 [[#673][]]
- Fixed issue [#662] PDF-Hul produces Invalid Page Dictionary for PDF's with VP dictionaries. [#665]
- Fixed issue [#653] No document catalog dictionary (PDF-HUL-86) error reported even though document catalog exists [#654]
- Fixed issue [#645] StackOverflowError in with 1.24.1 in PDF-hul. [#652]
- Fixed issue [#646] TimeOut / stuck in loop (?) - 1.24.1 PDF-hul. [#652]
- Fixed issue [#101] JHOVE reporting PDF as v1.3 and as ISO PDF/A-1, Level B, inadequate PDF/A disabled [#393]
- Added support for PDF extension levels [#626]
- Fixed issue[#696] Close parenthesis included in Literal _rawBytes, causes incorrect NameTreeNode.compareKey() [#734]
- Replace += with StringBuilder for whitespace to speed up Tokenizer. [#615]
PNG Module
- Added Java constants for error strings, magic numbers, etc. [#578] [#587]
- Fixed issue [#148] null pointer exception. [#580]
TIFF Module
- Fixed issue [#624] Codes missing for several Geographic CS Types. [#623]
- Fixed issue [[#690][]] JHOVE inappropriately defaults the TIFF Exif Version tag to 0220. [#691]
WAVE Module
- Fixed variable formatting in message translations. [#557]
XML Module
- Fixed issue [#681] XML Signature detection does not work. [#683]
- Fixed issue [#680] XML should not be validated when no schema provided [#685]
- Assorted improvements to reporting of schema locations. [#634]
- Fixed XML version reporting for documents with byte-order marks (BOMs). [#634]
- Cleaned up unnecessary code, formatting and documentation. [#634]
JHOVE 1.26.0-RC1
General
- GUI improvements including keyboard shortcuts and code clarifications. [#635]
- Fixed issue [#667] GUI JSON output truncated. [#728]
- Fixed issue [#628] Allow for folder analysis from GUI. [#635]
- Fixed issue [#627] GUI: in character encoding options, "UTF-8" appearing twice. [#635]
- Fixed issue [#643] Language changeable using Java property and configuration file. [#693], [#729]
For example:<languageCode>de</languageCode>
- Refactoring and fixes for Java 11 compatibility. [#688], [#682], [#716]
- Java constants for various core classes. [#426], [#586], [#594] - [#598], [#600], [#603] - [#606]
- Minor refactorings to address Java warnings and similar. [#577]
- Builds now performed by Github actions. [#718]
- Third party module JARS added to documentation site. [#566]
- Re-prioritize logging levels for core events. [#636]
EPUB Module
- Remove extra "s" from "fonts" in Representation Info [#677]
- Bump EPUBCheck in extension modules from 4.2.2 to 4.2.6 [#650]
GIF Module
- Use ModuleBase#readUnsignedByte to read global color table [#663]
PDF Module
- Fixed issue [#358] Parenthesis handling in Document Information Dictionary. [#359]
- Fixed issue [#375] ClassCastException when handling indirect objects. [#596]
- Fixed issue [#531] Missing error IDs for "Size entry missing in trailer dictionary." [#579], [#590], [#597]
- Added support of 256 bit AES encryption algorithm. [#621]
- Fixed bug in halding reporting of skipped pages. [#620]
- Improvements to reporting of cross-reference exceptions. [#619]
- Ignore comments in PDF annotations. [#622]
- Fixed issue [#669] Inconsistent double entries in pdf module's errormessages.properties and translations [[#689][]]
- Safely exit infinite loops on AProfile.outlinesOK / checkItemOutline [#704]
- Prevent infinite loop in Literal.readUTFLanguageCode() [#709]
- Fixed German translation of PDF-HUL-18 [[#673][]]
- Fixed issue [#662] PDF-Hul produces Invalid Page Dictionary for PDF's with VP dictionaries. [#665]
- Fixed issue [#653] No document catalog dictionary (PDF-HUL-86) error reported even though document catalog exists [#654]
- Fixed issue [#645] StackOverflowError in with 1.24.1 in PDF-hul. [#652]
- Fixed issue [#646] TimeOut / stuck in loop (?) - 1.24.1 PDF-hul. [#652]
- Replace += with StringBuilder for whitespace to speed up Tokenizer. [#615]
PNG Module
- Added Java constants for error strings, magic numbers, etc. [#578] [#587]
- Fixed issue [#148] null pointer exception. [#580]
TIFF Module
- Fixed issue [#624] Codes missing for several Geographic CS Types. [#623]
- Fixed issue [[#690][]] JHOVE inappropriately defaults the TIFF Exif Version tag to 0220. [#691]
WAVE Module
- Fixed variable formatting in message translations. [#557]
XML Module
- Fixed issue [#681] XML Signature detection does not work. [#683]
- Assorted improvements to reporting of schema locations. [#634]
- Fixed XML version reporting for documents with byte-order marks (BOMs). [#634]
- Cleaned up unnecessary code, formatting and documentation. [#634]
New Contributors
- @deanforsmith made their first contribution in #577
- @marti1125 made their first contribution in #578
- @andreakb made their first contribution in #581
- @archivist-liz made their first contribution in #586
- @T3rj3 made their first contribution in #359
- @pwinckles made their first contribution in #682
- @leefrank9527 made their first contribution in #693
- @MaximPlusov made their first contribution in #664
- @trimbe made their first contribution in #663
- @CGarces made their first contribution in #699
- @paulmer made their first contribution in #623
Full Changelog: v1.24.1...v1.26.0-RC1
JHOVE v1.24
JHOVE 1.24
2020-03-12
General
- Added a JSON output handler [#515]
- Fixed compatibility issues for JDK 9 and greater [#514]
- SHA-256 Checksumming [#497, #386]
- Error ID node for GUI message display [#546]
- Improved formatting of error IDs by text handler [#547]
- Improved handling of sub-messages [#548]
- Plugged Message ID assignation gaps in various modules [#536]
- Fixed bug with formatting of Rationals in MIX 2.0 [#504]
- Message properties defined for core constants [#499, #500]
- Fix for quote encoding error [#472]
- Addition of dedicated
Utils
class for rescoped encoding methods [#465, #462] - Documentation clean up and improvement[#488, #494, #495]
Error Message Translations
- German error message translations [#461, #462, #463, #464, #467]
- Portuguese error message translations [#490, #491, #492, #493, #496, #557]
- Dutch error message translations [#503, #550]
- Danish error message translations [#551]
- French error message translations [#552]
AIFF Module
- Check that chunk IDs only consist of characters in the printable ASCII range [#468]
- Check that spaces do not precede printable characters in chunk IDs [#468]
- Clarified error messages and improved offset reporting accuracy [#468]
EPUB Module
GIF Module
- Update error message properties for Control Extensions [#513]
JPEG Module
- Enhanced to handle the APP14 marker segment [#518]
JPEG 2000 Module
- Enhancements to MIX format metadata [#445]
PNG Module
- Fixed issues with error messages [#545]
PDF Module
- Fixed issue with PDF version inconsistency reporting [#486]
- Fixed bug with PDF destination handling [#498]
- Corrected handling of empty dates for CreationDate [#549]
TIFF Module
- Fixed issue with array instantiation [#510]
WAVE Module
- Check that chunk IDs only consist of characters in the printable ASCII range [#468]
- Check that spaces do not precede printable characters in chunk IDs [#468]
- Clarified error messages and greatly improved offset reporting accuracy [#468]
- Added reporting of unrecognized data in the top-level RIFF structure [#468]
- Made the Table Length field of
ds64
chunks optional to better align with the specification [#468] - Reinstated WAVE-HUL-4 reporting which had been lost during refactoring [#468]
- Corrected WAVE-HUL-15 from an Error to an Informational message [#468]
- Retired WAVE-HUL-16, an unused duplicate of WAVE-HUL-19 [#468]
- Documented undocumented chunks and specification references [#501]
WARC Module
- Module documentation [#489]
Code Quality Issues
JHOVE v1.24 Release Candidate
JHOVE 1.24-RC
2019-12-10
General
- Added a JSON output handler [[#515][]]
- Fixed compatability issues for JDK 9 and greater [[#514][]]
- SHA-256 Checksumming [[#497][], [#386][]]
- Error ID node for GUI message display [[#546][]]
- Improved formatting of error IDs by text handler [[#547][]]
- Improved handling of sub-messages [[#548][]]
- Plugged Message ID assignation gaps in various modules [[#536][]]
- Fixed bug with formatting of Rationals in MIX 2.0 [[#504][]]
- Message properties defined for core constants [[#499][], [#500][]]
- Fix for quote encoding error [[#472][]]
- Addition of dedicated
Utils
class for rescoped encoding methods [[#465][], [#462][]] - Documentation clean up and improvement[[#488][], [#494][], [#495][]]
Error Message Translations
- German error message translations [[#461][], [#462][], [#463][], [#464][], [#467][]]
- Portuguese error message translations [[#490][], [#491][], [#492][], [#493][], [#496][]]
- Dutch error message translations [[#503][], [#550][]]
- Danish error message translations [[#551][]]
- French error message translations [[#552][]]
EPUB Module
- New EPUB validation module
EPUB-ptc
plus tests and examples [[#460][]] - Module documentation [[#466][]]
GIF Module
- Update gif Error.Message properties for Control Extensions [[#513][]]
JPEG Module
- Enhanced to handle the APP14 marker segment [[#518][]]
JPEG2000 Module
- Enhancements to MIX format medatata [[#445][]]
PNG Module
- Fixed issues with PNG module error messages [[#545][]]
PDF Module
- Fixed issue with PDF version inconsistency reporting [[#486][]]
- Fixed bug with PDF destination handling [[#498][]]
- Corrected handling of empty date for CreationDate [[#549][]]
TIFF Module
- Fixed issue with array instantiation [[#510][]]
WAVE Module
- WAVE / IFF: Accurate file offsets and new validation checks [[#468][]]
- Documentation or missing chunks and additional references [[#501][]]
WARC Module
- Module documentation [[#489][]]
Code Quality Issues
JHOVE v1.22
JHOVE 1.22
2018-04-18
General
- Error IDs for JHOVE messages [#397]
- Fixed Rational data types for MIX metadata [#394, #429]
- Individual, Maven based versioning for internal modules [#390]
- Java support upgraded to Java 1.8 [#342, #343, #391]
- Factored out error messages for core applications [#348]
- Code maintenance [#351, #392]
- Improvements to test scripts and automated build [#350, #352, #379, #383]
AIFF Module
- Error IDs and message constants as external resources [#398]
ASCII Module
- Refactoring and code readability improvements [#353]
- Error IDs and message constants as external resources [#399]
GIF Module
- Error IDs and message constants as external resources [#400]
HTML Module
- Error IDs and message constants as external resources [#401]
JPEG Module
- Error IDs and message constants as external resources [#402]
JPEG 2000 Module
- Error IDs and message constants as external resources [#403]
PDF Module
- Refactored all PDF Module error messages [#347]
- Fixed class cast exception on cross-ref streams [#349]
- Error IDs and message constants as external resources [#404]
TIFF Module
- Fixed typo in TIFF properties [[#361][]]
- Error IDs and message constants as external resources [#405]
UTF-8 Module
- Refactoring and code readability improvements [#389]
- Error IDs and message constants as external resources [#406]
WAVE Module
- Flag not well-formed when chunk exceeds RIFF length [#360]
XML Module
JHOVE v1.22 Release Candidate
Rough release notes:
- Permanent and unique identifiers for all standard JHOVE modules
- updated message handling system to implement error ids
- backwardly compatible with existing modules
- ids only show for messages that have them
- allows translation of error messages by providing files for different locales
- module independence
- modules in individual Maven projects
- module jars now separate from application fat jars
- individual modules can be kept or updated allowing the user to mix and match
- ASCII & UTF-8 modules refactored and updated with unit tests
- begun refactoring of Module class system
- Update to coding standards
- use of named constants
- tidied use of generics
- tidied exception handling
- removed unused code and variables
- less code
- upgraded to Java 8
- use try with resources to ensure files and streams get closed
- using genuine enum types
- improved testing regime while exposing its limits
- more test files for AIFF-hul, JPEG2000-hul and TIFF-hul
JHOVE 1.20
JHOVE 1.20
2018-03-29
General
- Removed obsolete subsitituion from izpack installer [#300]
- Improved counting accuracy of skipped bytes, allowing better
EOF detection [#308]
JPEG Module
- Fixed bug causing JHOVE to skip the wrong number of characters in
APP0
segments [#303]
PDF Module
- Header check for invalid PDF minor version (not > 7) [#317]
- Unit tests for PDF Header parsing conditions [#317]
- Check that document catalog dictionary key
\Type
equalsCatalog
[#318] - Test that document catalog XRef lookup retrieves the right object
number [#319] - Unit tests for document catalog issues [#318]
- Test that page dictionary key
\Type
equalsPages
[#322] - Unit tests for page dictionary issues [#322]
- Improved handling of XRef lookup errors for document catalog and pages
dictonary [#322] - Added synthetic test files created by @asciim0 for iPres as unit
test resources ([#317-#319]) - Fixed assignment of
application/pdf
as MIME type for images embedded
in a PDF [#324] - Added method to derive MIME type from Filters and assign to NISO metatadata
and added String constants for Filter names [#324]
WAVE Module
- Fixed byte skipping issue when parsing Associated Data List chunks [#309]
- Added support for parsing and validating RF64 files [#308]
- Made WAVE parser more resilient to unexpected chunk data [#308]
- Improved reporting of WAVE codecs in WAVEFORMATEXTENSIBLE files [#308]
- Avoids reporting file format and MIME type until signatures have been verified
and reports extended MIME type information, e.g.audio/vnd.wave; codec=1
,
as per RFC 2361 [#308] - Subformat GUID's are now reported in their standard format, e.g.
00000001-0000-0010-8000-00AA00389B71
, instead of as an
array of byte values [#308] - Added checks to verify the existence of Data chunks and their appearance
after Format chunks [#308] - Expanded WAVE example corpora to cover more formats and errors [#308]
- Improved truncation detection and reporting [#308]
- Fixed erroneous reporting of Cue Point values and renamed "Cue" report
property to "CuePoints" [#308]
Text Handler
- NISO MIX 1.0 output now includes MIME type as
FormatName
[#323]
XML Handler
JHOVE 1.20 Release Candidate
JHOVE 1.20-RC
2018-03-20
General
- Removed obsolete subsitituion from izpack installer [#300]
PDF Module
- Header check for invalid PDF minor version (not > 7) [#317]
- Unit tests for PDF Header parsing conditions [#317]
- Check that document catalog dictionary key
\Type == Catalog
[#318] - Test that document catalog XRef lookup retrieves the right object
number [#319] - Unit tests for document catalog issues [#318]
- Test that page dictionary key
\Type == Pages
[#322] - Unit tests for page dictionary issues [#322]
- Improved handling of XRef lookup errors for document catalog and pages
dictonary [#322] - Added synthetic test files created by @asciim0 for iPres as unit
test resources ([#317-#319]) - Fixed assignment of
application/pdf
as MIME type for images embedded
in a PDF. - added method to derive MIME type from Filters and assign to NISO metatadata
and added String constants for Filter names.
WAVE Module
- Fixed byte skipping issue when parsing Associated Data List [#309]
- Added support for parsing and validating RF64 files [#308]
- Made WAVE parser more resilient to unexpected chunk data [#308]
- Improved reporting of WAVE codecs in WAVEFORMATEXTENSIBLE files [#308]
- Avoids reporting file format and MIME type until signatures have been verified
and reports extended MIME type information, e.g.audio/vnd.wave; codec=1
, as per RFC 2361 [#308] - Subformat GUID's are now reported in their standard format, e.g.
00000001-0000-0010-8000-00AA00389B71
, instead of as an
array of byte values [#308] - Added check to verify the existence of Data chunks and to verify that
Format chunks appear before Data chunks [#308] - Expanded WAVE example corpora to cover more formats and errors [#308]
- Improved truncation detection and reporting [#308]
- Fixed erroneous reporting of Cue Point values and renamed "Cue" report
property to "CuePoints" [#308]
Text Handler
- NISO MIX 1.0 output now includes MIME type as
FormatName:
.
XML Handler
- NISO MIX 1.0 output now included mandatory
<FormatDesignation>
element. - Image MIME type output as mandatory
<FormatName>
element.
JHOVE 1.18 Release
JHOVE 1.18
2017-11-30
General
- Installation of external modules is now optional [#292]
- Inaccessible files are now reported as of "Unknown" status instead of
"Not well-formed" [#257] - Improvements to error handling and uncaught module exceptions,
increasing resilience during batch processing [#257, #259] - Improved path handling, allowing installation locations and file paths to
contain spaces, and more exotic characters [#206] - Error and informational messages have been consolidated into discrete message
classes for easier maintenance and future improvement [#120, #157,
#283–#285, #287–#291] - Increased the minimum version of Java from 1.5 to 1.6 [#273]
JPEG Module
PDF Module
- Fixed a false invalid result for some types of encrypted document [#257]
- Fixed incorrect parsing of escaped characters in name objects [#280]
- More detailed error messages for indirect references to non-existent
destinations [#123]
PNG Module
- Report invalid NISO color types [#171]
TIFF Module
- Added validation for ICC profiles [#249]
WAVE Module
- Added support for reporting BWF v2 fields [#273]
- Simplified BWF profile detection, allowing detection of any future BWF
versions. All BWF versions will now be reported as "BWF" instead of
"BWF version #", with any unrecognized versions being flagged [#273] - Reformatted the BWF UMID field into a hexadecimal string instead of a long
sequence of numbers [#273] - Changed property label from "Originator Reference" to "OriginatorReference"
for consistency and predictability [#273] - Fixed incorrectly reported format names and
ArrayIndexOutOfBoundsException
errors when processing certain non-PCM WAVE files [#118] - Changed reported MIME type from
audio/x-wave
toaudio/vnd.wave
[#257]
XML Handler
- Fixed MIX 1.0 and TextMD XML generation for images with certain properties
[#220]
JHOVE 1.18 Release Candidate
RELEASE NOTES FOR JHOVE 1.18-RC
This is a release candidate for JHOVE v1.18 and should not be used in production. Please note that this release candidate will remove old versions of JHOVE, and other files, from the bin
directory. This includes old versions of JHOVE previously saved by other installers.
General
- External modules now an optional installation (default to yes) [#292].
- Fixes for various small issues in [#257]:
- fix for false invalid result for encrypted PDFs;
- improvements to TIFF and PDF error handling;
- inaccessible files now return "Unknown" status; and
- changed WAVE reported MIME type from
audio/xwave
toaudio/vnd.wave
.
- All JHOVE module error messages now factored as String constants in discrete message classes.
- JHOVE core error messages factored as String constants in
CoreMessageConstants
.
WAVE Module
- Added WAVE module support for BWF v2 recognition [#273].
- Improvements to WAVE module documentation [#269]
TIFF & JPEG Modules
- Validation for ICC profiles in JPEG and TIFF files [#249]
- Fixed handling of Exif profiles in JPEG files [#253].