changelogs.md


markdown-it/markdown-it

Repository  -  API  -  Source

10.0.0

September 11, 2019

Security

  • Fix quadratic parse time for some combinations of pairs, #583. Algorithm is now similar to one in reference implementation.

Changed

  • Minor internal structs change, to make pairs parse more effective (cost is linear now). If you use external "pairs" extensions, you need sync those with "official ones". Without update, old code will work, but can cause invalid result in rare case. This is the only reason of major version bump. With high probability you don't need to change your code, only update version dependency.
  • Updated changelog format.
  • Deps bump.

9.1.0

August 11, 2019

Changed

  • Remove extra characters from line break check. Leave only 0x0A & 0x0D, as in CommonMark spec, #581.

9.0.1

July 12, 2019

Fixed

  • Fix possible corruption of open/close tag levels, #466

9.0.0

July 9, 2019

Changed

  • Updated CM spec compatibility to 0.29.
  • Update Travis-CI node version to actual (8 & latest).
  • Deps bump.

8.4.2

February 15, 2018

Fixed

  • Fix --no-html CLI option, #476.

8.4.1

February 15, 2018

Fixed

  • Fix smartquotes around softbreaks, #430.

8.4.0

August 24, 2017

Changed

  • Updated CM spec compatibility to 0.28.

8.3.2

August 3, 2017

Fixed

  • Fix blockquote termination inside lists, #386.

8.3.1

March 6, 2017

Fixed

  • Fix blockquote termination by list item, #338.

8.3.0

February 16, 2017

Changed

  • Remove tabs at the beginning of the line in paragraphs.
  • Better error message for bad input type, #324.

Fixed

  • Fix table indentation issues, #325, #224.
  • Fix blockquote termination inside indented lists, #329.

8.2.2

December 15, 2016

Added

  • Add -o / --output option to CLI, #312.

8.2.1

December 2, 2016

Fixed

  • Add missed h2..h6 to whitelisted block tags.

8.2.0

December 1, 2016

Changed

  • Updated CM spec compatibility to 0.27 (no significant changes).

Fixed

  • Fix backticks handle inside tables, #303.
  • Fix edge case for fenced blocks with ~~~ in info, #301.
  • Fix fallback to reference if link is not valid, #302.

8.1.0

November 3, 2016

Changed

  • Make link parse helpers (md.helpers) pluggable, #299.

8.0.1

October 18, 2016

Fixed

  • Tables: allow tab characters in markup

8.0.0

September 16, 2016

Changed

  • Benchmarks src cleanup.
  • Remove testing in old nodes (but still use es5).
  • Updated CM spec compatibility to 0.26 (see list below):
  • Two consecutive newlines no longer terminate a list.
  • Ordered list terminating a paragraph can now only start with 1.
  • Adjust emphasis algorithm (*foo**bar**baz* is now parsed as <strong> inside <em>).
  • Fix tab width calculation inside lists and blockquotes.

7.0.1

August 16, 2016

Fixed

  • Fence renderer: fix concat of class array, #276.
  • Code renderer: do not render double space before attrs, #275.
  • Replacer: disable replacements inside autolinks, #272.

7.0.0

June 22, 2016

Changed

  • Bump linkify-it dependency to 2.0.0. --- no longer terminates autodetected links by default. md.linkifier.set('---', true) will return old behaviour.
  • Major version bumped, because internals or linkify-it was changed. You will not be affected anyhow, if not used direct access to require('linkify-it/re') for customizations.

6.1.1

June 21, 2016

Changed

  • Render code_inline & code_block attributes if exist.

6.1.0

June 19, 2016

Changed

  • Updated fence renderer to not mutate token. Token stream should be immutable after renderer call.

6.0.5

June 1, 2016

Fixed

  • Process \r the same way as \n and \r\n\, #252.

6.0.4

May 30, 2016

Added

  • Added Token.attrGet() method for convenience, #251.

6.0.3

May 30, 2016

Security

  • Security fix: possible ReDOS in linkify-it (forced bump of linkify-it & uc-micro dependencies). New installs will use fixed packages automatically, but we bumped markdown-it version for sure & for web builds.

6.0.2

May 16, 2016

Fixed

  • Fix: should not escape twice content of image alt attribute, #246.

