Django-compressor

Latest version: v4.5.1

Safety actively analyzes 685670 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 7

1.5

-----------------

`Full list of changes from v1.4 <https://github.com/django-compressor/django-compressor/compare/1.4...1.5>`_

- Fix compress command and run automated tests for Django 1.8

- Fix Django 1.8 warnings

- Handle TypeError from import_module

- Fix reading UTF-8 files which have BOM

- Fix incompatibility with Windows (shell_quote is not supported)

- Run automated tests on Django 1.7

- Ignore non-existent {{ block.super }} in offline compression instead of raising AttributeError

- Support for clean-css

- Fix link markup

- Add support for COMPRESS_CSS_HASHING_METHOD = None

- Remove compatibility with old 'staticfiles' app

- In compress command, use get_template() instead of opening template files manually, fixing compatibility issues with custom template loaders

- Fix FilterBase so that does not override self.type for subclasses if filter_type is not specified at init

- Remove unnecessary filename and existence checks in CssAbsoluteFilter

1.4

-----------------

- Added Python 3 compatibility.

- Added compatibility with Django 1.6.x and dropped support for Django 1.3.X.

- Fixed compatibility with html5lib 1.0.

- Added offline compression for Jinja2 with Jingo and Coffin integration.

- Improved support for template inheritance in offline compression.

- Made offline compression avoid compressing the same block multiple times.

- Added a ``testenv`` target in the Makefile to make it easier to set up the
test environment.

- Allowed data-uri filter to handle external/protocol-relative references.

- Made ``CssCompressor`` class easier to extend.

- Added support for explicitly stating the block being ended.

- Added rcssmin and updated rjsmin.

- Removed implicit requirement on BeautifulSoup.

- Made GzipCompressorFileStorage set access and modified times to the same time
as the corresponding base file.

- Defaulted to using django's simplejson, if present.

- Fixed CompilerFilter to always output Unicode strings.

- Fixed windows line endings in offline compression.

1.3

-----------------

- *Backward incompatible changes*

- Dropped support for Python 2.5. Removed ``any`` and ``walk`` compatibility
functions in ``compressor.utils``.

- Removed compatibility with some old django settings:

- :attr:`~COMPRESS_ROOT` no longer uses ``MEDIA_ROOT`` if ``STATIC_ROOT`` is
not defined. It expects ``STATIC_ROOT`` to be defined instead.

- :attr:`~COMPRESS_URL` no longer uses ``MEDIA_URL`` if ``STATIC_URL`` is
not defined. It expects ``STATIC_URL`` to be defined instead.

- :attr:`~COMPRESS_CACHE_BACKEND` no longer uses ``CACHE_BACKEND`` and simply
defaults to ``default``.

- Added precompiler class support. This enables you to write custom precompilers
with Python logic in them instead of just relying on executables.

- Made CssAbsoluteFilter smarter: it now handles URLs with hash fragments or
querystring correctly. In addition, it now leaves alone fragment-only URLs.

- Removed a ``fsync()`` call in ``CompilerFilter`` to improve performance.
We already called ``self.infile.flush()`` so that call was not necessary.

- Added an extension to provide django-sekizai support.
See :ref:`django-sekizai Support <django-sekizai_support>` for more
information.

- Fixed a ``DeprecationWarning`` regarding the use of ``django.utils.hashcompat``

- Updated bundled ``rjsmin.py`` to fix some JavaScript compression errors.

1.2

----

- 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/django-compressor/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 always 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``.

- Dropped versiontools from required dependencies again.

1.1.2

------

- Fixed an installation issue related to versiontools.

1.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!

Page 4 of 7

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.