See the upgrading guide for additional information.
Added
- Added proper support for delimiters, including custom delimiters
addDelimiterProcessor()added toConfigurableEnvironmentInterfaceandEnvironment
- Basic delimiters no longer need custom parsers - they'll be parsed automatically
- Added new methods:
AdjacentTextMerger::mergeTextNodesBetweenExclusive()CommonMarkConveter::getEnvironment()Configuration::set()
- Extracted some new interfaces from base classes:
DocParserInterfacecreated fromDocParserConfigurationInterfacecreated fromConfigurationReferenceInterfacecreated fromReference
Changed
- Renamed several methods of the
Configurationclass:getConfig()renamed toget()mergeConfig()renamed tomerge()setConfig()renamed toreplace()
- Changed
ConfigurationAwareInterface::setConfiguration()to accept the newConfigurationInterfaceinstead of the concrete class - Renamed the
AdjoiningTextCollapserclass toAdjacentTextMerger- Replaced its
collapseTextNodes()method with the newmergeChildNodes()method
- Replaced its
- Made several classes
final:ConfigurationDocParserHtmlRendererInlineParserEngineNodeWalkerReference- All of the block/inline parsers and renderers
- Reduced visibility of several internal methods to
private:DelimiterStack::findEarliest()- All
protectedmethods inInlineParserEngine
- Marked some classes and methods as
@internal ElementRendererInterfacenow requires a publicrenderInline()method; added this toHtmlRenderer- Changed
InlineParserEngine::parse()to require anAbstractStringContainerBlockinstead of the genericNodeclass - Un-deprecated the
CommonmarkConverter::VERSIONconstant - The
Converterconstructor now requires an instance ofDocParserInterfaceinstead of the concreteDocParser - Changed
Emphasis,Strong, andAbstractWebResourceto directly extendAbstractInlineinstead of the (now-deprecated) intermediaryAbstractInlineContainerclass
Fixed
- Fixed null errors when inserting sibling
Nodes without parents - Fixed
NodeWalkerEventnot requiring aNodevia its constructor - Fixed
Reference::normalizeReference()improperly converting to uppercase instead of performing proper Unicode case-folding - Fixed strong emphasis delimiters not being preserved when
enable_strongis set tofalse(it now works identically toenable_em)
Deprecated
- Deprecated
DocParser::getEnvironment()(you should obtain it some other way) - Deprecated
AbstractInlineContainer(useAbstractInlineinstead and makeisContainer()returntrue)
Removed
- Removed inline processor functionality now that we have proper delimiter support:
- Removed
addInlineProcessor()fromConfigurableEnvironmentInterfaceandEnvironment - Removed
getInlineProcessors()fromEnvironmentInterfaceandEnvironment - Removed
EmphasisProcessor - Removed
InlineProcessorInterface
- Removed
- Removed
EmphasisParsernow that we have proper delimiter support - Removed support for non-UTF-8-compatible encodings
- Removed
getEncoding()fromContextInterface - Removed
getEncoding(),setEncoding(), and$encodingfromContext - Removed
getEncoding()and the second$encodingconstructor param fromCursor
- Removed
- Removed now-unused methods
- Removed
DelimiterStack::getTop()(no replacement) - Removed
DelimiterStack::iterateByCharacters()(use the newprocessDelimiters()method instead) - Removed the protected
DelimiterStack::findMatchingOpener()method
- Removed