Release notes for JHOVE 1.1, 2008-02-25

1 JHOVE (Command-line interface)

  1. Allow filenames with internal spaces if quoted on the command line

  2. Corrected error setting the Classpath in the Windows Shell script (jhove.bat)

  3. Corrected error opening the configuration file using the default GCJ parser in the GNU Java Runtime Environment (JRE).

2 JHOVE View (GUI Swing interface)

  1. AES metadata properties displayed in the RepInfo window rearranged slightly to make their ordering consistent with the Text and XML handlers

  2. The JhoveView.main() method will now accept a "-c configFile" option on the command line. The GUI interface can now be invoked by:

    java -jar bin/JhoveView.jar -c configFile
    

  3. Corrected error opening the configuration file using the default GCJ parser in the GNU Java Runtime Environment (JRE).

  4. Corrected recurrent problems with reading the configuration file on Windows installations.

3 AIFF Module

  1. The value of the first sample offset is correct for non-zero offsets defined in the SSND chunk.

  2. Bitrate reduction is only reported for non-PCM audio samples.

  3. All non-final instance fields and methods are protected, rather than private.

4 ASCII Module

  1. A minimal file containing no line-end characters now does not produce an empty ASCIIMetadata property, which is invalid against the JHOVE schema.

  2. Zero-length files are considered not well-formed.

  3. Issue informative message if the file contains no printable characters.

  4. All non-final instance fields and methods are protected, rather than private.

5 Bytestream Module

  1. All non-final instance fields and methods are protected, rather than private.

6 GIF Module

  1. All non-final instance fields and methods are protected, rather than private.

7 HTML Module

  1. The HTMLMetadata block in the module output is only produced if there is at least one actual metadata property to report.

  2. All non-final instance fields and methods are protected, rather than private.

8 JPEG Module

  1. The JPEG module reports the X and Y sampling frequency for files meeting the JFIF profile.

  2. The JPEG module reports the pixel aspect ratio for JFIF profile files for which it is defined.

  3. File handles were not being properly closed when processing embedded EXIF metadata. In cases where JHOVE was invoked against large numbers of objects this was causing a premature crash due to the resource leak.

  4. All non-final instance fields and methods are protected, rather than private.

  5. Correct parsing of the EXIF "subsecTimeOriginal" (37251) and "subsecTimeDigitized" (37522) properties.

  6. Validation errors in embedded EXIF metdata were not being fully reported.

9 JPEG 2000 Module

  1. All non-final instance fields and methods are protected, rather than private.

  2. Files generated by the LuraWave codec are no longer incorrectly identified as having unrecognized QCC marker segments.

10 PDF Module

  1. Date strings are now parsed with strict conformance to the ASN.1 syntax.

  2. Destinations defined by indirect references to non-existent objects are assumed to have the value "null". Files containing such destinations are reported as "well-formed, but not valid".

  3. No attempt is made to display encrypted outline item title strings are not displayed.

  4. Catch error if the Info key of the trailer dictionary is not an indirect reference.

  5. Read entire page tree structure, regardless of its internal organization. This error may have caused the under reporting of extant page resources, such as fonts and images.

  6. The NISO Compression Scheme for all images using the CCITTFaxDecode compression filter is now reported properly; previously, the scheme was always reported as CCITT 1D even if the actual compression algorithm was CCITT Group 3 or 4.

  7. Properly parse UTF-16 escape characters encoded in double-byte form.

  8. The module properly stops looking for the header comment after 1024 bytes.

  9. All non-final instance fields and methods are protected, rather than private.

  10. The number of incremental updates is now reported correctly, rather than the total number of file trailers, which is one greater than the number of updates.

  11. Only up to 1000 fonts will be reported. After that, an informative message will be generated. The limit can be set using the parameter "nxxxx" in the module-specific section of the configuration file:

    <module>
      <class>edu.harvard.hul.ois.jhove.module.PdfModule</class>
      <param>n2000</param>
    </module>
    
  12. Subfonts of Type 0 are now being properly reported.

  13. PDF/A-1b profile is now being properly reported.

  14. Permit trailer info key to be optional.

  15. Additional correction to detect and process outline recursion.

  16. The PDF module correctly determines validity for files in which the Kids array in the node dictionary is an indirect object.

  17. Indirect object referencess are now accepted for Actions.

  18. A trailer dictionary without an Info entry is now processed correctly.

  19. Some problems with certain outline dictionaries have been fixed.

  20. Comments in dictionaries are now properly ignored.

