diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/doc/NamedAnchorExtension.java b/gitiles-servlet/src/main/java/com/google/gitiles/doc/NamedAnchorExtension.java
index b72b202..fd3f8f7 100644
--- a/gitiles-servlet/src/main/java/com/google/gitiles/doc/NamedAnchorExtension.java
+++ b/gitiles-servlet/src/main/java/com/google/gitiles/doc/NamedAnchorExtension.java
@@ -17,9 +17,10 @@
 import org.commonmark.Extension;
 import org.commonmark.node.Node;
 import org.commonmark.node.Text;
-import org.commonmark.parser.DelimiterProcessor;
 import org.commonmark.parser.Parser;
 import org.commonmark.parser.Parser.ParserExtension;
+import org.commonmark.parser.delimiter.DelimiterProcessor;
+import org.commonmark.parser.delimiter.DelimiterRun;
 
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -41,22 +42,22 @@
     private static final Pattern ID = Pattern.compile("#([^\\s}]+)");
 
     @Override
-    public char getOpeningDelimiterChar() {
+    public char getOpeningCharacter() {
       return '{';
     }
 
     @Override
-    public char getClosingDelimiterChar() {
+    public char getClosingCharacter() {
       return '}';
     }
 
     @Override
-    public int getMinDelimiterCount() {
+    public int getMinLength() {
       return 1;
     }
 
     @Override
-    public int getDelimiterUse(int openerCount, int closerCount) {
+    public int getDelimiterUse(DelimiterRun opener, DelimiterRun closer) {
       return 1;
     }
 
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/doc/SmartQuotedExtension.java b/gitiles-servlet/src/main/java/com/google/gitiles/doc/SmartQuotedExtension.java
index 92c271e..4f06f3d 100644
--- a/gitiles-servlet/src/main/java/com/google/gitiles/doc/SmartQuotedExtension.java
+++ b/gitiles-servlet/src/main/java/com/google/gitiles/doc/SmartQuotedExtension.java
@@ -14,16 +14,18 @@
 
 package com.google.gitiles.doc;
 
-import static com.google.gitiles.doc.SmartQuoted.Type.*;
+import static com.google.gitiles.doc.SmartQuoted.Type.DOUBLE;
+import static com.google.gitiles.doc.SmartQuoted.Type.SINGLE;
 
 import com.google.gitiles.doc.SmartQuoted.Type;
 
 import org.commonmark.Extension;
 import org.commonmark.node.Node;
 import org.commonmark.node.Text;
-import org.commonmark.parser.DelimiterProcessor;
 import org.commonmark.parser.Parser;
 import org.commonmark.parser.Parser.ParserExtension;
+import org.commonmark.parser.delimiter.DelimiterProcessor;
+import org.commonmark.parser.delimiter.DelimiterRun;
 
 /** Uses smart quotes for ' and ". */
 public class SmartQuotedExtension implements ParserExtension {
@@ -61,22 +63,22 @@
     }
 
     @Override
-    public char getOpeningDelimiterChar() {
+    public char getOpeningCharacter() {
       return delim;
     }
 
     @Override
-    public char getClosingDelimiterChar() {
+    public char getClosingCharacter() {
       return delim;
     }
 
     @Override
-    public int getMinDelimiterCount() {
+    public int getMinLength() {
       return 1;
     }
 
     @Override
-    public int getDelimiterUse(int openerCount, int closerCount) {
+    public int getDelimiterUse(DelimiterRun opener, DelimiterRun closer) {
       return 1;
     }
 
diff --git a/lib/BUCK b/lib/BUCK
index c1fcfe1..d585cc3 100644
--- a/lib/BUCK
+++ b/lib/BUCK
@@ -42,15 +42,15 @@
 
 maven_jar(
   name = 'commonmark',
-  id = 'com.atlassian.commonmark:commonmark:0.5.1',
-  sha1 = 'b35ae2353871955674bbfa1a92394272b1dada45',
+  id = 'com.atlassian.commonmark:commonmark:0.6.0',
+  sha1 = '5df3f6fa3073966620685924aa22d08ece7213f2',
   license = 'commonmark',
 )
 
 maven_jar(
   name = 'cm-autolink',
-  id = 'com.atlassian.commonmark:commonmark-ext-autolink:0.5.1',
-  sha1 = '29bb9d22a7aaf5bd8f23d8cbdd9f438f07e26735',
+  id = 'com.atlassian.commonmark:commonmark-ext-autolink:0.6.0',
+  sha1 = '4d7e828a4651e2f590b4a059925991be58e62da6',
   license = 'commonmark',
   deps = [
     ':commonmark',
@@ -60,23 +60,23 @@
 
 maven_jar(
   name = 'autolink',
-  id = 'org.nibor.autolink:autolink:0.4.0',
-  sha1 = '764f7b0147a0675d971a34282dce9ec76b8307c9',
+  id = 'org.nibor.autolink:autolink:0.5.0',
+  sha1 = 'dab74ea929a5fb4c99189af18c9528faf8d5340b',
   license = 'autolink',
 )
 
 maven_jar(
   name = 'gfm-strikethrough',
-  id = 'com.atlassian.commonmark:commonmark-ext-gfm-strikethrough:0.5.1',
-  sha1 = 'acc28d79c4e00a6e24017596dd22ce757df71db3',
+  id = 'com.atlassian.commonmark:commonmark-ext-gfm-strikethrough:0.6.0',
+  sha1 = '75a95aaec77810496de41239bcc773adfb13285f',
   license = 'commonmark',
   deps = [':commonmark'],
 )
 
 maven_jar(
   name = 'gfm-tables',
-  id = 'com.atlassian.commonmark:commonmark-ext-gfm-tables:0.5.1',
-  sha1 = '5cdc350f7e498458e5ed6751771c5e8c3efc107e',
+  id = 'com.atlassian.commonmark:commonmark-ext-gfm-tables:0.6.0',
+  sha1 = 'ae1c701517e8116bc205b561b9b215a53df8abc7',
   license = 'commonmark',
   deps = [':commonmark'],
 )
