Changelog
=========

0.9.1
^^^^^^
* Fix issue with cocos2d output format #131 (Thanks lzubiaur).

0.9
^^^
* This version solves lots of design flaws glue had since it was created two years ago. At the very beginning, glue was created as a single-file script to create css sprites. After two years of development, an outstanding support from the community and an incredible support from lots of companies it's time to refurbish glue from its foundations ensuring it lasts over time.
* This version introduce a new concept named ``Formats``. Every output file generated by glue now is created using a format. This change decouples glue's core (as far as possible) from how the output is created allowing glue developers to create different formats without messing glue's core. Fixing #64
* Glue now support two new output formats (cocos2d, json and CAAT). CSS will still be the default output.
* New project layout, algorithms formats and manager now have their own packages.
* Glue now uses ``argparse`` instead of ``optparse``.
* Glue now requires ``Pillow>=2.2``. Fixing #99
* Glue now requires ``Jinja2>=2.7``.
* Glue now uses utf-8 as default encoding for css files. #65
* New (fully rewritten) test suite and test framework in order to make writing tests easier.
* ``--margin`` now supports more than only one margin, you can now use it with (e.g.) ``--margin=10 20 10 20``. Fixes #101
* New ``setup.py`` fixing #110
* New options ``--source`` and ``--output`` will now complement the first and second positional argument.
* New option ``--css-template`` will allow you to choose your own css output `jinja template <http://glue.readthedocs.org/en/latest/templates.html>`_.
* New option ``--scss`` will use ``scss`` as file extension instead of ``css``. Fixing #86
* New option ``--json-format`` will allow to customize the json structure generated by ``--json``.
* New feature: Every settting is now configurable using `environment variables <http://glue.readthedocs.org/en/latest/settings.html>`_ and `configuration files <http://glue.readthedocs.org/en/latest/files.html>`_.
* New option ``--pseudo-class-separator=_``.
* Glue now support multiple css pseudo-classes applied to the same image #87.
* Glue css pseudo-class separator is now ``__`` instead of ``_``. If you want to make ``glue`` work in legacy mode use the new option ``--pseudo-class-separator=_``.
* Glue will not validate css output if ``--no-css`` is present #78.
* Glue CSS media-queries now includes ``min-resolution`` See https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Media_queries#-moz-device-pixel-ratio.
* Several bugs fixed like #70 #93 #94 #108 #109 #110 #115

* This version includes **several** backward incompatible changes - **read this document carefully before upgrading**.

  - Glue will **not** extract padding information from filenames. If you want to customize paddings individualy (per image), you should use `configuration files <http://glue.readthedocs.org/en/latest/files.html>`_.
  - ``--imagemagick`` and ``--imagemagickpath`` are now deprecated. These options were introduced as a workaround in order to solve some scaling glitches caused by ``PIL``. Pillow ``2.2.0`` solves these issues.
  - ``--each-template``, ``--global-template`` and ``--ratio-template`` are now deprecated. CSS output customization can be easily done now using ``--css-template=template.jinja``.
  - ``--ignore-filename-paddings`` is now deprecated. Per-file customization can be easily (and more scalably) done now using configuration files.
  - ``--optipng`` and ``--optipngpath`` are now deprecated. There are lots of png optimization libraries and it would be silly to support all of them. Feel free to optimize your png files using your favourite one.
  - ``--debug`` is now deprecated. If an unhandled Exception is triggered, glue will now automatically show some friendly debug information.


0.4.1
^^^^^
* Make glue require Pillow >= 2.2.2 in order to make it work on Mavericks (Thanks wyuenho).


0.4
^^^
* This version is a transition between glue ``0.3`` and glue ``0.9``.
* The following arguments will now show a deprecation warning:

  - ``--imagemagick``
  - ``--imagemagickpath``
  - ``--global-template``
  - ``--each-template``
  - ``--ratio-template``
  - ``--ignore-filename-paddings``
  - ``--optipng``
  - ``--optipngpath``
  - ``--debug``