11 TIFF module

  1. Corrected error parsing pyramidal TIFF using the SubIFDs tag with a type of IFD (13) rather than LONG (4).

  2. All sub-IFDs of a pyramidal TIFF are now properly parsed.

  3. The EXIF GainControl tag (41991) is now correctly identified as a SHORT, not a RATIONAL, value.

  4. Corrected error in which valid files were reported as being only well-formed due to an incorrect parsing of the DateTime (306) tag.

  5. Byte-aligned offsets can be considered well-formed if the module parameter "byteoffset=true" is set in the configuration file:

    <module>
      <class>edu.harvard.hul.ois.jhove.module.TiffModule</class>
      <param>byteoffset=true</param>
    </module>
    

  6. All non-final instance fields and methods are protected, rather than private.

  7. Correct parsing of the EXIF "subsecTimeOriginal" (37251) and "subsecTimeDigitized" (37522) properties.

  8. Using the "-s" option, the TIFF module was incorrectlly reporting signature matches for text files starting with "II".

  9. Validation errors in embedded EXIF metdata were not being fully reported.

  10. Correctly parse a GeoTIFF file that contains a Model Transformation tag (34264) but not a Pixel Scale tag (33550).

12 UTF-8 module

  1. Corrected error under which malformed UTF-8 files containing encoding sequences starting with a byte value in the range 0xF8 through 0xFF were reported as well-formed and valid.

  2. Zero-length files are considered not well-formed.

  3. Issue informative message if the file contains no printable characters.

  4. All non-final instance fields and methods are protected, rather than private.

13 WAVE module

  1. BWF files now set the correct start time in the AES metadata.

  2. All non-final instance fields and methods are protected, rather than private.

  3. The "cue " and "adtl" chunks are now properly read.

14 XML Module

  1. The DTD is assumed to be the first DOCTYPE system ID in the file with an ".dtd" extension.

  2. All non-final instance fields and methods are protected, rather than private.

  3. The module correctly handles schemaLocation attributes that do not provide two whitespace-separated URIs.

15 Text Handler

  1. AES audio metadata properties rearranged slightly to make their ordering consistent with the XML schema.

16 XML Handler

  1. Sample rate formatting in AES Time Code Format (TCF) temporal references are correct.

  2. Face IDREF values in AES metadata are correct.

  3. Disallowed control characters are removed from character content.

  4. The "subMessage" attribute is now defined in the jhove.xsd schema.

  5. Null property values no longer generate empty elements.

  6. Image technical metadata can be reported in terms of the MIX 1.0 schema, as opposed to the default reporting against MIX 0.2. To specify the 1.0 schema include the directive:

    <mixVersion>1.0</mixVersion>
    
    if the configuration file.

17 JHOVE API

  1. The process() and processFile() methods of the JhoveBase class are now public, to permit direct access to the API by applications.

  2. Checksum calculations now use buffered I/O uniformly for improved performance.

  3. All non-final instance fields and methods in the JhoveBase class are protected, rather than private.

  4. When invoked with the "-s" option JHOVE now reports the signature matched format and MIME type.

  5. The processing of files in a directory is now performed in an alphabetically sorted order.

18 ADUMP Utility

  1. Field values of known chunks are displayed.

19 TDUMP Utility

  1. New format that sorts all tag definitions by their byte offset and also displays the byte ranges for image data.

  2. Command line flags permit the suppression of BYTE data display (-b) and and subIFD parsing (-s).

20 UserHome Utility

  1. A new utility program, UserHome, is available to determine the value of the Java user.home property needed to know where to place the configuration file. This utility can be invoked by the driver scripts userhome (Bourne shell) or userhome.bat (Windows).

21 Version Identifiers and Build Dates

ComponentVersionDate
JHOVE command-line interface1.12007-08-30
JHOVE Swing GUI interface1.12007-08-30
JHOVE API1.22007-05-10
ModuleVersionDate
AIFF-hul1.32005-09-05
ASCII-hul1.22006-09-05
BYTESTREAM1.32007-04-10
GIF-hul1.32006-09-05
HTML-hul1.22006-09-05
JPEG-hul1.22007-02-13
JPEG2000-hul1.32007-01-08
PDF-hul1.52007-05-30
TIFF-hul1.42007-02-13
UTF8-hul1.32007-08-30
WAVE-hul1.32007-12-14
XML-hul1.32007-01-08
HandlerVersionDate
Audit1.12005-04-22
TEXT1.42005-07-26
XML1.52007-08-30

Release notes for JHOVE 1.0.

For more information: jhove-support at hulmail.harvard.edu

Copyright 2005-2008 by JSTOR and the President and Fellows of Harvard College
Last updated 2007-02-25