#chris-eppstein

position:unique

Compass 1.0 Roadmap

Now that the v0.10 release is out, we’ve done some thinking about how to
get to version 1.0. Compass takes a very conservative approach to version
numbering. Stable releases have relatively long betas. Likewise, when we
reach 1.0, it means that compass will have all the features we think it needs
to become a successful project and moreover, it will then have achieved the
initial vision of the project that I had for it almost two years ago (and then some).

In this post, I will outline the upcoming releases so that you understand where we’re headed and can offer your feedback if you think there’s a critical feature that’s missing.

Versioning

First an administrative note, I’m abandoning the even/odd release numbering scheme that many have found confusing. Going forward, we’ll be using rubygem’s preview releases. The master branch will use the following release numbering scheme:

0.11.0.alpha.N (new features expected, likely buggy)

0.11.0.beta.N (new features expected, less buggy)

0.11.0.rc.N (no new features expected, find the bugs if you can!)

Scheduling

I don’t find my life to be predictable enough to assign dates to these
releases. But we will assign good names to them. I’ve tried to break them apart
into small, focused releases with relatively few moving parts to reduce the
complexity and upgrade concerns. I expect each release to take approximately
two months for development and one month for release candidate testing. We
might overlap some development with branches. There are 5 releases to get to
1.0. So I predict it’ll be at least a year before we see 1.0. Of course, this
is open source, so if you see a feature on this list that excites you and feel
you are up to the task, I welcome you to step up and start working with me to
build it.

v0.11 - Antares

The focus of this release is on turning out
even better documentation and some stylesheet updates and
enhancements that take better advantage of the Sass 3 features.

Docs

This work can be done on stable and/or a topic branch.

Improve the design

Better tutorials and getting started guides.

Terminal for Designers

Better examples & example navigation

Contribution guide:

Compass stylesheets

Compass ruby code

Documentation patches

SCSS Style Guide

Bundler 1.0 support

Upgrade nanoc

Better search experience

Search mixins and constants and code fragments that might use those.

Awesome homepage that is better integrated with the docs.

HTML5 the docs so they can run locally in offline mode.

Compass Core

Updates as necessary to the CSS3 module as the spec
process develops.

Typography module

Blueprint

Provide an option to use @extend in the blueprint grid

Rails

Fully integrated support of Rails 3

Other

clean up all mixin argument names in preparation for keyword argument
support from sass.

v0.12 - Alnilam

The focus of this release is to make extensions really easy to work with and install from an end-user perspective. The compass website will provide an extension registry and a canonical place for downloading them.

Extensions

Extension registry on compass-style.org.

One step publishing via github + webhooks

Easy upload using zip files

Easy install via CLI

Local (per-user) extension repo with auto-discovery.

Video showing how easy it is to create, publish, and install an extension.

Documented API for discovering and downloading extensions from any website

Support for adding other extension repos.

v0.13 - Markab

The focus of this release is great application integration support. Making it easier to install and run compass within many types of applications. Where applicable, I’d like to cooperate with existing open source projects and extensions to provide this support.

Compass Core

Updates as necessary to the CSS3 module as the spec
process develops.

Other

Consider adding app integration with: Node.js, Django, Drupal, Wordpress
(Wherever opinionated layouts exist). Also, try to make one of these a plugin
to test out the concept.

Internals

Use the Sass::Plugin to compile stylesheets now that
it has callback support.

v0.14 - Aldebaran

This release depends on Sass 3.2 and is aimed at taking advantage of
the new sass 3.2 feature set as well as really making the extensions
system come alive. Since I don’t foresee any deprecations in Sass 3.2,
this will not be a coordinated release. Instead, this release will
trail Sass 3.2 by a month or two.

Compass Core

Figure out what to do about multiple attribute properties like background.
Might require list and function support from sass.

Blueprint

If sass 3.2 is out with @function support, use that for grid
calculations, otherwise punt to 1.0.

If the @extend version of the grid is full of win, make it the default.

v1.0 - Polaris

As with any major release, the final step is great documentation. Not just for compass but for all the extensions and even your own project.

SassDoc

Extract the compass documentation system into a stand-alone project.

Extensions

Build basic docs and host them for all extensions using sassdoc.

Project Tools

Enable building project docs using the sassdoc tool.

v2.0 - Schedar

Version 2 is all about making compass easier to use. Compass and Sass
will have a GUI that makes it simple to manage your projects and a simple installer to make getting up and running a breeze.

About Me

I am an open source hacker and stylesheet architect at LinkedIn.
I live in San Jose, California with my wife and daughter.

Open Source

I'm the creator of Compass, a stylesheet authoring framework
and I'm on the core team of
Sass — the stylesheet syntax upon which Compass is built.
I maintain about a dozen less well known ruby libraries and rails plugins on
github,
and am an active contributor of patches to the many open source projects that I use.