Roadmap

0.24

25%

0 closed (0%)   4 open (100%)

1.0

Unified metadata containers and build system

16%

0 closed (0%)   8 open (100%)

Version 1.0

See also this note regarding the recent change in the roadmap.

The main goal for 1.0 is to have a stable API/ABI, which allows to add common enhancements while maintaining a compatible interface.

The main functional change is the introduction of a single Unified Metadata Container, for metadata of all types, which will replace the three existing container classes ExifData, IptcData and XmpData (#585). Along with that, the Key and Metadatum classes will be re-designed/simplified and names which the compiler recognizes will be introduced for keys of known tags (#457).

Currently we have three different but very similar container, key and metadatum classes, one set for each supported metadata type. This design doesn't allow the addition of metadata of a new type without writing a new set of container, key and metadatum classes. Applications would need to be aware of these new classes before they could use any such newly supported metadata type. Several metadata types are waiting: ICC profiles, PrintIM, "generic image info" (#505) for example.

The second unification concerns the build system. The existing build files for UNIX-like systems as well as the existing Visual Studio project files will be replaced with one common set of cmake scripts for all currently supported platforms (#536).

This will greatly reduce the complexity of the build environment and provide a basis for the support of additional platforms and compilers.