1.5.4 - Store maxx and maxy used to create a given preview for cases where we need to regenerate it (PUT). - No longer allow manage_http_upload to regenerate previews. - Don't break getIconPath if the content_type is malformed or empty. - Added a NORMALIZE_CASE repository option that lowercases directory names. This makes for prettier static URLs and aids cross-filesystem portability of the repository. - Added a CUSTOM repository option that determines the directory structure by calling a user-defined CUSTOM_METHOD. Thanks to Markus Krainer. - 260+ unit tests. 1.5.2 - Support OFS.Cacheable API to work with HTTP cache managers. - Return a stream iterator instead of writing to the RESPONSE. This speeds up ExtFile/ExtImage serving significantly, making it faster than the standard File and Image. - Filename-to-id translation now supports utf-8 in addition to latin-1. - 240+ unit tests 1.5.0 - Made sure 304 responses return a RFC1123 date. - 200+ unit tests. 1.5.0-beta1 - No longer use an acquired REQUEST in ExtFile.index_html(). - No longer mangle extensions of unknown binary files. - Switched to Zope 2.8 transactions and an all new TM strategy. - Fixed a bug in manage_upload() which didn't have tests. - Factory methods now return the id. - Renamed icon_html to icon_tag, preview_html to preview_tag. - Implemented PrincipiaSearchSource for text/* files. - Counter in file names now separated from name by a dot. - Colon, single- and double-quote added to bad_chars list. - Fixed tag() method to use icon url if there is no preview. - 190+ unit tests. 1.4.4 - Fixed missing import of TemporaryFile. - Fixed support for the Photo product which was broken in 1.4.2. Note that you cannot use ZODB_PATH = PHYSICAL with Photos! - Images using the CMYK color model are converted to RGB before computing the preview. Thanks to Jan-Wijbrand Kolman. - 130+ unit tests. 1.4.2 - Fixed an RFC violation. See http://collector.zope.org/Zope/544. - Fixed no-context detection in Zope 2.7. - Fixed repository umask for generated previews. - Stopped _createPreview() from swallowing PIL exceptions. - SYNC_ZODB can now use the physical path (see Config.py). - Bundled Bjorn Nelson's extFile_load_site.sh utility, that can be used to bulk upload data into ExtFiles/ExtImages. - 120 unit tests. 1.4.0 - ExtFile/ExtImage now have interfaces properly declared. - ExtFile/ExtImage are now transaction-aware. File operations are performed using temporary files, which are "committed" (or removed) at the end of the transaction. This makes sure repository files are only created/modified if the transaction completes successfully. - 100+ unit tests. This release was sponsored by Infrae and ETH Zurich. The initial implementation came from Christian Zagrodnick of gocept. Thanks for making this possible. 1.2.0 - Made generated img tags XHTML compliant (Jan-Wijbrand Kolman). - Reenabled undo functionality. - Added upgrade instructions; see UPGRADE.txt. 1.2.0b2 - Included Oliver Bleutgen's patch that allows to perform a redirect if the default view is triggered unintentionally. - Documented the IExtFile and IExtImage interfaces. - More tests. 1.2.0b1 - Support for large files by eliminating StringIO. - Support for INSTANCE_HOME and PUT_factory. - Support for serving ExtImages statically via Apache (or another webserver). - New repository management options. - Automatic file extension management. - Configuration settings moved to a separate file, Config.py. - Switched to new-style security declarations throughout. - Some API polishing. - Reworked upload code and added manage_upload() API method. - Ran everything through expand -4. - Added some tests.