324 lines
9.8 KiB
Plaintext
324 lines
9.8 KiB
Plaintext
Changelog
|
|
=========
|
|
|
|
v1.2 (in development)
|
|
---------------------
|
|
|
|
- Added compatibility with Django 1.4 and dropped support for Django 1.2.X.
|
|
|
|
- Added contributing docs. Be sure to check them out and start contributing!
|
|
|
|
- Moved CI to Travis: http://travis-ci.org/jezdez/django_compressor
|
|
|
|
- Introduced a new ``compressed`` context dictionary that is passed to
|
|
the templates that are responsible for rendering the compressed snippets.
|
|
|
|
This is a **backwards-incompatible change** if you've overridden any of
|
|
the included templates:
|
|
|
|
- ``compressor/css_file.html``
|
|
- ``compressor/css_inline.html``
|
|
- ``compressor/js_file.html``
|
|
- ``compressor/js_inline.html``
|
|
|
|
The variables passed to those templates have been namespaced in a
|
|
dictionary, so it's easy to fix your own templates.
|
|
|
|
For example, the old ``compressor/js_file.html``::
|
|
|
|
<script type="text/javascript" src="{{ url }}"></script>
|
|
|
|
The new ``compressor/js_file.html``::
|
|
|
|
<script type="text/javascript" src="{{ compressed.url }}"></script>
|
|
|
|
- Removed old templates named ``compressor/css.html`` and
|
|
``compressor/js.html`` that were originally left for backwards
|
|
compatibility. If you've overridden them, just rename them to
|
|
``compressor/css_file.html`` or ``compressor/js_file.html`` and
|
|
make sure you've accounted for the backwards incompatible change
|
|
of the template context mentioned above.
|
|
|
|
- Reverted an unfortunate change to the YUI filter that prepended
|
|
``'java -jar'`` to the binary name, which doesn't alway work, e.g.
|
|
if the YUI compressor is shipped as a script like
|
|
``/usr/bin/yui-compressor``.
|
|
|
|
- Changed the sender parameter of the :func:`~compressor.signals.post_compress`
|
|
signal to be either :class:`compressor.css.CssCompressor` or
|
|
:class:`compressor.js.JsCompressor` for easier customization.
|
|
|
|
- Correctly handle offline compressing files that are found in ``{% if %}``
|
|
template blocks.
|
|
|
|
- Renamed the second option for the ``COMPRESS_CSS_HASHING_METHOD`` setting
|
|
from ``'hash'`` to ``'content'`` to better describe what it does. The old
|
|
name is also supported, as well as the default being ``'mtime'``.
|
|
|
|
- Fixed CssAbsoluteFilter, ``src`` attributes in includes now get transformed.
|
|
|
|
- Added a new hook to allow developers to completely bypass offline
|
|
compression in CompressorNode subclasses: ``is_offline_compression_enabled``.
|
|
|
|
v1.1.2
|
|
------
|
|
|
|
- Fixed an installation issue related to versiontools.
|
|
|
|
v1.1.1
|
|
------
|
|
|
|
- Fixed a stupid ImportError bug introduced in 1.1.
|
|
|
|
- Fixed Jinja2 docs of since ``JINJA2_EXTENSIONS`` expects
|
|
a class, not a module.
|
|
|
|
- Fixed a Windows bug with regard to file resolving with
|
|
staticfiles finders.
|
|
|
|
- Stopped a potential memory leak when memoizing the rendered
|
|
output.
|
|
|
|
- Fixed the integration between staticfiles (e.g. in Django <= 1.3.1)
|
|
and compressor which prevents the collectstatic management command
|
|
to work.
|
|
|
|
.. warning::
|
|
|
|
Make sure to **remove** the ``path`` method of your custom
|
|
:ref:`remote storage <remote_storages>` class!
|
|
|
|
v1.1
|
|
----
|
|
|
|
- Made offline compression completely independent from cache (by writing a
|
|
manifest.json file).
|
|
|
|
You can now easily run the :ref:`compress <pre-compression>` management
|
|
command locally and transfer the :attr:`~django.conf.settings.COMPRESS_ROOT`
|
|
dir to your server.
|
|
|
|
- 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_ :doc:`contrib extension </jinja2>`.
|
|
|
|
- Made sure the rel attribute of link tags can be mixed case.
|
|
|
|
- Avoid overwriting context variables needed for compressor to work.
|
|
|
|
- Stopped the compress management command to require model validation.
|
|
|
|
- Added missing imports and fixed a few :pep:`8` issues.
|
|
|
|
.. _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.<KEY>'``.
|
|
|
|
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<compressor.signals.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
|
|
:attr:`~django.conf.settings.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 <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 <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 :attr:`~django.conf.settings.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 <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/
|
|
|