• Fix packaging issue. #192


  • Fix incorrect order in JSON output #186
  • Stop using utf-8-sig #162
  • Fix several typos in the documentation #165 #181 #182


  • Added support to python 3.3+


  • Make glue only require argparse if sys.version_info is < 2.7 (Thanks Lorenzo)
  • Make glue read project-level configuration files #139 (Thanks Ady Liu)
  • Fix --less-template and --scss-template options.


  • Make the css output prettier #137 (Thanks uberrobert).


  • Fix transparent images cropping #133 (Thanks lzubiaur).
  • Fix CSS format paths on windows #132 (Thanks Most).
  • Fix –cachebuster-filename #135 (Thanks monsanto).
  • New image ordering filename.
  • Fix less retina output #122.
  • New option: --cachebuster-filename-only-sprites #113.
  • Fix existing --cachebuster-filename as it was not cachebusting css files since 0.9 #113.


  • Fix issue with cocos2d output format #131 (Thanks lzubiaur).


  • 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 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.
  • 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 and configuration files.
  • 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
  • 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.
    • --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.


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


  • 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


  • 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.

  • Fix ProjectSpriteManager issues.


  • Improve error messages.
  • Added variable identifier to --each-template.
  • Glue now require Pillow==1.7.8

  • Fix maximum recursion depth issues in ConfigManager
  • Update Documentation.


  • 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.


  • Glue now require Pillow instead of PIL (
  • Improve compatibility with less allowing variables in the urls (Thanks rafeca).
  • Fix cachebuster issues with –retina and –url

  • 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.


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


  • 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 and tune the preparing the Debian/Ubuntu package.
  • Fix _locate_images to be deterministic.
  • Add support to Travis CI.
  • Fix 8bit B/W images bug.


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


  • Fix --version
  • Fix the camelcase --separator to not lowercase the filename before the capitalization.


  • 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.


  • New command line argument --global-template.
  • New command line argument --each-template.
  • -z and --no-size arguments are now deprecated.


  • 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.


  • 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.