All releases of Hachoir core


Release Notes: Field.getFieldType() was created to describe a field type and give some useful information. The TimestampUnix64 field type was created. GenericString now only guesses the character set once. If the charset attribute if not set, a guess is made when it's requested by the user.


Release Notes: parser.tags was renamed to parser.PARSER_TAGS for compatibility with hachoir-parser 1.0.


Release Notes: This release has a new type TimestampUUID60 (used in Windows GUID). The SeekableFieldSet class has been fixed. String value is always Unicode. A readBytes() method has been added to OutputStream. hachoir_core.profiler (profile method) and hachoir_core.timeout (call a function with a timeout) modules have been added.


Release Notes: A string value is now always Unicode, even on a charset conversion error. Creation of field value, display, and raw_display attributes is now fault tolerant and uses the cache. The SeekableFieldSet class is nearly complete and more robust. GenericFieldSet uses a lock to avoid field creation recursion. The limitedMemory() function was added to call another function with a memory limit. The Float80 type was added.


Release Notes: The HACHOIR_ERRORS constant was created, and is a list of minor errors that can be ignored. setup.py only uses setuptools when it's asked. The "truncate" optional argument was added to GenericString. The hexadecimal() text handler now accepts fields of any size. GenericInteger now raises an error when field size is bigger than 256 bits. humanDuration() was fixed for duration bigger than one year.


Release Notes: The component "hachoir" has been renamed to "hachoir-core". The editor supports Float32, Float64, and Character types. Floats are now field set: it's possible to read sign, exponent, and mantissa. There is a new EncodedFile type to parse "encoded" sub-files: compressed, encrypted, encoded in base64, etc. There are new GenericVector and UserVector types to parse vectors. Raw display is now closer to hexadecimal representation for many types. The documentation has been rewritten. FileInputStream() and FileOutputStream() now have optional "real_filename" arguments to accept an invalid Unicode filename.


Release Notes: This release supports file editing, so it's possible to change field values and add and remove fields. hachoir-strip is a example of use: this program removes metadata, video indexes, padding, etc. to create anonymous and smaller files. Hachoir can also open corrupted or truncated files; it can continue to parse the field even if minor errors occur. The project has been split into many components: hachoir (core), hachoir-parser (40 file format parsers), hachoir-metadata (metadata extractor), hachoir-urwid (file viewer), hachoir-grep (find a substring in a binary file), and hachoir-wx (GUI).


Release Notes: This release adds a urwid interactive interface to explore a file, a hachoir-grep script to find a string or list all strings of a file, new parsers for Ogg, Matroska, IPTC, Photoshop Metadata, ASF (WMV video and WMA audio), MOV (Quicktime movie), and CDA (Windows audio file), metadata extractors for Matroska, JPEG, EXIF, and IPTC, improvements to the RIFF extractor (WAV and AVI), a testcase to help testing Hachoir, and fixes for all string charset issues (using Unicode in most cases).


Release Notes: The library was rewritten from scratch. It now has a better API (with size/address in bits) and is able to parse more than 20 file formats, including MP3 music, xcf pictures, and ext2 partitions. A tool for extracting metadata such as video codec, image size, compression method, and document author, etc. was included.


Release Notes: This release features a GTK user interface, support for stream decompression, the ability to read and process on demand, recursive filters, and automatic choice of the filter using MIME type detection. It's easy to write new filters, and it's possible to dump field content into a file. It is also scriptable with Python (with the --script command line option).