The version GIF89a (published in 1989) offers a variety of extensions in addition to the previous version GIF87a. The extension blocks, which were generally defined by GIF87a, will now be applied for specific purposes. A pure GIF87a decoder would skip these blocks.
Substantial extensions of GIF89a:
The Graphic Control Extension Block allows the definition of a color index representing transparent pixels. Each pixel coded by this index will not affect the background image.
A delay time may be specified, also within the Graphic Control Extension Block, which stops the processing for a certain period. The delay time always refers to the current picture segment and may be set for each segment.
The Plain Text Extension Block may be used to define text data, which shall be embedded into the picture. The decoder displays the text by a non-proportional character set. But the real presentation of the picture's contents is unknown while generating the image file.
A Comment Extension Block is provided e.g. for author or copyright information.
Particular information about the application, which had generated the GIF89a file, may be stored within the Application Extension Block. Among others, an Application Identifier and an Application Authentication Code is specified there.
The extension blocks provide a variety of additional information, which do not have a direct influence on the picture and serve only for internal purposes. With exception of the Graphic Control Extension Block, most of them are not necessary to encode the contents.