*v1.2.7 (2011-07-23)
* added eCSStender::matchMedia() method
* added eCSStender::emptyStyleSheet() method
* added eCSStender::elementMatchesSelector() method
* added eCSStender::getPathTo() method

*v1.2.6.6* (2010-08-26)
* bugfix: don't call determinePath() on embedded stylesheets

*v1.2.6.5* (2010-08-12)
* reorganized XHR stuff
* adjusted eCSStender::isSupported() (property version) to avoid using expando-related checks (in preparation for IE9)
* beefed-up internal zero_out() function
* stripped out addition of Array.push() for browsers that didn't support it (it was unnecessary)

*v1.2.6.4* (2010-08-04)
* swapped decrement side in clearBrowserCache()

*v1.2.6.3* (2010-08-04)
* minor bug fix for determinePath() on imported stylesheets
* fix to miskey in clearBrowserCache()

*v1.2.6.2* (2010-07-30)
* bug fix for IE error: 'ownerNode' is null or not an object
* tweaks to the caching setup:
  * revised clearBrowserCache for IE userData and localStorage
  * prefixed all cached items in localStorage with eCSStender- so we can remove them individually
  * caching the eCSStender version number
  * adjusted the cache-reading mechanism to check against current eCSStender version number before reading. If version numbers don't match, it doesn't read the cache, it only wipes it.
  * clearing local storage once it's read (this should help with memory-related issues).

*v1.2.6.1* (2010-07-20)
* Added ability for extensions to dynamically redefine themselves
* cleaned up some leaky variables (thanks to EmissionsTest.js)

*v1.2.6* (2010-07-13)
* overhauled eCSStender::isSupported() so it can accept
  - assignment of support info into the cache and
  - accept a property as the second argument and a string value (or array of strings) as the third argument for property tests (so that you can offer alternatives like ['#000000','black'] or re-ordering for browsers that have alternate internal value storage schemes)
* added some new methods:
  - eCSStender::getCSSValue()
  - eCSStender::addClass()
  - eCSStender::removeClass()
  - eCSStender::hasClass()
  - eCSStender::toggleClass()
  - eCSStender::makeUniqueClass()
* adjusted eCSStender::isSupported() to make use of getCSSValue()
* fixed window.status issue 
* minor typo fixes
* tests for some the new/revised functionality

*v1.2.5.4* (2010-07-07)
* fixed bug in gatherProperties() that caused it not to ignore colons in property values

*v1.2.5.3* (2010-07-05)
* fixed bug in clean() that removed whitespace before uncombined pseudo selectors

*v1.2.5.2* (2010-07-02)
* added ability to not supply html to isSupported when testing selectors (in case you want to test against existing markup)

