diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -13,49 +13,39 @@
 parsers for integral values. And as of version 0.5.0 it offers (to
 my knowledge) the best-in-show parser for fractional/floating
 numbers. A record of these benchmarks can be found
-[here](http://code.haskell.org/~wren/bytestring-lexing/bench/html)
+[here](https://github.com/wrengr/bytestring-lexing/tree/master/bench/html)
 
 
 ## Install
 
 This is a simple package and should be easy to install. You should
-be able to use any of the standard methods to install it.
+be able to use the standard:
 
-    -- With cabal-install and without the source:
     $> cabal install bytestring-lexing
-    
-    -- With cabal-install and with the source already:
-    $> cd bytestring-lexing
-    $> cabal install
-    
-    -- Without cabal-install, but with the source already:
-    $> cd bytestring-lexing
-    $> runhaskell Setup.hs configure --user
-    $> runhaskell Setup.hs build
-    $> runhaskell Setup.hs haddock --hyperlink-source
-    $> runhaskell Setup.hs copy
-    $> runhaskell Setup.hs register
 
-The Haddock step is optional.
 
-
 ### Testing
 
-If you want to run the test suite, use the following standard method
-(with `runhaskell Setup.hs` in lieu of `cabal`, if necessary):
+To run the test suite (without coverage information), you can use
+the standard method (with `runhaskell Setup.hs` in lieu of `cabal`,
+if necessary):
 
     $> cd bytestring-lexing
-    $> cabal configure --enable-tests --enable-coverage
+    $> cabal configure --enable-tests
     $> cabal build
-    $> cabal test --keep-tix-files
+    $> cabal test
 
-The results of the code coverage are in
+If you want coverage information as well, there are a few options
+depending on your version of Cabal.  For modern cabal with v2/nix-style
+builds, add `--enable-coverage` to the configure step, and the
+results will be located at
+`./dist-newstyle/build/$ARCH/$GHC/bytestring-lexing-$VERSION/opt/hpc/vanilla/html/bytestring-lexing-$VERSION/hpc_index.html`.
+For v1/classic builds, add `--enable-coverage` to the configure
+step and also add `--keep-tix-files` to the test step, and the
+results are instead located at
 `./dist/hpc/vanilla/html/bytestring-lexing-$VERSION/hpc_index.html`.
-If you're not interested in the coverage of the test suite, then
-you needn't pass the `--enable-coverage` nor `--keep-tix-files`
-flags. Note that older versions of cabal used the flag name
-`--enable-library-coverage` instead of `--enable-coverage`. And
-IIRC hpc integration in cabal was broken for ghc-7.6.
+For very old versions of Cabal, you must use `--enable-library-coverage`
+in lieu of `--enable-coverage`.
 
 
 ### Benchmarks
@@ -140,7 +130,7 @@
 ## Benchmarks: Version 0.5.0 (2015-05-06)
 
 The Criterion output of the benchmark discussed below, [is available
-here](http://code.haskell.org/~wren/bytestring-lexing/bench/html/readExponential-0.5.0_ereshkigal.html).
+here](https://github.com/wrengr/bytestring-lexing/blob/master/bench/html/readExponential-0.5.0_ereshkigal.html).
 The main competitors we compare against are the previous version
 of bytestring-lexing (which already surpassed text and
 attoparsec/scientific) and bytestring-read which was the previous
diff --git a/bytestring-lexing.cabal b/bytestring-lexing.cabal
--- a/bytestring-lexing.cabal
+++ b/bytestring-lexing.cabal
@@ -1,5 +1,5 @@
 ----------------------------------------------------------------
--- wren gayle romano <wren@cpan.org>                ~ 2021.10.16
+-- wren gayle romano <wren@cpan.org>                ~ 2021.11.02
 ----------------------------------------------------------------
 
 -- Cabal >=1.10 is required by Hackage.
@@ -7,12 +7,13 @@
 Build-Type:     Simple
 
 Name:           bytestring-lexing
-Version:        0.5.0.7
+Version:        0.5.0.8
 Stability:      provisional
-Homepage:       https://wrengr.org/
+Homepage:       https://wrengr.org/software/hackage.html
+Bug-Reports:    https://github.com/wrengr/bytestring-lexing/issues
 Author:         wren gayle romano, Don Stewart
 Maintainer:     wren@cpan.org
-Copyright:      Copyright (c) 2012--2021 wren gayle romano, 2008--2011 Don Stewart
+Copyright:      Copyright (c) 2012–2021 wren gayle romano, 2008–2011 Don Stewart
 License:        BSD3
 License-File:   LICENSE
 
@@ -32,7 +33,7 @@
     parser for fractional/floating numbers.
     .
     Some benchmarks for this package can be found at:
-    <http://code.haskell.org/~wren/bytestring-lexing/bench/html>
+    <https://github.com/wrengr/bytestring-lexing/tree/master/bench/html>
 
 ----------------------------------------------------------------
 Extra-source-files:
@@ -47,7 +48,8 @@
     GHC ==8.6.5,
     GHC ==8.8.4,
     GHC ==8.10.3,
-    GHC ==9.0.1
+    GHC ==9.0.1,
+    GHC ==9.2.1
 
 Source-Repository head
     Type:     git
@@ -65,7 +67,13 @@
     -- These lower bounds are probably more restrictive than
     -- necessary.  But then, we don't maintain any CI tests for
     -- older versions, so these are the lowest bounds we've verified.
-    Build-Depends:  base              >= 4.5      && < 4.16
+    --
+    -- TODO(2021-10-23): bytestring 0.11.0.0 changed the internal
+    --   representation of ByteStrings to remove the offset.  While
+    --   they do offer pattern synonyms for backwards combatibility,
+    --   we should re-verify that our code doesn't depend on the details.
+    --   <https://github.com/haskell/bytestring/pull/175>
+    Build-Depends:  base              >= 4.5      && < 4.17
                  ,  bytestring        >= 0.9.2.1  && < 0.12
 
 ----------------------------------------------------------------
diff --git a/src/Data/ByteString/Lex/Fractional.hs b/src/Data/ByteString/Lex/Fractional.hs
--- a/src/Data/ByteString/Lex/Fractional.hs
+++ b/src/Data/ByteString/Lex/Fractional.hs
@@ -1,10 +1,10 @@
 {-# OPTIONS_GHC -Wall -fwarn-tabs #-}
 {-# LANGUAGE BangPatterns, ScopedTypeVariables #-}
 ----------------------------------------------------------------
---                                                    2015.06.11
+--                                                    2021.10.17
 -- |
 -- Module      :  Data.ByteString.Lex.Fractional
--- Copyright   :  Copyright (c) 2015--2019 wren gayle romano
+-- Copyright   :  Copyright (c) 2015--2021 wren gayle romano
 -- License     :  BSD2
 -- Maintainer  :  wren@cpan.org
 -- Stability   :  provisional
diff --git a/src/Data/ByteString/Lex/Integral.hs b/src/Data/ByteString/Lex/Integral.hs
--- a/src/Data/ByteString/Lex/Integral.hs
+++ b/src/Data/ByteString/Lex/Integral.hs
@@ -1,10 +1,10 @@
 {-# OPTIONS_GHC -Wall -fwarn-tabs #-}
 {-# LANGUAGE BangPatterns #-}
 ----------------------------------------------------------------
---                                                    2015.06.11
+--                                                    2021.10.17
 -- |
 -- Module      :  Data.ByteString.Lex.Integral
--- Copyright   :  Copyright (c) 2010--2019 wren gayle romano
+-- Copyright   :  Copyright (c) 2010--2021 wren gayle romano
 -- License     :  BSD2
 -- Maintainer  :  wren@cpan.org
 -- Stability   :  provisional
@@ -335,12 +335,15 @@
             loop   q (p `plusPtr` negate 2)
         | n >= 10   = write2 n p
         | otherwise = poke p (0x30 + fromIntegral n)
-    
+
     write2 !i0 !p = do
         let i = fromIntegral i0; j = i + i
         poke p                      (getDigit $! j + 1)
         poke (p `plusPtr` negate 1) (getDigit j)
 
+-- TODO(2021-10-23): We might should replace this with the 'Addr#'
+--   hack that newer Bytestring uses for hexadecimal stuff:
+--   <https://github.com/haskell/bytestring/pull/418>
 packDecimal_digits :: ByteString
 {-# NOINLINE packDecimal_digits #-}
 packDecimal_digits = BS8.pack
@@ -349,7 +352,6 @@
     \4041424344454647484950515253545556575859\
     \6061626364656667686970717273747576777879\
     \8081828384858687888990919293949596979899"
-    -- BUG: jEdit syntax highlighting fail: ->
 
 ----------------------------------------------------------------
 ----------------------------------------------------------------
@@ -479,6 +481,10 @@
 
 
 -- TODO: benchmark against the magichash hack used in Warp.
+-- TODO(2021-10-23): Benchmark against the 'Addr#' hack that newer
+--   Bytestring uses for hexadecimal stuff:
+--   <https://github.com/haskell/bytestring/pull/418>
+--
 -- | The lower-case ASCII hexadecimal digits, in numerical order
 -- for use as a lookup table.
 hexDigits :: ByteString
diff --git a/src/Data/ByteString/Lex/Internal.hs b/src/Data/ByteString/Lex/Internal.hs
--- a/src/Data/ByteString/Lex/Internal.hs
+++ b/src/Data/ByteString/Lex/Internal.hs
@@ -1,10 +1,10 @@
 {-# OPTIONS_GHC -Wall -fwarn-tabs #-}
 {-# LANGUAGE BangPatterns #-}
 ----------------------------------------------------------------
---                                                    2015.06.11
+--                                                    2021.10.17
 -- |
 -- Module      :  Data.ByteString.Lex.Internal
--- Copyright   :  Copyright (c) 2010--2019 wren gayle romano
+-- Copyright   :  Copyright (c) 2010--2021 wren gayle romano
 -- License     :  BSD2
 -- Maintainer  :  wren@cpan.org
 -- Stability   :  provisional
diff --git a/test/Fractional.hs b/test/Fractional.hs
--- a/test/Fractional.hs
+++ b/test/Fractional.hs
@@ -1,12 +1,12 @@
 {-# OPTIONS_GHC -Wall -fwarn-tabs #-}
 {-# LANGUAGE RankNTypes, ScopedTypeVariables #-}
 ----------------------------------------------------------------
---                                                    2015.06.11
+--                                                    2021.10.17
 -- |
 -- Module      :  test/Fractional
--- Copyright   :  Copyright (c) 2015 wren gayle romano
+-- Copyright   :  Copyright (c) 2015--2021 wren gayle romano
 -- License     :  BSD2
--- Maintainer  :  wren@community.haskell.org
+-- Maintainer  :  wren@cpan.org
 -- Stability   :  test framework
 -- Portability :  ScopedTypeVariables + RankNTypes
 --
@@ -27,7 +27,7 @@
 ----------------------------------------------------------------
 -- We reimplement Data.Proxy to avoid build errors on older systems
 
-data Proxy a = Proxy 
+data Proxy a = Proxy
 
 asProxyTypeOf :: a -> Proxy a -> a
 asProxyTypeOf a _ = a
@@ -238,7 +238,7 @@
 -- TODO: how to properly utilize SmallCheck for this module?
 -- TODO: how can we set a default 'SmallCheckDepth' while still allowing @--smallcheck-depth@ to override that default?
 smallcheckTests :: Tasty.TestTree
-smallcheckTests = 
+smallcheckTests =
     -- Tasty.localOption (SC.SmallCheckDepth (2 ^ (8 :: Int))) $
     Tasty.testGroup "(checked by SmallCheck)"
         [
diff --git a/test/Integral.hs b/test/Integral.hs
--- a/test/Integral.hs
+++ b/test/Integral.hs
@@ -1,12 +1,12 @@
 {-# OPTIONS_GHC -Wall -fwarn-tabs #-}
 {-# LANGUAGE RankNTypes, FlexibleContexts #-}
 ----------------------------------------------------------------
---                                                    2015.06.11
+--                                                    2021.10.17
 -- |
 -- Module      :  test/Integral
--- Copyright   :  Copyright (c) 2010--2015 wren gayle romano
+-- Copyright   :  Copyright (c) 2010--2021 wren gayle romano
 -- License     :  BSD2
--- Maintainer  :  wren@community.haskell.org
+-- Maintainer  :  wren@cpan.org
 -- Stability   :  test framework
 -- Portability :  FlexibleContexts + RankNTypes
 --
@@ -197,7 +197,7 @@
 
 -- TODO: how can we set our default 'SmallCheckDepth' to 2^8 while still allowing @--smallcheck-depth@ to override that default?
 smallcheckTests :: Tasty.TestTree
-smallcheckTests = 
+smallcheckTests =
     Tasty.localOption (SC.SmallCheckDepth (2 ^ (8 :: Int))) $
     Tasty.testGroup "(checked by SmallCheck)"
     [ sc_testGroup
diff --git a/test/Main.hs b/test/Main.hs
--- a/test/Main.hs
+++ b/test/Main.hs
@@ -1,11 +1,11 @@
 {-# OPTIONS_GHC -Wall -fwarn-tabs #-}
 ----------------------------------------------------------------
---                                                    2015.06.11
+--                                                    2021.10.17
 -- |
 -- Module      :  test/Main
--- Copyright   :  Copyright (c) 2015 wren gayle romano
+-- Copyright   :  Copyright (c) 2015--2021 wren gayle romano
 -- License     :  BSD2
--- Maintainer  :  wren@community.haskell.org
+-- Maintainer  :  wren@cpan.org
 -- Stability   :  benchmark
 -- Portability :  Haskell98
 --