6.0.1

April 2, 2016

Fixed

  • Improve support of missing values in tables, #224.

6.0.0

February 11, 2016

Changed

  • Maintenance release. Version bump caused by notable changes in CM spec (multiline setext headers, no spaces inside links, ...). API was not changed.
  • Fit CM 0.24 spec requirements.

Fixed

  • Fixed nesting limit check in inline blocks, #197.
  • Fixed posible tail loss in CLI ouput.

5.1.0

January 7, 2016

Added

  • Token: added .attrSet() & .attrJoin() methods.
  • Highlighter: allow wrapper override (if result starts with "<pre").

5.0.3

January 4, 2016

Fixed

  • Allow single column and mismatched columns count in tables.
  • Smartquotes: take into account adjacent tokens.
  • Fill content property in image token with alt source.

5.0.2

November 20, 2015

Fixed

  • Fix meta information (token.markup and token.info) for autolink tokens.

5.0.1

October 30, 2015

Fixed

  • Improved tables compatibility with github, #120.

5.0.0

October 5, 2015

Changed

  • Internal API change. Due to new CM spec requirements, we had to update internals. That should not touch ordinary users, but can affect some external plugins. If you are plugin developper - see migration guide: https://github.com/markdown-it/markdown-it/blob/master/docs/5.0_migration.md.
  • Updated CM spec compatibility to 0.22 (see list below).
  • Keep tabs (don't replace with spaces).
  • Don't wrap iframes with paragraphs.
  • Rewritten emphasis algorithm.

Fixed

  • Fix closure compiler collisions (don't use reserved words), #159.

4.4.0

July 18, 2015

Changed

  • Updated HTML blocks logic to CM 0.21 spec.
  • Minor fixes.

4.3.1

July 15, 2015

Security

  • Fix class name injection in fence renderer.

Fixed

  • Allow numbered lists starting from zero.

4.3.0

June 29, 2015

Changed

  • linkify-it dependency update (1.2.0). Now accepts dash at the end of links.

4.2.2

June 10, 2015

Changed

  • CM spec 0.20.

Added

  • Added support for multichar substituition in smartquites, #115.

Fixed

  • Fixed code block render inside blockquites, #116.
  • Doc fixes.

4.2.1

May 1, 2015

Changed

  • Minor emphasis update to match CM spec 0.19.

4.2.0

April 21, 2015

Changed

  • Bumped linkify-it version to 1.1.0. Now links with IP hosts and without protocols are not linkified by default, due possible collisions with some version numbers patterns (0.5.0.0). You still can return back old behaviour by md.linkify.set({ fuzzyIP: true }).

4.1.2

April 19, 2015

Changed

  • Bumped linkifier version. More strict 2-chars tald support for links without schema. Should not linkify things like io.js and node.js.

4.1.1

April 15, 2015

Fixed

  • Improved pipe chars support in table cells, #86 (thanks to @jbt).

4.1.0

March 31, 2015

Security

  • Disabled data: URLs by default (except some image mimes), to avoid possible XSS. Version bumped, because features changed (formally). If you did not used data: URLs, consider this version as 4.0.4 (no API changes).

Changed

  • Simplified link validator code. Now more easy to understand and to copy into your projects for customization.

4.0.3

March 25, 2015

Changed

  • Updated linkifier.
  • Smartquotes rule cleanup (#76).

Fixed

  • Fixed replacements rule bug in PhantomJS (#77).

4.0.2

March 22, 2015

Fixed

  • Fixed emphasis marker fields in tokens (#69).
  • Fixed html block tokens with numbers in name (#74).

4.0.1

March 13, 2015

Added

  • Added custom container plugin demo.

Changed

  • Updated linkify-it version.

4.0.0

March 11, 2015

Changed

  • Breaking internal API changes. See v4 migration notes. In usual case you will need to update plugins.
  • Token internals changed
  • Unified the most of renderer methods.
  • Changed tokens creation - use state.push(...) (see sources)
  • Moved normalizeUrl() to root class as .normalizeLink() & added normalizeLinkText() method.
  • Moved .validateUrl() to root class and simplified logic - no more need to replace entities.
  • Joined md unescape & replace entities logic to utils.unescapeAll().
  • Removed replaceEntities() in utils.
  • md.utils.lib now exposes useful libs for plugins.
  • Use entities data from external package.

Fixed

  • Fixed emphasis regression, caused by CM v0.18 spec (#65).

3.1.0

March 5, 2015

Changed

  • Spec conformance update to 0.18.
  • Significantly improved autolinking quality (use linkify-it package), #2.

Fixed

  • Rewritten links normalizer to solve different edge cases (use mdurl package), #29.
  • Moved link title entities replace out of renderer.
  • Fixed escaped entities in links (foo\&amp;/bar).
  • Improved smartquotes logic, #61.

3.0.7

February 22, 2015

Added

  • Added basic CLI support.

Changed

  • Use external package for unicode data (punctuation).

Fixed

  • Added \v \f to valid whitespaces.
  • Match table columns count by header.

3.0.6

February 12, 2015

Added

  • Sync scroll result => source in demo.

Changed

  • Moved normalizeReference() to utils.

Fixed

  • Fixed hang on long vertical list of links. Appeared in 3.0.5. See #54 for details. Thanks to @fengmk2 for report!
  • Table lines now can have escaped pipe char \| (#5).

3.0.5

February 6, 2015

Changed

  • Significantly improved tests coverage (with dead code removal and other related things).

Fixed

  • Fixed link validator - could skip some kind of javascript links with uppercase digital entities (thanks to @opennota)

3.0.4

January 13, 2015

Changed

  • Improved errors processing in url normalizer (for broken sequences).
  • Improved nesting limit processing in inline parser.
  • Reorganized tests & improved coverage.
  • Show inline diffs for failed tests.

3.0.3

January 11, 2015

Fixed

  • Fixed punctuation check in emphasis.

3.0.2

January 9, 2015

Fixed

  • Allow dashes in HTML tag names (needed for custom HTML tags).

3.0.1

January 7, 2015

Changed

  • Added # to terminator chars.

Fixed

  • Improved link encoder - fix invalid surrogates to avoid errors.

3.0.0

January 4, 2015

Changed

  • Big split. All "rare" rules moved to external plugins (deflist, abbr, footnote, sub, sup, ins, mark).
  • Updated CM spec conformance to v0.15 (better unicode support).
  • Added md (parser instance) link to all state objects (instead of former options/parser).
  • References/Footnotes/Abbrs moved to block chain.
  • Input normalization moved to core chain.
  • Splitted links and images to separate rules.
  • Renamed some rules.
  • Removed full preset. Not needed anymore.
  • enable/disable methods now throw by default on invalid rules (exceptions can be disabled).
  • Replace NULL characters with 0xFFFD instead of strip.
  • Removed custom fences sugar (overcomplication).
  • Rewritten link components parse helpers.
  • More functions in md.utils.

Fixed

  • Fixed inline html comments & cdata parse.

2.2.1

December 29, 2014

Added

  • Added development info.

Changed

  • .use() now pass any number of params to plugins.

Fixed

  • Fixed line breaks in definitions lists.

2.2.0

December 28, 2014

Added

  • API docs.
  • Added 'zero' preset.

Changed

  • Updated CM spec conformance to v0.13.

Fixed

  • Fixed several crashes, when some basic rules are disabled (block termination check, references check).

2.1.3

December 24, 2014

Added

  • Added curring to set/configure/enable/disable methods.

Changed

  • Demo rework - now can include plugins.
  • Docs update.

2.1.2

December 23, 2014

Changed

  • Exposed helpers into parser instances (for plugins).
  • Removed utils from global export - been in instances seems enougth.
  • Refactored demo & added markdown-it-emoji to it.

2.1.1

December 22, 2014

Changed

  • Refreshed browser builds, missed in prev release.
  • Minor changes.

2.1.0

December 21, 2014

Changed

  • Separated method to enable rules by whitelist (enableOnly).
  • Changed second param of enable/disable ruler methods.
  • Shortcuts in main class for bulk enable/disable rules.
  • ASCII-friendly browserified files.
  • Separate package for spec tests.

2.0.0

December 20, 2014

Changed

  • New project name & home! Now it's markdown-it,
  • Sugar for constructor call - new is not mandatory now.
  • Renamed presets folder (configs -> presets).