Since the 3 June 2009 release, the following tests have changed:

Removed tests:
  css3-modsel-d5 - :indeterminate
  css3-modsel-d5a - :indeterminate and :checked
  css3-modsel-d5b - NEGATED :indeterminate and :checked
  css3-modsel-d5c - :indeterminate and :checked
  css3-modsel-d5d - :indeterminate with :checked
  css3-modsel-d5e - NEGATED :indeterminate with :checked
    :indeterminate is not part of Selectors Level 3

------------------------------------------------------------------------
Since the 7 March 2006 release, the following tests have changed:

New tests:
   css3-modsel-184a - Ends-wth attribute selector with empty value
   css3-modsel-184b - Starts-with attribute selector with empty value
   css3-modsel-184c - Contains attribute selector with empty value
   css3-modsel-184d - NEGATED ends-with attribute selector with empty value
   css3-modsel-184e - NEGATED starts-with attribute selector with empty value
   css3-modsel-184f - NEGATED contains attribute selector with empty value
     Tests to verify that attribute selectors with empty values don't match

Removed tests:
  css3-modsel-40 - ::selection pseudo-element
  css3-modsel-162 - Contextual ::selection
  css3-modsel-164 - :focus with ::selection
  css3-modsel-165 - :hover with ::selection
     ::selection has been removed from Selectors Level 3

------------------------------------------------------------------------
Since the 19 October 2005 release, the following tests have changed:

Modified tests:
   css3-modsel-6 - Attribute value selector
     Removed confusing prose and made it a simple pass criteria.

   css3-modsel-18 - :hover pseudo-class
     Removed test of border-spacing.

   css3-modsel-39a - ::first-letter pseudo-element with ::before pseudo-element
   css3-modsel-39c - ::first-letter pseudo-element with ::before pseudo-element
     Changed from background-color to color.

   css3-modsel-161 - Syntax and parsing of unknown pseudo-classes and pseudo-elements
     Added the metadata making this test an interactive test.

   css3-modsel-d5 - :indeterminate
   css3-modsel-d5a - :indeterminate and :checked
   css3-modsel-d5d - :indeterminate with :checked
   css3-modsel-d5e - NEGATED :indeterminate with :checked
     Changed so that UAs that do not support styling of form controls
     can still pass these tests if they support combinators (mark II).

   css3-modsel-d1b - Dynamic handling of :empty
     Updated to test what the spec actually says (oops).

Removed tests:
   css3-modsel-180 - ::first-letter on inlines
     We changed the spec so that first-letter doesn't apply to
     inlines, but we don't want to just reverse the test since we want
     to allow :first-letter to apply to inlines in future.


------------------------------------------------------------------------
Since the 3 October 2005 release, the following tests have changed:

New tests:
   css3-modsel-27a - Impossible rules (:root:firstchild, etc)
   css3-modsel-27b - Impossible rules (* html, * :root)
     A test to verify there are no elements above the root element.

------------------------------------------------------------------------
Since the 16 December 2004 release, the following tests have changed:

Modified tests:
   css3-modsel-15c - Multiple IDs
   css3-modsel-d3 - Dynamic handling of attribute selectors
     Fixed typos in script.

   css3-modsel-70 - NEGATED :checked pseudo-class
   css3-modsel-d5b - NEGATED :indeterminate and :checked
   css3-modsel-d5c - :indeterminate and :checked
   css3-modsel-d5e - NEGATED :indeterminate with :checked
     Changed so that UAs that do not support styling of form controls
     can still pass these tests if they support combinators.

   css3-modsel-66 - NEGATED :target pseudo-class
     Changed colours so it is less misleading on non-supporting UAs.

   css3-modsel-39b - ::first-letter pseudo-element
   css3-modsel-39 - ::first-letter pseudo-element
   css3-modsel-39a - ::first-letter pseudo-element with ::before pseudo-element
   css3-modsel-39c - ::first-letter pseudo-element with ::before pseudo-element
     Made their "very long paragraphs" actually be long.

   css3-modsel-84 - :contains() pseudo-class
   css3-modsel-85 - NEGATED :contains() pseudo-class
     Made text less misleading about the pass condition.

Removed tests:
   css3-modsel-19a - :active pseudo-class on blocks
     This test tested something that the spec did not specify.

   css3-modsel-84 - :contains() pseudo-class
   css3-modsel-84b - :contains() pseudo-class
   css3-modsel-85 - NEGATED :contains() pseudo-class
   css3-modsel-163 - Contextual :contains
     Removed since :contains() was removed.

------------------------------------------------------------------------
Since the 10 May 2004 release, the following tests have changed:

New tests:
   css3-modsel-15c - Multiple IDs
     A test that checks if UAs support multiple IDs on the same
     element. Requires two or more of XHTML, xml:id, and DOM3 Core
     support. See also the comment in the test itself.

