diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Revision history for futhark-manifest
 
+## 1.4.0.0
+
+* Added `arrayNewRaw` and `arrayRaw`.
+
 ## 1.3.0.0
 
 * Added `SumOps` and `SumVariant`.
diff --git a/futhark-manifest.cabal b/futhark-manifest.cabal
--- a/futhark-manifest.cabal
+++ b/futhark-manifest.cabal
@@ -1,6 +1,6 @@
 cabal-version:      2.4
 name:               futhark-manifest
-version:            1.3.0.0
+version:            1.4.0.0
 
 synopsis:           Definition and serialisation instances for Futhark manifests.
 
@@ -14,7 +14,7 @@
 maintainer:         athas@sigkill.dk
 
 category:           Futhark
-extra-source-files: CHANGELOG.md
+extra-doc-files:    CHANGELOG.md
 
 source-repository head
   type: git
diff --git a/src/Futhark/Manifest.hs b/src/Futhark/Manifest.hs
--- a/src/Futhark/Manifest.hs
+++ b/src/Futhark/Manifest.hs
@@ -1,5 +1,7 @@
+{-# LANGUAGE NamedFieldPuns #-}
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE ScopedTypeVariables #-}
+{-# LANGUAGE StrictData #-}
 {-# LANGUAGE TupleSections #-}
 
 -- | C manifest data structure and serialisation to JSON.
@@ -93,7 +95,9 @@
   { arrayFree :: CFuncName,
     arrayShape :: CFuncName,
     arrayValues :: CFuncName,
-    arrayNew :: CFuncName
+    arrayNew :: CFuncName,
+    arrayNewRaw :: CFuncName,
+    arrayValuesRaw :: CFuncName
   }
   deriving (Eq, Ord, Show)
 
@@ -189,12 +193,14 @@
   deriving (Eq, Ord, Show)
 
 instance JSON.ToJSON ArrayOps where
-  toJSON (ArrayOps free shape values new) =
+  toJSON (ArrayOps {arrayFree, arrayShape, arrayValues, arrayNew, arrayNewRaw, arrayValuesRaw}) =
     object
-      [ ("free", toJSON free),
-        ("shape", toJSON shape),
-        ("values", toJSON values),
-        ("new", toJSON new)
+      [ ("free", toJSON arrayFree),
+        ("shape", toJSON arrayShape),
+        ("values", toJSON arrayValues),
+        ("new", toJSON arrayNew),
+        ("new_raw", toJSON arrayNewRaw),
+        ("values_raw", toJSON arrayValuesRaw)
       ]
 
 instance JSON.ToJSON RecordField where
@@ -289,7 +295,13 @@
 
 instance JSON.FromJSON ArrayOps where
   parseJSON = JSON.withObject "ArrayOps" $ \v ->
-    ArrayOps <$> v .: "free" <*> v .: "shape" <*> v .: "values" <*> v .: "new"
+    ArrayOps
+      <$> v .: "free"
+      <*> v .: "shape"
+      <*> v .: "values"
+      <*> v .: "new"
+      <*> v .: "new_raw"
+      <*> v .: "values_raw"
 
 instance JSON.FromJSON RecordField where
   parseJSON = JSON.withObject "RecordField" $ \v ->
diff --git a/tests/Tests.hs b/tests/Tests.hs
--- a/tests/Tests.hs
+++ b/tests/Tests.hs
@@ -13,7 +13,7 @@
 -- for testing serialisation.
 
 instance Arbitrary ArrayOps where
-  arbitrary = ArrayOps <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary
+  arbitrary = ArrayOps <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary
 
 instance Arbitrary RecordField where
   arbitrary = RecordField <$> arbitrary <*> arbitrary <*> arbitrary