*v1.2.5.1* (2010-06-30)
* forgot to remove the lowercasing part of clean (which was being used to compensate for IE's buggy cssText property)

*v1.2.5* (2010-06-27)
* IE's cssText property is too buggy to be relied on, so we're returning to pure XHR

*v1.2.4* (2010-06-24)
* removing the examples folder from the build (as there are more extensions out there now).
* fixed a bug discovered in Mozilla browsers, which treat RegExp as objects rather than functions.
* fixing some bugs in Chrome for Mac
* made some tweaks to the margin-boxes implementation in eCSStender.pages
* Added TODOs for allowing @media to contain @page and making eCSStender.pages media-aware
* adjusted internals to keep a stack of delayed styles to write, to reduce the amount written to the document (and to maintain cascade, etc.)
* small fixes to validateCache and findImportedStylesheets
* more optimizations
* added tests for the loadScript method
* cleaned up some other tests
* minor bug fix for instances where CSS is purely embedded (no external files).

*v1.2.3* (2010-05-27)
* isSupported caching bug resolved
* added public loadScript method
* cleaned up JSLint warnings (regex stuff and semicolons)
* sped up isInheritedProperty by switching to native hasOwnProperty if available

*v1.2.2* (2010-04-28)
* Minor bug fix in caching mechanism

*v1.2.1* (2010-04-07)
* Bug fixes for Firefox and IE

*v1.2* (2010-04-07)
* Adjusted the innards of eCSStender in hopes of reducing how often it blocks in the browser

*v1.1.3* (2010-04-04)
* Fixing a bug in IE's caching  mechanism

*v1.1.2* (2009-11-30)
* Fixing the bug in IE8 introduced a bug in IE6 (different means of handling paths apparently)
* added check for __no_cache to stop verifyCache()
* added disableCache() call to the test page and examples (to keep the cache from interfering with results)
* This build and examples have been tested in IE6-8, Firefox 1.5-3.5, Safari 3+ (and Webkit nightly), Chrome, Opera, and Shiira.

*v1.1.1* (2009-11-29)
* Updating the examples to explicitly state what browsers should be supported in each
* Fixed an issue with determinePath in IE8 (IE seems to assume imported CSS files should have an href = the path to the page + the filename, even if the file doing the importing is in a different folder)

*v1.1* (2009-11-24)
* Added support for delayed writing (to reduce DOM manipulation time) - optional boolean third param on embedCSS() and newStyleElement() now allow delayed writing to the document (true by default, use false to disable)
* Added support for custom @ rules
* Added the tests for extended at rules
* Adjusted extract to work with old IE versions and their horribly disfiguring of embedded CSS (fixes Greg Lucas' bug)
* Double-checked the examples for functionality under delayed-write
* More optimization for file size and performance
  - Externalized more strings and object references
  - Streamlined the addRules method to allow for bulk writing
  - Aliased recurring checks
* adjusted the pages test to check that overloading is working properly
* Updated title of combined example
* Fixed some bugs in the tests
* Updated the cache test to bail if being run locally (to avoid throwing a Security Error in Firefox)

*v1.0* (2009-09-08)

* added support for local cache when server (not file) based
* added public method eCSStender::disableCache to disable caching
* overhauled the caching mechanisms to be faster and more broad
* added new public method eCSStender::ignore() which accepts a string filename or array of string filenames to ignore when parsing stylesheets (allows speeding up by excluding simple stylesheets)
* added public method eCSStender::onComplete() which accepts functions to be run when eCSStender finishes its work (for extensions that require access to everything after the fact)
* eCSStender::setFilter() renamed eCSStender::addMethod() to avoid confusion with "filters" as a means of weeding out results of a search
* eCSStender.filters renamed eCSStender.methods to avoid confusion with "filters" as a means of weeding out results of a search
* updated & added to unit tests & examples
* added JS code for QUnit to the package
* moved project from private repository to Github

--
*v0.10* (2009-06-08)

* overhaul of numerous internals to speed things up
* opened up selector-based lookups to finding by Function, either as a single or in an array
* added a new method (eCSStender::lookup) to enable extension to re-query the CSS to extract additional information form the stylesheet. It takes arguments similar to those of eCSStender::register and returns an array of matches with a full complement of details. See the source for more information
* continued implementing the CSS3 selectors module, including a fix for IE6's issues with compound class selectors and a re-factoring of the nth-child extension to allow for some browsers' failure to comprehend whitespace not to require inline style additions.
* added/updated test cases

--
*v0.9* (2009-06-05)

* overhaul of internal eCSStend() method to speed it up
* opened up selector-based lookups to finding by RegExp
* adjusted eCSStender::register() to accept an array of selector lookups, each item of which can be a selector string (including compound selector strings) or RegExp.
* began work on implementing CSS3 modular extensions (./extensions/css3-modules), starting with selectors (./extensions/css3-modules/selectors) which leverage Sizzle (http://sizzlejs.com/)

--
*v0.8.1* (2009-06-04)

* implemented __support_cache for speeding up repeated calls to isSupported()

--

*v0.8* (2009-05-24)

* fixed typos and such on the examples
* added new public method: eCSStender::applyWeightedStyle()
* updated nth-child example to use eCSStender::applyWeightedStyle()
* added specificity to the list of arguments returned to an extension
* updated unit tests
* cleaned up unused files in ./examples

--

*v0.7.2* (2009-05-22)

* fix to eCSStender::isSupported()

--

*v0.7.1* (2009-05-20)

* moved contents of ./tests to ./examples to make room for actual unit testing code
* added unit tests in ./tests
* moved to referencing external jQuery.js in examples

--

*v0.7* (2009-05-15)

* added support for eCSStender to maintain CSS filter functions in eCSStender.filters (for Microsoft filter support); public method eCSStender::setFilter() will set or override eCSStender's maintained list of filters
* adjusted the findImportedStyleSheets() method to better support IE6
* extracted the code to add a new stylesheet to the stack into a new private method: addStyleSheet()
* added a private path determination method to cut down on issues with regard to capturing nested stylesheets: determinePath()
* added support for lookups by an array of properties
* added support for filtering the results of a lookup by property or property value; new private method filtersMatched() and an example implemented in the transform test (see below)
* adjusted the handling of the __xhr property to better deal with IE6
* added a private method called zero_out() to assist in auto-converting all instances of "0px" to "0" in properties (to ensure consistency when comparing native storage or properties)
* adjusted eCSStender::addRules() for better cross-browser compatibility
* fixed a bug in eCSStender::isSupported() where IE was reporting that it knew what to do with advanced properties like “transform” (it didn't)
* added a new test: ./tests/transform.html that implements CSS rotation in IE5.5+, Mozilla 3.5, and Safari 4

--

*v0.6.2* (2009-05-08)

* minor tweak to @page to get IE6 to support "all" pages
* added Comfortaa (http://www.fontsquirrel.com/fonts/Comfortaa) font family in ./tests/fonts
* updated ./tests/css/screen.css to make use of Comfortaa
* tweaked ./tests/font-face.html and ./tests/page.html to use setTimeout() instead of using jQuery's fadeTo() for the delay to keep IE6 from mangling the fonts

--

*v0.6.1* (2009-04-19)

* minor bug fix to @media support
* updated object and docs to appropriate version (still had it as 0.5)

--

*v0.6* (2009-04-19)

* added support for @media groups
* added support for and exposure of @font-face (as eCSStender.fonts)
* added @font-face test
* added support for and exposure of @page (as eCSStender.pages)
* added @page test
* isolated and improved the property-extraction method
* fixed a minor oversight in the border-radius example (did not insert -khtml- properties)

--

*v0.5* (2009-04-17)

* Adjusted how eCSStender is created to avoid contaminating the window object
* Tweaked the XHR construction
* Added isInheritedProperty function to test for tainted Object
* Fixed a memory leak in IE
* Exposed eCSStender::trim() and eCSStender::isInheritedProperty()
* added support for lookup by property fragment
* improved border-radius sample extension

--

*v0.4* (2009-03-29)

* Added fixes to for...in loops so we can play nice when someone extends Object (e.g. the Prototype library)

--

*v0.3* (2009-03-28)

* Added support for testing selectors
* Added documentation to exposed methods

--

*v0.2* (2009-03-03)

* Added support for test cases on a per-extension basis
* Initial check-in of script

--

*v0.1* (Nov 2005 - Jan 2009)

* First pass at general configuration and extensibility
* Non-version experiments and concept development stemming from gFSS (first demoed in Feb 2007 at Web Directions North)