Skip to content

Releases: openpreserve/jhove

v1.26.0-RC2

22 Apr 14:18
c848ad9
Compare
Choose a tag to compare
v1.26.0-RC2 Pre-release
Pre-release

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

14 Apr 02:08
2b04e03
Compare
Choose a tag to compare
JHOVE 1.26.0-RC1 Pre-release
Pre-release

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

Full Changelog: v1.24.1...v1.26.0-RC1

JHOVE v1.24

12 Mar 11:36
9ed8e78
Compare
Choose a tag to compare

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

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

  • New EPUB validation module EPUB-ptc plus tests and examples [#460]
  • Module documentation [#466]

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

  • Only one declaration per line [#477]
  • Field declarations at the top of a class [#484]
  • Default cases for switch statements [#507, #485]
  • Fixed nested if statements [#517]
  • Merged or refactored duplicate if statements [#505]
  • Removed redundant imports [#509]

JHOVE v1.24 Release Candidate

11 Dec 11:06
86a9392
Compare
Choose a tag to compare
Pre-release

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

  • Only one declaration per line [[#477][]]
  • Field declarations at the top of a class [[#484][]]
  • Default cases for switch statements [[#507][], [#485][]]
  • Fixed nested if statements [[#517][]]
  • Merged or refactored duplicate if statements [[#505][]]
  • Removed redundant imports [[#509][]]

JHOVE v1.22

18 Apr 07:19
Compare
Choose a tag to compare

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

  • Fix for premature end of file error [#378]
  • Fix internal DTD and entity problems [#378]

JHOVE v1.22 Release Candidate

05 Mar 13:24
Compare
Choose a tag to compare
Pre-release

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

29 Mar 14:52
ae45cc7
Compare
Choose a tag to compare

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 equals 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 equals 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 [#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

  • NISO MIX 1.0 output now included mandatory <FormatDesignation>
    element [#323]
  • Image MIME type output as mandatory <FormatName> element [#323]

JHOVE 1.20 Release Candidate

20 Mar 16:06
Compare
Choose a tag to compare
Pre-release

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

30 Nov 13:55
Compare
Choose a tag to compare

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

  • Added validation for ICC profiles [#249]
  • Fixed handling of Exif profiles [#253]

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 to audio/vnd.wave [#257]

XML Handler

  • Fixed MIX 1.0 and TextMD XML generation for images with certain properties
    [#220]

JHOVE 1.18 Release Candidate

07 Nov 11:43
Compare
Choose a tag to compare
Pre-release

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 to audio/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].

PDF Module

  • Fixed bug in parsing of escape characters in PDF name objects [#280].
  • Fixed ArrayIndexOutOfBoundsException when processing some WAVE files [#118]
  • Improvements to report of PDF indirect references with non-existent destination [#123].