All notable changes will be documented in this file.
- Enable transformImageUri for image references (evoye)
- Exclude babel config from npm package (Espen Hovlandsdal)
- Fixed partial table exception (Alexander Wong)
- Add readOnly property to checkboxes (Phil Rajchgot)
- Support for checkbox lists (Espen Hovlandsdal)
- Better typings (Igor Kamyshev)
- Experimental support for plugins (Espen Hovlandsdal)
- Provide more arguments to
transformLinkUri
/transformImageUri
(children, title, alt) (mudrz)
- FULL REWRITE. Changed parser from CommonMark to Markdown. Big, breaking changes. See BREAKING below.
- Table support!
- New types:
table
,tableHead
,tableBody
,tableRow
,tableCell
- New types:
- New type:
delete
(~~foo~~
) - New type:
imageReference
- New type:
linkReference
- New type:
definition
- Hacky, but basic support for React-native rendering of attributeless HTML nodes (
<kbd>
,<sub>
etc)
- Container props removed (
containerTagName
,containerProps
), overrideroot
renderer instead softBreak
option removed. New solution will be added at some point in the future.escapeHtml
is now TRUE by defaultHtmlInline
/HtmlBlock
are now namedhtml
(useisBlock
prop to check if inline or block)- Renderer names are camelcased and in certain cases, renamed. For instance:
Emph
=>emphasis
Item
=>listItem
Code
=>inlineCode
CodeBlock
=>code
linebreak
/hardbreak
=>break
- All renderers:
literal
prop is now calledvalue
* List renderer:type
prop is now a boolean namedordered
(Bullet
=>false
,Ordered
=>true
) walker
prop removed. Code depending on this will have to be rewritten to use theastPlugins
prop, which functions differently.allowNode
has new arguments (node, index, parent) - node has different props, see renderer propschildBefore
andchildAfter
props removed. Useroot
renderer instead.parserOptions
removed (new parser, so the old options doesn't make sense anymore)
- Fix
<br/>
not having a node key (Alex Zaworski)
- Fix deprecations for React v15.5 (Renée Kooi)
- Fix too strict TypeScript definition (Rasmus Eneman)
- Update JSON-loader info in readme to match webpack 2 (Robin Wieruch)
- Add ability to pass options to the CommonMark parser (Evan Hensleigh)
- Fixed TypeScript definitions (Kohei Asai)
- Added TypeScript definitions (Ibragimov Ruslan)
- Added UMD-build (
umd/react-markdown.js
) (Espen Hovlandsdal)
- Update
commonmark-react-renderer
, fixing a bug with missing nodes (Espen Hovlandsdal)
- Plain DOM-node renderers are now given only their respective props. Fixes warnings when using React >= 15.2 (Espen Hovlandsdal)
- New
transformImageUri
option allows you to transform URIs for images. (Petri Lehtinen)
- The
walker
instance is now passed to thewalker
callback function (Riku Rouvila)
- Add
childBefore
/childAfter
options (Thomas Lindstrøm)
- Add
containerProps
option (Thomas Lindstrøm)
- Join sibling text nodes into one text node (Espen Hovlandsdal)
- Update
commonmark-react-renderer
dependency to latest version to add keys to all elements and simplify custom renderers.
- Breaking change: The renderer now requires Node 0.14 or higher. This is because the renderer uses stateless components internally.
- Breaking change:
allowNode
now receives different properties in the options argument. SeeREADME.md
for more details. - Breaking change: CommonMark has changed some type names.
Html
is nowHtmlInline
,Header
is nowHeading
andHorizontalRule
is nowThematicBreak
. This affects theallowedTypes
anddisallowedTypes
options. - Breaking change: A bug in the
allowedTypes
/disallowedTypes
andallowNode
options made them only applicable to certain types. In this version, all types are filtered, as expected. - Breaking change: Link URIs are now filtered through an XSS-filter by default, prefixing
"dangerous" protocols such as
javascript:
withx-
(eg:javascript:alert('foo')
turns intox-javascript:alert('foo')
). This can be overridden with thetransformLinkUri
-option. Passnull
to disable the feature or a custom function to replace the built-in behaviour.
- New
renderers
option allows you to customize which React component should be used for rendering given types. SeeREADME.md
for more details. (Espen Hovlandsdal / Guillaume Plique) - New
unwrapDisallowed
option allows you to select if the contents of a disallowed node should be "unwrapped" (placed into the disallowed node position). For instance, setting this option to true and disallowing a link would still render the text of the link, instead of the whole link node and all it's children disappearing. (Espen Hovlandsdal) - New
transformLinkUri
option allows you to transform URIs in links. By default, an XSS-filter is used, but you could also use this for use cases like transforming absolute to relative URLs, or similar. (Espen Hovlandsdal)
- Rolled back dependencies because of breaking changes
- Updated dependencies for both
commonmark
andcommonmark-react-parser
to work around an embarrasing oversight on my part.
- Reverted change from 1.2.1 that uses the dist version. Instead, documentation is added that
specified the need for
json-loader
to be enabled when using webpack.
- Use pre-built (dist version) of commonmark renderer in order to work around JSON-loader dependency.
- Added new
allowNode
-property. See README for details.
- Set correct
libraryTarget
to make UMD builds work as expected
- Update babel dependencies and run prepublish only as actual prepublish, not install
- Fixed issue with React external name in global environment (
react
vsReact
)
- Add ability to allow/disallow specific node types (
allowedTypes
/disallowedTypes
)
- Moved React from dependency to peer dependency.