diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,10 @@
-## [*Unreleased*](https://github.com/frontrowed/faktory_worker_haskell/compare/v1.0.3.0...main)
+## [*Unreleased*](https://github.com/frontrowed/faktory_worker_haskell/compare/v1.0.3.1...main)
 
 None
+
+## [v1.0.3.1](https://github.com/frontrowed/faktory_worker_haskell/compare/v1.0.3.0...v1.0.3.1)
+
+- Export lower-level `BATCH` functions
 
 ## [v1.0.3.0](https://github.com/frontrowed/faktory_worker_haskell/compare/v1.0.2.3...v1.0.3.0)
 
diff --git a/faktory.cabal b/faktory.cabal
--- a/faktory.cabal
+++ b/faktory.cabal
@@ -1,6 +1,6 @@
 cabal-version:   1.18
 name:            faktory
-version:         1.0.3.0
+version:         1.0.3.1
 license:         MIT
 license-file:    LICENSE
 copyright:       2018 Freckle Education
diff --git a/library/Faktory/Ent/Batch.hs b/library/Faktory/Ent/Batch.hs
--- a/library/Faktory/Ent/Batch.hs
+++ b/library/Faktory/Ent/Batch.hs
@@ -25,19 +25,23 @@
 -- Jobs to the Batch. PRs welcome.
 --
 module Faktory.Ent.Batch
-    (
-    -- * Options
-      BatchOptions
-    , description
-    , complete
-    , success
+  (
+  -- * Options
+    BatchOptions
+  , description
+  , complete
+  , success
 
-    -- * Running
-    , runBatch
-    , Batch
-    , batchPerform
-    )
-where
+  -- * Running
+  , runBatch
+  , Batch
+  , batchPerform
+
+  -- * Low-level
+  , CustomBatchId(..)
+  , newBatch
+  , commitBatch
+  ) where
 
 import Faktory.Prelude
 
