Releases: thephpleague/commonmark
Releases · thephpleague/commonmark
0.10.0
Added
- Added parent references to inline elements (#124)
- Added smart punctuation extension (#134)
- Added HTML block types
- Added indentation caching to the cursor
- Added automated code style checks (#133)
- Added support for tag attributes in renderers (#101, #165)
Changed
- Bumped spec target version to 0.21
- Revised HTML block parsing to conform to new spec (commonmark/commonmark.js@99bd473)
- Imposed 9-digit limit on ordered list markers, per spec
- Allow non-initial hyphens in html tag names (commonmark/commonmark-spec#239)
- Updated list of block tag names
- Changed tab/indentation handling to meet the new spec behavior
- Modified spec tests to show spaces and tabs in test results
- Replaced
HtmlRendererInterfacewithElementRendererInterface(#141) - Removed the unnecessary
trim()and string cast fromListItemRenderer
Fixed
- Fixed link reference definition edge case (#120)
- Allow literal (non-escaping) backslashes in link destinations (#118)
- Allow backslash-escaped backslashes in link labels (#119)
- Allow link labels up to 999 characters (per the spec)
- Properly split on whitespace when determining code block class (commonmark/commonmark.js#54)
- Fixed code style issues (#132, #133, #151, #152)
- Fixed wording for invalid inline exception (#136)
Removed
- Removed the advance-by-one optimization due to added cursor complexity
0.9.0
Added
- Added public $data array to block elements (#95)
- Added
isIndentedhelper method toCursor - Added a new
Converterbase class whichCommonMarkConverterextends from (#105)
Changed
- Bumped spec target version to 0.20 (#112)
- Renamed
ListBlock::$dataandListItem::$datato$listData - Require link labels to contain non-whitespace (commonmark/commonmark-spec#322)
- Use U+FFFD for entities resolving to 0 (commonmark/commonmark-spec#323)
- Moved
IndentedCodeParser::CODE_INDENT_LEVELtoCursor::INDENT_LEVEL - Changed arrays to short syntax (#116)
- Improved efficiency of DelimiterStack iteration (commonmark/commonmark.js#43)
Fixed
- Fixed open block tag followed by newline not being recognized (commonmark/commonmark-spec#324)
- Fixed indented lists sometimes being parsed incorrectly (commonmark/commonmark.js#42)
0.8.0
Added
- Allow swapping built-in renderers without using their fully qualified names (#84)
- Lots of unit tests (for existing code)
- Ability to include arbitrary functional tests in addition to spec-based tests
Changed
- Dropped support for PHP 5.3 (#64 and #76)
- Bumped spec target version to 0.19
- Made the AbstractInlineContainer be abstract
- Moved environment config. logic into separate class
Fixed
- Fixed underscore emphasis to conform to spec changes (commonmark/commonmark-spec#317)
Removed
0.7.2
0.7.1
0.7.0
Now with 50% more speed!
Added
- More unit tests to increase code coverage
Changed
- Enabled the InlineParserEngine to parse several non-special characters at once (performance boost)
- NewlineParser no longer attempts to parse spaces; look-behind is used instead (major performance boost)
- Moved closeUnmatchedBlocks into its own class
- Image and link elements now extend AbstractInlineContainer; label data is stored via $inlineContents instead
- Renamed AbstractInlineContainer::$inlineContents and its getter/setter
Removed
- Removed the InlineCollection class
- Removed the unused ArrayCollection::splice() method
- Removed impossible-to-reach code in Cursor::advanceToFirstNonSpace
- Removed unnecessary test from the InlineParserEngine
- Removed unnecessary/unused RegexHelper::getMainRegex() method
0.6.1
Changed
- Bumped spec target version to 0.17
- Updated emphasis parsing for underscores to prevent intra-word emphasis
- Defered closing of fenced code blocks
0.6.0
Added
- Bulk registration of parsers/renderers via extensions (#45)
- Proper UTF-8 support, especially in the Cursor; mbstring extension is now required (#49)
- Environment is now configurable; options can be accessed in its parsers/renderers (#56)
- Added some unit tests
Changed
- Bumped spec target version to 0.15 (#50)
- Parsers/renderers are now lazy-initialized (#52)
- Some private elements are now protected for easier extending, especially on Element classes (#53)
- Renderer option names changed from underscore_case to camelCase (#56)
- Moved CommonMark parser/render definitions into CommonMarkCoreExtension
Fixed
- Improved parsing of emphasis around punctuation
- Improved regexes for CDATA and HTML comments
- Fixed issue with HTML content that is considered false in loose comparisons, like
'0'(#55) - Fixed DocParser trying to add empty strings to closed containers (#58)
- Fixed incorrect use of a null parameter value in the HtmlElementTest
Removed
- Removed unused ReferenceDefinition* classes (#51)
- Removed UnicodeCaseFolder in favor of mb_strtoupper
0.5.1
0.5.0
Added
- Support for custom directives, parsers, and renderers
Changed
- Major refactoring to de-couple directives from the parser, support custom directive functionality, and reduce complexity
- Updated references to stmd.js in README and docblocks
- Modified CHANGELOG formatting
- Improved travis configuration
- Put tests in autoload-dev
Fixed
- Fixed CommonMarkConverter re-creating object each time new text is converted (#26)
Removed
- Removed dependency on symfony/options-resolver (fixes #20)