All notable changes will be documented in this file.
- Bump dependency for mdast-add-list-metadata as it was using ES6 features (Espen Hovlandsdal)
- Add more metadata props to list and listItem (André Staltz)
- list:
depth - listItem:
ordered,index
- list:
- Make
sourceproperty optional in typescript definition (gRoberts84)
- Fix bug where rendering empty link references (
[][]) would fail (Dennis S)
- Fix bug where unwrapping certain disallowed nodes would fail (Petr Gazarov)
- Add
rawSourcePosproperty for passing structured source position info to renderers (Espen Hovlandsdal)
- Pass properties of unknown nodes directly to renderer (Jesse Pinho)
- Update TypeScript definition and prop types (ClassicDarkChocolate)
- Add support for fragment renderers (Benjamim Sonntag)
- Fix language escaping in code blocks (Espen Hovlandsdal)
- Pass the React key into an overridden text renderer (vanchagreen)
- Allow overriding text renderer (Thibaud Courtoison)
- Only use first language from code block (Espen Hovlandsdal)
- 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), overriderootrenderer instead softBreakoption removed. New solution will be added at some point in the future.escapeHtmlis now TRUE by defaultHtmlInline/HtmlBlockare now namedhtml(useisBlockprop to check if inline or block)- Renderer names are camelcased and in certain cases, renamed. For instance:
Emph=>emphasisItem=>listItemCode=>inlineCodeCodeBlock=>codelinebreak/hardbreak=>break
- All renderers:
literalprop is now calledvalue* List renderer:typeprop is now a boolean namedordered(Bullet=>false,Ordered=>true) walkerprop removed. Code depending on this will have to be rewritten to use theastPluginsprop, which functions differently.allowNodehas new arguments (node, index, parent) - node has different props, see renderer propschildBeforeandchildAfterprops removed. Userootrenderer instead.parserOptionsremoved (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
transformImageUrioption allows you to transform URIs for images. (Petri Lehtinen)
- The
walkerinstance is now passed to thewalkercallback function (Riku Rouvila)
- Add
childBefore/childAfteroptions (Thomas Lindstrøm)
- Add
containerPropsoption (Thomas Lindstrøm)
- Join sibling text nodes into one text node (Espen Hovlandsdal)
- Update
commonmark-react-rendererdependency 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:
allowNodenow receives different properties in the options argument. SeeREADME.mdfor more details. - Breaking change: CommonMark has changed some type names.
Htmlis nowHtmlInline,Headeris nowHeadingandHorizontalRuleis nowThematicBreak. This affects theallowedTypesanddisallowedTypesoptions. - Breaking change: A bug in the
allowedTypes/disallowedTypesandallowNodeoptions 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. Passnullto disable the feature or a custom function to replace the built-in behaviour.
- New
renderersoption allows you to customize which React component should be used for rendering given types. SeeREADME.mdfor more details. (Espen Hovlandsdal / Guillaume Plique) - New
unwrapDisallowedoption 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
transformLinkUrioption 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
commonmarkandcommonmark-react-parserto 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-loaderto 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
libraryTargetto 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 (
reactvsReact)
- Add ability to allow/disallow specific node types (
allowedTypes/disallowedTypes)
- Moved React from dependency to peer dependency.