0.3
^^^
* New ``--imagemagick`` option. If present, glue will use ImageMagick to scale down retina sprites instead of Pillow #72.
* New ``--imagemagickpath`` option #72.
* Soft 2px default for margin no longer exists #73.
* Fix how glue choose which classes to add to the global scope in order to add pseudo-classes if needed #77.
* Fix camelcase separator as it wasn't preserving original case #74.
* Fix sprites containing images with filenames included in PSEUDO_CLASSES #59.

0.2.9.1
^^^^^^^
* Fix ProjectSpriteManager issues.

0.2.9
^^^^^^^
* Improve error messages.
* Added variable ``identifier`` to ``--each-template``.
* Glue now require ``Pillow==1.7.8``

0.2.8.1
^^^^^^^
* Fix maximum recursion depth issues in ``ConfigManager``
* Update Documentation.

0.2.8
^^^^^
* New ``--recursive`` option.
* New ``--follow-links`` option.
* New ``--sprite-namespace`` option.
* Speed up improvement: Glue is now 1.3x faster in a cold run.
* Speed up improvement: Glue is now 14x faster for already created sprites.
* Glue now store some metadata inside the generated sprites in order to not rebuild them again if the source images and settings are the same.
* New ``--force`` option to make glue rebuild the sprites.
* New ``--no-img`` and ``--no-css`` options.
* Fix some CSS aligment issues related with odd sized images.
* A soft default of 2px of margin is going to be added while using glue with ``--ratios`` or ``--retina`` in order to fix scaling noise.
* Fix ``--url`` in order to override relative path calculated by ``--img`` and ``--css``.

0.2.7
^^^^^
* Glue now require Pillow instead of PIL (http://pypi.python.org/pypi/Pillow/)
* Improve compatibility with less allowing variables in the urls (Thanks rafeca).
* Fix cachebuster issues with --retina and --url

0.2.6.1
^^^^^^^^
* Fix bug with images that only contain digits like. Thanks to Russ Ferriday and Paul Hallett.
* Make possible read optipng related configuration from static configuration files.

0.2.6
^^^^^^
* Added support for multi-dpi (retina) sprite creation.
* New ``--ratios`` and ``--retina`` options.
* New option ``--debug``
* Performance improvements. ~10% on big sprites.

0.2.5
^^^^^^
* New ``--watch`` option to keep glue running in the background watching file changes.
* New option ``--html`` that generates a html using all the available css classes.
* New option ``--margin`` that adds margins around the sprited images. This margin doesn't count as image size.
* Add MANIFEST.in and tune the setup.py preparing the Debian/Ubuntu package.
* Fix _locate_images to be deterministic.
* Add support to Travis CI.
* Fix 8bit B/W images bug.

0.2.4
^^^^^^
* Better error handling: Glue will now return non zero return codes if something goes wrong.

0.2.3
^^^^^^
* Fix ``--version``
* Fix the camelcase ``--separator`` to not lowercase the filename before the capitalization.

0.2.2
^^^^^^
* New feature: Per-file pseudo-class customization.
* Added support for 8bit bg images.
* Added support for digit-only images.
* Fix newline characters support on ``--global-template`` and ``--each-template``.
* New algoritms ``vertical-right`` and ``horizontal-bottom``.
* New option ``--separator``: Customizable CSS class name separator.

0.2.1
^^^^^^
* New command line argument ``--global-template``.
* New command line argument ``--each-template``.
* ``-z`` and ``--no-size`` arguments are now deprecated.

0.2
^^^^^
* The default behaviour of glue is now the old ``--simple`` one.
* The old default behaviour (multiple-sprites) is now accesible using --project
* ``--simple`` argument is now deprecated
* New ordering algorithms square, horizontal, vertical and diagonal.
* New command line argument ``--ordering``.
* New command line argument ``--cachebuster-filename``.
* Old algorithms maxside, width, height and area are now orderings.
* Glue now ignore folders that start with a '.'
* CSS files will now avoid using quotes around the sprite filename.
* New ``-v``, ``--version`` option.
* Fix bugs.
* New test suite.



0.1.9
^^^^^
* New command line argument ``-z``, ``--no-size`` to avoid adding the image width and height to the sprite.
* New command line argument ``--png8`` forces the output image format to be png8 instead of png32.
* Improve CSS parsing performance removing bloat in the CSS.
* Improved documentation.
