diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Revision history for ogma-language-jsonspec
 
+## [1.7.0] - 2025-03-21
+
+* Version bump 1.7.0 (#269).
+* Bump upper version constraint on aeson, text (#225).
+* Remove extraneous EOL character (#224).
+* Extend JSONSpec with additional data associated with results (#219).
+
 ## [1.6.0] - 2025-01-21
 
 * Version bump 1.6.0 (#208).
diff --git a/ogma-language-jsonspec.cabal b/ogma-language-jsonspec.cabal
--- a/ogma-language-jsonspec.cabal
+++ b/ogma-language-jsonspec.cabal
@@ -15,7 +15,7 @@
 -- ANY OTHER APPLICATIONS RESULTING FROM USE OF THE SUBJECT SOFTWARE. FURTHER,
 -- GOVERNMENT AGENCY DISCLAIMS ALL WARRANTIES AND LIABILITIES REGARDING
 -- THIRD-PARTY SOFTWARE, IF PRESENT IN THE ORIGINAL SOFTWARE, AND DISTRIBUTES
--- IT "AS IS." 
+-- IT "AS IS."
 --
 -- Waiver and Indemnity: RECIPIENT AGREES TO WAIVE ANY AND ALL CLAIMS AGAINST
 -- THE UNITED STATES GOVERNMENT, ITS CONTRACTORS AND SUBCONTRACTORS, AS WELL AS
@@ -32,7 +32,7 @@
 build-type:          Simple
 
 name:                ogma-language-jsonspec
-version:             1.6.0
+version:             1.7.0
 homepage:            https://github.com/nasa/ogma
 bug-reports:         https://github.com/nasa/ogma/issues
 license:             OtherLicense
@@ -70,14 +70,14 @@
 
   build-depends:
       base                   >= 4.11.0.0 && < 5
-    , aeson                  >= 2.0.0.0  && < 2.2
+    , aeson                  >= 2.0.0.0  && < 2.3
     , jsonpath               >= 0.3      && < 0.4
-    , text                   >= 1.2.3.1  && < 2.1
+    , text                   >= 1.2.3.1  && < 2.2
     , megaparsec             >= 8.0.0    && < 9.10
     , mtl                    >= 2.2.2    && < 2.4
     , bytestring             >= 0.10.8.2 && < 0.13
 
-    , ogma-spec              >= 1.6.0 && < 1.7
+    , ogma-spec              >= 1.7.0 && < 1.8
 
   hs-source-dirs:
     src
diff --git a/src/Language/JSONSpec/Parser.hs b/src/Language/JSONSpec/Parser.hs
--- a/src/Language/JSONSpec/Parser.hs
+++ b/src/Language/JSONSpec/Parser.hs
@@ -53,32 +53,36 @@
 import Data.OgmaSpec
 
 data JSONFormat = JSONFormat
-    { specInternalVars    :: Maybe String
-    , specInternalVarId   :: String
-    , specInternalVarExpr :: String
-    , specInternalVarType :: Maybe String
-    , specExternalVars    :: Maybe String
-    , specExternalVarId   :: String
-    , specExternalVarType :: Maybe String
-    , specRequirements    :: String
-    , specRequirementId   :: String
-    , specRequirementDesc :: Maybe String
-    , specRequirementExpr :: String
+    { specInternalVars          :: Maybe String
+    , specInternalVarId         :: String
+    , specInternalVarExpr       :: String
+    , specInternalVarType       :: Maybe String
+    , specExternalVars          :: Maybe String
+    , specExternalVarId         :: String
+    , specExternalVarType       :: Maybe String
+    , specRequirements          :: String
+    , specRequirementId         :: String
+    , specRequirementDesc       :: Maybe String
+    , specRequirementExpr       :: String
+    , specRequirementResultType :: Maybe String
+    , specRequirementResultExpr :: Maybe String
     }
   deriving (Read)
 
 data JSONFormatInternal = JSONFormatInternal
-  { jfiInternalVars    :: Maybe [JSONPathElement]
-  , jfiInternalVarId   :: [JSONPathElement]
-  , jfiInternalVarExpr :: [JSONPathElement]
-  , jfiInternalVarType :: Maybe [JSONPathElement]
-  , jfiExternalVars    :: Maybe [JSONPathElement]
-  , jfiExternalVarId   :: [JSONPathElement]
-  , jfiExternalVarType :: Maybe [JSONPathElement]
-  , jfiRequirements    :: [JSONPathElement]
-  , jfiRequirementId   :: [JSONPathElement]
-  , jfiRequirementDesc :: Maybe [JSONPathElement]
-  , jfiRequirementExpr :: [JSONPathElement]
+  { jfiInternalVars          :: Maybe [JSONPathElement]
+  , jfiInternalVarId         :: [JSONPathElement]
+  , jfiInternalVarExpr       :: [JSONPathElement]
+  , jfiInternalVarType       :: Maybe [JSONPathElement]
+  , jfiExternalVars          :: Maybe [JSONPathElement]
+  , jfiExternalVarId         :: [JSONPathElement]
+  , jfiExternalVarType       :: Maybe [JSONPathElement]
+  , jfiRequirements          :: [JSONPathElement]
+  , jfiRequirementId         :: [JSONPathElement]
+  , jfiRequirementDesc       :: Maybe [JSONPathElement]
+  , jfiRequirementExpr       :: [JSONPathElement]
+  , jfiRequirementResultType :: Maybe [JSONPathElement]
+  , jfiRequirementResultExpr :: Maybe [JSONPathElement]
   }
 
 parseJSONFormat :: JSONFormat -> Either String JSONFormatInternal
@@ -94,18 +98,22 @@
   jfi10 <- showErrors $ parseJSONPath $ pack $ specRequirementId   jsonFormat
   jfi11 <- showErrorsM $ fmap (parseJSONPath . pack) $ specRequirementDesc jsonFormat
   jfi12 <- showErrors $ parseJSONPath $ pack $ specRequirementExpr jsonFormat
+  jfi13 <- showErrorsM $ fmap (parseJSONPath . pack) $ specRequirementResultType jsonFormat
+  jfi14 <- showErrorsM $ fmap (parseJSONPath . pack) $ specRequirementResultExpr jsonFormat
   return $ JSONFormatInternal
-             { jfiInternalVars    = jfi2
-             , jfiInternalVarId   = jfi3
-             , jfiInternalVarExpr = jfi4
-             , jfiInternalVarType = jfi5
-             , jfiExternalVars    = jfi6
-             , jfiExternalVarId   = jfi7
-             , jfiExternalVarType = jfi8
-             , jfiRequirements    = jfi9
-             , jfiRequirementId   = jfi10
-             , jfiRequirementDesc = jfi11
-             , jfiRequirementExpr = jfi12
+             { jfiInternalVars          = jfi2
+             , jfiInternalVarId         = jfi3
+             , jfiInternalVarExpr       = jfi4
+             , jfiInternalVarType       = jfi5
+             , jfiExternalVars          = jfi6
+             , jfiExternalVarId         = jfi7
+             , jfiExternalVarType       = jfi8
+             , jfiRequirements          = jfi9
+             , jfiRequirementId         = jfi10
+             , jfiRequirementDesc       = jfi11
+             , jfiRequirementExpr       = jfi12
+             , jfiRequirementResultType = jfi13
+             , jfiRequirementResultExpr = jfi14
              }
 
 parseJSONSpec :: (String -> IO (Either String a)) -> JSONFormat -> Value -> IO (Either String (Spec a))
@@ -168,10 +176,26 @@
         let msg = "Requirement description"
         reqDesc <- except $ maybe (Right "") (\e -> valueToString msg =<< (listToEither msg (executeJSONPath e value))) (jfiRequirementDesc jsonFormatInternal)
 
+        let msg = "Requirement result type"
+            ty :: Maybe (Either String String)
+            ty = (\e -> valueToString msg =<< (listToEither msg (executeJSONPath e value))) <$> (jfiRequirementResultType jsonFormatInternal)
+        reqResType <- except $ maybeEither ty
+
+        let msg = "Requirement result expression"
+            resultExpr :: Maybe (Either String String)
+            resultExpr = (\e -> valueToString msg =<< (listToEither msg (executeJSONPath e value))) <$> (jfiRequirementResultExpr jsonFormatInternal)
+
+        reqResExpr  <- except $ maybeEither resultExpr
+        reqResExpr' <- ExceptT $ case reqResExpr of
+                                   Nothing -> return $ Right Nothing
+                                   Just x  -> fmap Just <$> parseExpr x
+
         return $ Requirement
                    { requirementName        = reqId
                    , requirementExpr        = reqExpr'
                    , requirementDescription = reqDesc
+                   , requirementResultType  = reqResType
+                   , requirementResultExpr  = reqResExpr'
                    }
 
   requirements <- mapM requirementDef values
@@ -203,3 +227,8 @@
 -- | Wrap an 'Either' value in an @ExceptT m@ monad.
 except :: Monad m => Either e a -> ExceptT e m a
 except = ExceptT . return
+
+-- | Swap the order in a Maybe and an Either monad.
+maybeEither :: Maybe (Either a b) -> Either a (Maybe b)
+maybeEither Nothing  = Right Nothing
+maybeEither (Just e) = fmap Just e
