This is an automated email from the ASF dual-hosted git repository.

github-actions[bot] pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/datafusion-comet.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new aa05ae644d Publish built docs triggered by 
3ee5d65fab757807824bc74236df7199d4e4566c
aa05ae644d is described below

commit aa05ae644d8785aace56198f654be3062a2407b5
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AuthorDate: Fri Jun 5 04:13:22 2026 +0000

    Publish built docs triggered by 3ee5d65fab757807824bc74236df7199d4e4566c
---
 .../expression-audits/json_funcs.md.txt            |   6 ++
 .../latest/compatibility/expressions/string.md.txt |   6 --
 .../latest/compatibility/expressions/struct.md.txt |  10 --
 .../user-guide/latest/compatibility/index.md.txt   |   1 +
 .../user-guide/latest/compatibility/json.md.txt    |  56 +++++++++++
 _sources/user-guide/latest/expressions.md.txt      |   2 +-
 _sources/user-guide/latest/index.rst.txt           |   1 +
 .../expression-audits/json_funcs.html              |   8 ++
 genindex.html                                      |   1 +
 index.html                                         |   1 +
 objects.inv                                        | Bin 2718 -> 2733 bytes
 search.html                                        |   1 +
 searchindex.js                                     |   2 +-
 user-guide/0.13/compatibility.html                 |   1 +
 user-guide/0.13/configs.html                       |   1 +
 user-guide/0.13/datasources.html                   |   1 +
 user-guide/0.13/datatypes.html                     |   1 +
 user-guide/0.13/expressions.html                   |   1 +
 user-guide/0.13/iceberg.html                       |   1 +
 user-guide/0.13/index.html                         |   1 +
 user-guide/0.13/installation.html                  |   1 +
 user-guide/0.13/kubernetes.html                    |   1 +
 user-guide/0.13/metrics.html                       |   1 +
 user-guide/0.13/operators.html                     |   1 +
 user-guide/0.13/source.html                        |   1 +
 user-guide/0.13/tuning.html                        |   1 +
 user-guide/0.14/compatibility.html                 |   1 +
 user-guide/0.14/configs.html                       |   1 +
 user-guide/0.14/datasources.html                   |   1 +
 user-guide/0.14/datatypes.html                     |   1 +
 user-guide/0.14/expressions.html                   |   1 +
 user-guide/0.14/iceberg.html                       |   1 +
 user-guide/0.14/index.html                         |   1 +
 user-guide/0.14/installation.html                  |   1 +
 user-guide/0.14/kubernetes.html                    |   1 +
 user-guide/0.14/metrics.html                       |   1 +
 user-guide/0.14/operators.html                     |   1 +
 user-guide/0.14/source.html                        |   1 +
 user-guide/0.14/tuning.html                        |   1 +
 user-guide/0.15/compatibility.html                 |   1 +
 user-guide/0.15/configs.html                       |   1 +
 user-guide/0.15/datasources.html                   |   1 +
 user-guide/0.15/datatypes.html                     |   1 +
 user-guide/0.15/expressions.html                   |   1 +
 user-guide/0.15/iceberg.html                       |   1 +
 user-guide/0.15/index.html                         |   1 +
 user-guide/0.15/installation.html                  |   1 +
 user-guide/0.15/kubernetes.html                    |   1 +
 user-guide/0.15/metrics.html                       |   1 +
 user-guide/0.15/operators.html                     |   1 +
 user-guide/0.15/source.html                        |   1 +
 user-guide/0.15/tuning.html                        |   1 +
 .../0.16/compatibility/expressions/aggregate.html  |   1 +
 .../0.16/compatibility/expressions/array.html      |   1 +
 .../0.16/compatibility/expressions/cast.html       |   1 +
 .../0.16/compatibility/expressions/datetime.html   |   1 +
 .../0.16/compatibility/expressions/index.html      |   1 +
 user-guide/0.16/compatibility/expressions/map.html |   1 +
 .../0.16/compatibility/expressions/math.html       |   1 +
 .../0.16/compatibility/expressions/misc.html       |   1 +
 .../0.16/compatibility/expressions/string.html     |   1 +
 .../0.16/compatibility/expressions/struct.html     |   1 +
 user-guide/0.16/compatibility/floating-point.html  |   1 +
 user-guide/0.16/compatibility/index.html           |   1 +
 user-guide/0.16/compatibility/operators.html       |   1 +
 user-guide/0.16/compatibility/regex.html           |   1 +
 user-guide/0.16/compatibility/scans.html           |   1 +
 user-guide/0.16/compatibility/spark-versions.html  |   1 +
 user-guide/0.16/configs.html                       |   1 +
 user-guide/0.16/datasources.html                   |   1 +
 user-guide/0.16/datatypes.html                     |   1 +
 user-guide/0.16/expressions.html                   |   1 +
 user-guide/0.16/iceberg.html                       |   1 +
 user-guide/0.16/index.html                         |   1 +
 user-guide/0.16/installation.html                  |   1 +
 user-guide/0.16/kubernetes.html                    |   1 +
 user-guide/0.16/metrics.html                       |   1 +
 user-guide/0.16/operators.html                     |   1 +
 user-guide/0.16/source.html                        |   1 +
 user-guide/0.16/tuning.html                        |   1 +
 user-guide/0.16/understanding-comet-plans.html     |   1 +
 user-guide/index.html                              |   1 +
 .../compatibility/expressions/aggregate.html       |   1 +
 .../latest/compatibility/expressions/array.html    |   1 +
 .../latest/compatibility/expressions/cast.html     |   7 +-
 .../latest/compatibility/expressions/datetime.html |   1 +
 .../latest/compatibility/expressions/index.html    |   3 +-
 .../latest/compatibility/expressions/map.html      |   1 +
 .../latest/compatibility/expressions/math.html     |   1 +
 .../latest/compatibility/expressions/misc.html     |   1 +
 .../latest/compatibility/expressions/string.html   |   8 +-
 .../latest/compatibility/expressions/struct.html   |  12 +--
 .../latest/compatibility/expressions/url.html      |   1 +
 .../latest/compatibility/floating-point.html       |   1 +
 user-guide/latest/compatibility/index.html         |   2 +
 .../compatibility/{operators.html => json.html}    | 102 ++++++++++++++-------
 user-guide/latest/compatibility/operators.html     |   1 +
 user-guide/latest/compatibility/regex.html         |   1 +
 user-guide/latest/compatibility/scans.html         |   1 +
 .../latest/compatibility/spark-versions.html       |   7 +-
 user-guide/latest/configs.html                     |   1 +
 user-guide/latest/datasources.html                 |   1 +
 user-guide/latest/datatypes.html                   |   1 +
 user-guide/latest/expressions.html                 |   5 +-
 user-guide/latest/iceberg.html                     |   1 +
 user-guide/latest/index.html                       |   1 +
 user-guide/latest/installation.html                |   1 +
 user-guide/latest/kubernetes.html                  |   1 +
 user-guide/latest/metrics.html                     |   1 +
 user-guide/latest/operators.html                   |   1 +
 user-guide/latest/s3-credential-providers.html     |   1 +
 user-guide/latest/scala_java_udfs.html             |   1 +
 user-guide/latest/source.html                      |   1 +
 user-guide/latest/tuning.html                      |   1 +
 user-guide/latest/understanding-comet-plans.html   |   1 +
 user-guide/older-versions.html                     |   1 +
 116 files changed, 255 insertions(+), 81 deletions(-)

diff --git a/_sources/contributor-guide/expression-audits/json_funcs.md.txt 
b/_sources/contributor-guide/expression-audits/json_funcs.md.txt
index 4184ceac22..689142e2a3 100644
--- a/_sources/contributor-guide/expression-audits/json_funcs.md.txt
+++ b/_sources/contributor-guide/expression-audits/json_funcs.md.txt
@@ -33,6 +33,12 @@
 - Spark 4.1.1 (audited 2026-05-27): identical to 4.0.1.
 - Known incompatibility: Spark accepts single-quoted JSON and unescaped 
