--- title: Compass History crumb: CHANGELOG body_id: changelog layout: article --- COMPASS CHANGELOG ================= 0.10.0.rc5 (Unreleased) ----------------------- * [Rails] The default location for compass extensions has moved from `vendor/plugins/compass/extensions` to `vendor/plugins/compass_extensions`. * [Compass Core] Global reset no longer automatically resets the *:focus. This allows browsers to use their default :focus styles which is considered a best practice. If you wish to reset :focus styles simply include this in your stylesheets: `*:focus { @include reset-focus; }` * [Compass Core] A new mixin `replace-text-with-dimensions` has been added. This is the same as the `replace-text` mixin except that it will read the dimensions from the image and set them for you on the element. * [Compass Core] If you want Firefox 2 Support (via -moz-binding) for the `ellipsis` mixin, you must now set `$firefox2-ellipsis` to `true` before importing the module. * [Compass Core] The `compass/text/ellipsis` module is now imported automatically by the `compass/text` module. * [Compass Core] The gradient mixins now accept a background image that will be placed over the gradient. Credit: [Will Leinweber](http://bitfission.com/) 0.10.0.rc4 (April 27, 2010) --------------------------- * Lot of new docs can be found at: [http://compass-style.org/docs/](http://compass-style.org/docs/). * The `unobtrusive-logo` mixin is deprecated and will be removed. If you use this, please move the source to your project. * The CSS3 modules were refactored to share a common implementation that abstracts the browser prefixes that are supported and gives greater control to the user over which prefixes are generated. Depending on what mixins you were using you might see some changes to what prefixes get generated by default and the order that they are emitted. The goal of this change is to provide a more future-proof implementation. * The unnecessary import of the `float` module from the `hacks` module was removed. If you were relying on this, you'll need to import the float module explicitly now. * The `pretty-bullets` mixin will now infer the image dimensions by reading the image file if the image dimensions are not provided. * The old CLI is now deprecated and a warning message will be printed out if you use it. The new CLI is better and can be learned by typing `compass help`. Credit: [Alexander Kahn](http://akahn.net) * The `background-clip` mixin now accepts the value of `text`. Credit: [Thomas Reynolds]() * The display: box model and associated properties are now part of the css3 module. Credit: [Lorin Tackett](http://blog.lorintackett.com/) * The compass gem is now built with a simple `gem build compass.gemspec`. This should make it play nicer with tools like [bundler](http://gembundler.org/). 0.10.0.rc3 (April 13, 2010) --------------------------- * This release addresses several bugs in rc2. 0.10.0.rc2 (April 12, 2010) --------------------------- **IMPORTANT:** * Compass now depends on Sass 3 -- Please be prepared to upgrade. Things won't break but you'll have a lot of deprecation warnings. Upgrading is pretty easy thanks to the `sass-convert` tool. See the [Sass Changelog](http://beta.sass-lang.com/docs/yardoc/file.SASS_CHANGELOG.html) for more information. * All compass stylesheets are now written in the SCSS syntax, if you import compass framework stylesheets with an explicit `.sass` extension, then you'll receive deprecation warnings directing you to update your stylesheets. * A new command line switch `--syntax` (or `-x`) has been added to commands that install stylesheets into your project that allows you to select the syntax to use (scss or sass) * A new configuration option `preferred_syntax` now exists and defaults to `:scss`. Please update your project's configuration file with `preferred_syntax = :sass` if you prefer to use the indentation-based syntax. * You may silence deprecation warnings by adding `sass_options = {:quiet => true}` to your configuration. 0.10.0.pre9 (March 6, 2010) --------------------------- * Fix a ruby 1.9 bug in the image_size helper functions for jpeg images. * Silence a deprecation warning. 0.10.0.pre7 & 0.10.0.pre8 (February 23, 2010) --------------------------------------------- * Rails 3 compatibility fixes * Fix for rgba colors with the new gradient mixins * A better error message if a color stop list is not passed in to the gradient mixins. 0.10.0.pre6 (February 22, 2010) ------------------------------- **IMPORTANT:** * Rails users need to update their compass initializer. * The CSS 3 Gradient mixins were re-written and their usage has changed. Read on for the details: ### CLI * Fixed some issues with colorized output. * Don't force the user to specify the configuration path when calling compass config ### Compass Core * Fix to the bang_hack mixin (Credit: Mark Rajcok) * Support :first-child and :last-child pseudo selectors for +horizontal-list. (Credit: Cody Robbins) * Clear the sticky footer so that it works correctly with grid layouts. * The css3 gradient module has been re-written and has a new, much simpler mixins. If you have been using the css3 gradient mixins, you'll need to update your sass stylesheets. The new mixins can be seen in action [here](http://compass-style.org/examples/css3/gradients.html). * Added new helper functions: `image_width("path/to/image.png")` & `image_height("path/to/image.png")` that return the size in pixels. (Credit: Deepak Jois & Richard Aday) ### Blueprint * Take margins into account in liquid grid. (Credit: Christoffer Eliesen) ### Rails * Several Rails 3 bug fixes (Credit: Jacques Crocker) * Don't set unset options on the Sass::Plugin * Fixed a setup bug and handle compass configuration changes at rails boot. **IMPORTANT:** Existing rails projects _must_ change their compass initializer file to: require 'compass' rails_root = (defined?(Rails) ? Rails.root : RAILS_ROOT).to_s Compass.add_project_configuration(File.join(rails_root, "config", "compass.rb")) Compass.configure_sass_plugin! Compass.handle_configuration_change! ### Internals * New APIs for dealing with configuration changes and accessing a compiler instance. * Provide a convenience function for discovering extensions: `Compass.discover_extensions!` that can be called during project configuration w/ other ruby frameworks. ### Extensions * Don't force an extension to register itself just because it has ruby code. This makes it easier for extensions to provide Sass functions from ruby. Special thanks to Daniel Hofstetter for fixing my typos. 0.10.0.pre5 (January 18, 2010) ------------------------------ * Fixed a bug in the grid builder in ruby 1.8.6 (Credit: [Richard Wöber][der-rich]) * Better sudo handling for the rails installer via environment variables or prompt. (Credit: Ryan Shaw, Evan Sharp) * Removed support for the rip package manager. * Support for scss files in the compass watcher. * Cache buster timestamps were not working in some cases. * Make ANSI color output work on windows. * Command line switch (--boring) to turn off colorized output. * Strip trailing slash from directory and path configuration variables. * Added a --poll option to the compass watch subcommand to force polling. * Fixed a test failure in ruby 1.9 due to faulty test code. * Move the frameworks directory back to the top level. There's not actually a good reason for it to be buried in the ruby source. * Upgrade FSSM. (Hopfully) Fixes a watcher issue that caused the watcher to not trigger for some users. * Silence a deprecation warning in Rails 3. 0.10.0.pre4 (January 04, 2010) ------------------------------ * Fixed an FSSM loading issue that broke the compass watcher. * Fixed some compatibility issues with edge versions of Sass. 0.10.0.pre3 (January 02, 2010) ------------------------------ Bug fixes: * [Blueprint] Bug Fix: variable referenced in a non-script context within the dquo mixin in the fancy_type module. * [Rails] fixed win32 sudo incompatibility issue in the rails installer template. (Credit: [Jonathan Silverman][jsilver]) * [Rails] Update the gem dependencies for the rails installer template. * If the configuration file changes, wipe out the sass cache and force compilation * Upgrade the vendored version of FSSM to version 0.1.2. Fixes some bugs with jruby and adds inotify support for linux. (Credit: [Travis Tilley][ttilley]) * Patched hide-text to account for items that are not left aligned. (Credit: [Josh Pyles][pixelmatrix]) Minor Enhancements: * Support for SCSS files if haml edge is installed. * Color any stderr or stdout output from the `Sass::Engine` red during compilation. * [Configuration] The sass cache location can now be set in the compass config file using the `cache_dir` property and the cache can be disabled by setting `cache = false`. * [Compass Core] `+min-height`, `+min-width`, and `+bang-hack` mixins in the compass/utilities/general/min.sass module. (Credit: [Adam Stacoviak][adamstac]) * [Command Line] If you only want to compile certain files, you can now specify them when invoking compass compile. E.g. `compass compile src/foo.sass` * [Compass Core] Split out `+hide-text` as its own mixin. (Credit: [Andrew Vit][avit]) * Some code cleanup for the compass project compiler. * Removed the dependency on RMagic for grid image generation. (Credit: [Richard Wöber][der-rich]) 0.10.0.pre2 (November 30, 2009) -------------------------------- Bug fixes: * The line-height in the compass reset should have been 1 and not 1em. * Fixed the reference in the rails initializer to the compass configuration file. * Use the correct error formatting function based on what sass version is installed. * Boolean properties like line_comments can now be set to false in configuration files 0.10.0.pre1 (November 29, 2009) -------------------------------- Deprecated in this release: * The usless blueprint "modules" folder will be removed. Please update your blueprint imports by removing the modules folder. Deprecation warnings will be emitted if you use the old imports. * Blueprint mixins that used to accept a "body selector" argument, are now deprecated, instead you should pass `true` to them and mix them into the selector of your choice. * If you are using the `+opacity` or `+inline-block` mixins, you may need to update your imports. * In your configuration file, setting `http_images_path` to `:relative` is deprecated in favor of setting `relative_assets` to `true` * The YUI framework has been extracted to a plugin. If you use it, please follow the [installation instructions](http://github.com/chriseppstein/yui-compass-plugin) Command-Line: * The compass command-line tool has been re-written to allow be easier to use and be more flexible. The old command line is still supported at this time. "compass help" will get you started on using the new command line syntax. * Allow specification of a height for the grid image * For the truly hardcore compass users, you may now create a compass project using "compass create my_project --bare" and you'll have a completely bare project created for you with no sass files provided for you. * Get stats on your compass project with "compass stats". You'll need to install the "css_parser" ruby gem to get stats on your css files. Configuration: * The entire configuration infrastructure has been re-written to make it easier to support the various sources of configuration data (project type, config file, command line, and hard coded defaults) * Whether to generate relative links to assets is now controlled by a separate boolean configuration flag called `relative_assets` in the configuration file and `--relative-assets` on the command line. Setting `http_images_path` to `:relative` is deprecated. * You may now configure the http locations for your project by simply setting `http_path` for the top level path of the project. You may also set `http_images_dir`, `http_stylesheets_dir`, and `http_javascripts_dir` relative to the `http_path` instead of setting the absolute `http_XXX_path` counterparts. * You may now configure the fonts directory for your project (fonts_dir). By default, for standalone projects, it is the "fonts" subdirectory of your css directory. Rails projects will default to "public/fonts". Compass Core: * A new helper function `stylesheet_url(path)` can now be used to refer to assets that are relative to the css directory. * Compass sprite mixins are now more flexible and feature rich. * Fixed the append_selector function to allow comma-delimited selectors for both arguments instead of just the first * There is no longer any outline on unstyled links in the :active and :focused states. * IE6 bug fixes for sticky-footer * New CSS3 Compatibility Mixins. You can import them all with `@import compass/css3.sass` * `+opacity(amount)` where amount should be between 0 and 1, where 0 is transparent and 1 is opaque. * `+opaque` and `+transparent` mixins for convenience. Built on top of the opacity mixin. * `+border-radius(amount)` as well as the following convenience mixins: * `+border-top-left-radius(amount)` * `+border-top-right-radius(amount)` * `+border-top-right-radius(amount)`, * `+border-bottom-left-radius(amount)` * `+border-bottom-right-radius(amount)` * `+border-top-radius(amount)` * `+border-right-radius(amount)` * `+border-left-radius(amount)` * `+border-bottom-radius(amount)` * `+box-shadow(!horiz_offset, !vert_offset, !blur, !color)` * `+box-sizing(!sizing_mode)` * Column support via the following mixins: * `+column-count` * `+column-gap` * `+column-width` * `+column-rule-width` * `+column-rule-style` * `+column-rule-color` * `+column-rule` * `+background-clip(clip)` where clip can be `padding-box` or `border-box` * `+background-origin(origin)` where origin can be `padding-box`, `border-box`, or `content-box` * `+background-size(size)` where size is a width and height. E.g. "50% 75%" * `+font-face` should be mixed into the top level of your document. Usage Example: `+font-face("this name", font-files("this.woff", "woff", "this.otf", "opentype"), "fonts/this.eot", "thisname")` * Simple Background Gradient Support: * `+gradient` - Generic background gradient mixin * `+radial-gradient` - Radial gradient mixin * `+linear-gradient` - Linear gradient mixin * `+h-gradient` - Horizontal linear gradient mixin * `+v-gradient` - Vertical linear gradient mixin * `+text-shadow` - Create a text shadow effect. * Transforms Support: * `+transform` * `+scale` * `+rotate` * `+translate` * `+skew` * Transition Support: * `+transition-property` * `+transition-duration` * `+transition-timing-function` * `+transition-delay` * `+transition` * The import for `+inline-block` has moved from compass/utilities/general/inline_block to compass/css3/inline_block * The import for `+opacity` has moved from compass/utilities/general/opacity to compass/css3/opacity * Note: If you are using the `+opacity` or `+inline-block` mixins, you may need to update your imports. Blueprint: * Make the primary blueprint mixins easier to use by allowing them to be nested when passing true as the first argument. The old approach of passing a selector as the first argument is now deprecated in favor of a simple flag to indicate nesting or not. YUI: * YUI was upgraded to 2.7.0 * Yahoo has deprecated the YUI CSS framework, as such YUI has been extracted to a plugin. If you use it, please install it with: `sudo gem install compass-yui` Extensions: * Extensions can now be installed locally by unpacking them into a project's "extensions" directory. Rails projects use "vendor/plugins/compass/extenstions". * Extensions can deliver html to projects if they like. The html can be in haml and will be transformed to html and can contain inline, compass-enabled sass. * All files can be processed using ERB before being copied into the user's project. * Compass extensions can now add support for other application frameworks. These extensions can help compass understand the project structure of that framework as well as provide runtime integration for ruby-based apps. Contact me if you plan to do this -- the first couple times may be a little rough. * Compass extensions can now add new command line commands. Contact me if you plan to do this -- the first couple times may be a little rough. * Extensions can now provide help documentation just after a project is created and on demand when the user uses the command line help system. This can be done via the manifest file or by adding a USAGE.markdown file at the top level of the framework template. Miscellaneous: * The compass configuration object is no longer a singleton, this makes it possible for other ruby software to manage multiple compass projects at a time. * Compass no longer requires rubygems in order to work, this is a ruby best-practice. * All sass provided by compass now uses css-style property syntax. * The command line tool is now tested using the cucumber testing framework. Many thanks to the following Contributors: * Brandon Mathis - CSS3 (+opacity, +border-radius) and sprites * Eric Meyer - CSS3 (+box-shadow, +columns, +box-sizing) * Jacques Crocker - Merb Compatibility fixes * Gabriel Mansour - Fixes to +unstyled-link * John Debs - IE6 Fixes for +sticky-footer * Brian Johnson - Upgraded to YUI 2.7.0 * Beau Smith - fixing my dyslexia. 0.8.17 (September 24, 2009) --------------------------- * The enumerate function now accepts an optional fourth parameter that specifies the separator to be used. Enables fixing a bug in the Compass 960 Plugin. 0.8.16 (September 12, 2009) --------------------------- * Fixed a bug in compass that assumed compass extensions would provide stylesheets. 0.8.15 (September 5, 2009) -------------------------- * Upgrade the FSSM library to 0.0.6 to fix bugs on windows. 0.8.14 (September 2, 2009) -------------------------- * Upgrade the FSSM library to 0.0.4 to fix bugs and enable FS Events on Mac OS. 0.8.13 (August 30, 2009) ------------------------ * [Blueprint] Mixins have been added for these as +prepend-top and +append-bottom and grid classes will be generated by +blueprint-grid. * [Command Line] The watch mode has been re-implemented to use the FSSM library by Travis Tilley. OSX users will now have support for filesystem monitoring. Fixes an infinite looping bug that occured with syntax users. 0.8.12 (August 22, 2009) ------------------------ Bug Fix Release: * [Compass Core] Bug fix to sprites: fixed width and height assignments for x and y position variables * Ruby 1.9.1 fix: binding for parse_string * [Rails] Don't suggest creating a stylesheet link to partials. 0.8.10 (August 16, 2009) ------------------------ Bug Fix Release: * Write files in binary mode to avoid data corruption when installing images on windows. Fixes [Issue #39](http://github.com/chriseppstein/compass/issues/#issue/39) 0.8.9 (August 9, 2009) ---------------------- Bug Fix Release: * [Blueprint] The default screen.sass generated invalid selectors due to improper nesting. A better fix is coming in the next release. 0.8.8 (July 21, 2009) --------------------- Bug Fix Release: * [Compass Core] Fixed a bug in alternating_rows_and_columns. Improper nesting caused some styles to be improperly rendered. [Commit](http://github.com/chriseppstein/compass/commit/e277ed2cd3fded0b98ddaa87fc4d3b9d37cb7354) * [YUI] Fixed a bug in yui grids where the .first div wouldn't get the right styles in some rare cases due to incorrect nesting. [Commit](http://github.com/chriseppstein/compass/commit/4bfcef4f376ee6e5d5a2b47419d2f21ef4c6eff8) 0.8.7 (July 09, 2009) --------------------- Bug Fix Release: * Load haml-edge only if it's all new and shiny. Closes GH-26. [Commit](http://github.com/chriseppstein/compass/commit/59a6067b3a67a79bfd9a5ce325fc1be4bb6c9e78) * [Blueprint] Added more descriptive comments to the Blueprint IE template. [Commit](http://github.com/chriseppstein/compass/commit/8684966be1e8166a986ae81abd3daf6c44ed4f94) * [Rails] Fixed a bug in rails integration if the request is not set on the controller. [Commit](http://github.com/chriseppstein/compass/commit/7fba6028d8073a9124a6505aab9246b5b459db34) * [Blueprint] Fixed a bug in the calculations for the +colborder mixin. Closes GH-25. [Commit](http://github.com/chriseppstein/compass/commit/d2b1370c80a32f70ae6ec94126b737f4f0fc0851) 0.8.6 (July 08, 2009) --------------------- ### Rails * The rails installer now correctly references the haml 2.2 dependency. [Commit](http://github.com/chriseppstein/compass/commit/85bb337f50a3a3dfaafa2820d5463f7296140c9e) by [Filip Tepper][filiptepper]. * When installing into a new rails project, set the http paths correctly for stylesheets and javascripts in the configuration file. [Commit](http://github.com/chriseppstein/compass/commit/94e9696b30a9a9fd750c45e6fe3c2bc93eba506a) * Fixed a bug in asset hosts support when compiling outside the context of a controller. [Commit](http://github.com/chriseppstein/compass/commit/6b8bbd22b13ef4c329777913a633948e66e3da99) ### Command Line * Fixed a bug that caused the output after installing to not display the conditional comments. [Commit](http://github.com/chriseppstein/compass/commit/48a0356ad8bc7b965e64f82498a9adcc1872abad) ### Compass Core * Fixed a copy & paste error in image_url() that caused the http_images_path to not get picked up unless the http_stylesheets_path was also set. [Commit](http://github.com/chriseppstein/compass/commit/b7a9772efb89b2b882d3fafe02813c0fc650719a) 0.8.5 (July 06, 2009) --------------------- The Compass::TestCase class now inherits from ActiveSupport::TestCase if it exists. [Commit](http://github.com/chriseppstein/compass/commit/71d5ae8544d1c5ae49e28dcd6b3768fc39d7f01c) 0.8.4 (July 06, 2009) --------------------- Fixed a bug in rails integration introduced in 0.8.3. 0.8.3 (July 06, 2009) --------------------- Note: Compass now depends on the stable release of haml with version 2.2.0 or greater. ### Compass Core * A new helper function `stylesheet_url(path)` can now be used to refer to assets that are relative to the css directory. [Commit](http://github.com/chriseppstein/compass/commit/ff5c8500144272ee2b94271b06cce1690cbbc000). * Cross browser ellipsis mixin is now available. Use `compass -p ellipsis` to install it into your project since it requires some additional assets. [Commit](http://github.com/chriseppstein/compass/commit/3d909ceda997bdcde2aec09bd72e646098389e7d). ### Blueprint * The +colruler mixin now accepts an argument for the color. [Commit](http://github.com/chriseppstein/compass/commit/a5393bbb7cd0941ab8add5be188aea1d6f9d4b00) by [Thomas Reynolds][tdreyno]. ### Extensions * A bug was fixed related to how javascript installation as part of an extension manifest. [Commit](http://github.com/chriseppstein/compass/commit/a5393bbb7cd0941ab8add5be188aea1d6f9d4b00) by [dturnbull][dturnbull]. * When installing a file, the :like option can now be set to have it installed into the same location as what it is like. E.g. `file 'foo.xml', :like => :css` will install the foo.xml file into the top level of the project's css directory. [Commit](http://github.com/chriseppstein/compass/commit/21cfce33db81e185ce5517818844a9849b5a836e). ### Configuration * Setting `http_images_path` to `:relative` is now **deprecated**. Instead, please set `relative_assets` to `true`. [Commit](http://github.com/chriseppstein/compass/commit/956c437fe9ffaad08b6b34d91b6cfb80d6121a2f). * New configuration option `http_path` can be used to set the project's path relative to the server's root. Defaults to "/". The http paths to images, stylesheets, and javascripts are now assumed to be relative to that path but can be overridden using the `http_images_path`, `http_css_path`, `http_javascripts_path`. [Commit](http://github.com/chriseppstein/compass/commit/6555ab3952ae37d736d54f43ee7053c2a88f4a69). ### Command Line * A new command line option `--relative-assets` can be used to cause links to assets generated via compass helper functions to be relative to the target css file. [Commit](http://github.com/chriseppstein/compass/commit/956c437fe9ffaad08b6b34d91b6cfb80d6121a2f). 0.8.2 (July 04, 2009) --------------------- Fixed a bug that caused touch to fail on windows due to open files. (Contributor: Joe Wasson) 0.8.1 ----- Fixed some build issues and a bug in the rewritten --watch mode that caused changes to partials to go unnoticed. 0.8.0 ----- ### Rails * image_url() now integrates with the rails asset handling code when stylesheets are generated within the rails container. **This causes your rails configuration for cache busting and asset hosts to be used when generating your stylesheets**. Unfortunately, all that code runs within the context of a controller, so the stylesheets have to be generated during first request to use this functionality. If you need to compile stylesheets offline, use the compass configuration file to set the asset_host and asset_cache_buster. [Commit](http://github.com/chriseppstein/compass/commit/998168160b11c8702ded0a32820ea15b70d51e83). * An official Rails template for Compass is now [provided][rails_template]. [Commit](http://github.com/chriseppstein/compass/commit/f6948d1d58818ef8babce8f8f9d775562d7cd7ef) by [Derek Perez][perezd]. ### Blueprint * The Blueprint port has been upgraded to match Blueprint 0.9. The following changes were made as part of that project: * Removed body margins from blueprint scaffolding by default. The old body styles can be reinstated by mixing +blueprint-scaffolding-body into your body selector(s). [Commit](http://github.com/chriseppstein/compass/commit/45af89d4c7a396fae5d14fab4ef3bab23bcdfb6a) by [Enrico Bianco][enricob]. * A bug in the calculations affecting the +colborder mixin has been fixed. [Commit](http://github.com/chriseppstein/compass/commit/4b33fae5e5c5421580ba536116cb10194f1318d1) by [Enrico Bianco][enricob]. Related [commit](http://github.com/chriseppstein/compass/commit/0a0a14aab597d2ec31ff9d267f6ee8cfad878e10). * Blueprint now has inline form support. Mix +blueprint-inline-form into a form selector to make it inline. [Commit](http://github.com/chriseppstein/compass/commit/56c745b939c763cfcc5549b54979d48ab1309087) by [Enrico Bianco][enricob]. * Please update the conditional comment that surrounds your IE stylesheet to use "lt IE 8" as the condition as these styles are not needed in IE8. New blueprint projects will now use this conditional as their default. [Commit](http://github.com/chriseppstein/compass/commit/77f6e02c0ec80d2b6fd19e611ced02be003c98ae) by [Enrico Bianco][enricob]. * Explicitly define image interpolation mode for IE so that images aren't jagged when resizing. [Commit](http://github.com/chriseppstein/compass/commit/63075f82db367913efcce5e1d0f5489888e86ca4) by [Enrico Bianco][enricob]. * When starting a new project based on Blueprint, a more complete screen.sass file will be provided that follows compass best practices instead of matching blueprint css exactly. A partials/_base.sass file is provided and already set up for blueprint customization. [Commit](http://github.com/chriseppstein/compass/commit/11b6ea14c3ee919711fa4bdce349f88b64b68d51) * The sizes and borders for form styling can now be altered via mixin arguments. [Commit](http://github.com/chriseppstein/compass/commit/b84dd3031b82547cff8e1ef1f85de66d98cd162b) by [Thomas Reynolds][tdreyno]. * Grid borders can now be altered via mixin arguments. [Commit](http://github.com/chriseppstein/compass/commit/0a0a14aab597d2ec31ff9d267f6ee8cfad878e10) by [Thomas Reynolds][tdreyno]. * The reset file for blueprint has moved from compass/reset.sass to blueprint/reset.sass. Please update your imports accordingly. Also note that some of the reset mixin names have changed (now prefixed with blueprint-*). [Commit](http://github.com/chriseppstein/compass/commit/2126240a1a16edacb0a758d782334a9ced5d9116) by [Noel Gomez][noel]. ### Compass Core * **Sprites**. A basic sprite mixin is now available. Import compass/utilities/sprites.sass and use the +sprite-img mixin to set the background image from a sprite image file. Assumes every sprite in the sprite image file has the same dimensions. [Commit](http://github.com/chriseppstein/compass/commit/1f21d6309140c009188d350ed911eed5d34bf02e) by [Thomas Reynolds][tdreyno]. * **Reset**. The compass reset is now based on [Eric Meyer's reset](http://meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded/). which makes no attempt to apply base styles like the blueprint reset does. **Existing compass projects will want to change their reset import to point to blueprint/reset.sass** -- which is where the old default reset for compass projects now lives -- see the blueprint notes above for more information. [Commit](http://github.com/chriseppstein/compass/commit/2126240a1a16edacb0a758d782334a9ced5d9116) by [Noel Gomez][noel]. * A bug was fixed in the tag_cloud mixin so that it actually works. [Commit](http://github.com/chriseppstein/compass/commit/be5c0ff6731ec5e0cdac73bc47f5603c3db899b5) by [Bjørn Arild Mæland][Chrononaut]. ### Sass Extensions * The inline_image(image_path) function can now be used to generate a data url that embeds the image data in the generated css file -- avoiding the need for another request. This function works like image_url() in that it expects the image to be a path relative to the images directory. There are clear advantages and disadvantages to this approach. See [Wikipedia](http://en.wikipedia.org/wiki/Data_URI_scheme) for more details. NOTE: Neither IE6 nor IE7 support this feature. [Commit](http://github.com/chriseppstein/compass/commit/5a015b3824f280af56f1265bf8c3a7c64a252621). ### Configuration * **Asset Hosts**. You can now configure the asset host(s) used for images via the image_url() function. Asset hosts are off unless configured and also off when relative urls are enabled. [Commit](http://github.com/chriseppstein/compass/commit/ef47f3dd9dbfc087de8b12a90f9a82993bbb592e). In your compass configuration file, you must define an asset_host algorithm to be used like so: # Return the same host for all images: asset_host {|path| "http://assets.example.com" } # Return a different host based on the image path. asset_host do |path| "http://assets%d.example.com" % (path.hash % 4) end * **Configurable Cache Buster**. You can now configure the cache buster that gets placed at the end of images via the image_url function. This might be useful if you need to coordinate the query string or use something other than a timestamp. [Commit](http://github.com/chriseppstein/compass/commit/ef47f3dd9dbfc087de8b12a90f9a82993bbb592e) Example: asset_cache_buster do |path, file| "busted=true" end * You can now set/override arbitrary sass options by setting the sass_options configuration property to a hash. [Commit](http://github.com/chriseppstein/compass/commit/802bca61741db31da7131c82d31fff45f9323696). * You can now specify additional import paths to look for sass code outside the project. [Commit](http://github.com/chriseppstein/compass/commit/047be06a0a63923846f53849fc220fb4be69513b). This can be done in two ways: 1. By setting additional_import_paths to an array of paths. 2. By (repeatedly) calling add_import_path(path) * The compass configuration can now be placed in PROJECT_DIR/.compass/config.rb if you so choose. [Commit](http://github.com/chriseppstein/compass/commit/69cf32f70ac79c155198d2dbf96f50856bee9504). ### Command Line * **Watch Improvements** The watch command was rewritten for robustness and reliability. The most important change is that generated css files will be deleted if the originating sass file is removed while watching the project. [Commit](http://github.com/chriseppstein/compass/commit/0a232bd922695f6f659fac9f90466745d4425839). * The images and javascripts directories may now be set via the command line. [Commit](http://github.com/chriseppstein/compass/84aec053d0109923ea0208ac0847684cf09cefc1). * The usage output (-h) of the command-line has been reformatted to make it more readable and understandable. [Commit](http://github.com/chriseppstein/compass/f742f26208f4c5c783ba63aa0cc509bb19e06ab9). * The configuration file being read can now be specified explicitly using the -c option. This also affects the output location of the --write-configuration command. NOTE: The -c option used to be for writing the configuration file, an infrequently used option. [Commit](http://github.com/chriseppstein/compass/d2acd343b899db960c1d3a377e2ee6f58595c6b1). * You can now install into the current working directory by explicitly setting the command line mode to -i and providing no project name. [Commit](http://github.com/chriseppstein/compass/f742f26208f4c5c783ba63aa0cc509bb19e06ab9). ### Compass Internals * Some internal code was reorganized to make managing sass extensions and functions more manageable. * Some internal code was reorganized to make managing ruby application integration more manageable. * The compass unit tests were reorganized to separate rails testing from other tests. * The [Rip Packaging System](http://hellorip.com) is now supported. [Commit](http://github.com/chriseppstein/compass/commit/56f36577c7654b93a349f74abf274327df23402b) by [Will Farrington](http://github.com/wfarr). * A [licence is now available](http://github.com/chriseppstein/compass/blob/master/LICENSE.markdown) making the copyrights and terms of use clear for people who care about such things. 0.6.14 ------ Extracted the css validator to an external gem that is only required if you try to use the validation feature. This makes the compass gem a lot smaller (0.37MB instead of 4MB). To install the validator: sudo gem install chriseppstein-compass-validator --source http://gems.github.com/ 0.6.8 thru 0.6.13 ----------------- The compass gem is now built with Jeweler instead of Echoe. No changes to speak of. These versions were bug fixes and working out the new release process. 0.6.7 ----- Bug fix release. ### Rails The output_style will no longer be set in the compass.config file. Instead compass will use the runtime rails environment to set a sensible default. ### Command Line The Sass cache directory will be placed into the sass directory of the project instead of the directory from where the compass command was ran. ### Compass Core Extracted two new mixins from +horizontal-list. The new +horizontal-list-container and +horizontal-list-item mixins can be used to build your horizontal list when you need more control over the selectors (E.g. when working with nested lists). 0.6.6 ----- The Haml project now releases a gem called haml-edge that is built from the haml master branch instead of stable. Compass now depends on this gem and will continue to do so until haml 2.2 is released. This should reduce the number of installation problems that have been encountered by new users. ### Command Line * Fixed a bug that had broken the --write-configuration (-c) option. * The --force option will now force recompilation. Useful when the stylesheets don't appear to need a recompile according to the file timestamps. ### Unit tests * Some unit tests were cleaned up for clarity and to better take advantage of the compass project management facilities. 0.6.5 ----- ### Compass Core Converted all mixins definitions referencing images to use the new sass function image\_url(). The following mixins were affected: * +pretty-bullets * +replace-text The calls to these mixins should now pass a path to the image that is relative to the images directory of the project. ### Command Line * Required frameworks specified from the command line will now be added into the initial project configuration file. 0.6.4 ----- ### Command Line Added a command line option --install-dir that will emit the directory where compass is installed. Useful for debugging and drilling into the compass examples and libraries. 0.6.3 ----- ### Rails Bug fix: The http_images_path configuration default should be "/images" instead of "/public/images". ### Command Line These changes, coupled with upcoming changes to Sass result in significantly reduced time spent on compilation for large projects. * The compass command line will no longer recompile sass files that haven't changed (taking import dependencies into account). * The compass command line will now respect the -q (quiet) option during compilation. Additionally, the quiet option will be set by default when watching a project for changes. 0.6.2 ----- ### Blueprint Split the push and pull mixins into sub-mixins that separate the common styles from the ones that vary. The generated css when using presentational class names will be smaller as a result. The existing +push and +pull mixins continue to work as expected. The following mixins were added: +push-base +push-margins +pull-base +pull-margins Additonally, the liquid plugin was updated to have a span mixin that matches elsewhere. ### YUI Added Yahoo's version of the css reset. To use it, mix into the top level of your project: @import yui/modules/reset.sass +reset ### Rails * Conditionally defining #blank? on String/NilClass (Erik Bryn ) * Set compass environment in plugin based on RAILS_ENV (Lee Nussbaum ) 0.6.1 ----- Maintenance release that fixes several bugs in the handling of configuration files. 0.6.0 ----- ### New Core Functionality: **Patterns** Patterns give a framework or plugin access to the compass installer framework to install customizable sass, html as well as image and javascript assets. A pattern is a folder in the plugin's templates directory. It must have a manifest file that tells compass what to install and where. Unlike the project template, a pattern can be stamped out any number of times. It is best for pattern stylesheets to only provide example usage to get the user started. All the core styles for the pattern should be distributed as part of the framework's stylesheets as mixins to facilitate easy upgrades and bug fixing on the part of the pattern's maintainer. Example Usage: compass --framework blueprint --pattern buttons Please read the [Wiki Page](http://wiki.github.com/chriseppstein/compass/patterns) for more information. ### New Command-line options: 1. --validate
Validate your project's compiled css. Requires java and probably only works on Mac and Unix. 2. --grid-img [DIMENSIONS]
Generate a background image to test grid alignment. Dimension is given as +. Defaults to 30+10. 3. -p, --pattern PATTERN
When combined with with the --framework option, will stamp a plugin's pattern named PATTERN. 4. -n, --pattern-name NAME
When combined with the --pattern option, the pattern that gets stamped out will be isolated in subdirectories named NAME. 5. -c, --write-configuration
Emit a compass configuration file into the current directory, taking any existing configuration file and any command line options provided into account. (command line options override configuration file options). ### New Sass Functions: Compass projects can call these sass functions within their sass files, if you find them useful. 1. enumerate(prefix, start, end)
Generates selectors with a prefix and a numerical ending counting from start to end. E.g. enumerate("foo", 1, 3) returns "foo-1, foo-2, foo-3" 2. image_url(path)
Uses the compass configuration to convert a path relative to the compass project directory to a path that is either absolute for serving in an HTTP context or that is relative to whatever css file the function was being compiled into. In the future, this function may also tap into the rails asset host configuration. ### New Compass Core Mixins 1. +float-left & +float-right
In order to include fixes for IE's double-margin bug universally, floats were implemented as a utility mixins. These are available by importing compass/utilities/general/float.sass which also imports the clearfix module. 2. +pie-clearfix
Implementation of the [position-is-everything clearfix](http://www.positioniseverything.net/easyclearing.html) that uses content :after. ### Blueprint 0.8 The Compass port of Blueprint has been upgraded from 0.7.1 to 0.8.0. The 0.8.0 release brings many bug fixes and a few backward incompatible changes if you use it's presentational classnames (you don't do that, do you?). Upgrading to 0.8 is automatic when you upgrade to compass 0.6.0. The Blueprint team didn't release a detailed changelog for me to point at here. One of the key features of the release was the inclusion of three new core blueprint plugins (a.k.a. folders you can copy). These are what prompted the development of the compass patterns feature and two of them are packaged as patterns: 1. Buttons
To install: compass --framework blueprint --pattern buttons
Then follow your nose. 2. Link Icons
To install: compass --framework blueprint --pattern link\_icons
Then follow your nose. The third plugin is the RTL (right-to-left) plugin. To use this one, simply import it after the import of the blueprint grid and your mixins will be redefined to work in a left to right manner. Additionally, it provides +rtl-typography mixin that works in conjunction with +blueprint-typography and should be mixed in with it. Lastly, I've rewrote some of the presentational class name generation code so that it very nearly matches the blueprint CSS. Please note that they are not 100% the same because we fix some bugs that are not yet fixed in blueprint-css and we use a different clearfix implementation. ### Bug Fixes 1. A Safari bug related to the +clearfix mixin was resolved. 2. Running the compass command line installer a second time. ### Bugs Introduced Almost definitely. Please let me know if you encounter any problems and I'll get a patch out [tdreyno]: http://github.com/tdreyno [noel]: http://github.com/noel [enricob]: http://github.com/enricob [perezd]: http://github.com/perezd [Chrononaut]: http://github.com/Chrononaut [rails_template]: http://github.com/chriseppstein/compass/raw/4e7e51e2c5491851f66c77abf3f15194f2f8fb8d/lib/compass/app_integration/rails/templates/compass-install-rails.rb [dturnbull]: http://github.com/dturnbull [filiptepper]: http://github.com/filiptepper [pixelmatrix]: http://github.com/pixelmatrix [jsilver]: http://github.com/jsilver [avit]: http://github.com/avit [der-rich]: http://github.com/der-rich [adamstac]: http://github.com/adamstac [ttilley]: http://github.com/ttilley