Version 1.6.7 (Release date: 2011-03-16) 
- Removed olded helper (Tools/Hash.php)
general changes in SetaPDF core:
- Changes in pdf_context to prevent a possible endless
loop on special OS / PHP combinations.
Version 1.6.6 (Release date: 2010-09-24) 
- Fixed AES-256 encryption: Authentification through the owner
password was not possible.
general changes in SetaPDF core:
- Removed locale aware behaviour
- Optimized handling of zero size files
- Added handling of incorrect byte offset positions
- Fixed a bug related to the matching of the xref-keyword if its
near to the beginning of the file (<20 bytes)
- Added missing initial $filters-var which had produced a
warning on "compressed" xref streams without a filter
Version 1.6.5 (Release date: 2010-03-25) 
- Added PHP 5.3 support
- Added some class_exists-checks
general changes in SetaPDF core:
- Simple fallback for errorious object offsets
- Removed wrapper_functions.php
- Updated stream wrappers
- Optimized support for stream wrappers
- Changed "Decoders" folder to "Filters", renamed all classes
- Fixed a bug in the xref parser function
(raised e.g. by PDF documents created with MS Office 2007 PDF Plugin)
- Added a wrapper class around iconv for transparent en/decoding
of PdfDocEncoding and UTF-16BE
- Optimized handling of very smal files through stream wrappers
Version 1.6.4 (Release date: 2009-06-26) 
- fixed handling of octal values in file identifier
general changes in SetaPDF core:
- fixed a bug in the parser related to compressed object streams
Version 1.6.3 (Release date: 2009-03-13) 
- Fixed bug in Public Key Security feature which occurs if different
recipients with different permissions were added.
Version 1.6.2 (Release date: 2009-02-16) 
- Fixed Standard AES encryption - was broken since version 1.6
Version 1.6.1 (Release date: 2009-02-01) 
- readded missing property $bufferChunkSize.
Version 1.6 (Release date: 2009-01-28) 
- added Public Key Security feature for RC4 128bit, AES 128bit, AES 256bit
- added new error constants related to PKS.
- added/edited additional methods for handling of temporary files (needed by PKS):
factory(), setTmpDirectory(), cleanTmpDirectory(), createNewTmpFileName()
- encrypt()-method will return true on success in PKS mode.
- renamed crypt-filter names.
general changes in SetaPDF core:
- optimized parser for errorious documents
(handling of unbalanced tokens in dictionaries)
- Optimized handling of documents including PDF comments
- Optimized output of very smal float values.
Version 1.5 (Release date: 2008-10-19) 
general changes in SetaPDF core:
- Added global cache function to the pdf parser class. This feature
allows you to cache objects and/or xref tables to your filesystem.
The cached data is reusable with any SetaPDF API. For often reused
documents this feature will bring an exiting performance boost.
For more informations see the manual of any SetaPDF API.
(http://www.setasign.de/support/manuals/)
- Fixed output of very smal float values.
- Unescaping of strings completely rewritten.
- Optimized document id updates
- Removed _fgets()-wrapper function from wrapper_functions.php
- Added Tools directory which includes some helper functions, like
stream-wrappers
- Optimized handling of documents including PDF comments
Version 1.4 (Release date: 2008-09-11) 
- added support for AES 256-bit encryption which was
introduced with PDF 1.7 and is supported as of
Acrobat (Reader) >= 9.
- corrected NOTICE when using cache function
Version 1.3 (Release date: 2008-03-28) 
- Supports PDF files up to version 1.7 now!
- fixed a missing "endobj"-token
- handling of documents that includes objects with generation number greater
than zero is optimized/fixed.
- Fixed filename issue if resulting filename includes blank characters
general changes in SetaPDF core:
- xref-parser method completely rewritten:
The parser is able to parse pdf documents with different lineendings
and doesn't rely on the "auto_detect_line_endings" setting anymore.
Also it is able to parse some errorious xref tables without perfomance loss.
Compressed xref-streams which were introduced in PDF 1.5 are supported now!
- The parser also supports compressed object-streams which were also introduced
in PDF 1.5 now!
- Added a new static method for smart pdf version retrival:
SetaPDF_Parser::getPDFVersionSmart($fileName)
- Added new error codes refering to the PDF 1.5 features
- Added new native PDF types to the parser: PDF_TYPE_REAL and PDF_TYPE_BOOLEAN
- Optimized the output to the filesystem through a buffer system so that less
writing procedures are required.
- Added a decoder for predictor algorithms (needed for compressed xref streams)
- Fix for __autoload() on PHP5
- fixed issue with a stream length of zero
Version 1.2.2 (Release date: 2007-11-07) 
general changes in SetaPDF core:
- optimized/fixed handling of documents with different line endings
- allows the search for the xref pointer to be variable in length.
This can be controlled by a global var
$GLOBALS['SETAPDF_SEARCH_FOR_XREF_OFFSET'].
Standard value is 1500 bytes from the end of file.
- optimized match of the trailer-keyword
- optimized deescaping of strings
- misspelled constant name fixed: E_SETAPDF_ENC_UNSOPPORTED_REVISION becomes
E_SETAPDF_ENC_UNSUPPORTED_REVISION
(the old constant will still be available)
- prepared the parser to be used with stream wrappers (for the 8192 "limit" needed)
Version 1.2.1 (Release date: 2007-07-24) 
- suppress some native php errors if files are not readable and/or writable
- minor changes in object-recreation process (handle null-objects correct)
general changes in SetaPDF core:
- optimized string matching in pdf parser
- optimized error reporting in pdf parser
- the parser allows you to parse invalid files. This mechanism can be
controlled by a global variable named:
$GLOBALS['SETAPDF_PARSE_INVALID_FILES'] = (boolean)true/false
- added check for versioned files
Version 1.2 (Release date: 2007-07-06) 
- added AES encryption
- changed $set128bit-Parameter in encrypt-method from
boolean to int, renamed it to $encryption_strength.
- added specific constants for encryption types, which
can be used as $encryption_strength-parameter:
- SETAPDF_ENC_RC4_40 = 0
- SETAPDF_ENC_RC4_128 = 1
- SETAPDF_ENC_AES = 2
- Fixed bug if objects are missing in xref table, because of linearization or any other issue.
- Fixed string matching in PDF parser.
- added new error-codes/constants:
- E_SETAPDF_ENC_ERR_MCRYPT_NOT_AVAILABLE = 303
- E_SETAPDF_ENC_ERR_MCRYPT_RIJNDAEL_128_NOT_AVAILABLE = 304
- API now updates document ID
Version 1.1.3 (Release date: 2007-05-20)