CHANGELOG.md
6.5 KB
Revision History
8.0
8.0.0 (2016-06-30)
- Store source CSS line numbers in tokens and parsing exceptions.
- No deprecations
Backwards-incompatible changes
- Unrecoverable parser errors throw an exception of type
Sabberworm\CSS\Parsing\SourceException
instead of\Exception
.
8.1.0 (2016-07-19)
- Comments are no longer silently ignored but stored with the object with which they appear (no render support, though). Thanks to @FMCorz.
- The IE hacks using
\0
and\9
can now be parsed (and rendered) in lenient mode. Thanks (again) to @FMCorz. - Media queries with or without spaces before the query are parsed. Still no real parsing support, though. Sorry…
- PHPUnit is now listed as a dev-dependency in composer.json.
- No backwards-incompatible changes
- No deprecations
7.0
7.0.0 (2015-08-24)
- Compatibility with PHP 7. Well timed, eh?
- No deprecations
Backwards-incompatible changes
- The
Sabberworm\CSS\Value\String
class has been renamed toSabberworm\CSS\Value\CSSString
.
7.0.1 (2015-12-25)
- No more suppressed
E_NOTICE
- No backwards-incompatible changes
- No deprecations
7.0.2 (2016-02-11)
- 150 time performance boost thanks to @ossinkine
- No backwards-incompatible changes
- No deprecations
7.0.3 (2016-04-27)
- Fixed parsing empty CSS when multibyte is off
- No backwards-incompatible changes
- No deprecations
6.0
6.0.0 (2014-07-03)
- Format output using Sabberworm\CSS\OutputFormat
- No backwards-incompatible changes
Deprecations
- The parse() method replaces __toString with an optional argument (instance of the OutputFormat class)
6.0.1 (2015-08-24)
- Remove some declarations in interfaces incompatible with PHP 5.3 (< 5.3.9)
- No deprecations
5.0
5.0.0 (2013-03-20)
- Correctly parse all known CSS 3 units (including Hz and kHz).
- Output RGB colors in short (#aaa or #ababab) notation
- Be case-insensitive when parsing identifiers.
- No deprecations
Backwards-incompatible changes
-
Sabberworm\CSS\Value\Color
’s__toString
method overridesCSSList
’s to maybe return something other thantype(value, …)
(see above).
5.0.1 (2013-03-20)
- Internal cleanup
- No backwards-incompatible changes
- No deprecations
5.0.2 (2013-03-21)
- CHANGELOG.md file added to distribution
- No backwards-incompatible changes
- No deprecations
5.0.3 (2013-03-21)
- More size units recognized
- No backwards-incompatible changes
- No deprecations
5.0.4 (2013-03-21)
- Don’t output floats with locale-aware separator chars
- No backwards-incompatible changes
- No deprecations
5.0.5 (2013-04-17)
- Initial support for lenient parsing (setting this parser option will catch some exceptions internally and recover the parser’s state as neatly as possible).
- No backwards-incompatible changes
- No deprecations
5.0.6 (2013-05-31)
- Fix broken unit test
- No backwards-incompatible changes
- No deprecations
5.0.7 (2013-08-04)
- Fix broken decimal point output optimization
- No backwards-incompatible changes
- No deprecations
5.0.8 (2013-08-15)
- Make default settings’ multibyte parsing option dependent on whether or not the mbstring extension is actually installed.
- No backwards-incompatible changes
- No deprecations
5.1.0 (2013-10-24)
- Performance enhancements by Michael M Slusarz
- More rescue entry points for lenient parsing (unexpected tokens between declaration blocks and unclosed comments)
- No backwards-incompatible changes
- No deprecations
5.1.1 (2013-10-28)
- Updated CHANGELOG.md to reflect changes since 5.0.4
- No backwards-incompatible changes
- No deprecations
5.1.2 (2013-10-30)
- Remove the use of consumeUntil in comment parsing. This makes it possible to parse comments such as
/** Perfectly valid **/
- Add fr relative size unit
- Fix some issues with HHVM
- No backwards-incompatible changes
- No deprecations
5.2.0 (2014-06-30)
- Support removing a selector from a declaration block using
$oBlock->removeSelector($mSelector)
Introduce a specialized exception (Sabberworm\CSS\Parsing\OuputException) for exceptions during output rendering
No deprecations
Backwards-incompatible changes
- Outputting a declaration block that has no selectors throws an OuputException instead of outputting an invalid
{…}
into the CSS document.
4.0
4.0.0 (2013-03-19)
- Support for more @-rules
- Generic interface
Sabberworm\CSS\Property\AtRule
, implemented by all @-rule classes - No deprecations
Backwards-incompatible changes
-
Sabberworm\CSS\RuleSet\AtRule
renamed toSabberworm\CSS\RuleSet\AtRuleSet
-
Sabberworm\CSS\CSSList\MediaQuery
renamed toSabberworm\CSS\RuleSet\CSSList\AtRuleBlockList
with differing semantics and API (which also works for other block-list-based @-rules like@supports
).
3.0
3.0.0 (2013-03-06)
- Support for lenient parsing (on by default)
- No deprecations
Backwards-incompatible changes
- All properties (like whether or not to use
mb_
-functions, which default charset to use and – new – whether or not to be forgiving when parsing) are now encapsulated in an instance ofSabberworm\CSS\Settings
which can be passed as the second argument toSabberworm\CSS\Parser->__construct()
. - Specifying a charset as the second argument to
Sabberworm\CSS\Parser->__construct()
is no longer supported. UseSabberworm\CSS\Settings::create()->withDefaultCharset('some-charset')
instead. - Setting
Sabberworm\CSS\Parser->bUseMbFunctions
has no effect. UseSabberworm\CSS\Settings::create()->withMultibyteSupport(true/false)
instead. -
Sabberworm\CSS\Parser->parse()
may throw aSabberworm\CSS\Parsing\UnexpectedTokenException
when in strict parsing mode.
2.0
2.0.0 (2013-01-29)
- Allow multiple rules of the same type per rule set
Backwards-incompatible changes
-
Sabberworm\CSS\RuleSet->getRules()
returns an index-based array instead of an associative array. UseSabberworm\CSS\RuleSet->getRulesAssoc()
(which eliminates duplicate rules and lets the later rule of the same name win). -
Sabberworm\CSS\RuleSet->removeRule()
works as it did before except when passed an instance ofSabberworm\CSS\Rule\Rule
, in which case it would only remove the exact rule given instead of all the rules of the same type. To get the old behaviour, useSabberworm\CSS\RuleSet->removeRule($oRule->getRule()
;
1.0
Initial release of a stable public API.
0.9
Last version not to use PSR-0 project organization semantics.