diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,15 @@
 # citeproc changelog
 
+## 0.4.1
+
+  * Change Pandoc `inNote` so it creates a `Span` with class `csl-note`
+    rather than a `Note`.  This should make it easier to integrate
+    citations with ordinary notes in pandoc.
+  * Do not hyperlink author-only citations (#77).  If we do this we get
+    two consecutive hyperlinks for author-in-text forms.
+  * `movePunctuationInsideQuotes`: only move `,` and `.`, not `?` and `!`,
+    as per the CSL spec.
+
 ## 0.4.0.1
 
   * Fix bug introduced by the fix to #61 (#74).
diff --git a/citeproc.cabal b/citeproc.cabal
--- a/citeproc.cabal
+++ b/citeproc.cabal
@@ -1,6 +1,6 @@
 cabal-version:       2.2
 name:                citeproc
-version:             0.4.0.1
+version:             0.4.1
 synopsis:            Generates citations and bibliography from CSL styles.
 description:         citeproc parses CSL style files and uses them to
                      generate a list of formatted citations and bibliography
diff --git a/src/Citeproc/CslJson.hs b/src/Citeproc/CslJson.hs
--- a/src/Citeproc/CslJson.hs
+++ b/src/Citeproc/CslJson.hs
@@ -559,7 +559,7 @@
  where
   startsWithMovable t =
     case T.uncons t of
-      Just (c,_) -> c == '.' || c == ',' || c == '!' || c == '?'
+      Just (c,_) -> c == '.' || c == ','
       Nothing    -> False
   go el =
     case el of
diff --git a/src/Citeproc/Pandoc.hs b/src/Citeproc/Pandoc.hs
--- a/src/Citeproc/Pandoc.hs
+++ b/src/Citeproc/Pandoc.hs
@@ -69,7 +69,7 @@
       DisplayRightInline -> B.spanWith ("",["csl-right-inline"],[])
       DisplayIndent      -> B.spanWith ("",["csl-indent"],[])
   addQuotes             = B.doubleQuoted . flipFlopQuotes DoubleQuote
-  inNote                = B.note . B.para
+  inNote                = B.spanWith ("",["csl-note"],[])
   movePunctuationInsideQuotes
                         = punctuationInsideQuotes
   mapText f             = walk go
@@ -104,7 +104,7 @@
  where
   startsWithMovable t =
     case T.uncons t of
-      Just (c,_) -> c == '.' || c == ',' || c == '!' || c == '?'
+      Just (c,_) -> c == '.' || c == ','
       Nothing    -> False
   go [] = []
   go (Quoted qt xs : Str t : rest)
diff --git a/src/Citeproc/Types.hs b/src/Citeproc/Types.hs
--- a/src/Citeproc/Types.hs
+++ b/src/Citeproc/Types.hs
@@ -1469,8 +1469,9 @@
 renderOutput :: CiteprocOutput a => CiteprocOptions -> Output a -> a
 renderOutput _ NullOutput = mempty
 renderOutput _ (Literal x) = x
-renderOutput opts (Tagged (TagItem _ ident) x)
+renderOutput opts (Tagged (TagItem itemtype ident) x)
   | linkCitations opts
+  , itemtype /= AuthorOnly
   = addHyperlink ("#ref-" <> unItemId ident) $ renderOutput opts x
 renderOutput opts (Tagged _ x) = renderOutput opts x
 renderOutput opts (Formatted formatting xs) =
