Changelog ========= v1.1 ---- - Updated installation instructions to properly mention all dependencies, even those internally used. - Fixed a bug introduced in 1.0 which would prevent the proper deactivation of the compression in production. - Added a Jinja2_ contrib extension. .. _Jinja2: http://jinja.pocoo.org/2/ v1.0.1 ------ - Fixed regression in ``compressor.utils.staticfiles`` compatibility module. v1.0 ---- - **BACKWARDS-INCOMPATIBLE** Stopped swallowing exceptions raised by rendering the template tag in production (``DEBUG = False``). This has the potential to breaking lots of apps but on the other hand will help find bugs. - **BACKWARDS-INCOMPATIBLE** The default function to create the cache key stopped containing the server hostname. Instead the cache key now only has the form ``'django_compressor.'``. To revert to the previous way simply set the ``COMPRESS_CACHE_KEY_FUNCTION`` to ``'compressor.cache.socket_cachekey'``. - **BACKWARDS-INCOMPATIBLE** Renamed ambigously named ``COMPRESS_DATA_URI_MAX_SIZE`` setting to ``COMPRESS_DATA_URI_MAX_SIZE``. It's the maximum size the ``compressor.filters.datauri.DataUriFilter`` filter will embed files as data: URIs. - Added ``COMPRESS_CSS_HASHING_METHOD`` setting with the options ``'mtime'`` (default) and ``'hash'`` for the ``CssAbsoluteFilter`` filter. The latter uses the content of the file to calculate the cache-busting hash. - Added support for ``{{ block.super }}`` to ``compress`` management command. - Dropped Django 1.1.X support. - Fixed compiler filters on Windows. - Handle new-style cached template loaders in the compress management command. - Documented included filters. - Added `Slim It`_ filter. - Added new CallbackOutputFilter to ease the implementation of Python-based callback filters that only need to pass the content to a callable. - Make use of `django-appconf`_ for settings handling and `versiontools`_ for versions. - Uses the current context when rendering the render templates. - Added :func:`post_compress` signal. .. _`Slim It`: http://slimit.org/ .. _`django-appconf`: http://django-appconf.rtfd.org/ .. _`versiontools`: http://pypi.python.org/pypi/versiontools v0.9.2 ------ - Fixed stdin handling of precompiler filter. v0.9.1 ------ - Fixed encoding related issue. - Minor cleanups. v0.9 ---- - Fixed the precompiler support to also use the full file path instead of a temporarily created file. - Enabled test coverage. - Refactored caching and other utility code. - Switched from SHA1 to MD5 for hash generation to lower the computational impact. v0.8 ---- - Replace naive jsmin.py with rJSmin (http://opensource.perlig.de/rjsmin/) and fixed a few problems with JavaScript comments. - Fixed converting relative URLs in CSS files when running in debug mode. .. note:: If you relied on the ``split_contents`` method of ``Compressor`` classes, please make sure a fourth item is returned in the iterable that denotes the base name of the file that is compressed. v0.7.1 ------ - Fixed import error when using the standalone django-staticfiles app. v0.7 ---- - Created new parser, HtmlParser, based on the stdlib HTMLParser module. - Added a new default AutoSelectParser, which picks the LxmlParser if lxml is available and falls back to HtmlParser. - Use unittest2 for testing goodness. - Fixed YUI JavaScript filter argument handling. - Updated bundled jsmin to use version by Dave St.Germain that was refactored for speed. v0.6.4 ------ - Fixed Closure filter argument handling. v0.6.3 ------ - Fixed options mangling in CompilerFilter initialization. - Fixed tox configuration. - Extended documentation and README. - In the compress command ignore hidden files when looking for templates. - Restructured utilities and added staticfiles compat layer. - Restructered parsers and added a html5lib based parser. v0.6.2 ------ - Minor bugfixes that caused the compression not working reliably in development mode (e.g. updated files didn't trigger a new compression). v0.6.1 ------ - Fixed staticfiles support to also use its finder API to find files during developement -- when the static files haven't been collected in ``STATIC_ROOT``. - Fixed regression with the ``COMPRESS`` setting, pre-compilation and staticfiles. v0.6 ---- Major improvements and a lot of bugfixes, some of which are: - New precompilation support, which allows compilation of files and hunks with easily configurable compilers before calling the actual output filters. See the :ref:`COMPRESS_PRECOMPILERS ` for more details. - New staticfiles support. With the introduction of the staticfiles app to Django 1.3, compressor officially supports finding the files to compress using the app's finder API. Have a look at the documentation about :ref:`remote storages ` in case you want to use those together with compressor. - New ``compress`` management command which allows pre-running of what the compress template tag does. See the :ref:`pre-compression ` docs for more information. - Various perfomance improvements by better caching and mtime cheking. - Deprecated ``COMPRESS_LESSC_BINARY`` setting because it's now superseded by the :ref:`COMPRESS_PRECOMPILERS ` setting. Just make sure to use the correct mimetype when linking to less files or adding inline code and add the following to your settings:: COMPRESS_PRECOMPILERS = ( ('text/less', 'lessc {infile} {outfile}'), ) - Added cssmin_ filter (``compressor.filters.CSSMinFilter``) based on Zachary Voase's Python port of the YUI CSS compression algorithm. - Reimplemented the dog-piling prevention. - Make sure the CssAbsoluteFilter works for relative paths. - Added inline render mode. See :ref:`usage ` docs. - Added ``mtime_cache`` management command to add and/or remove all mtimes from the cache. - Moved docs to Read The Docs: http://django_compressor.readthedocs.org - Added optional ``compressor.storage.GzipCompressorFileStorage`` storage backend that gzips of the saved files automatically for easier deployment. - Reimplemented a few filters on top of the new ``compressor.filters.base.CompilerFilter`` to be a bit more DRY. - Added tox based test configuration, testing on Django 1.1-1.3 and Python 2.5-2.7. .. _cssmin: http://pypi.python.org/pypi/cssmin/