Skip to content

Latest commit

 

History

History
1042 lines (660 loc) · 68.7 KB

File metadata and controls

1042 lines (660 loc) · 68.7 KB

3.0.0-rc2 (2026-07-01)

Bug Fixes

  • build: force LF line endings in build output and enforce via gitattributes (73e9e53)
  • deps: restore chai 4.3.6 lockfile to fix karma-chai in CI (184a0f2)

3.0.0-rc1 (2026-06-29)

Bug Fixes

  • add polyfill method for array.isArray (16cac70), closes #497
  • Add rel="noopener noreferrer" to links when openLinksInNewWindow is on (caab5bb), closes #670
  • allow escaping of colons (a4be301)
  • autolinks: align GFM extended autolinks with the spec (e24ca0d)
  • autolinks: link URLs and mentions inside emphasis (f34b753)
  • blockquote: cap nesting depth to avoid stack overflow and quadratic blowup (e1d508f)
  • cli: clearer messages for recursive globs and directory inputs (6a74eec)
  • cli: cli now works properly (c3411a5), closes #893 #894
  • cli: create batch output directories and honor trailing-slash output (6fdcca9)
  • cli: read input data using stream (#358) (1967652), closes #353
  • cli: remove checking stdin size (7acd65e)
  • cmSpec: stop escaping generated HTML from strikethrough and emoji (0d7294d)
  • commonmark: blank lines inside an item fence keep the list tight (10d8362), closes #318
  • commonmark: do not mistake an indent-0 closing fence for an opener (f16c35b), closes #131
  • commonmark: indented code as an empty list item's first block (32c4ac1), closes #278
  • commonmark: keep entities in raw HTML blocks verbatim (245fdb6), closes #31
  • commonmark: lazy continuation through nested block quote + list (gated) (4891ac3), closes #292 #293
  • commonmark: per-list loose/tight respects container nesting (d61d16d), closes #307 #319
  • commonmark: recognize indented code revealed after a block quote (495037a), closes #236
  • commonmark: reference labels match on raw source, no backslash resolution (defbf09), closes #544 #194 #548 #549
  • commonmark: resolve backslash escapes in normalized URLs (10d76e8), closes #23 #202
  • commonmark: setext/thematic-break interference with list items (gated) (6b46b80), closes #281 #282 #300
  • commonmark: Unicode case-fold for reference labels (a552f96), closes #539
  • compress showdown emoji (55f22de)
  • email: now email address obfuscation always returns the same output (949c2bc), closes /stackoverflow.com/questions/521295/seeding-the-random-number-generator-in-javascript/47593316#47593316
  • flavors: drop simpleLineBreaks from the github flavor (43f1058)
  • flavors: remove the allOn flavor preset (cdabba2)
  • footnotes: keep references in code spans and escaped refs literal (718aadb)
  • gfm-codeblock: add support for spaces before language declaration (1f0242c), closes #569
  • gfm-codeblocks: leading space no longer breaks gfm codeblocks (6259f37), closes #523
  • gfmCodeBlocks: allow the info string in gfmCodeBlocks to contain spaces (6711425), closes #856
  • githubCodeBlock: escape info string in generated code class (668871d)
  • hashHTMLBlocks: recognise --!> as an HTML comment terminator (32aa9e6)
  • heading: remove O(n^2) backtracking in setext heading regex (ce94570)
  • headings: inconsistent behavior in lists (26abc7a), closes #495
  • helpers: allow usage in ES6 modules fix for #676 (ed51972)
  • helpers: update github flavored emoji to the latest (#837) (8e2b339)
  • helpers: update octocat emoji image location; add tests (5544e4d)
  • image: honor parseImgDimensions for inline images (fb28a68)
  • images: fix error when using image references (63763b1), closes #585
  • images: fix js error when using image references (b0d475f), closes #585
  • italicsAndBold: Make italicsAndBold lazy (#608) (4378abb), closes #544
  • link,image: escape quotes in generated href/src (4fb992c)
  • links: a number of issues with links subparser (d3ebff7), closes #355 #534
  • lists: codeblocks inside lists are now correctly parsed (8cecdf0), closes #494
  • lists: Fix makeMarkdown tasklist (#846) (626f661), closes #774
  • lists: Fix tasklists to comply with GFM (ac10478), closes #655
  • loader: failover to globalThis when top-level this is undefined (7f23f79), closes #1017
  • makehtml: comply with CommonMark fenced-code info strings and lazy setext underlines (17b16b7)
  • makemarkdown.image: fix bug width|height = auto (440170a), closes #622
  • makemarkdown.table: col text align right (5f85c53)
  • makeMarkdown: handle
    tags converting html to markdown (2019694)
  • makemarkdown: keep a text-less checkbox list item as raw HTML (04babdb)
  • makemarkdown: only reverse a checkbox to a task marker inside a list item (15de710)
  • makemarkdown: start a nested list on its own line inside a list item (78b6d49)
  • mentions: allow for usernames with dot, underscore and dash (2ba0075), closes #574
  • metadata: allow whitespaces after closing marks (0d3ca4d)
  • metadata: Restore dollar signs and tremas. (#730) (ebc730c), closes #626
  • options: remove the openLinksInNewWindow option (8affebd)
  • package: update yargs to version 11.0.0 (#491) (6376d40)
  • paragraphs: replace deprecated RegExp.$n with exec() captures (28cb15d), closes #1042
  • reduce npm package size (6f93b3e)
  • reduce npm package size (82f90eb), closes #619
  • replaces \u00A0 with   (f20dc75), closes #521
  • resolve broken link to installation guide (1a24a4c)
  • subParsers: namespace heading capture/hash events by style (9a4e0ba)
  • subParsers: strip international punctuation from github headers (#950) (4333646)
  • table: align table parsing with the GFM spec (92990a1)
  • tables parse correctly with new version of jsdom (db571fb)
  • underline: Make underline lazy (81edc70)
  • Update yargs to 14.2.0 (dae65c6), closes #738

Code Refactoring

  • options: remove the dead smoothLivePreview option (8a661d0)
  • subParsers: change name and directory of subparsers (3db9200)

Features

  • autolinks: improve CommonMark compliance for angle-bracket links (28363f6)
  • cli: add batch/glob input, verbose mode and colored output (9be4b3c)
  • cli: add flavor listing and validation (409e2d6)
  • cli: add makemarkdown command and fix option handling (26c753c)
  • cmSpec: support GFM link/image options under cmSpec (1200139)
  • cmSpec: support reference-style image dimensions under cmSpec (4e7ee79)
  • cmSpec: support underline and GFM task lists under cmSpec (c7cad47)
  • commonmark: CommonMark autolinks (gated) (d0d5662)
  • commonmark: CommonMark container block quotes (gated) (cb631d8)
  • commonmark: CommonMark HTML blocks (gated) (edc76db)
  • commonmark: CommonMark images - alt flattening + inline parsing (gated) (8e6d054)
  • commonmark: CommonMark link reference definitions (gated) (7739a69)
  • commonmark: container-aware fenced code via commonmarkContainers (f96914c), closes #321 #324
  • commonmark: decode HTML5 character references (gated) (37de87e)
  • commonmark: delimiter-run emphasis/strong parsing (gated) (c25d9ed)
  • commonmark: empty list item edge cases (gated) (c45ae5e), closes #280 #315
  • commonmark: enable unified inline parser in the commonmark flavor (e90d94c)
  • commonmark: inline link destination/title parsing (gated) (4094182)
  • commonmark: let an open HTML block absorb a following fenced block (93a0bad), closes #161
  • commonmark: list item indented code + same-line nesting (gated) (7d76739), closes #264 #270 #271 #273 #274 #298 #299
  • commonmark: new CommonMark list container parser (gated) (bf1f8ac)
  • commonmark: normalize link/image URLs and titles (gated) (0ee5675)
  • commonmark: recognize HTML blocks and link defs inside block quotes (dbb3dc4), closes #174 #218
  • commonmark: strict inline raw HTML recognition (gated) (dd2c524)
  • commonmark: tab expansion in block-structure indentation (gated) (973a8d6)
  • commonmark: unified inline parser (gated, not yet in flavor) (5bfb1bc)
  • disallowRawHTML: add GFM disallowed-raw-html tag filter (2392f13)
  • events: cover remaining subparsers with lifecycle events (436273a)
  • events: emit missing makeHtml lifecycle events (636f8d6)
  • events: wire the event system into makeMarkdown (HTML->MD) (b1e62e1)
  • extensions: unify lang/output extensions onto the event system (c7701a3)
  • footnotes: add GFM footnotes support (9307a6c)
  • links: add httpsAutoLinks option to default autolinks to https (695fc42), closes #998 #806 #998
  • makehtml.events: implements event system refactor for converter.makeHtml (#919) (9f8c719), closes #920
  • makeMarkdown.ghMentions: add support for ghMentions in makeMarkdown (3a616c5), closes #910
  • makemarkdown.table: support non-strict tables (5fc843e), closes #687
  • makemarkdown: broaden HTML->Markdown conversion coverage (cd5ef8f)
  • makeMarkdown: convert HTML to MD (358947b)
  • makemarkdown: gate non-standard constructs on their options (e55e811)
  • makemarkdown: reverse emoji and ellipsis to markdown (2917ccf)
  • makemarkdown: reverse GFM footnotes (HTML -> Markdown) (9ec49d9)
  • moreStyling: add some useful classes for css styling (5e0ed80), closes #540
  • options: enable strikethrough by default (0e7acea)
  • relativePathBaseUrl: Add support for prepending a base URL (e3a5b59), closes #536
  • splitAdjacentBlockquotes: add option to split adjacent blockquote blocks (ea3db5f), closes #477
  • strikethrough: support single-tilde strikethrough (b340b43)
  • tasklists: emit GFM-compliant task list markup (94e0624)

remove

  • literalMidWordAsterisks: remove literalMidWordAsterisks feature (d9eea64), closes #499

BREAKING CHANGES

  • strikethrough: text wrapped in single tildes (~foo~) is now rendered as <del>foo</del>. Escape the tildes to keep them literal.
  • tasklists: by default task list items no longer include the task-list-item class, the list-style-type list style or the inline checkbox margin style. Enable moreStyling to restore the previous output.
  • table: a table whose header and delimiter rows have a different number of cells (e.g. | a | b | over | --- |) is no longer recognised as a table and renders as a paragraph, matching GFM.
  • options: the smoothLivePreview option is removed. It was a no-op (unimplemented), so passing it had no effect; remove it from any config.
  • options: strikethrough is now enabled by default (vanilla and github flavors). Markdown using ... renders as ..., and the reverse direction converts / back to ~~. Set strikethrough: false to restore the previous behavior. The original and commonmark flavors keep it disabled.
  • options: the openLinksInNewWindow option is removed. Use a listener extension on makehtml.link.*.onCapture to add target/rel attributes to anchors instead (see docs/event-system.md).
  • flavors: the github flavor no longer enables simpleLineBreaks, so single newlines inside a paragraph are no longer rendered as
    . Set simpleLineBreaks: true explicitly to restore the previous behavior.
  • extensions: the instance methods converter.removeExtension() and converter.getAllExtensions() have been removed. Use converter.unlisten() to detach a listener. The static showdown.removeExtension() / showdown.getAllExtensions() registry methods are unaffected.
  • extensions: lang and output extensions are deprecated and now log a console warning when loaded. They keep working (as listeners on makehtml.onPreParse / makehtml.onEnd) but should be rewritten as listener extensions.
  • extensions: the legacy showdown.extensions global object and its deprecated extension-loading path have been removed.
  • links: excludeTrailingPunctuationFromURLs option was removed. This is now the default behavior
  • literalMidWordAsterisks: literalMidWordAsterisks option was removed and so asterisks will always retain their markdown magic meaning in a source text. If you're using this feature, and you wish to retain this option, you can find a shim here: https://gist.github.com/tivie/7f8a88c89ffb00d2afe6c59a25528386
  • subParsers: makeHtml subparsers names changed, by prepending 'makehtml.' to them. Example: 'anchors', subparser is now named 'makehtml.anchors'.

Event names were also changed to reflect this. Example: 'anchors.before' is now named 'makehtml.anchors.before'.

To migrate:

If you have a listener extension, replace the old event name with the new one. Example:

Replace this

showdown.extension('myext', function() {
  return [{
    type: 'listener',
    listeners: {
      'anchors.before': function (event, text, converter, options, globals) {
        //... some code
        return text;
      }
  }];
});

with this

showdown.extension('myext', function() {
  return [{
    type: 'listener',
    listeners: {
      'makehtml.anchors.before': function (event, text, converter, options, globals) {
        //... some code
        return text;
      }
  }];
});

2.1.0 (2022-04-21)

  • refactor(cli)!: Remove support for "extra options" and add -c flag, closes #916

Bug Fixes

  • cli: cli displays the correct version number (8b48882)

BREAKING CHANGES

  • the CLI no longer accepts "extra options". Instead you should pass the -c flag. To update:

before:

showdown makehtml -i foo.md -o bar.html --strikethrough --emoji

after:

showdown makehtml -i foo.md -o bar.html -c strikethrough -c emoji

2.0.0 (2022-02-15)

Breaking Changes

  • Supported Node Versions were set to match the node release schedule which at the time of writing includes Node 12.x, 14.x, 16.x and 17.x
  • The yargs dependecy was updated to ^17.2.1 to mitigate a security issue.
  • The Showdown Licesnse has been changed from BSD-3-Clause to MIT

Bug Fixes

Features

  • Added ellipsis option to configure if the ellipsis unicode character is used or not. ( Thanks @VladimirV99 )
  • Added a default security policy. Please report security issues to the issues tab on GitHub.

1.9.1 (2019-11-02)

Bug Fixes

  • openLinksInNewWindow: add rel="noopener noreferrer" to links (1cd281f), closes #670

1.9.0 (2018-11-10)

Version 1.9.0 introduces a new feature, the Markdown to HTML converter. This feature is still experimental and is a partial backport of the new Reverse Converter planned for version 2.0.

Bug Fixes

  • italicsAndBold: fix issue with consecutive spans (#608) (5c0d67e), closes #544
  • underline: fix issue with consecutive spans (81edc70)

Features

  • converter.makeMarkdown: [EXPERIMENTAL] add an HTML to MD converter (e4b0e69), closes #388 #233

1.8.7 (2018-10-16)

Bug Fixes

  • emojis: fix emoji excessive size (4aca41c)

  • gfm-codeblocks: add support for spaces before language declaration (24bf7b1), closes #569 leading space no longer breaks gfm codeblocks (828c32f), closes #523

  • images: fix js error when using image references (980e702), closes #585

  • literalMidWordAsterisks: now parses single characters enclosed by * correctly (fe70e45), closes #478

  • mentions: allow for usernames with dot, underscore and dash (dfeb1e2), closes #574

  • nbsp: fix replacing of nbsp with regular spaces (8bc1f42)

1.8.6 (2017-12-22)

Features

  • splitAdjacentBlockquotes: add option to split adjacent blockquote blocks (da328f2), closes #477

1.8.5 (2017-12-10)

Features

  • completeHTMLDocument: add option to output a complete HTML document (a8427c9)
  • metadata: add support for embedded metadata (63d949f), closes #260

1.8.4 (2017-12-05)

Bug Fixes

  • tables: raw html inside code tags in tables no longer breaks tables (4ef4c5e), closes #471

1.8.3 (2017-11-28)

Bug Fixes

  • literalMidWordAsterisks: no longer treats colon as alphanumeric char (21194c8), closes #461
  • spanGamut: code spans are hashed after parsing (f4f63c5), closes #464
  • tables: pipe character in code spans no longer breaks table (0c933a0), closes #465

1.8.2 (2017-11-11)

Bug Fixes

  • fenced codeblocks: add tilde as fenced code block delimiter (c956ede), closes #456
  • openLinksInNewWindow: hash links are not affected by the option (11936ec), closes #457

1.8.1 (2017-11-01)

Dependencies update

  • package: update yargs to version 10.0.3 (#447) (906b26d)

Bug Fixes

  • CDNjs: bump version to fix version mismatch with CDNjs (#452)

1.8.0 (2017-10-24)

NOTICE

Don't use the CDNjs version of this release. See issue #452 for more details.

Bug Fixes

  • autolinks: prevent _ and * to be parsed in links (61929bb), closes #444

Features

  • ellipsis: add auto-ellipsis support (25f1978)

    • Example:

      input

      this is an ellipsis...

      output

      <p>this is an ellipsis…</p>
  • emoji: add emoji support through option emoji(5b8f1d3), closes #448

    • Usage:

      var conv = new showdown.Converter({emoji: true});
    • Example:

      input

      this is a smile :smile: emoji

      output

      <p>this is a smile 😄 emoji</p>
  • start ordered lists at an arbitrary number: add support for defining the first item number of ordered lists (9cdc35e), closes #377

    • Example:

      input

      3. foo
      4. bar
      5. baz

      output

      <ol start="3">
        <li>foo</li>
        <li>bar</li>
        <li>baz</li>
      </ol>
  • underline: add EXPERIMENTAL support for underline (084b819), closes #450

    • Usage:

      var conv = new showdown.Converter({underline: true});
    • Example:

      input

      this is __underlined__ and this is ___also underlined___

      output

      <p>this is <u>underlined</u> and this is <u>also underlined</u></p>
    • Note: With this option enabled, underscore no longer parses as <em> or <strong>

BREAKING CHANGES

  • start ordered lists at an arbitrary number: Since showdown now supports starting ordered lists at an arbitrary number, list output may differ.

1.7.6 (2017-10-06)

Bug Fixes

  • tables: tables are properly rendered when followed by a single linebreak and a list (d88b095), closes #443
  • tables: trailing spaces no longer prevent table parsing (66bdd21), closes #442

1.7.5 (2017-10-02)

Bug Fixes

  • html-comments: changed regex to prevent malformed long comment to freeze showdown (3efcd10), closes #439

1.7.4 (2017-09-08)

Bug Fixes

  • helper.isArray: replace a.constructor === Array with Array.isArray (466a2eb), closes #425
  • loader: allow AMD loader to be used within Node env (ff24bdb)

Features

  • base64-wrapping: support for wrapping base64 strings (8c593a4), closes #429

1.7.3 (2017-08-23)

Bug Fixes

  • github flavor: add backslashEscapesHTMLTags to GFM flavor (5284439)
  • literalMidWordAsterisks: option no longer treats punctuation as word character (8f05be7), closes #398
  • tables: allow for one column table (fef110c), closes #406

Features

  • rawHeaderId: Remove only spaces, ' and " from generated header ids (1791cf0), closes #409
  • rawPrefixHeaderId: add option to prevent showdown from modifying the prefix (ff26c08), closes #409

1.7.2 (2017-08-05)

Bug Fixes

  • githubMentions: githubMentions now works with openLinksInNewWindow options (1194d88), closes #403
  • lists: fix multi paragraph lists with sublists (a2259c0), closes #397
  • tablesHeaderId: fix mismatch of option name (51e4693), closes #412

Features

  • backslashEscapesHTMLTags: backslash escapes HTML tags (5a5aff6), closes #374

1.7.1 (2017-06-02)

Important HOTFIX

Bug Fixes

  • HTML Parser: fix nasty bug where malformed HTML would hang showdown (6566c72), closes #393

1.7.0 (2017-06-01)

(DEPRECATED)

Bug Fixes

  • anchors: fix issue with brackets in link URL (7ba18dd), closes #390
  • excludeTrailingPunctuationFromURL: add comma to punctuation list (fa35fd5), closes #354
  • excludeTrailingPunctuationFromURLs: fix weird character when this option with simplifiedAutoLinks (71acff5), closes #378
  • HTML parsing: fix HTML parsing issues with nested tags (6fbc072), closes #357 #387
  • openLinksInNewWindow: encode _ to prevent clash with em (813f832), closes #379
  • package: update yargs to version 7.0.1 (#349) (9308d7b)
  • package: update yargs to version 8.0.1 (#385) (5fd847b)
  • simpleAutoLinks: URLs with emphasis/strikethrough are parsed (5c50675), closes #347
  • tables: pipe char can now be escaped (1ebc195), closes #345
  • url parsing: fix url edge case parsing in images and links (30aa18c)

Features

  • customizeHeaderId: add option for customizing header ids (94c570a), closes #383
  • images: add support for image's implicit reference syntax (0c6c07b), closes #366
  • literalMidWordAsterisks: add option for mid word asterisks (5bec8f9)
  • openLinksInNewWindow: add option to open all links in a new window (50235d6), closes #362 #337 #249 #247 #222

1.6.4 (2017-02-06)

Bug Fixes

  • encodeAmpsAndAngles: fix > and < encoding (7f43b79), closes #236
  • encodeEmail: now produces valid emails (605d8b7), closes #340
  • flavor: github: new version of github does not use prefix 'user-content' in headers (368f0b6)
  • hashCodeTags: escape code tags (41cb3f6), closes #339
  • italicsAndBold: fix double emphasis edge case (1832b7f)
  • paragraph: workaround QML bug (f7a429e), closes #246 #338
  • prefixHeaderId: make prefixHeaderId string be parsed along the generated id (f641a7d)

Features

  • flavor: ghost: add Ghost flavor (6374b5b)
  • flavor: original: add John Gruber's markdown flavor (6374b5b)

1.6.3 (2017-01-30)

Bug Fixes

  • codeSpans: add - and = to escaped chars inside code spans (4243a31)
  • italicsAndBold: fix inconsistency in italicsAndBold parsing (a4f05d4), closes #332
  • literalMidWordUnderscores: fix inconsistent behavior of emphasis and strong with literalMidWordUndescores (0292ae0), closes #333
  • paragraphs: fix empty lines generating empty paragraphs (54bf744), closes #334
  • strikethrough: fix strikethrough being wrongly parsed inside codeSpans (169cbe8)

Features

  • events: add events to all subparsers (7d63a3e)

1.6.2 (2017-01-29)

Bug Fixes

  • escapeSpecialCharsWithinTagAttributes: add ~ and = to escaped chars (bfcc0e4)
  • strikethrough: allow escaping tilde char (24d47d7), closes #331

Features

  • ghMentionsLink: add ability to define the generated url in @mentions (a4c24c9)

1.6.1 (2017-01-28)

Bug Fixes

  • simplifiedAutoLink: fix missing spaces before and after email addresses (5190b6a), closes #330

Features

  • encodeEmail: add option to enable/disable mail obfuscation (90c52b8)

Notes

This release also improves performance a bit (around 8%)

1.6.0 (2017-01-09)

Bug Fixes

  • ghCompatibleHeaderId: improve the number of removed chars (d499feb)
  • IE8: fix for IE8 error on using isUndefined function (561dc5f), closes #280
  • options: fix ghCompatibleHeaderId that was set as string instead of boolean (de7c37e)
  • simpleLineBreaks: fix simpleLineBreaks option not working with non-ASCII chars and markdown delimiters (b1c458a), closes #318 #323

Features

  • CLI: add -q (quiet) and -m (mute) mode to CLI (f3b86f0)
  • CLI:flavor: add flavor option to CLI (2d6cd1e)
  • getFlavor: add getFlavor method to showdown and Converter (0eaf105)
  • ghMentions: add support for github's @mentions (f2671c0), closes #51

BREAKING CHANGES:

  • CLI tool now uses the same option defaults as showdown main library. This mean the default flavor is vanilla and ghCodeBlocks options is enabled by default.

    To update, add --ghCodeBlocks="false" to the command.

1.5.5 (2016-12-30)

Features

  • ghCompatibleHeaderId: generate header ids compatible with github (db97a90), closes #320 #321

1.5.4 (2016-12-21)

Bug Fixes

  • horizontal rule: revert backwards incompatibility change (113f5f6), closes #317
  • simpleLineBreaks: fix simpleLineBreak option breaking lists html (ed4c33f), closes #316

1.5.3 (2016-12-19)

Bug Fixes

  • parser slowness with certain inputs (da8fb53), closes #315

Features

  • requireSpaceBeforeHeadingText: option to make space between # and header text mandatory (5d19877), closes #277

1.5.2 (2016-12-17)

Bug Fixes

  • listeners: fix listeners typo (f0d25b7), closes #290
  • lists: lines with multiple dashes being parsed as multilists (10b3410), closes #312
  • nbsp: nbsp are replaced with simple spaces (6e90f7c)

1.5.1 (2016-12-01)

Features

  • simpleLineBreaks: option that parses linebreaks as
    . This option enables linebreaks to always be treated as <br /> tags without needing to add spaces in front of the line, the same way GitHub does. (0942b5e), closes #206
  • excludeTrailingPunctuationFromURLs: option that excludes trailing punctuation from auto linked URLs. (d2fc2a0), closes #266 #308

1.5.0 (2016-11-11)

Bug Fixes

  • lists: enforce 4 space indentation in sublists (d51be6e)
  • lists: fix sublists inconsistent behavior (9cfe8b1), closes #299

Features

  • disableForced4SpacesIndentedSublists: option that disables the requirement of indenting nested sublists by 4 spaces. The option is disabled by default (0be39bc)

BREAKING CHANGES

  • syntax for sublists is now more restrictive. Before, sublists SHOULD be indented by 4 spaces, but indenting at least 2 spaces would work. Now, sublists MUST be indented 4 spaces or they won't work.

    With this input:

    * one
      * two
        * three

    Before (output):

    <ul>
      <li>one
        <ul>
          <li>two
            <ul><li>three</li></ul>
          <li>
        </ul>
      </li>
    <ul>

    After (output):

    <ul>
      <li>one</li>
      <li>two
        <ul><li>three</li></ul>
      </li>
    </ul>

    To migrate either fix source md files or activate the option disableForced4SpacesIndentedSublists:

    showdown.setOption('disableForced4SpacesIndentedSublists', true);

1.4.4 (2016-11-02)

Bug Fixes

  • make some regexes a bit faster and make tab char equivalent to 4 spaces (b7e7560)
  • double linebreaks: fix double linebreaks in html output (f97e072), closes #291
  • lists linebreaks: fix lists linebreaks in html output (2b813cd), closes #291
  • parser: fix issue with comments inside nested code blocks (799abea), closes #288

1.4.3 (2016-08-19)

Bug Fixes

  • bower: fix sourceMappingURL errors in bower by including source (9b5a233), closes #200
  • comments: Fix html comment parser (238726c), closes #276
  • ie8 compatibility: Improve ie8 compatibility (984942e), closes #275 #271
  • simplifiedAutoLink: fix simplified autolink to match GFM behavior (0cc55b0), closes #284 #285

1.4.2 (2016-06-21)

Bug Fixes

  • image-parser: fix ref style imgs after inline style imgs not parsing correctly (73206b0), closes #261
  • tables: add check for undefined on text due to failing to parse tables (6e30a48), author stewartmckee, closes #257

Features

  • smart-indent-fix: fix for es6 indentation problems (261f127), closes #259

1.4.1 (2016-05-17)

Bug Fixes

  • tables: fix table heading separators requiring 3 dashes instead of 2 (ddaacfc), closes #256

1.4.0 (2016-05-13)

Bug Fixes

  • hashHTMLBlock: fix issue with html breaking markdown parsing (2746949), closes #220
  • HTMLParser: fix code tags parsing (71a5873), closes #231
  • HTMLParser: fix ghCodeBlocks being parsed inside code tags (7d0436d), closes #229
  • strikethrough: Fix strikethrough issue with escaped chars (5669317), closes #214
  • tables: fix tables to match github's md spec (f58f014), closes #230

Features

  • markdown="1": enable parsing markdown inside HTML blocks (c97f1dc), closes #178

1.3.0 (2015-10-19)

Bug Fixes

  • literalMidWordUnderscores: fix different behavior with asterisks (e86aea8), closes #198
  • simpleautolink: fix mail simpleAutoLink to ignore urls with @ symbol (8ebb25e), closes #204

Features

  • eventDispatcher: add an event dispatcher to converter (2734326)
  • hashHTMLSpans: add support for hashing span elements (3097bd4), closes #196 #175

<a name"1.2.3">

1.2.3 (2015-08-27)

Bug Fixes

  • blockGamut: fix for headings inside blockquotes (3df70624, closes #191)
  • blockQuote: fix 'github style codeblocks' not being parsed inside 'blockquote' (ed2cf595, closes #192)
  • simpleAutoLinks: fix emails being treated as simple urls (7dc3fb1d, closes #187)
  • tables: fix md tables being parsed inside indented code blocks. (50256233, closes #193)

<a name"1.2.2">

1.2.2 (2015-08-02)

Bug Fixes

<a name"1.2.1">

1.2.1 (2015-07-22)

Features

  • smoothLivePreview: fix weird effects due to parsing incomplete input (62ba3733)
  • subParsers/githubCodeBlock: add extra language class to conform to html5 spec (b7f5e32)

Bug Fixes

  • tables:

    • fix undefined error in malformed tables (6176977)
    • add support for md span elements in table headers (789dc18), closes #179
  • italicsAndBold:

    • fix broken em/strong tags when used with literalMidWordUnderscores (7ee2017), closes #179
    • fix underscores not being correctly parsed when used in conjunction with literalMidWordsUnderscores option (c9e85f1)
  • codeSpans: Fix issue with code html tags not being correctly escaped (5f043ca)

  • images: fix alt attribute not being escaped correctly (542194e)

<a name"1.2.0">

1.2.0 (2015-07-13)

This release moves some of the most popular extensions (such as table-extension and github-extension) to core. Also introduces a simple cli tool that you can use to quickly convert markdown files into html.

Bug Fixes

  • headerLevelStart: fix for NaN error when specifying a non number as headerLevelStart param (be72b487)

Features

  • CLI: simple cli tool (ALPHA) (f6a33e40)
  • flavours: add markdown presets/flavors (7e55bceb, closes #164)
  • ghCodeBlocks: add option to disable GH codeblocks (c33f9888)
  • literalMidWordUnderscores: add support for GFM literal midword underscores (0c0cd7db)
  • simplifiedAutoLink: add support for GFM autolinks (cff02372)
  • strikethrough: add support for GFM strikethrough (43e9448d)
  • tables: add support for GFM tables (3a924e3c)
  • tasklists: add support for GFM tasklists (dc72403a)

<a name"1.1.0">

1.1.0 (2015-06-18)

Bug Fixes

  • converter.js: add error if the passed constructor argument is not an object (d86ed450)
  • output modifiers: fix for output modifiers running twice (dcbdc61e)

Features

  • headerLevelStart: add support for setting the header starting level (b84ac67d, closes #69)
  • image dimensions: add support for setting image dimensions within markdown syntax (af82c2b6, closes #143)
  • noHeaderId: add option to suppress automatic generation of ids in headers (7ac893e9)
  • showdown.getDefaultOptions: add method to retrieve default global options keypairs (2de53a7d)

Breaking Changes

  • Deprecates showdown.extensions property. To migrate, extensions should use the new method showdown.extension(<ext name>, <extension>) to register. For more information on the new extension loading mechanism, please check the wiki pages. (4ebd0caa)

<a name"1.0.2">

1.0.2 (2015-05-28)

Bug Fixes

  • Gruntfile.js add missing comma in footer. This bug prevented concatenating other js scripts and libraries with showdown(5315508. Credits to Alexandre Courtiol.

<a name"1.0.1">

1.0.1 (2015-05-27)

Bug Fixes

  • bower.json: update bower.json main attribute to point to dist directory (bc3a092f)

<a name"1.0.0">

1.0.0 (2015-05-27)

Release Information

This is a major code refactor with some big changes such as:

  • showdown.js file was split in several files, called sub-parsers. This should improve code maintainability.
  • angular integration was removed from core and move to its own repository, similar to what was done with extensions
  • A new extension registering system is on the "cooks" that should reduce errors when using extensions. The old mechanism is kept so old extensions should be compatible.

Bug Fixes

  • extensions: support for old extension loading mechanism (95ed7c68)
  • helpers: fix wrong function call 'escapeCharacters' due to old strayed code (18ba4e75)
  • showdown.js:
  • options.omitExtraWLInCodeBlocks: fix for options.omitExtraWLInCodeBlocks only applying in gitHub flavoured code b (e6f40e19)
  • showdown: fix for options merging into globalOptions (ddd6011d, closes #153)

Features

  • registerExtension(): new extension loading mechanism. Now extensions can be registered using this function. The system, however, is not final and will probably be changed until the final version([0fd10cb] (http://github.com/showdownjs/showdown/commit/0fd10cb))
  • allowBlockIndents: indented inline block elements can now be parsed as markdown (f6326b84)
  • omitExtraWLInCodeBlocks: add option to omit extra newline at the end of codeblocks (141e3f5)
  • prefixHeaderId: add options to prefix header ids to prevent id clash (141e3f5)
  • Converter.options: add getOption(), setOption() and getOptions() to Converter object (db6f79b0)

Breaking Changes

  • NAMESPACE: showdown's namespace changed.

    To migrate your code you should update all references to Showdown with showdown.

  • Converter: converter reference changed from converter to Converter.

    To migrate you should update all references to Showdown.converter with showdown.Converter

  • angular: angular integration was removed from core and now lives in it's own repository.

    If you're using angular integration, you should install ng-showdown. Ex: bower install ng-showdown

  • extensions: showdown extensions were removed from core package and now live in their own repository. See the project's github page for available extensions