a camera. The type of support varies considerably. There appear to be very few third-party software products that process raw images but don't support DNG. This may reflect the difficulty of discovering all of those that do not. Versions of the specification All versions of the specification remain valid, in the sense that DNG files conforming to old versions should still be read and processed by DNG readers capable of processing later versions. DNG has a version scheme built into it that allows the DNG specification, DNG writers, and DNG readers, to evolve at their own paces. Each version of the specification describes its compatibility with previous versions. 1.0.0.0, published September 2004 This version accompanied the launch of DNG and related products. It was a rare, possibly unique, example of a raw image format specification published by its owner. It was adequate for representing typical images, but it had a few errors and deficiencies (specifically the lack of support of "masked pixels" and an inadvertent deviation from the JPEG specification) that required it soon to be replaced by the next version. 1.1.0.0, published February 2005 This version corrected the flaws in the first version. It has proved capable of representing raw images for a large variety of cameras (both when written in-camera or via conversion from other raw image formats) for a few years, and it is the version still typically written in-camera. 1.2.0.0, published May 2008 This version was based on experience and feedback from other companies about DNG since its launch. It introduced many new features, especially several new options for color specification under the general heading of "Camera Profiles". These are mainly of value to software products wanting their own flavor of color handling. This version permits administrative control of Camera Profiles, including calibration signatures and copyright information. 1.3.0.0, published June 2009 This version added various improvements, but the major change was to introduce "Opcodes". An Opcode is an algorithm to be applied to some or all of the image data, described in the specification, and (optionally) implemented in the product that reads and processes the DNG file. The DNG file itself holds lists of Opcodes to be executed, together with the parameters to be applied on execution. In effect, the DNG file can contain lists of "function calls" to be executed at various stages in the raw conversion process. For example, the WarpRectilinear Opcode "applies a