src/Ciconia/Extension/Gfm/WhiteSpaceExtension.php
public function processHardBreak(Text $text)
    {
        $text->replace('/^[\S\<][^\n]*\n+(?!( |\t)*<)/m', function (Text $w) {
            if ($w->match('/\n{2}/') || $w->match('/  \n/')) {
                return $w;
            }

            return $w->trim()->append("  \n");
        });
    }
public function processHardBreak(Text $text)
    {
        $text->replace('/^[\S\<][^\n]*\n+(?!( |\t)*<)/m', function (Text $w) {
            if ($w->match('/\n{2}/') || $w->match('/  \n/')) {
                return $w;
            }

            return $w->trim()->append("  \n");
        });
    }
Newlines

The biggest difference that GFM introduces is in the handling of line breaks.
With SM you can hard wrap paragraphs of text and they will be combined into a single paragraph.
We find this to be the cause of a huge number of unintentional formatting errors.
GFM treats newlines in paragraph-like content as real line breaks, which is probably what you intended.

@param Text $text