PackageTrack
Sign in Get early access

erusev/parsedown

Parser for Markdown.

1.8.0 160M downloads/mo #514 most downloaded on Packagist erusev/parsedown

What this package is like to depend on

Last release 6 months ago

16 Feb 2026

Ships unpredictably

gaps range from 4 weeks to 3.7 years

Rarely documented

notes for 3 of 68 stable releases

Nothing withdrawn

no release was ever pulled

13 years old

81 releases · first in 2013

1 release in the last 12 months

see the full history below

Release timeline

81 releases · Jul 2013 to Feb 2026
2014 2016 2018 2020 2022 2024 2026
Release Pre-release

Releases

latest 60 of 81
  1. v2.0.0-beta-1 21 May 2022 pre-release

    Nothing published for this version

  2. 1.8.0 16 Feb 2026
    Release notes

    The first stable release in over six years. Requires PHP 7.1+.

    Breaking Changes

    • PHP 7.1 minimum -- dropped support for PHP 5.3, 5.4, 5.5, 5.6, and 7.0.
    • List separation by marker type -- lists using different markers (*, +, -, or switching between . and ) for ordered lists) are now treated as separate lists, matching the CommonMark spec.
    • Lazy blockquotes -- consecutive blockquotes separated by a blank line are no longer merged into one, per CommonMark.
    • Sparse HTML blocks -- blank lines inside block-level HTML are now wrapped in <p> tags instead of being preserved as-is.
    • Empty ATX headings -- # and ## on their own now produce <h1></h1> and <h2></h2> instead of being treated as paragraphs.
    • Extensions accessing block internals may need to update: the element structure uses element instead of text in some places (e.g. $Block['element']['element']['text'] instead of $Block['element']['text']['text']).

    Security

    • Regex patterns throughout the parser now use possessive quantifiers (*+, ++) to prevent catastrophic backtracking (ReDoS). This addresses denial-of-service vectors where malformed emphasis markers or other adversarial input could cause memory exhaustion or hangs.
    • Safe mode now sanitizes nested elements correctly via recursive AST traversal. Previously, sanitization only applied at the top level.
    • Extensions can mark self-produced HTML as trusted using allowRawHtmlInSafeMode so it isn't escaped in safe mode, while untrusted input remains escaped.

    PHP Compatibility

    • Fixed implicit nullable parameter deprecations for PHP 8.4+.
    • Updated PHPUnit dependency and test infrastructure for modern PHP.
    • CI moved from Travis CI to GitHub Actions.

    CommonMark Compliance

    • Setext headings now handle leading/trailing spaces correctly.
    • ATX heading closing # sequences are trimmed properly (e.g. # # of levels # # renders as <h1># of levels #</h1>).
    • Ordered lists support ) as a marker in addition to ..
    • Ordered lists starting with a number other than 1 no longer interrupt paragraphs.
    • One-column tables are now supported.
    • Fenced code blocks require the closing fence to have at least as many backticks/tildes as the opening fence.
    • HTML comments follow the CommonMark spec more closely.
    • Email autolinks validate against the CommonMark email definition.
    • Escaped tilde characters (\~\~) are no longer treated as strikethrough.

    New Features

    • Strict mode (setStrictMode(true)) -- requires a space after # in ATX headings (CommonMark-compliant behavior).

    Bug Fixes

    • Fixed "Uninitialized string offset" errors on certain inputs.
    • Fixed adjacent blockquotes being incorrectly merged.
    • Fixed line-break standardization when using the line() method directly.
    • Fixed table header validation (headers containing newlines are no longer accepted).
    • Fixed spaces in fenced code block class names.
    Open source →
  3. 1.8.0-beta-7 17 Mar 2019 pre-release

    Nothing published for this version

  4. v1.8.0-beta-6 17 Mar 2019 pre-release
    Release notes

    This is a pre-release.

    To see what's changed from 1.7.1, please refer to the draft release notes in #601.

    Any testing, bug-reports, or bug-fixes are very welcome.


    This beta increment is a security release and resolves an issue which would allow a user to add arbitrary classes to fenced code blocks. This might have security consequences, see #699 for more detail.

    Open source →
  5. 1.8.0-beta-5 11 Jun 2018 pre-release
    Release notes

    This is a pre-release.

    To see what's changed from 1.7.1, please refer to the draft release notes in #601.

    Any testing, bug-reports, or bug-fixes are very welcome.


    This beta release restores the existence of some previously deleted protected interface endpoints.

    Open source →
  6. 1.8.0-beta-4 08 May 2018 pre-release

    Nothing published for this version

  7. 1.8.0-beta-3 07 May 2018 pre-release

    Nothing published for this version

  8. 1.8.0-beta-2 07 May 2018 pre-release

    Nothing published for this version

  9. 1.8.0-beta-1 08 Apr 2018 pre-release

    Nothing published for this version

  10. 1.7.4 30 Dec 2019
    Release notes

    Introduce rawHtml concept from beta 1.8 that extensions may optionally utilise. In 1.8 beta versions this feature is utilised internally and might have compatibility issues with extensions, this release does not use this feature internally so no such issues will be present.

    Open source →
  11. 1.7.3 17 Mar 2019

    Nothing published for this version

  12. v1.7.2 17 Mar 2019
    Release notes

    This is a security release and resolves an issue which would allow a user to add arbitrary classes to fenced code blocks. This might have security consequences, see #699 for more detail.

    Open source →
  13. 1.7.1 08 Mar 2018

    Nothing published for this version

  14. 1.7.0 28 Feb 2018

    Nothing published for this version

  15. 1.6.4 14 Nov 2017

    Nothing published for this version

  16. 1.6.3 14 May 2017

    Nothing published for this version

  17. 1.6.2 29 Mar 2017

    Nothing published for this version

  18. 1.6.1 02 Nov 2016

    Nothing published for this version

  19. 1.6.0 04 Oct 2015

    Nothing published for this version

  20. 1.5.4 03 Aug 2015

    Nothing published for this version

  21. 1.5.3 29 Apr 2015

    Nothing published for this version

  22. 1.5.2 18 Mar 2015

    Nothing published for this version

  23. 1.5.1 24 Jan 2015

    Nothing published for this version

  24. 1.5.0 19 Jan 2015

    Nothing published for this version

  25. 1.4.5 15 Jan 2015

    Nothing published for this version

  26. 1.4.4 15 Jan 2015

    Nothing published for this version

  27. 1.4.3 15 Jan 2015

    Nothing published for this version

  28. 1.4.2 15 Jan 2015

    Nothing published for this version

  29. 1.4.1 14 Jan 2015

    Nothing published for this version

  30. 1.4.0 12 Jan 2015

    Nothing published for this version

  31. 1.3.0 12 Jan 2015

    Nothing published for this version

  32. 1.2.0 10 Jan 2015

    Nothing published for this version

  33. 1.1.4 29 Nov 2014

    Nothing published for this version

  34. 1.1.3 28 Nov 2014

    Nothing published for this version

  35. 1.1.2 19 Nov 2014

    Nothing published for this version

  36. 1.1.1 29 Oct 2014

    Nothing published for this version

  37. 1.1.0 25 Sep 2014

    Nothing published for this version

  38. 1.0.1 21 May 2014

    Nothing published for this version

  39. 1.0.0 14 May 2014

    Nothing published for this version

  40. 1.0.0-rc.5 12 May 2014 pre-release

    Nothing published for this version

  41. 1.0.0-rc.4 30 Apr 2014 pre-release

    Nothing published for this version

  42. 1.0.0-rc.3 30 Apr 2014 pre-release

    Nothing published for this version

  43. 1.0.0-rc.2 28 Apr 2014 pre-release

    Nothing published for this version

  44. 1.0.0-rc.1 17 Apr 2014 pre-release

    Nothing published for this version

  45. 0.9.4 06 Feb 2014

    Nothing published for this version

  46. 0.9.3 06 Feb 2014

    Nothing published for this version

  47. 0.9.2 05 Feb 2014

    Nothing published for this version

  48. 0.9.1 02 Feb 2014

    Nothing published for this version

  49. 0.9.0 22 Jan 2014

    Nothing published for this version

  50. 0.8.3 20 Jan 2014

    Nothing published for this version

  51. 0.8.2 18 Jan 2014

    Nothing published for this version

  52. 0.8.1 16 Jan 2014

    Nothing published for this version

  53. 0.8.0 26 Dec 2013

    Nothing published for this version

  54. 0.7.7 18 Dec 2013

    Nothing published for this version

  55. 0.7.6 07 Dec 2013

    Nothing published for this version

  56. 0.7.5 05 Dec 2013

    Nothing published for this version

  57. 0.7.4 02 Dec 2013

    Nothing published for this version

  58. 0.7.3 23 Nov 2013

    Nothing published for this version

  59. 0.7.2 23 Nov 2013

    Nothing published for this version

  60. 0.7.1 22 Nov 2013

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive