Skip to content

Releases: commonmark/commonmark-java

commonmark-java 0.8.0

Choose a tag to compare

@robinst robinst released this 09 Dec 02:44

Update to CommonMark spec 0.27 (#73):

  • Treat h2..h6 as HTML blocks well
  • Allow shortcut reference link before open parenthesis (if parenthesis is not part of a valid inline link)

API changes:

  • AttributeProvider.setAttributes now has an additional tagName argument and is called for all HTML tags of a block. This allows users to add attributes for the pre tag of a code block in addition to code. Also added attribute provider support for additional HTML tags, namely em, strong, code and br. (#74)

ext-autolink:

  • Bump version of autolink-java dependency (no changes affecting extension)

ext-heading-anchor:

  • Fix IllegalArgumentException on Android (#71)

commonmark-java 0.7.1

Choose a tag to compare

@robinst robinst released this 05 Oct 04:01
  • Allow to configure prefix/suffix for ID on HeadingAnchorExtension (#66), thanks @paulthom12345

commonmark-java 0.7.0

Choose a tag to compare

@robinst robinst released this 23 Sep 05:41

New features:

  • Plain text content renderer (#58), thanks to @JinneeJ!
    • Renders a plain text representation of a document instead of HTML, see TextContentRenderer in core.
    • Extensible in the same way as HTML rendering.
  • Heading anchor extension (#26), thanks to @paulthom12345!
    • Adds "id" attribute to heading tags (e.g. <h1 id="heading">Heading</h1>), useful for linking to sections of a document.
    • ID generation logic can also be used by itself via the IdGenerator class.
    • Use class HeadingAnchorExtension in artifact commonmark-ext-heading-anchor
  • Ins (underline) extension (#54), thanks to @pabranch!
    • Enables underlining of text by enclosing it in ++. It's rendered as an ins tag in HTML.
    • Use class InsExtension in artifact commonmark-ext-ins.

API changes:

  • HtmlRenderer and related classes moved from org.commonmark.html to org.commonmark.renderer.html
  • HtmlRenderer.Builder no longer takes an AttributeProvider, but uses a AttributeProviderFactory to instantiate a new provider for each rendering. Code needs to be changed to create a factory and then return the existing provider from its create method, similar to node renderers.
  • NodeRendererFactory was renamed to HtmlNodeRendererFactory, same for related classes (as there's a corresponsing interface for text content rendering)

commonmark-java 0.6.0

Choose a tag to compare

@robinst robinst released this 25 Jul 12:47
  • Update to CommonMark spec 0.26 (#55)
    • empty list items can no longer interrupt a paragraph; this resolves an ambiguity with setext headers
    • ordered lists can interrupt a paragraph only when beginning with 1
    • the two-blank-lines-breaks-out-of-lists rule has been removed
    • the spec for emphasis and strong emphasis has been refined to give more intuitive results in some cases
    • tabs can be used after the # in an ATX header and between the markers in a thematic break
  • Fix max length for link labels (999, not 1000)
  • Simplify and speed up brackets processing (links/images)
    • Improves the nested brackets pathological case (e.g. [[[[a]]]] with a lot of brackets)
    • Also contributed these changes upstream to commonmark.js

ext-autolink: Update to autolink 0.5.0:

  • Stop URLs at more invalid characters, notably '<' and '>'.
    According to RFC 3987, angle brackets are not allowed in URLs, and
    other linkers don't seem to allow them either.

Extension API changes:

  • Extended DelimiterProcessor interface so that implementations get more information in getDelimiterUse and can reject delimiters by returning 0 from it. Also rename the methods:
    • getOpeningDelimiterChar -> getOpeningCharacter
    • getClosingDelimiterChar -> getClosingCharacter
    • getMinDelimiterCount -> getMinLength

Internal improvements:

  • Simplify merging of adjacent text nodes
  • Add coverage data to build. Currently at 97 %.

commonmark-java 0.5.1

Choose a tag to compare

@robinst robinst released this 25 May 04:50
  • Fix StringIndexOutOfBoundsException on line after tab (#52)

commonmark-java 0.5.0

Choose a tag to compare

@robinst robinst released this 22 Apr 13:48

Update to CommonMark spec 0.25:

  • Changes how partially consumed tabs are handled.

Features and fixes:

  • Add YAML front matter extension for document metadata blocks (#24), thanks to @chiwanpark
  • Add information about delimiter character and length to delimiter nodes (#10), thanks to @pcj
  • Make HTML rendering for nodes extensible (#35)
  • Make AttributeProvider work for image and table nodes (#31)
  • Add Android test project to build so that we won't break Android support (#38), thanks to @JinneeJ
  • Fix blank line after empty list item to terminate list
  • Fix nested bullet list indented with mix of tab and spaces (#41), thanks to @derari
  • Fix package name in Javadoc, thanks to @jiakuan

ext-autolink: Update to autolink 0.4.0

  • Treat more special characters as trailing delimiters to not include
    ">, "/> and "); at the end of URLs
  • Fix unexpected link end with unfinished delimiter pairs in URLs
  • Fix Android incompatibility by not using java.util.Objects

Extension API changes:

  • Add support for asymmetric delimiters (#17): DelimiterProcessor#getDelimiterChar was split into getOpeningDelimiterChar and getClosingDelimiterChar
  • Replace CustomHtmlRenderer with NodeRenderer which also allows overriding rendering for built-in node types (#35)

commonmark-java 0.4.1

Choose a tag to compare

@robinst robinst released this 11 Feb 02:43
  • Fix problematic regex that doesn't work on some Java versions and Android
  • Fix problems with Android (usage of java.util.Objects, StandardCharsets, ProGuard, see #30), thanks to @JinneeJ!
  • autolink extension: Update to autolink 0.3.0. This stops recognizing "abc://foo" within "1abc://foo" as a link

commonmark-java 0.4.0

Choose a tag to compare

@robinst robinst released this 18 Jan 05:30

Update to CommonMark spec 0.24 (#28):

  • No longer allow whitespace between link text and link label
  • Don't allow whitespace in link destination even with <>
  • Don't use whitelist for schemes in autolinks, recognize all 2-32 length schemes (see spec)
  • Allow multi-line content in setext headings

API breaking changes (caused by changes in spec):

  • Rename Header to Heading
  • Rename HorizontalRule to ThematicBreak
  • Rename HtmlTag to HtmlInline
  • Replace MatchedBlockParser#getParagraphStartLine with #getParagraphContent that returns the current content if the the matched block is a paragraph

commonmark-java 0.3.2

Choose a tag to compare

@robinst robinst released this 18 Jan 00:35
  • Add more bounds checks to internal Substring class (might affect extensions)

commonmark-java 0.3.1

Choose a tag to compare

@robinst robinst released this 18 Jan 00:34
  • Fix StringIndexOutOfBoundsException with unclosed inline link (#27)