--- title: Compass v0.10.0 Beta History crumb: CHANGELOG body_id: changelog layout: article --- 0.10.0.rc6 (May 8, 2010) ------------------------ * [Compass Core] The configuration constant `$firefox2-ellipsis` has been renamed to `$use-mozilla-ellipsis-binding` to reflect the fact that it must be used for any version of mozilla less than 3.6. * [CLI] The the new Sub-command based CLI will now recognize abbreviated commands as long as the abbreviation is unambiguous. For instance, `compass w` is a shortcut for `compass watch` and `compass com` for `compass compile` but `compas co` will not work for compile because it also matches `compass config`. * [Rails] When configuring Sass during initialization, Compass now passes the template locations as an array of tuples instead of as a hash. This preserves ordering in all versions of ruby and ensures that the deprecated imports do not take precedence. 0.10.0.rc5 (May 2, 2010) ------------------------ * [Rails] The default location for compass extensions has moved from `vendor/plugins/compass/extensions` to `vendor/plugins/compass_extensions`. * [Rails] The rails template has been updated to use the latest haml and compass versions. * [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/) * [Compass Core] You can now opt out of support for specific browsers in the css3 module. See [the docs](/docs/reference/compass/css3/shared/) for more details. 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.