diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,13 @@
+## 0.1.2.0
+
+* Fix strictness of `Bluefin.State.put`. It was accidentally made lazy
+  in 0.1.0.0.
+
 ## 0.1.1.0
 
+* WARNING: `Bluefin.State.put` is still lazy in this version.  It is
+  fixed in 0.1.2.0.
+
 * Added `streamConsume`, `cycleToStream`, `takeConsume` (thanks to
   @iteratee)
 
@@ -8,6 +16,9 @@
   `Bluefin.Internal.ConstEffect` to `Effects`
 
 ## 0.1.0.0
+
+* WARNING: `Bluefin.State.put` accidentally became lazy in this
+  version.  It is fixed in 0.1.2.0.
 
 * Implement `Exception` using `Eff` not naked `IO`
 
diff --git a/bluefin-internal.cabal b/bluefin-internal.cabal
--- a/bluefin-internal.cabal
+++ b/bluefin-internal.cabal
@@ -1,6 +1,6 @@
 cabal-version:      3.0
 name:               bluefin-internal
-version:            0.1.1.0
+version:            0.1.2.0
 license:            MIT
 license-file:       LICENSE
 author:             Tom Ellis
diff --git a/src/Bluefin/Internal.hs b/src/Bluefin/Internal.hs
--- a/src/Bluefin/Internal.hs
+++ b/src/Bluefin/Internal.hs
@@ -660,7 +660,7 @@
   -- writing it to the state.
   s ->
   Eff es ()
-put st s = unsafeProvideIO $ \io -> withStateInIO io st (flip writeIORef s)
+put st s = unsafeProvideIO $ \io -> withStateInIO io st (flip writeIORef $! s)
 
 -- |
 -- @