Modified tests:
   css3-modsel-90 - Simple combination of direct and indirect adjacent combinators
   css3-modsel-d3 - Dynamic handling of attribute selectors
   css3-modsel-15b - Multiple ID selectors
     Changed to remove false-negative results in some of the test
     harnesses.

   css3-modsel-25 - :checked pseudo-class
     Changed so that UAs that do not support styling of form controls
     can still pass this test if they support combinators.

   css3-modsel-162 - Contextual ::selection
     Made the pass condition slightly clearer.
     Fixed the control test to disable styling of all text in that section.

   All tests involving namespace attributes
     Fixed the generating script so that the tests involving
     attributes once again have their namespace prefixes declared.

------------------------------------------------------------------------
Since the 21 April 2004 release, the following tests have changed:

New tests:
   css3-modsel-183 - Syntax and parsing of class selectors
     Some more detailed tests for error handling issues known to be
     broken in some UAs.

Modified tests:
   css3-modsel-14b - More than one class selector
     Expanded the test to catch a few more potential bugs.

   css3-modsel-153 - :empty pseudo-class and CDATA
   css3-modsel-150 - :empty pseudo-class and XML/SGML constructs
     Updating :empty tests to match agreed (if as yet unpublished)
     errata.

------------------------------------------------------------------------
Since the 2 March 2004 release, the following tests have changed:

New tests:
   css3-modsel-42a - :after pseudo-element
   css3-modsel-41a - :before pseudo-element

Removed tests:
   css3-modsel-12 - Default attribute value
   css3-modsel-58 - Default attribute value and negation pseudo-class
     These tests no longer apply since UAs are now allowed to assume
     attribute defaulting or to ignore it, basically at will.

Modified tests:
   css3-modsel-23 - :enabled pseudo-class
   css3-modsel-24 - :disabled pseudo-class
   css3-modsel-28 - :nth-child() pseudo-class
   css3-modsel-28b - :nth-child() pseudo-class
   css3-modsel-29 - :nth-last-child() pseudo-class
   css3-modsel-29b - :nth-last-child() pseudo-class
   css3-modsel-32 - :first-child pseudo-class
   css3-modsel-33 - :last-child pseudo-class
   css3-modsel-68 - NEGATED :enabled pseudo-class
   css3-modsel-69 - NEGATED :disabled pseudo-class
   css3-modsel-73 - NEGATED :nth-child() pseudo-class
   css3-modsel-73b - NEGATED :nth-child() pseudo-class
   css3-modsel-74 - NEGATED :nth-last-child() pseudo-class
   css3-modsel-74b - NEGATED :nth-last-child() pseudo-class
   css3-modsel-77 - NEGATED :first-child pseudo-class
   css3-modsel-77b - NEGATED :first-child pseudo-class
   css3-modsel-78 - NEGATED :last-child pseudo-class
   css3-modsel-78b - NEGATED :last-child pseudo-class
   css3-modsel-87 - Nondeterministic matching of direct and indirect adjacent combinators
   css3-modsel-87b - Nondeterministic matching of direct and indirect adjacent combinators
   css3-modsel-88 - Nondeterministic matching of descendant and direct adjacent combinators
   css3-modsel-88b - Nondeterministic matching of descendant and direct adjacent combinators
   css3-modsel-90 - Simple combination of direct and indirect adjacent combinators
   css3-modsel-90b - Simple combination of direct and indirect adjacent combinators
   css3-modsel-d1 - NEGATED Dynamic handling of :empty
   css3-modsel-d1b - NEGATED Dynamic handling of :empty
   css3-modsel-d2 - Dynamic handling of combinators
   css3-modsel-d3 - Dynamic handling of attribute selectors
   css3-modsel-d4 - Dynamic updating of :first-child and :last-child
   css3-modsel-d5 - :indeterminate
   css3-modsel-d5a - :indeterminate and :checked
   css3-modsel-d5b - NEGATED :indeterminate and :checked
   css3-modsel-d5c - :indeterminate and :checked
   css3-modsel-d5d - :indeterminate with :checked
   css3-modsel-d5e - NEGATED :indeterminate with :checked
   (and some others depending on the test format)
     Fixed minor standards compliance issues.

   All the non-namespaced XHTML tests
     Removed some extraneous namespace declarations that made the
     tests invalid.

------------------------------------------------------------------------
Since the 15 September 2003 release, the following tests have changed:

New tests:
   css3-modsel-3a - Universal selector (no namespaces)
   css3-modsel-18a - :hover pseudo-class on links
   css3-modsel-18c - :hover pseudo-class on links
   css3-modsel-19a - :active pseudo-class on blocks
   css3-modsel-19b - :active pseudo-class on controls
   css3-modsel-179 - ::first-line on inlines
   css3-modsel-179a - ::first-line after <br>
   css3-modsel-180 - ::first-letter on inlines
   css3-modsel-180a - ::first-letter after <br>
   css3-modsel-181 - Case sensitivity
   css3-modsel-182 - Namespaces and \: in selectors

Modified tests:
   css3-modsel-21c - :target pseudo-class
     Fixed to match spec errata.

   css3-modsel-98 - Attribute value selector with declared namespace
     Added a test to make sure the attribute selectors work without quotes.

   css3-modsel-161 - Syntax and parsing of unknown pseudo-classes and pseudo-elements
     Added more tests and split up the existing test to catch more possible errors.

   css3-modsel-44 - Child combinator
     Stylesheet used the wrong property name.

------------------------------------------------------------------------