control characters; Comet's native parser (built on `serde_json`) rejects both, 
so those inputs require 
`spark.comet.expression.GetJsonObject.allowIncompatible=true` and may still 
produce different results. Non-default Spark 4.0 string collations are not 
propagated (https://github.com/apache/datafusion-comet/issues/2190).
 
+## json_array_length
+
+- `LengthOfJsonArray`: `UnaryExpression with ExpectsInputTypes with 
CodegenFallback`; `inputTypes = Seq(StringType) -> IntegerType`. Returns NULL 
for NULL input, invalid JSON, or non-array JSON; otherwise the number of 
top-level array elements.
+- Runs through the codegen dispatcher by default for byte-exact Spark 
compatibility.
+- Known incompatibility: the native path (built on `serde_json`) requires 
strict JSON, so single-quoted JSON, unescaped control characters, and trailing 
content require 
`spark.comet.expression.LengthOfJsonArray.allowIncompatible=true` and may still 
produce different results.
+
 ## to_json
 
 - Partial native support; options and map/array inputs fall back.
diff --git a/_sources/user-guide/latest/compatibility/expressions/string.md.txt 
b/_sources/user-guide/latest/compatibility/expressions/string.md.txt
index 81e884629d..6c9d5302e3 100644
--- a/_sources/user-guide/latest/compatibility/expressions/string.md.txt
+++ b/_sources/user-guide/latest/compatibility/expressions/string.md.txt
@@ -31,12 +31,6 @@ The following cases are not supported by Comet:
 
 - CONCAT supports only string input parameters
 
-## GetJsonObject
-
-The following incompatibilities cause `GetJsonObject` to fall back to Spark by 
default. Set `spark.comet.expression.GetJsonObject.allowIncompatible=true` to 
enable Comet acceleration despite these differences.
-
-- Spark allows single-quoted JSON and unescaped control characters which Comet 
does not support
-
 ## Left
 
 The following cases are not supported by Comet:
diff --git a/_sources/user-guide/latest/compatibility/expressions/struct.md.txt 
b/_sources/user-guide/latest/compatibility/expressions/struct.md.txt
index f5b3000386..72db34d875 100644
--- a/_sources/user-guide/latest/compatibility/expressions/struct.md.txt
+++ b/_sources/user-guide/latest/compatibility/expressions/struct.md.txt
@@ -27,16 +27,6 @@ The following cases are not supported by Comet:
 
 - `CreateNamedStruct` with duplicate field names is not supported
 
-## JsonToStructs
-
-The following incompatibilities cause `JsonToStructs` to fall back to Spark by 
default. Set `spark.comet.expression.JsonToStructs.allowIncompatible=true` to 
enable Comet acceleration despite these differences.
-
-- Partially implemented and not comprehensively tested
-
-The following cases are not supported by Comet:
-
-- Requires an explicit schema
-
 ## StructsToCsv
 
 The following incompatibilities cause `StructsToCsv` to fall back to Spark by 
default. Set `spark.comet.expression.StructsToCsv.allowIncompatible=true` to 
enable Comet acceleration despite these differences.
diff --git a/_sources/user-guide/latest/compatibility/index.md.txt 
b/_sources/user-guide/latest/compatibility/index.md.txt
index 542d6902ec..46578d1683 100644
--- a/_sources/user-guide/latest/compatibility/index.md.txt
+++ b/_sources/user-guide/latest/compatibility/index.md.txt
@@ -28,4 +28,5 @@ This guide documents areas where Comet's behavior is known to 
differ from Spark.
 - **Regular expressions**: differences between the Rust regexp crate and 
Java's regex engine.
 - **Operators**: operator-level compatibility notes, including window 
functions and round-robin partitioning.
 - **Expressions**: per-expression compatibility notes, including cast.
+- **JSON**: choosing between the native and Spark-compatible engines for JSON 
expressions.
 - **Spark versions**: version-specific known issues and limitations.
diff --git a/_sources/user-guide/latest/compatibility/json.md.txt 
b/_sources/user-guide/latest/compatibility/json.md.txt
new file mode 100644
index 0000000000..2dc79c27a8
--- /dev/null
+++ b/_sources/user-guide/latest/compatibility/json.md.txt
@@ -0,0 +1,56 @@
+<!---
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+# JSON Compatibility
+
+Comet can evaluate JSON expressions (`get_json_object`, `from_json`, `to_json`,
+`json_array_length`) two ways:
+
+- **Codegen dispatcher (default):** Spark's own `doGenCode` for the expression
+  runs inside the Comet pipeline (via Comet's Arrow-direct codegen dispatcher),
+  giving byte-exact compatibility with Spark at the cost of a JNI roundtrip per
+  batch. This rides the codegen dispatcher
+  (`spark.comet.exec.scalaUDF.codegen.enabled`, enabled by default); if the
+  dispatcher is disabled, the operator falls back to Spark.
+- **Native (rust) path:** the native DataFusion implementation. Faster, but has
+  known compatibility gaps with Spark on certain inputs, so it is **opt-in per
+  expression** via the expression's `allowIncompatible` config. Any expression 
or
+  input case with no native implementation falls back to the codegen 
dispatcher.
+
+## Expression coverage
+
+| SQL                 | Native (rust) path                                     
                                        | Opt-in config                         
                       |
+| ------------------- | 
----------------------------------------------------------------------------------------------
 | ------------------------------------------------------------ |
+| `get_json_object`   | Supported, with gaps on single-quoted JSON and 
unescaped control characters                    | 
`spark.comet.expression.GetJsonObject.allowIncompatible`     |
+| `from_json`         | Supported with restrictions (PERMISSIVE mode only, 
simple schema types only)                   | 
`spark.comet.expression.JsonToStructs.allowIncompatible`     |
+| `to_json`           | Supported for struct inputs only, no options           
                                        | 
`spark.comet.expression.StructsToJson.allowIncompatible`     |
+| `json_array_length` | Supported, with gaps on single-quoted JSON, unescaped 
control characters, and trailing content | 
`spark.comet.expression.LengthOfJsonArray.allowIncompatible` |
+
+When the native path is enabled but an expression or input case has no native
+implementation (for example `to_json` with map or array inputs, or `from_json`
+with an unsupported schema), Comet falls back to the codegen dispatcher for 
that
+case.
+
+## When to use the native path
+
+- You want the faster native path and your inputs avoid the known compatibility
+  gaps above.
+- Enable it per expression, for example
+  `spark.comet.expression.GetJsonObject.allowIncompatible=true`. Cases the 
native path
+  does not cover still fall back to the codegen dispatcher.
diff --git a/_sources/user-guide/latest/expressions.md.txt 
b/_sources/user-guide/latest/expressions.md.txt
index ed190bebb9..79093ddb9a 100644
--- a/_sources/user-guide/latest/expressions.md.txt
+++ b/_sources/user-guide/latest/expressions.md.txt
@@ -338,7 +338,7 @@ expression-level). The `outer` variants are wired but 
marked `Incompatible`; the
 | --- | --- | --- |
 | `from_json` | ✅ | Falls back by default; opt-in via allowIncompatible 
([audit](../../contributor-guide/expression-audits/json_funcs.md#from_json)) |
 | `get_json_object` | ✅ | Some inputs need allowIncompatible 
([audit](../../contributor-guide/expression-audits/json_funcs.md#get_json_object))
 |
-| `json_array_length` | 🔜 | tracking 
[#4098](https://github.com/apache/datafusion-comet/issues/4098) |
+| `json_array_length` | ✅ | Single-quoted/trailing JSON needs 
allowIncompatible 
([audit](../../contributor-guide/expression-audits/json_funcs.md#json_array_length))
 |
 | `json_object_keys` | 🔜 | 
[#3161](https://github.com/apache/datafusion-comet/issues/3161) |
 | `json_tuple` | 🔜 | 
[#3160](https://github.com/apache/datafusion-comet/issues/3160) |
 | `schema_of_json` | 🔜 | 
[#3163](https://github.com/apache/datafusion-comet/issues/3163) |
diff --git a/_sources/user-guide/latest/index.rst.txt 
b/_sources/user-guide/latest/index.rst.txt
index f97537c6e4..ca3ef73eaf 100644
--- a/_sources/user-guide/latest/index.rst.txt
+++ b/_sources/user-guide/latest/index.rst.txt
@@ -62,6 +62,7 @@ to read more.
    compatibility/regex
    compatibility/operators
    compatibility/expressions/index
+   compatibility/json
    compatibility/spark-versions
 
 .. toctree::
diff --git a/contributor-guide/expression-audits/json_funcs.html 
b/contributor-guide/expression-audits/json_funcs.html
index a1d0cc4c19..dc13158a2c 100644
--- a/contributor-guide/expression-audits/json_funcs.html
+++ b/contributor-guide/expression-audits/json_funcs.html
@@ -565,6 +565,14 @@ under the License.
 <li><p>Known incompatibility: Spark accepts single-quoted JSON and unescaped 
control characters; Comet’s native parser (built on <code class="docutils 
literal notranslate"><span class="pre">serde_json</span></code>) rejects both, 
so those inputs require <code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.GetJsonObject.allowIncompatible=true</span></code>
 and may still produce different results. Non-default Spark 4.0 string 
collations are not propagated (ht [...]
 </ul>
 </section>
+<section id="json-array-length">
+<h2>json_array_length<a class="headerlink" href="#json-array-length" 
title="Link to this heading">#</a></h2>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span 
class="pre">LengthOfJsonArray</span></code>: <code class="docutils literal 
notranslate"><span class="pre">UnaryExpression</span> <span 
class="pre">with</span> <span class="pre">ExpectsInputTypes</span> <span 
class="pre">with</span> <span class="pre">CodegenFallback</span></code>; <code 
class="docutils literal notranslate"><span class="pre">inputTypes</span> <span 
class="pre">=</span> <span class="pre">Seq(StringType)</span> <span cl [...]
+<li><p>Runs through the codegen dispatcher by default for byte-exact Spark 
compatibility.</p></li>
+<li><p>Known incompatibility: the native path (built on <code class="docutils 
literal notranslate"><span class="pre">serde_json</span></code>) requires 
strict JSON, so single-quoted JSON, unescaped control characters, and trailing 
content require <code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.LengthOfJsonArray.allowIncompatible=true</span></code>
 and may still produce different results.</p></li>
+</ul>
+</section>
 <section id="to-json">
 <h2>to_json<a class="headerlink" href="#to-json" title="Link to this 
heading">#</a></h2>
 <ul class="simple">
diff --git a/genindex.html b/genindex.html
index 20f9eb1cb8..2371ab6b1a 100644
--- a/genindex.html
+++ b/genindex.html
@@ -442,6 +442,7 @@ under the License.
 <li class="toctree-l4"><a class="reference internal" 
href="user-guide/latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l3"><a class="reference internal" 
href="user-guide/latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l3"><a class="reference internal" 
href="user-guide/latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l3"><a class="reference internal" 
href="user-guide/latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l3"><a class="reference internal" 
href="user-guide/latest/tuning.html">Tuning Guide</a></li>
diff --git a/index.html b/index.html
index db9c8cbd42..4833168fa6 100644
--- a/index.html
+++ b/index.html
@@ -444,6 +444,7 @@ under the License.
 <li class="toctree-l4"><a class="reference internal" 
href="user-guide/latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l3"><a class="reference internal" 
href="user-guide/latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l3"><a class="reference internal" 
href="user-guide/latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l3"><a class="reference internal" 
href="user-guide/latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l3"><a class="reference internal" 
href="user-guide/latest/tuning.html">Tuning Guide</a></li>
diff --git a/objects.inv b/objects.inv
index 2e6e49f5b9..65f3e70f1c 100644
Binary files a/objects.inv and b/objects.inv differ
diff --git a/search.html b/search.html
index 1ea194b045..4df6f54b63 100644
--- a/search.html
+++ b/search.html
@@ -444,6 +444,7 @@ under the License.
 <li class="toctree-l4"><a class="reference internal" 
href="user-guide/latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l3"><a class="reference internal" 
href="user-guide/latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l3"><a class="reference internal" 
href="user-guide/latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l3"><a class="reference internal" 
href="user-guide/latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l3"><a class="reference internal" 
href="user-guide/latest/tuning.html">Tuning Guide</a></li>
diff --git a/searchindex.js b/searchindex.js
index 6fa6acdd5e..156e237a49 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles": {"!": [[49, "id1"]], "%": [[47, "id1"]], "&": 
[[37, "id1"]], "*": [[47, "id2"]], "+": [[47, "id3"]], "-": [[47, "id4"]], "/": 
[[47, "id5"]], "1. Format Your Code": [[34, "format-your-code"]], "1. Install 
Comet": [[54, "install-comet"], [63, "install-comet"]], "1. Native Operators 
(nativeExecs map)": [[23, "native-operators-nativeexecs-map"]], "2. Build and 
Verify": [[34, "build-and-verify"]], "2. Clone Iceberg and Apply Diff": [[54, 
"clone-iceberg-and-apply- [...]
\ No newline at end of file
+Search.setIndex({"alltitles": {"!": [[49, "id1"]], "%": [[47, "id1"]], "&": 
[[37, "id1"]], "*": [[47, "id2"]], "+": [[47, "id3"]], "-": [[47, "id4"]], "/": 
[[47, "id5"]], "1. Format Your Code": [[34, "format-your-code"]], "1. Install 
Comet": [[54, "install-comet"], [63, "install-comet"]], "1. Native Operators 
(nativeExecs map)": [[23, "native-operators-nativeexecs-map"]], "2. Build and 
Verify": [[34, "build-and-verify"]], "2. Clone Iceberg and Apply Diff": [[54, 
"clone-iceberg-and-apply- [...]
\ No newline at end of file
diff --git a/user-guide/0.13/compatibility.html 
b/user-guide/0.13/compatibility.html
index 40ccd74d2f..2c391ef90f 100644
--- a/user-guide/0.13/compatibility.html
+++ b/user-guide/0.13/compatibility.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.13/configs.html b/user-guide/0.13/configs.html
index 4b92b7a7f8..02f4a5fc60 100644
--- a/user-guide/0.13/configs.html
+++ b/user-guide/0.13/configs.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.13/datasources.html b/user-guide/0.13/datasources.html
index bd8fdf1f1e..39db2b34c0 100644
--- a/user-guide/0.13/datasources.html
+++ b/user-guide/0.13/datasources.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.13/datatypes.html b/user-guide/0.13/datatypes.html
index 63cb8fbe15..e1812ba2c0 100644
--- a/user-guide/0.13/datatypes.html
+++ b/user-guide/0.13/datatypes.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.13/expressions.html b/user-guide/0.13/expressions.html
index 8c83a92c34..952aa4598a 100644
--- a/user-guide/0.13/expressions.html
+++ b/user-guide/0.13/expressions.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.13/iceberg.html b/user-guide/0.13/iceberg.html
index 4887ccfa20..503265ba09 100644
--- a/user-guide/0.13/iceberg.html
+++ b/user-guide/0.13/iceberg.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.13/index.html b/user-guide/0.13/index.html
index 269239f179..8648eebeb0 100644
--- a/user-guide/0.13/index.html
+++ b/user-guide/0.13/index.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.13/installation.html 
b/user-guide/0.13/installation.html
index b152c7fb9d..1438d50d21 100644
--- a/user-guide/0.13/installation.html
+++ b/user-guide/0.13/installation.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.13/kubernetes.html b/user-guide/0.13/kubernetes.html
index 51b3a07cd7..371fdaa8e4 100644
--- a/user-guide/0.13/kubernetes.html
+++ b/user-guide/0.13/kubernetes.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.13/metrics.html b/user-guide/0.13/metrics.html
index 91a8af51c4..29d489a831 100644
--- a/user-guide/0.13/metrics.html
+++ b/user-guide/0.13/metrics.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.13/operators.html b/user-guide/0.13/operators.html
index e5af108d2c..fac478387e 100644
--- a/user-guide/0.13/operators.html
+++ b/user-guide/0.13/operators.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.13/source.html b/user-guide/0.13/source.html
index 999210ac17..960e1e82a2 100644
--- a/user-guide/0.13/source.html
+++ b/user-guide/0.13/source.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.13/tuning.html b/user-guide/0.13/tuning.html
index 5a33fc1dc8..43f66dd7df 100644
--- a/user-guide/0.13/tuning.html
+++ b/user-guide/0.13/tuning.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.14/compatibility.html 
b/user-guide/0.14/compatibility.html
index 1456ad9662..721240cebc 100644
--- a/user-guide/0.14/compatibility.html
+++ b/user-guide/0.14/compatibility.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.14/configs.html b/user-guide/0.14/configs.html
index feca5f0579..6cea5de111 100644
--- a/user-guide/0.14/configs.html
+++ b/user-guide/0.14/configs.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.14/datasources.html b/user-guide/0.14/datasources.html
index 62e9e0cfe5..b66fa1e736 100644
--- a/user-guide/0.14/datasources.html
+++ b/user-guide/0.14/datasources.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.14/datatypes.html b/user-guide/0.14/datatypes.html
index 855db751f2..83b4a5804b 100644
--- a/user-guide/0.14/datatypes.html
+++ b/user-guide/0.14/datatypes.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.14/expressions.html b/user-guide/0.14/expressions.html
index 40797c7e0b..a03f56a3d4 100644
--- a/user-guide/0.14/expressions.html
+++ b/user-guide/0.14/expressions.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.14/iceberg.html b/user-guide/0.14/iceberg.html
index 7d9d74e4a8..23316719cc 100644
--- a/user-guide/0.14/iceberg.html
+++ b/user-guide/0.14/iceberg.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.14/index.html b/user-guide/0.14/index.html
index ff721c3765..eef4994f99 100644
--- a/user-guide/0.14/index.html
+++ b/user-guide/0.14/index.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.14/installation.html 
b/user-guide/0.14/installation.html
index 8996612e1c..5fc78d5154 100644
--- a/user-guide/0.14/installation.html
+++ b/user-guide/0.14/installation.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.14/kubernetes.html b/user-guide/0.14/kubernetes.html
index ce1e815fd5..9cfea5734e 100644
--- a/user-guide/0.14/kubernetes.html
+++ b/user-guide/0.14/kubernetes.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.14/metrics.html b/user-guide/0.14/metrics.html
index 34e2877177..73e4af07e9 100644
--- a/user-guide/0.14/metrics.html
+++ b/user-guide/0.14/metrics.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.14/operators.html b/user-guide/0.14/operators.html
index ed9f1af885..d82b081349 100644
--- a/user-guide/0.14/operators.html
+++ b/user-guide/0.14/operators.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.14/source.html b/user-guide/0.14/source.html
index c17e5de7d5..32c5709997 100644
--- a/user-guide/0.14/source.html
+++ b/user-guide/0.14/source.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.14/tuning.html b/user-guide/0.14/tuning.html
index 0dfadb5329..1a777e83dc 100644
--- a/user-guide/0.14/tuning.html
+++ b/user-guide/0.14/tuning.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.15/compatibility.html 
b/user-guide/0.15/compatibility.html
index 80f0848233..25a7c9635d 100644
--- a/user-guide/0.15/compatibility.html
+++ b/user-guide/0.15/compatibility.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.15/configs.html b/user-guide/0.15/configs.html
index d5afb61113..e54df98dc7 100644
--- a/user-guide/0.15/configs.html
+++ b/user-guide/0.15/configs.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.15/datasources.html b/user-guide/0.15/datasources.html
index ffa2bc9758..c3bb229615 100644
--- a/user-guide/0.15/datasources.html
+++ b/user-guide/0.15/datasources.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.15/datatypes.html b/user-guide/0.15/datatypes.html
index da2fc5f1fc..150bec656d 100644
--- a/user-guide/0.15/datatypes.html
+++ b/user-guide/0.15/datatypes.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.15/expressions.html b/user-guide/0.15/expressions.html
index 162da7abe3..00f9d41dc0 100644
--- a/user-guide/0.15/expressions.html
+++ b/user-guide/0.15/expressions.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.15/iceberg.html b/user-guide/0.15/iceberg.html
index 0219f5b8e4..811b3db0c6 100644
--- a/user-guide/0.15/iceberg.html
+++ b/user-guide/0.15/iceberg.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.15/index.html b/user-guide/0.15/index.html
index f8beb5d478..4ac0a1ace0 100644
--- a/user-guide/0.15/index.html
+++ b/user-guide/0.15/index.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.15/installation.html 
b/user-guide/0.15/installation.html
index 2e80a7ad05..c686c0d97b 100644
--- a/user-guide/0.15/installation.html
+++ b/user-guide/0.15/installation.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.15/kubernetes.html b/user-guide/0.15/kubernetes.html
index e0ed2501b8..4630e43507 100644
--- a/user-guide/0.15/kubernetes.html
+++ b/user-guide/0.15/kubernetes.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.15/metrics.html b/user-guide/0.15/metrics.html
index b4e5652495..eb0a07ec9a 100644
--- a/user-guide/0.15/metrics.html
+++ b/user-guide/0.15/metrics.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.15/operators.html b/user-guide/0.15/operators.html
index 5b30f1a751..d3bdcd4007 100644
--- a/user-guide/0.15/operators.html
+++ b/user-guide/0.15/operators.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.15/source.html b/user-guide/0.15/source.html
index 8b4ef8a8c5..8925ceb9b7 100644
--- a/user-guide/0.15/source.html
+++ b/user-guide/0.15/source.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.15/tuning.html b/user-guide/0.15/tuning.html
index 063b91da67..91dbf47e7b 100644
--- a/user-guide/0.15/tuning.html
+++ b/user-guide/0.15/tuning.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.16/compatibility/expressions/aggregate.html 
b/user-guide/0.16/compatibility/expressions/aggregate.html
index 0058a7aeac..ca3f6b13bf 100644
--- a/user-guide/0.16/compatibility/expressions/aggregate.html
+++ b/user-guide/0.16/compatibility/expressions/aggregate.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../../../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../../../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.16/compatibility/expressions/array.html 
b/user-guide/0.16/compatibility/expressions/array.html
index 5754d2f554..0a37fca8f4 100644
--- a/user-guide/0.16/compatibility/expressions/array.html
+++ b/user-guide/0.16/compatibility/expressions/array.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../../../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../../../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.16/compatibility/expressions/cast.html 
b/user-guide/0.16/compatibility/expressions/cast.html
index d48576087e..08b83d9c7e 100644
--- a/user-guide/0.16/compatibility/expressions/cast.html
+++ b/user-guide/0.16/compatibility/expressions/cast.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../../../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../../../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.16/compatibility/expressions/datetime.html 
b/user-guide/0.16/compatibility/expressions/datetime.html
index c6e773e4da..7d7337d83e 100644
--- a/user-guide/0.16/compatibility/expressions/datetime.html
+++ b/user-guide/0.16/compatibility/expressions/datetime.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../../../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../../../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.16/compatibility/expressions/index.html 
b/user-guide/0.16/compatibility/expressions/index.html
index 264984d641..b72f89f197 100644
--- a/user-guide/0.16/compatibility/expressions/index.html
+++ b/user-guide/0.16/compatibility/expressions/index.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../../../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../../../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.16/compatibility/expressions/map.html 
b/user-guide/0.16/compatibility/expressions/map.html
index 622bac47ce..76115481e2 100644
--- a/user-guide/0.16/compatibility/expressions/map.html
+++ b/user-guide/0.16/compatibility/expressions/map.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../../../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../../../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.16/compatibility/expressions/math.html 
b/user-guide/0.16/compatibility/expressions/math.html
index ca3eb1bb53..bf64dd0510 100644
--- a/user-guide/0.16/compatibility/expressions/math.html
+++ b/user-guide/0.16/compatibility/expressions/math.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../../../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../../../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.16/compatibility/expressions/misc.html 
b/user-guide/0.16/compatibility/expressions/misc.html
index 31001a513b..eb6fba317b 100644
--- a/user-guide/0.16/compatibility/expressions/misc.html
+++ b/user-guide/0.16/compatibility/expressions/misc.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../../../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../../../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.16/compatibility/expressions/string.html 
b/user-guide/0.16/compatibility/expressions/string.html
index 7335c8b9b5..ab40c104b0 100644
--- a/user-guide/0.16/compatibility/expressions/string.html
+++ b/user-guide/0.16/compatibility/expressions/string.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../../../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../../../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.16/compatibility/expressions/struct.html 
b/user-guide/0.16/compatibility/expressions/struct.html
index 7a26848080..69a449c3a5 100644
--- a/user-guide/0.16/compatibility/expressions/struct.html
+++ b/user-guide/0.16/compatibility/expressions/struct.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../../../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../../../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.16/compatibility/floating-point.html 
b/user-guide/0.16/compatibility/floating-point.html
index fd6037007d..2c45043a63 100644
--- a/user-guide/0.16/compatibility/floating-point.html
+++ b/user-guide/0.16/compatibility/floating-point.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.16/compatibility/index.html 
b/user-guide/0.16/compatibility/index.html
index 24974ea262..3a3884e9a8 100644
--- a/user-guide/0.16/compatibility/index.html
+++ b/user-guide/0.16/compatibility/index.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.16/compatibility/operators.html 
b/user-guide/0.16/compatibility/operators.html
index 295d15eff7..a41ebe1ba9 100644
--- a/user-guide/0.16/compatibility/operators.html
+++ b/user-guide/0.16/compatibility/operators.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.16/compatibility/regex.html 
b/user-guide/0.16/compatibility/regex.html
index d34bf407a8..296e63f086 100644
--- a/user-guide/0.16/compatibility/regex.html
+++ b/user-guide/0.16/compatibility/regex.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.16/compatibility/scans.html 
b/user-guide/0.16/compatibility/scans.html
index 18d57dd98d..1391015051 100644
--- a/user-guide/0.16/compatibility/scans.html
+++ b/user-guide/0.16/compatibility/scans.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.16/compatibility/spark-versions.html 
b/user-guide/0.16/compatibility/spark-versions.html
index a16bb94e06..5c5b34c7a3 100644
--- a/user-guide/0.16/compatibility/spark-versions.html
+++ b/user-guide/0.16/compatibility/spark-versions.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.16/configs.html b/user-guide/0.16/configs.html
index ade8694e3c..885d26cf87 100644
--- a/user-guide/0.16/configs.html
+++ b/user-guide/0.16/configs.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.16/datasources.html b/user-guide/0.16/datasources.html
index 02c727cb5d..1be09bbe7c 100644
--- a/user-guide/0.16/datasources.html
+++ b/user-guide/0.16/datasources.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.16/datatypes.html b/user-guide/0.16/datatypes.html
index 81ef1c69d1..715824af20 100644
--- a/user-guide/0.16/datatypes.html
+++ b/user-guide/0.16/datatypes.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.16/expressions.html b/user-guide/0.16/expressions.html
index 0746ed2d98..1a7e132d6a 100644
--- a/user-guide/0.16/expressions.html
+++ b/user-guide/0.16/expressions.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.16/iceberg.html b/user-guide/0.16/iceberg.html
index b7a372b6b5..9347aa1774 100644
--- a/user-guide/0.16/iceberg.html
+++ b/user-guide/0.16/iceberg.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.16/index.html b/user-guide/0.16/index.html
index e7398a185a..f7abfbcb39 100644
--- a/user-guide/0.16/index.html
+++ b/user-guide/0.16/index.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.16/installation.html 
b/user-guide/0.16/installation.html
index a67fb83441..6424bf6853 100644
--- a/user-guide/0.16/installation.html
+++ b/user-guide/0.16/installation.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.16/kubernetes.html b/user-guide/0.16/kubernetes.html
index 21f73455b2..51821294b0 100644
--- a/user-guide/0.16/kubernetes.html
+++ b/user-guide/0.16/kubernetes.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.16/metrics.html b/user-guide/0.16/metrics.html
index 98a658ed95..8d6e65f0fb 100644
--- a/user-guide/0.16/metrics.html
+++ b/user-guide/0.16/metrics.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.16/operators.html b/user-guide/0.16/operators.html
index 13c2ee6be2..6c3a0c6730 100644
--- a/user-guide/0.16/operators.html
+++ b/user-guide/0.16/operators.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.16/source.html b/user-guide/0.16/source.html
index 540daea35b..d67aedf23e 100644
--- a/user-guide/0.16/source.html
+++ b/user-guide/0.16/source.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.16/tuning.html b/user-guide/0.16/tuning.html
index 129b635218..771b9632a9 100644
--- a/user-guide/0.16/tuning.html
+++ b/user-guide/0.16/tuning.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/0.16/understanding-comet-plans.html 
b/user-guide/0.16/understanding-comet-plans.html
index 77ad29f83f..451e136086 100644
--- a/user-guide/0.16/understanding-comet-plans.html
+++ b/user-guide/0.16/understanding-comet-plans.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="../latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/understanding-comet-plans.html">Understanding Comet 
Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="../latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/index.html b/user-guide/index.html
index 0729050fbb..6fdb9b7ec1 100644
--- a/user-guide/index.html
+++ b/user-guide/index.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="latest/understanding-comet-plans.html">Understanding Comet Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="latest/tuning.html">Tuning Guide</a></li>
diff --git a/user-guide/latest/compatibility/expressions/aggregate.html 
b/user-guide/latest/compatibility/expressions/aggregate.html
index 171313d199..eb3eb18073 100644
--- a/user-guide/latest/compatibility/expressions/aggregate.html
+++ b/user-guide/latest/compatibility/expressions/aggregate.html
@@ -423,6 +423,7 @@ under the License.
 <li class="toctree-l2"><a class="reference internal" 
href="cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l1"><a class="reference internal" href="../json.html">JSON 
Compatibility</a></li>
 <li class="toctree-l1"><a class="reference internal" 
href="../spark-versions.html">Spark Version Compatibility</a></li>
 </ul>
 <p aria-level="2" class="caption" role="heading"><span 
class="caption-text">Operating Comet</span></p>
diff --git a/user-guide/latest/compatibility/expressions/array.html 
b/user-guide/latest/compatibility/expressions/array.html
index 26cd6d0fd7..e208d6aa6f 100644
--- a/user-guide/latest/compatibility/expressions/array.html
+++ b/user-guide/latest/compatibility/expressions/array.html
@@ -423,6 +423,7 @@ under the License.
 <li class="toctree-l2"><a class="reference internal" 
href="cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l1"><a class="reference internal" href="../json.html">JSON 
Compatibility</a></li>
 <li class="toctree-l1"><a class="reference internal" 
href="../spark-versions.html">Spark Version Compatibility</a></li>
 </ul>
 <p aria-level="2" class="caption" role="heading"><span 
class="caption-text">Operating Comet</span></p>
diff --git a/user-guide/latest/compatibility/expressions/cast.html 
b/user-guide/latest/compatibility/expressions/cast.html
index 1908b51b24..4d88cc6b0c 100644
--- a/user-guide/latest/compatibility/expressions/cast.html
+++ b/user-guide/latest/compatibility/expressions/cast.html
@@ -65,7 +65,7 @@ under the License.
     <script async="true" defer="true" 
src="https://buttons.github.io/buttons.js";></script>
     <link rel="index" title="Index" href="../../../../genindex.html" />
     <link rel="search" title="Search" href="../../../../search.html" />
-    <link rel="next" title="Spark Version Compatibility" 
href="../spark-versions.html" />
+    <link rel="next" title="JSON Compatibility" href="../json.html" />
     <link rel="prev" title="URL Expressions" href="url.html" />
   <meta name="viewport" content="width=device-width, initial-scale=1"/>
   <meta name="docsearch:language" content="en"/>
@@ -423,6 +423,7 @@ under the License.
 <li class="toctree-l2 current active"><a class="current reference internal" 
href="#">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l1"><a class="reference internal" href="../json.html">JSON 
Compatibility</a></li>
 <li class="toctree-l1"><a class="reference internal" 
href="../spark-versions.html">Spark Version Compatibility</a></li>
 </ul>
 <p aria-level="2" class="caption" role="heading"><span 
class="caption-text">Operating Comet</span></p>
@@ -1398,11 +1399,11 @@ as <code class="docutils literal notranslate"><span 
class="pre">&quot;1.23E+4&qu
       </div>
     </a>
     <a class="right-next"
-       href="../spark-versions.html"
+       href="../json.html"
        title="next page">
       <div class="prev-next-info">
         <p class="prev-next-subtitle">next</p>
-        <p class="prev-next-title">Spark Version Compatibility</p>
+        <p class="prev-next-title">JSON Compatibility</p>
       </div>
       <i class="fa-solid fa-angle-right"></i>
     </a>
diff --git a/user-guide/latest/compatibility/expressions/datetime.html 
b/user-guide/latest/compatibility/expressions/datetime.html
index 14d9faf28c..9177d7dc13 100644
--- a/user-guide/latest/compatibility/expressions/datetime.html
+++ b/user-guide/latest/compatibility/expressions/datetime.html
@@ -423,6 +423,7 @@ under the License.
 <li class="toctree-l2"><a class="reference internal" 
href="cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l1"><a class="reference internal" href="../json.html">JSON 
Compatibility</a></li>
 <li class="toctree-l1"><a class="reference internal" 
href="../spark-versions.html">Spark Version Compatibility</a></li>
 </ul>
 <p aria-level="2" class="caption" role="heading"><span 
class="caption-text">Operating Comet</span></p>
diff --git a/user-guide/latest/compatibility/expressions/index.html 
b/user-guide/latest/compatibility/expressions/index.html
index 20c619a164..29e9a4dfde 100644
--- a/user-guide/latest/compatibility/expressions/index.html
+++ b/user-guide/latest/compatibility/expressions/index.html
@@ -423,6 +423,7 @@ under the License.
 <li class="toctree-l2"><a class="reference internal" 
href="cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l1"><a class="reference internal" href="../json.html">JSON 
Compatibility</a></li>
 <li class="toctree-l1"><a class="reference internal" 
href="../spark-versions.html">Spark Version Compatibility</a></li>
 </ul>
 <p aria-level="2" class="caption" role="heading"><span 
class="caption-text">Operating Comet</span></p>
@@ -585,7 +586,6 @@ the <a class="reference internal" 
href="../../expressions.html"><span class="std
 </li>
 <li class="toctree-l1"><a class="reference internal" href="string.html">String 
Expressions</a><ul>
 <li class="toctree-l2"><a class="reference internal" 
href="string.html#concat">Concat</a></li>
-<li class="toctree-l2"><a class="reference internal" 
href="string.html#getjsonobject">GetJsonObject</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="string.html#left">Left</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="string.html#length">Length</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="string.html#rlike">RLike</a></li>
@@ -600,7 +600,6 @@ the <a class="reference internal" 
href="../../expressions.html"><span class="std
 </li>
 <li class="toctree-l1"><a class="reference internal" href="struct.html">Struct 
Expressions</a><ul>
 <li class="toctree-l2"><a class="reference internal" 
href="struct.html#createnamedstruct">CreateNamedStruct</a></li>
-<li class="toctree-l2"><a class="reference internal" 
href="struct.html#jsontostructs">JsonToStructs</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="struct.html#structstocsv">StructsToCsv</a></li>
 </ul>
 </li>
diff --git a/user-guide/latest/compatibility/expressions/map.html 
b/user-guide/latest/compatibility/expressions/map.html
index d1448b6337..8dfa8b6ad7 100644
--- a/user-guide/latest/compatibility/expressions/map.html
+++ b/user-guide/latest/compatibility/expressions/map.html
@@ -423,6 +423,7 @@ under the License.
 <li class="toctree-l2"><a class="reference internal" 
href="cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l1"><a class="reference internal" href="../json.html">JSON 
Compatibility</a></li>
 <li class="toctree-l1"><a class="reference internal" 
href="../spark-versions.html">Spark Version Compatibility</a></li>
 </ul>
 <p aria-level="2" class="caption" role="heading"><span 
class="caption-text">Operating Comet</span></p>
diff --git a/user-guide/latest/compatibility/expressions/math.html 
b/user-guide/latest/compatibility/expressions/math.html
index 3a88373a03..9fc72920ab 100644
--- a/user-guide/latest/compatibility/expressions/math.html
+++ b/user-guide/latest/compatibility/expressions/math.html
@@ -423,6 +423,7 @@ under the License.
 <li class="toctree-l2"><a class="reference internal" 
href="cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l1"><a class="reference internal" href="../json.html">JSON 
Compatibility</a></li>
 <li class="toctree-l1"><a class="reference internal" 
href="../spark-versions.html">Spark Version Compatibility</a></li>
 </ul>
 <p aria-level="2" class="caption" role="heading"><span 
class="caption-text">Operating Comet</span></p>
diff --git a/user-guide/latest/compatibility/expressions/misc.html 
b/user-guide/latest/compatibility/expressions/misc.html
index 168b472534..269728617a 100644
--- a/user-guide/latest/compatibility/expressions/misc.html
+++ b/user-guide/latest/compatibility/expressions/misc.html
@@ -423,6 +423,7 @@ under the License.
 <li class="toctree-l2"><a class="reference internal" 
href="cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l1"><a class="reference internal" href="../json.html">JSON 
Compatibility</a></li>
 <li class="toctree-l1"><a class="reference internal" 
href="../spark-versions.html">Spark Version Compatibility</a></li>
 </ul>
 <p aria-level="2" class="caption" role="heading"><span 
class="caption-text">Operating Comet</span></p>
diff --git a/user-guide/latest/compatibility/expressions/string.html 
b/user-guide/latest/compatibility/expressions/string.html
index d34d98daa8..54edd16eb2 100644
--- a/user-guide/latest/compatibility/expressions/string.html
+++ b/user-guide/latest/compatibility/expressions/string.html
@@ -423,6 +423,7 @@ under the License.
 <li class="toctree-l2"><a class="reference internal" 
href="cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l1"><a class="reference internal" href="../json.html">JSON 
Compatibility</a></li>
 <li class="toctree-l1"><a class="reference internal" 
href="../spark-versions.html">Spark Version Compatibility</a></li>
 </ul>
 <p aria-level="2" class="caption" role="heading"><span 
class="caption-text">Operating Comet</span></p>
@@ -540,13 +541,6 @@ under the License.
 <li><p>CONCAT supports only string input parameters</p></li>
 </ul>
 </section>
-<section id="getjsonobject">
-<h2>GetJsonObject<a class="headerlink" href="#getjsonobject" title="Link to 
this heading">#</a></h2>
-<p>The following incompatibilities cause <code class="docutils literal 
notranslate"><span class="pre">GetJsonObject</span></code> to fall back to 
Spark by default. Set <code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.GetJsonObject.allowIncompatible=true</span></code>
 to enable Comet acceleration despite these differences.</p>
-<ul class="simple">
-<li><p>Spark allows single-quoted JSON and unescaped control characters which 
Comet does not support</p></li>
-</ul>
-</section>
 <section id="left">
 <h2>Left<a class="headerlink" href="#left" title="Link to this 
heading">#</a></h2>
 <p>The following cases are not supported by Comet:</p>
diff --git a/user-guide/latest/compatibility/expressions/struct.html 
b/user-guide/latest/compatibility/expressions/struct.html
index 181bffc525..26a34245cc 100644
--- a/user-guide/latest/compatibility/expressions/struct.html
+++ b/user-guide/latest/compatibility/expressions/struct.html
@@ -423,6 +423,7 @@ under the License.
 <li class="toctree-l2"><a class="reference internal" 
href="cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l1"><a class="reference internal" href="../json.html">JSON 
Compatibility</a></li>
 <li class="toctree-l1"><a class="reference internal" 
href="../spark-versions.html">Spark Version Compatibility</a></li>
 </ul>
 <p aria-level="2" class="caption" role="heading"><span 
class="caption-text">Operating Comet</span></p>
@@ -536,17 +537,6 @@ under the License.
 <li><p><code class="docutils literal notranslate"><span 
class="pre">CreateNamedStruct</span></code> with duplicate field names is not 
supported</p></li>
 </ul>
 </section>
-<section id="jsontostructs">
-<h2>JsonToStructs<a class="headerlink" href="#jsontostructs" title="Link to 
this heading">#</a></h2>
-<p>The following incompatibilities cause <code class="docutils literal 
notranslate"><span class="pre">JsonToStructs</span></code> to fall back to 
Spark by default. Set <code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.JsonToStructs.allowIncompatible=true</span></code>
 to enable Comet acceleration despite these differences.</p>
-<ul class="simple">
-<li><p>Partially implemented and not comprehensively tested</p></li>
-</ul>
-<p>The following cases are not supported by Comet:</p>
-<ul class="simple">
-<li><p>Requires an explicit schema</p></li>
-</ul>
-</section>
 <section id="structstocsv">
 <h2>StructsToCsv<a class="headerlink" href="#structstocsv" title="Link to this 
heading">#</a></h2>
 <p>The following incompatibilities cause <code class="docutils literal 
notranslate"><span class="pre">StructsToCsv</span></code> to fall back to Spark 
by default. Set <code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.StructsToCsv.allowIncompatible=true</span></code>
 to enable Comet acceleration despite these differences.</p>
diff --git a/user-guide/latest/compatibility/expressions/url.html 
b/user-guide/latest/compatibility/expressions/url.html
index b93169ef49..f43df4f381 100644
--- a/user-guide/latest/compatibility/expressions/url.html
+++ b/user-guide/latest/compatibility/expressions/url.html
@@ -423,6 +423,7 @@ under the License.
 <li class="toctree-l2"><a class="reference internal" 
href="cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l1"><a class="reference internal" href="../json.html">JSON 
Compatibility</a></li>
 <li class="toctree-l1"><a class="reference internal" 
href="../spark-versions.html">Spark Version Compatibility</a></li>
 </ul>
 <p aria-level="2" class="caption" role="heading"><span 
class="caption-text">Operating Comet</span></p>
diff --git a/user-guide/latest/compatibility/floating-point.html 
b/user-guide/latest/compatibility/floating-point.html
index b3a4c9a136..402d52f20c 100644
--- a/user-guide/latest/compatibility/floating-point.html
+++ b/user-guide/latest/compatibility/floating-point.html
@@ -423,6 +423,7 @@ under the License.
 <li class="toctree-l2"><a class="reference internal" 
href="expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l1"><a class="reference internal" href="json.html">JSON 
Compatibility</a></li>
 <li class="toctree-l1"><a class="reference internal" 
href="spark-versions.html">Spark Version Compatibility</a></li>
 </ul>
 <p aria-level="2" class="caption" role="heading"><span 
class="caption-text">Operating Comet</span></p>
diff --git a/user-guide/latest/compatibility/index.html 
b/user-guide/latest/compatibility/index.html
index 44309c9d67..fe92ccc2da 100644
--- a/user-guide/latest/compatibility/index.html
+++ b/user-guide/latest/compatibility/index.html
@@ -423,6 +423,7 @@ under the License.
 <li class="toctree-l2"><a class="reference internal" 
href="expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l1"><a class="reference internal" href="json.html">JSON 
Compatibility</a></li>
 <li class="toctree-l1"><a class="reference internal" 
href="spark-versions.html">Spark Version Compatibility</a></li>
 </ul>
 <p aria-level="2" class="caption" role="heading"><span 
class="caption-text">Operating Comet</span></p>
@@ -533,6 +534,7 @@ under the License.
 <li><p><strong>Regular expressions</strong>: differences between the Rust 
regexp crate and Java’s regex engine.</p></li>
 <li><p><strong>Operators</strong>: operator-level compatibility notes, 
including window functions and round-robin partitioning.</p></li>
 <li><p><strong>Expressions</strong>: per-expression compatibility notes, 
including cast.</p></li>
+<li><p><strong>JSON</strong>: choosing between the native and Spark-compatible 
engines for JSON expressions.</p></li>
 <li><p><strong>Spark versions</strong>: version-specific known issues and 
limitations.</p></li>
 </ul>
 </section>
diff --git a/user-guide/latest/compatibility/operators.html 
b/user-guide/latest/compatibility/json.html
similarity index 80%
copy from user-guide/latest/compatibility/operators.html
copy to user-guide/latest/compatibility/json.html
index 4a51957a73..40177a111a 100644
--- a/user-guide/latest/compatibility/operators.html
+++ b/user-guide/latest/compatibility/json.html
@@ -27,7 +27,7 @@ under the License.
     <meta charset="utf-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" 
/><meta name="viewport" content="width=device-width, initial-scale=1" />
 
-    <title>Operator Compatibility &#8212; Apache DataFusion Comet  
documentation</title>
+    <title>JSON Compatibility &#8212; Apache DataFusion Comet  
documentation</title>
   
   
   
@@ -61,12 +61,12 @@ under the License.
     <script 
src="../../../_static/documentation_options.js?v=5929fcd5"></script>
     <script src="../../../_static/doctools.js?v=9a2dae69"></script>
     <script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
-    <script>DOCUMENTATION_OPTIONS.pagename = 
'user-guide/latest/compatibility/operators';</script>
+    <script>DOCUMENTATION_OPTIONS.pagename = 
'user-guide/latest/compatibility/json';</script>
     <script async="true" defer="true" 
src="https://buttons.github.io/buttons.js";></script>
     <link rel="index" title="Index" href="../../../genindex.html" />
     <link rel="search" title="Search" href="../../../search.html" />
-    <link rel="next" title="Expression Compatibility" 
href="expressions/index.html" />
-    <link rel="prev" title="Regular Expressions" href="regex.html" />
+    <link rel="next" title="Spark Version Compatibility" 
href="spark-versions.html" />
+    <link rel="prev" title="Cast" href="expressions/cast.html" />
   <meta name="viewport" content="width=device-width, initial-scale=1"/>
   <meta name="docsearch:language" content="en"/>
   <meta name="docsearch:version" content="" />
@@ -409,7 +409,7 @@ under the License.
 <li class="toctree-l1"><a class="reference internal" href="scans.html">Parquet 
Compatibility</a></li>
 <li class="toctree-l1"><a class="reference internal" 
href="floating-point.html">Floating-point Number Comparison</a></li>
 <li class="toctree-l1"><a class="reference internal" href="regex.html">Regular 
Expressions</a></li>
-<li class="toctree-l1 current active"><a class="current reference internal" 
href="#">Operator Compatibility</a></li>
+<li class="toctree-l1"><a class="reference internal" 
href="operators.html">Operator Compatibility</a></li>
 <li class="toctree-l1 has-children"><a class="reference internal" 
href="expressions/index.html">Expression 
Compatibility</a><details><summary><span class="toctree-toggle" 
role="presentation"><i class="fa-solid 
fa-chevron-down"></i></span></summary><ul>
 <li class="toctree-l2"><a class="reference internal" 
href="expressions/aggregate.html">Aggregate Expressions</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="expressions/array.html">Array Expressions</a></li>
@@ -423,6 +423,7 @@ under the License.
 <li class="toctree-l2"><a class="reference internal" 
href="expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l1 current active"><a class="current reference internal" 
href="#">JSON Compatibility</a></li>
 <li class="toctree-l1"><a class="reference internal" 
href="spark-versions.html">Spark Version Compatibility</a></li>
 </ul>
 <p aria-level="2" class="caption" role="heading"><span 
class="caption-text">Operating Comet</span></p>
@@ -488,7 +489,7 @@ under the License.
     
     <li class="breadcrumb-item"><a href="../index.html" class="nav-link">Comet 
0.17.0-SNAPSHOT User Guide</a></li>
     
-    <li class="breadcrumb-item active" aria-current="page"><span 
class="ellipsis">Operator Compatibility</span></li>
+    <li class="breadcrumb-item active" aria-current="page"><span 
class="ellipsis">JSON Compatibility</span></li>
   </ul>
 </nav>
 </div>
@@ -523,34 +524,65 @@ KIND, either express or implied.  See the License for the
 specific language governing permissions and limitations
 under the License.
 -->
-<section id="operator-compatibility">
-<h1>Operator Compatibility<a class="headerlink" href="#operator-compatibility" 
title="Link to this heading">#</a></h1>
-<section id="window-functions">
-<h2>Window Functions<a class="headerlink" href="#window-functions" title="Link 
to this heading">#</a></h2>
-<p>Comet’s support for window functions is incomplete and known to be 
incorrect. It is disabled by default and
-should not be used in production. The feature will be enabled in a future 
release. Tracking issue: <a class="reference external" 
href="https://github.com/apache/datafusion-comet/issues/2721";>#2721</a>.</p>
+<section id="json-compatibility">
+<h1>JSON Compatibility<a class="headerlink" href="#json-compatibility" 
title="Link to this heading">#</a></h1>
+<p>Comet can evaluate JSON expressions (<code class="docutils literal 
notranslate"><span class="pre">get_json_object</span></code>, <code 
class="docutils literal notranslate"><span class="pre">from_json</span></code>, 
<code class="docutils literal notranslate"><span 
class="pre">to_json</span></code>,
+<code class="docutils literal notranslate"><span 
class="pre">json_array_length</span></code>) two ways:</p>
+<ul class="simple">
+<li><p><strong>Codegen dispatcher (default):</strong> Spark’s own <code 
class="docutils literal notranslate"><span class="pre">doGenCode</span></code> 
for the expression
+runs inside the Comet pipeline (via Comet’s Arrow-direct codegen dispatcher),
+giving byte-exact compatibility with Spark at the cost of a JNI roundtrip per
+batch. This rides the codegen dispatcher
+(<code class="docutils literal notranslate"><span 
class="pre">spark.comet.exec.scalaUDF.codegen.enabled</span></code>, enabled by 
default); if the
+dispatcher is disabled, the operator falls back to Spark.</p></li>
+<li><p><strong>Native (rust) path:</strong> the native DataFusion 
implementation. Faster, but has
+known compatibility gaps with Spark on certain inputs, so it is <strong>opt-in 
per
+expression</strong> via the expression’s <code class="docutils literal 
notranslate"><span class="pre">allowIncompatible</span></code> config. Any 
expression or
+input case with no native implementation falls back to the codegen 
dispatcher.</p></li>
+</ul>
+<section id="expression-coverage">
+<h2>Expression coverage<a class="headerlink" href="#expression-coverage" 
title="Link to this heading">#</a></h2>
+<div class="pst-scrollable-table-container"><table class="table">
+<thead>
+<tr class="row-odd"><th class="head"><p>SQL</p></th>
+<th class="head"><p>Native (rust) path</p></th>
+<th class="head"><p>Opt-in config</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">get_json_object</span></code></p></td>
+<td><p>Supported, with gaps on single-quoted JSON and unescaped control 
characters</p></td>
+<td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.GetJsonObject.allowIncompatible</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">from_json</span></code></p></td>
+<td><p>Supported with restrictions (PERMISSIVE mode only, simple schema types 
only)</p></td>
+<td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.JsonToStructs.allowIncompatible</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">to_json</span></code></p></td>
+<td><p>Supported for struct inputs only, no options</p></td>
+<td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.StructsToJson.allowIncompatible</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">json_array_length</span></code></p></td>
+<td><p>Supported, with gaps on single-quoted JSON, unescaped control 
characters, and trailing content</p></td>
+<td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.LengthOfJsonArray.allowIncompatible</span></code></p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<p>When the native path is enabled but an expression or input case has no 
native
+implementation (for example <code class="docutils literal notranslate"><span 
class="pre">to_json</span></code> with map or array inputs, or <code 
class="docutils literal notranslate"><span class="pre">from_json</span></code>
+with an unsupported schema), Comet falls back to the codegen dispatcher for 
that
+case.</p>
 </section>
-<section id="round-robin-partitioning">
-<h2>Round-Robin Partitioning<a class="headerlink" 
href="#round-robin-partitioning" title="Link to this heading">#</a></h2>
-<p>Comet’s native shuffle implementation of round-robin partitioning (<code 
class="docutils literal notranslate"><span 
class="pre">df.repartition(n)</span></code>) is not compatible with
-Spark’s implementation and is disabled by default. It can be enabled by setting
-<code class="docutils literal notranslate"><span 
class="pre">spark.comet.native.shuffle.partitioning.roundrobin.enabled=true</span></code>.</p>
-<p><strong>Why the incompatibility exists:</strong></p>
-<p>Spark’s round-robin partitioning sorts rows by their binary <code 
class="docutils literal notranslate"><span class="pre">UnsafeRow</span></code> 
representation before assigning them to
-partitions. This ensures deterministic output for fault tolerance (task 
retries produce identical results).
-Comet uses Arrow format internally, which has a completely different binary 
layout than <code class="docutils literal notranslate"><span 
class="pre">UnsafeRow</span></code>, making it
-impossible to match Spark’s exact partition assignments.</p>
-<p><strong>Comet’s approach:</strong></p>
-<p>Instead of true round-robin assignment, Comet implements round-robin as 
hash partitioning on ALL columns. This
-achieves the same semantic goals:</p>
+<section id="when-to-use-the-native-path">
+<h2>When to use the native path<a class="headerlink" 
href="#when-to-use-the-native-path" title="Link to this heading">#</a></h2>
 <ul class="simple">
-<li><p><strong>Even distribution</strong>: Rows are distributed evenly across 
partitions (as long as the hash varies sufficiently -
-in some cases there could be skew)</p></li>
-<li><p><strong>Deterministic</strong>: Same input always produces the same 
partition assignments (important for fault tolerance)</p></li>
-<li><p><strong>No semantic grouping</strong>: Unlike hash partitioning on 
specific columns, this doesn’t group related rows together</p></li>
+<li><p>You want the faster native path and your inputs avoid the known 
compatibility
+gaps above.</p></li>
+<li><p>Enable it per expression, for example
+<code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.GetJsonObject.allowIncompatible=true</span></code>.
 Cases the native path
+does not cover still fall back to the codegen dispatcher.</p></li>
 </ul>
-<p>The only difference is that Comet’s partition assignments will differ from 
Spark’s. When results are sorted,
-they will be identical to Spark. Unsorted results may have different row 
ordering.</p>
 </section>
 </section>
 
@@ -565,20 +597,20 @@ they will be identical to Spark. Unsorted results may 
have different row orderin
                   
 <div class="prev-next-area">
     <a class="left-prev"
-       href="regex.html"
+       href="expressions/cast.html"
        title="previous page">
       <i class="fa-solid fa-angle-left"></i>
       <div class="prev-next-info">
         <p class="prev-next-subtitle">previous</p>
-        <p class="prev-next-title">Regular Expressions</p>
+        <p class="prev-next-title">Cast</p>
       </div>
     </a>
     <a class="right-next"
-       href="expressions/index.html"
+       href="spark-versions.html"
        title="next page">
       <div class="prev-next-info">
         <p class="prev-next-subtitle">next</p>
-        <p class="prev-next-title">Expression Compatibility</p>
+        <p class="prev-next-title">Spark Version Compatibility</p>
       </div>
       <i class="fa-solid fa-angle-right"></i>
     </a>
diff --git a/user-guide/latest/compatibility/operators.html 
b/user-guide/latest/compatibility/operators.html
index 4a51957a73..3d32c38a62 100644
--- a/user-guide/latest/compatibility/operators.html
+++ b/user-guide/latest/compatibility/operators.html
@@ -423,6 +423,7 @@ under the License.
 <li class="toctree-l2"><a class="reference internal" 
href="expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l1"><a class="reference internal" href="json.html">JSON 
Compatibility</a></li>
 <li class="toctree-l1"><a class="reference internal" 
href="spark-versions.html">Spark Version Compatibility</a></li>
 </ul>
 <p aria-level="2" class="caption" role="heading"><span 
class="caption-text">Operating Comet</span></p>
diff --git a/user-guide/latest/compatibility/regex.html 
b/user-guide/latest/compatibility/regex.html
index eb4a2e8f12..4a19b29165 100644
--- a/user-guide/latest/compatibility/regex.html
+++ b/user-guide/latest/compatibility/regex.html
@@ -423,6 +423,7 @@ under the License.
 <li class="toctree-l2"><a class="reference internal" 
href="expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l1"><a class="reference internal" href="json.html">JSON 
Compatibility</a></li>
 <li class="toctree-l1"><a class="reference internal" 
href="spark-versions.html">Spark Version Compatibility</a></li>
 </ul>
 <p aria-level="2" class="caption" role="heading"><span 
class="caption-text">Operating Comet</span></p>
diff --git a/user-guide/latest/compatibility/scans.html 
b/user-guide/latest/compatibility/scans.html
index 0fabc1db68..5891585b4b 100644
--- a/user-guide/latest/compatibility/scans.html
+++ b/user-guide/latest/compatibility/scans.html
@@ -423,6 +423,7 @@ under the License.
 <li class="toctree-l2"><a class="reference internal" 
href="expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l1"><a class="reference internal" href="json.html">JSON 
Compatibility</a></li>
 <li class="toctree-l1"><a class="reference internal" 
href="spark-versions.html">Spark Version Compatibility</a></li>
 </ul>
 <p aria-level="2" class="caption" role="heading"><span 
class="caption-text">Operating Comet</span></p>
diff --git a/user-guide/latest/compatibility/spark-versions.html 
b/user-guide/latest/compatibility/spark-versions.html
index ef5ca105a7..37575975f7 100644
--- a/user-guide/latest/compatibility/spark-versions.html
+++ b/user-guide/latest/compatibility/spark-versions.html
@@ -66,7 +66,7 @@ under the License.
     <link rel="index" title="Index" href="../../../genindex.html" />
     <link rel="search" title="Search" href="../../../search.html" />
     <link rel="next" title="Understanding Comet Plans" 
href="../understanding-comet-plans.html" />
-    <link rel="prev" title="Cast" href="expressions/cast.html" />
+    <link rel="prev" title="JSON Compatibility" href="json.html" />
   <meta name="viewport" content="width=device-width, initial-scale=1"/>
   <meta name="docsearch:language" content="en"/>
   <meta name="docsearch:version" content="" />
@@ -423,6 +423,7 @@ under the License.
 <li class="toctree-l2"><a class="reference internal" 
href="expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l1"><a class="reference internal" href="json.html">JSON 
Compatibility</a></li>
 <li class="toctree-l1 current active"><a class="current reference internal" 
href="#">Spark Version Compatibility</a></li>
 </ul>
 <p aria-level="2" class="caption" role="heading"><span 
class="caption-text">Operating Comet</span></p>
@@ -611,12 +612,12 @@ evaluation only and should not be used in production.</p>
                   
 <div class="prev-next-area">
     <a class="left-prev"
-       href="expressions/cast.html"
+       href="json.html"
        title="previous page">
       <i class="fa-solid fa-angle-left"></i>
       <div class="prev-next-info">
         <p class="prev-next-subtitle">previous</p>
-        <p class="prev-next-title">Cast</p>
+        <p class="prev-next-title">JSON Compatibility</p>
       </div>
     </a>
     <a class="right-next"
diff --git a/user-guide/latest/configs.html b/user-guide/latest/configs.html
index 6bd764e5dc..d85186018b 100644
--- a/user-guide/latest/configs.html
+++ b/user-guide/latest/configs.html
@@ -423,6 +423,7 @@ under the License.
 <li class="toctree-l2"><a class="reference internal" 
href="compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l1"><a class="reference internal" 
href="compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l1"><a class="reference internal" 
href="compatibility/spark-versions.html">Spark Version Compatibility</a></li>
 </ul>
 <p aria-level="2" class="caption" role="heading"><span 
class="caption-text">Operating Comet</span></p>
diff --git a/user-guide/latest/datasources.html 
b/user-guide/latest/datasources.html
index 0051f53816..a4c3baf272 100644
--- a/user-guide/latest/datasources.html
+++ b/user-guide/latest/datasources.html
@@ -423,6 +423,7 @@ under the License.
 <li class="toctree-l2"><a class="reference internal" 
href="compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l1"><a class="reference internal" 
href="compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l1"><a class="reference internal" 
href="compatibility/spark-versions.html">Spark Version Compatibility</a></li>
 </ul>
 <p aria-level="2" class="caption" role="heading"><span 
class="caption-text">Operating Comet</span></p>
diff --git a/user-guide/latest/datatypes.html b/user-guide/latest/datatypes.html
index aed4382f26..d8ac0ffa2f 100644
--- a/user-guide/latest/datatypes.html
+++ b/user-guide/latest/datatypes.html
@@ -423,6 +423,7 @@ under the License.
 <li class="toctree-l2"><a class="reference internal" 
href="compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l1"><a class="reference internal" 
href="compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l1"><a class="reference internal" 
href="compatibility/spark-versions.html">Spark Version Compatibility</a></li>
 </ul>
 <p aria-level="2" class="caption" role="heading"><span 
class="caption-text">Operating Comet</span></p>
diff --git a/user-guide/latest/expressions.html 
b/user-guide/latest/expressions.html
index 1d9302373d..3dcb9d7035 100644
--- a/user-guide/latest/expressions.html
+++ b/user-guide/latest/expressions.html
@@ -423,6 +423,7 @@ under the License.
 <li class="toctree-l2"><a class="reference internal" 
href="compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l1"><a class="reference internal" 
href="compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l1"><a class="reference internal" 
href="compatibility/spark-versions.html">Spark Version Compatibility</a></li>
 </ul>
 <p aria-level="2" class="caption" role="heading"><span 
class="caption-text">Operating Comet</span></p>
@@ -1532,8 +1533,8 @@ expression-level). The <code class="docutils literal 
notranslate"><span class="p
 <td><p>Some inputs need allowIncompatible (<a class="reference internal" 
href="../../contributor-guide/expression-audits/json_funcs.html#get-json-object"><span
 class="std std-ref">audit</span></a>)</p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">json_array_length</span></code></p></td>
-<td><p>🔜</p></td>
-<td><p>tracking <a class="reference external" 
href="https://github.com/apache/datafusion-comet/issues/4098";>#4098</a></p></td>
+<td><p>✅</p></td>
+<td><p>Single-quoted/trailing JSON needs allowIncompatible (<a 
class="reference internal" 
href="../../contributor-guide/expression-audits/json_funcs.html#json-array-length"><span
 class="std std-ref">audit</span></a>)</p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">json_object_keys</span></code></p></td>
 <td><p>🔜</p></td>
diff --git a/user-guide/latest/iceberg.html b/user-guide/latest/iceberg.html
index d6b77c0b5b..30ae21cee7 100644
--- a/user-guide/latest/iceberg.html
+++ b/user-guide/latest/iceberg.html
@@ -423,6 +423,7 @@ under the License.
 <li class="toctree-l2"><a class="reference internal" 
href="compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l1"><a class="reference internal" 
href="compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l1"><a class="reference internal" 
href="compatibility/spark-versions.html">Spark Version Compatibility</a></li>
 </ul>
 <p aria-level="2" class="caption" role="heading"><span 
class="caption-text">Operating Comet</span></p>
diff --git a/user-guide/latest/index.html b/user-guide/latest/index.html
index add5441626..3664de65c6 100644
--- a/user-guide/latest/index.html
+++ b/user-guide/latest/index.html
@@ -423,6 +423,7 @@ under the License.
 <li class="toctree-l2"><a class="reference internal" 
href="compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l1"><a class="reference internal" 
href="compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l1"><a class="reference internal" 
href="compatibility/spark-versions.html">Spark Version Compatibility</a></li>
 </ul>
 <p aria-level="2" class="caption" role="heading"><span 
class="caption-text">Operating Comet</span></p>
diff --git a/user-guide/latest/installation.html 
b/user-guide/latest/installation.html
index e5bfc08d35..272690713c 100644
--- a/user-guide/latest/installation.html
+++ b/user-guide/latest/installation.html
@@ -423,6 +423,7 @@ under the License.
 <li class="toctree-l2"><a class="reference internal" 
href="compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l1"><a class="reference internal" 
href="compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l1"><a class="reference internal" 
href="compatibility/spark-versions.html">Spark Version Compatibility</a></li>
 </ul>
 <p aria-level="2" class="caption" role="heading"><span 
class="caption-text">Operating Comet</span></p>
diff --git a/user-guide/latest/kubernetes.html 
b/user-guide/latest/kubernetes.html
index 8b47f263f7..31c9bbceb6 100644
--- a/user-guide/latest/kubernetes.html
+++ b/user-guide/latest/kubernetes.html
@@ -423,6 +423,7 @@ under the License.
 <li class="toctree-l2"><a class="reference internal" 
href="compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l1"><a class="reference internal" 
href="compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l1"><a class="reference internal" 
href="compatibility/spark-versions.html">Spark Version Compatibility</a></li>
 </ul>
 <p aria-level="2" class="caption" role="heading"><span 
class="caption-text">Operating Comet</span></p>
diff --git a/user-guide/latest/metrics.html b/user-guide/latest/metrics.html
index 774fd2af93..feca011c4f 100644
--- a/user-guide/latest/metrics.html
+++ b/user-guide/latest/metrics.html
@@ -423,6 +423,7 @@ under the License.
 <li class="toctree-l2"><a class="reference internal" 
href="compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l1"><a class="reference internal" 
href="compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l1"><a class="reference internal" 
href="compatibility/spark-versions.html">Spark Version Compatibility</a></li>
 </ul>
 <p aria-level="2" class="caption" role="heading"><span 
class="caption-text">Operating Comet</span></p>
diff --git a/user-guide/latest/operators.html b/user-guide/latest/operators.html
index 5535f4f86f..f0eef013ed 100644
--- a/user-guide/latest/operators.html
+++ b/user-guide/latest/operators.html
@@ -423,6 +423,7 @@ under the License.
 <li class="toctree-l2"><a class="reference internal" 
href="compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l1"><a class="reference internal" 
href="compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l1"><a class="reference internal" 
href="compatibility/spark-versions.html">Spark Version Compatibility</a></li>
 </ul>
 <p aria-level="2" class="caption" role="heading"><span 
class="caption-text">Operating Comet</span></p>
diff --git a/user-guide/latest/s3-credential-providers.html 
b/user-guide/latest/s3-credential-providers.html
index 9ffbb69e87..cc313d8da1 100644
--- a/user-guide/latest/s3-credential-providers.html
+++ b/user-guide/latest/s3-credential-providers.html
@@ -423,6 +423,7 @@ under the License.
 <li class="toctree-l2"><a class="reference internal" 
href="compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l1"><a class="reference internal" 
href="compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l1"><a class="reference internal" 
href="compatibility/spark-versions.html">Spark Version Compatibility</a></li>
 </ul>
 <p aria-level="2" class="caption" role="heading"><span 
class="caption-text">Operating Comet</span></p>
diff --git a/user-guide/latest/scala_java_udfs.html 
b/user-guide/latest/scala_java_udfs.html
index b8e80bb957..d10d083cd4 100644
--- a/user-guide/latest/scala_java_udfs.html
+++ b/user-guide/latest/scala_java_udfs.html
@@ -423,6 +423,7 @@ under the License.
 <li class="toctree-l2"><a class="reference internal" 
href="compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l1"><a class="reference internal" 
href="compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l1"><a class="reference internal" 
href="compatibility/spark-versions.html">Spark Version Compatibility</a></li>
 </ul>
 <p aria-level="2" class="caption" role="heading"><span 
class="caption-text">Operating Comet</span></p>
diff --git a/user-guide/latest/source.html b/user-guide/latest/source.html
index 1f97a71225..2a8454391c 100644
--- a/user-guide/latest/source.html
+++ b/user-guide/latest/source.html
@@ -423,6 +423,7 @@ under the License.
 <li class="toctree-l2"><a class="reference internal" 
href="compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l1"><a class="reference internal" 
href="compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l1"><a class="reference internal" 
href="compatibility/spark-versions.html">Spark Version Compatibility</a></li>
 </ul>
 <p aria-level="2" class="caption" role="heading"><span 
class="caption-text">Operating Comet</span></p>
diff --git a/user-guide/latest/tuning.html b/user-guide/latest/tuning.html
index 7963f31cd8..2b6c3688d2 100644
--- a/user-guide/latest/tuning.html
+++ b/user-guide/latest/tuning.html
@@ -423,6 +423,7 @@ under the License.
 <li class="toctree-l2"><a class="reference internal" 
href="compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l1"><a class="reference internal" 
href="compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l1"><a class="reference internal" 
href="compatibility/spark-versions.html">Spark Version Compatibility</a></li>
 </ul>
 <p aria-level="2" class="caption" role="heading"><span 
class="caption-text">Operating Comet</span></p>
diff --git a/user-guide/latest/understanding-comet-plans.html 
b/user-guide/latest/understanding-comet-plans.html
index a13819c5d4..150b8aa40b 100644
--- a/user-guide/latest/understanding-comet-plans.html
+++ b/user-guide/latest/understanding-comet-plans.html
@@ -423,6 +423,7 @@ under the License.
 <li class="toctree-l2"><a class="reference internal" 
href="compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l1"><a class="reference internal" 
href="compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l1"><a class="reference internal" 
href="compatibility/spark-versions.html">Spark Version Compatibility</a></li>
 </ul>
 <p aria-level="2" class="caption" role="heading"><span 
class="caption-text">Operating Comet</span></p>
diff --git a/user-guide/older-versions.html b/user-guide/older-versions.html
index 7a783fe136..f0dad98f8c 100644
--- a/user-guide/older-versions.html
+++ b/user-guide/older-versions.html
@@ -453,6 +453,7 @@ under the License.
 <li class="toctree-l3"><a class="reference internal" 
href="latest/compatibility/expressions/cast.html">Cast</a></li>
 </ul>
 </details></li>
+<li class="toctree-l2"><a class="reference internal" 
href="latest/compatibility/json.html">JSON Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="latest/compatibility/spark-versions.html">Spark Version 
Compatibility</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="latest/understanding-comet-plans.html">Understanding Comet Plans</a></li>
 <li class="toctree-l2"><a class="reference internal" 
href="latest/tuning.html">Tuning Guide</a></li>


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to