All notable changes to this project will be documented in this file. Updates should follow the Keep a CHANGELOG principles.
1.0.0 - 2019-06-29
No changes were made since 1.0.0-rc1.
1.0.0-rc1 - 2019-06-19
- Extracted a
ReferenceMapInterface
from theReferenceMap
class - Added optional
ReferenceMapInterface
parameter to theDocument
constructor
- Replaced all references to
ReferenceMap
withReferenceMapInterface
ReferenceMap::addReference()
no longer returns$this
- Fixed bug where elements with content of
"0"
wouldn't be rendered (#376)
1.0.0-beta4 - 2019-06-05
- Added event dispatcher functionality (#359, #372)
- Removed
DocumentProcessorInterface
functionality in favor of event dispatching (#373)
1.0.0-beta3 - 2019-05-27
- Made the
Delimiter
class final and extracted a newDelimiterInterface
- Modified most external usages to use this new interface
- Renamed three
Delimiter
methods:getOrigDelims()
renamed togetOriginalLength()
getNumDelims()
renamed togetLength()
setNumDelims()
renamed tosetLength()
- Made additional classes final:
DelimiterStack
ReferenceMap
ReferenceParser
- Moved
ReferenceParser
into theReference
sub-namespace
- Removed unused
Delimiter
methods:setCanOpen()
setCanClose()
setChar()
setIndex()
setInlineNode()
- Removed fluent interface from
Delimiter
(setter methods now have no return values)
1.0.0-beta2 - 2019-05-27
DelimiterProcessorInterface::process()
will accept any type ofAbstractStringContainer
now, not justText
nodes- The
Delimiter
constructor,getInlineNode()
, andsetInlineNode()
no longer accept genericNode
elements - onlyAbstractStringContainer
s
- Removed all deprecated functionality:
- The
safe
option (usehtml_input
andallow_unsafe_links
options instead) - All deprecated
RegexHelper
constants DocParser::getEnvironment()
(you should obtain it some other way)AbstractInlineContainer
(useAbstractInline
instead and makeisContainer()
returntrue
)
- The
1.0.0-beta1 - 2019-05-26
- Added proper support for delimiters, including custom delimiters
addDelimiterProcessor()
added toConfigurableEnvironmentInterface
andEnvironment
- 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:
DocParserInterface
created fromDocParser
ConfigurationInterface
created fromConfiguration
ReferenceInterface
created fromReference
- Renamed several methods of the
Configuration
class:getConfig()
renamed toget()
mergeConfig()
renamed tomerge()
setConfig()
renamed toreplace()
- Changed
ConfigurationAwareInterface::setConfiguration()
to accept the newConfigurationInterface
instead of the concrete class - Renamed the
AdjoiningTextCollapser
class toAdjacentTextMerger
- Replaced its
collapseTextNodes()
method with the newmergeChildNodes()
method
- Replaced its
- Made several classes
final
:Configuration
DocParser
HtmlRenderer
InlineParserEngine
NodeWalker
Reference
- All of the block/inline parsers and renderers
- Reduced visibility of several internal methods to
private
:DelimiterStack::findEarliest()
- All
protected
methods inInlineParserEngine
- Marked some classes and methods as
@internal
ElementRendererInterface
now requires a publicrenderInline()
method; added this toHtmlRenderer
- Changed
InlineParserEngine::parse()
to require anAbstractStringContainerBlock
instead of the genericNode
class - Un-deprecated the
CommonmarkConverter::VERSION
constant - The
Converter
constructor now requires an instance ofDocParserInterface
instead of the concreteDocParser
- Changed
Emphasis
,Strong
, andAbstractWebResource
to directly extendAbstractInline
instead of the (now-deprecated) intermediaryAbstractInlineContainer
class
- Fixed null errors when inserting sibling
Node
s without parents - Fixed
NodeWalkerEvent
not requiring aNode
via 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_strong
is set tofalse
(it now works identically toenable_em
)
- Deprecated
DocParser::getEnvironment()
(you should obtain it some other way) - Deprecated
AbstractInlineContainer
(useAbstractInline
instead and makeisContainer()
returntrue
)
- Removed inline processor functionality now that we have proper delimiter support:
- Removed
addInlineProcessor()
fromConfigurableEnvironmentInterface
andEnvironment
- Removed
getInlineProcessors()
fromEnvironmentInterface
andEnvironment
- Removed
EmphasisProcessor
- Removed
InlineProcessorInterface
- Removed
- Removed
EmphasisParser
now that we have proper delimiter support - Removed support for non-UTF-8-compatible encodings
- Removed
getEncoding()
fromContextInterface
- Removed
getEncoding()
,setEncoding()
, and$encoding
fromContext
- Removed
getEncoding()
and the second$encoding
constructor 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