Changelogs » Olefile

PyUp Safety actively tracks 323,951 Python packages for vulnerabilities and notifies you when to upgrade.



1997-01-20 fl   Created
  1997-01-22 fl   Fixed 64-bit portability quirk
  2003-09-09 fl   Fixed typo in OleFileIO.loadfat (noted by Daniel Haertle)
  2004-02-29 fl   Changed long hex constants to signed integers
  (only olefile/OleFileIO_PL changes compared to PIL 1.1.6)
  2005-05-11 v0.10 PL: - a few fixes for Python 2.4 compatibility
  (all changes flagged with [PL])
  2006-02-22 v0.11 PL: - a few fixes for some Office 2003 documents which raise
  exceptions in OleStream.__init__()
  2006-06-09 v0.12 PL: - fixes for files above 6.8MB (DIFAT in loadfat)
  - added some constants
  - added header values checks
  - added some docstrings
  - getsect: bugfix in case sectors >512 bytes
  - getsect: added conformity checks
  - DEBUG_MODE constant to activate debug display
  2007-09-04 v0.13 PL: - improved/translated (lots of) comments
  - updated license
  - converted tabs to 4 spaces
  2007-11-19 v0.14 PL: - added OleFileIO._raise_defect() to adapt sensitivity
  - improved _unicode() to use Python 2.x unicode support
  - fixed bug in OleDirectoryEntry
  2007-11-25 v0.15 PL: - added safety checks to detect FAT loops
  - fixed OleStream which didn't check stream size
  - added/improved many docstrings and comments
  - moved helper functions _unicode and _clsid out of
  OleFileIO class
  - improved OleFileIO._find() to add Unix path syntax
  - OleFileIO._find() is now case-insensitive
  - added get_type() and get_rootentry_name()
  - rewritten loaddirectory and OleDirectoryEntry
  2007-11-27 v0.16 PL: - added OleDirectoryEntry.kids_dict
  - added detection of duplicate filenames in storages
  - added detection of duplicate references to streams
  - added get_size() and exists() to OleDirectoryEntry
  - added isOleFile to check header before parsing
  - added __all__ list to control public keywords in pydoc
  2007-12-04 v0.17 PL: - added _load_direntry to fix a bug in loaddirectory
  - improved _unicode(), added workarounds for Python <2.3
  - added set_debug_mode and -d option to set debug mode
  - fixed bugs in and OleDirectoryEntry
  - added safety check in main for large or binary
  - allow size>0 for storages for some implementations
  2007-12-05 v0.18 PL: - fixed several bugs in handling of FAT, MiniFAT and
  - added option '-c' in main to check all streams
  2009-12-10 v0.19 PL: - bugfix for 32 bit arrays on 64 bits platforms
  (thanks to Ben G. and Martijn for reporting the bug)
  2009-12-11 v0.20 PL: - bugfix in when filename is not plain str
  2010-01-22 v0.21 PL: - added support for big-endian CPUs such as PowerPC Macs
  2012-02-16 v0.22 PL: - fixed bug in getproperties, patch by chuckleberryfinn
  - added close method to OleFileIO (fixed issue 2)
  2012-07-25 v0.23 PL: - added support for file-like objects (patch by mete0r_kr)
  2013-05-05 v0.24 PL: - getproperties: added conversion from filetime to python
  - main: displays properties with date format
  - new class OleMetadata to parse standard properties
  - added get_metadata method
  2013-05-07 v0.24 PL: - a few improvements in OleMetadata
  2013-05-24 v0.25 PL: - getproperties: option to not convert some timestamps
  - OleMetaData: total_edit_time is now a number of seconds,
  not a timestamp
  - getproperties: added support for VT_BOOL, VT_INT, V_UINT
  - getproperties: filter out null chars from strings
  - getproperties: raise non-fatal defects instead of
  exceptions when properties cannot be parsed properly
  2013-05-27       PL: - getproperties: improved exception handling
  - _raise_defect: added option to set exception type
  - all non-fatal issues are now recorded, and displayed
  when run as a script
  2013-07-11 v0.26 PL: - added methods to get modification and creation times
  of a directory entry or a storage/stream
  - fixed parsing of direntry timestamps
  2013-07-24       PL: - new options in listdir to list storages and/or streams
  2014-02-04 v0.30 PL: - upgraded code to support Python 3.x by Martin Panter
  - several fixes for Python 2.6 (xrange, MAGIC)
  - reused i32 from Pillow's _binary
  2014-07-18 v0.31     - preliminary support for 4K sectors
  2014-07-27 v0.31 PL: - a few improvements in (header parsing)
  - Fixed loadfat for large files with 4K sectors (issue 3)
  2014-07-30 v0.32 PL: - added write_sect to write sectors to disk
  - added write_mode option to OleFileIO.__init__ and open
  2014-07-31       PL: - fixed padding in write_sect for Python 3, added checks
  - added write_stream to write a stream to disk
  2014-09-26 v0.40 PL: - renamed OleFileIO_PL to olefile
  2014-11-09       NE: - added support for Jython (Niko Ehrenfeuchter)
  2014-11-13 v0.41 PL: - improved isOleFile and to support OLE
  data in a string buffer and file-like objects.
  2014-11-21       PL: - updated comments according to Pillow's commits
  2015-01-24 v0.42 PL: - changed the default path name encoding from Latin-1
  to UTF-8 on Python 2.x (Unicode on Python 3.x)
  - added path_encoding option to override the default
  - fixed a bug in _list when a storage is empty
  2015-04-17 v0.43 PL: - slight changes in OleDirectoryEntry
  2015-10-19           - fixed issue 26 in OleFileIO.getproperties
  (using id and type as local variable names)
  2015-10-29           - replaced debug() with proper logging
  - use optparse to handle command line options
  - improved attribute names in OleFileIO class
  2015-11-05           - fixed issue 27 by correcting the MiniFAT sector
  cutoff size if invalid.
  2016-02-02           - logging is disabled by default
  2016-04-26 v0.44 PL: - added enable_logging
  - renamed _OleDirectoryEntry and _OleStream without '_'
  - in OleStream use _raise_defect instead of exceptions
  2016-04-27           - added support for incomplete streams and incorrect
  directory entries (to read malformed documents)
  2016-05-04           - fixed slight bug in OleStream
  2016-11-27       DR: - added method to get the clsid of a storage/stream
  (Daniel Roethlisberger)
  2017-05-31 v0.45 BS: - PR 114 from oletools to handle excessive number of
  2007-09-13 v0.01 PL: - first version
  2007-11-10 v0.02 PL: - updated website URL
  2007-12-04 v0.03 PL: - updated description, added debug_mode test
  2009-09-11 v0.04 PL: - updated URL, e-mail, licence, disabled e-mail
  2012-02-16 v0.05 PL: - added download URL on bitbucket
  2012-09-11 v0.06 PL: - read long description from disk in rst format
  2014-02-04 v0.07 PL: - added PyPI classifier for Python 3.x, added PL2 version
  2014-09-26 v0.08 PL: - install the olefile package instead of modules
  2014-10-10 v0.09 PL: - fixed compilation error on Python 3
  2016-01-29 v0.10 PL: - fixed issue 28, removed DEBUG_MODE test
  2016-01-05 v0.44 PL: - removed the legacy doc subfolder