diff --git a/lerna.json b/lerna.json
index d78e1610..f287b3d6 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,4 +1,4 @@
 {
   "$schema": "node_modules/lerna/schemas/lerna-schema.json",
-  "version": "0.11.0"
+  "version": "0.12.0"
 }
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index c963357e..1a9323fb 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -13604,23 +13604,23 @@
     },
     "packages/core": {
       "name": "@uwdata/mosaic-core",
-      "version": "0.11.0",
+      "version": "0.12.0",
       "license": "BSD-3-Clause",
       "dependencies": {
         "@duckdb/duckdb-wasm": "^1.29.0",
         "@uwdata/flechette": "^1.1.1",
-        "@uwdata/mosaic-sql": "^0.11.0"
+        "@uwdata/mosaic-sql": "^0.12.0"
       },
       "devDependencies": {
-        "@uwdata/mosaic-duckdb": "^0.11.0"
+        "@uwdata/mosaic-duckdb": "^0.12.0"
       }
     },
     "packages/duckdb": {
       "name": "@uwdata/mosaic-duckdb",
-      "version": "0.11.0",
+      "version": "0.12.0",
       "license": "BSD-3-Clause",
       "dependencies": {
-        "@uwdata/mosaic-sql": "^0.11.0",
+        "@uwdata/mosaic-sql": "^0.12.0",
         "duckdb": "^1.1.3",
         "ws": "^8.18.0"
       },
@@ -13631,53 +13631,53 @@
       }
     },
     "packages/duckdb-server": {
-      "version": "0.11.0"
+      "version": "0.12.0"
     },
     "packages/inputs": {
       "name": "@uwdata/mosaic-inputs",
-      "version": "0.11.0",
+      "version": "0.12.0",
       "license": "BSD-3-Clause",
       "dependencies": {
-        "@uwdata/mosaic-core": "^0.11.0",
-        "@uwdata/mosaic-sql": "^0.11.0",
+        "@uwdata/mosaic-core": "^0.12.0",
+        "@uwdata/mosaic-sql": "^0.12.0",
         "isoformat": "^0.2.1"
       }
     },
     "packages/plot": {
       "name": "@uwdata/mosaic-plot",
-      "version": "0.11.0",
+      "version": "0.12.0",
       "license": "BSD-3-Clause",
       "dependencies": {
         "@observablehq/plot": "^0.6.16",
-        "@uwdata/mosaic-core": "^0.11.0",
-        "@uwdata/mosaic-sql": "^0.11.0",
+        "@uwdata/mosaic-core": "^0.12.0",
+        "@uwdata/mosaic-sql": "^0.12.0",
         "d3": "^7.9.0",
         "isoformat": "^0.2.1"
       }
     },
     "packages/spec": {
       "name": "@uwdata/mosaic-spec",
-      "version": "0.11.0",
+      "version": "0.12.0",
       "license": "BSD-3-Clause",
       "dependencies": {
-        "@uwdata/mosaic-core": "^0.11.0",
-        "@uwdata/mosaic-sql": "^0.11.0",
-        "@uwdata/vgplot": "^0.11.0",
+        "@uwdata/mosaic-core": "^0.12.0",
+        "@uwdata/mosaic-sql": "^0.12.0",
+        "@uwdata/vgplot": "^0.12.0",
         "ts-json-schema-generator": "^2.3.0"
       }
     },
     "packages/sql": {
       "name": "@uwdata/mosaic-sql",
-      "version": "0.11.0",
+      "version": "0.12.0",
       "license": "BSD-3-Clause"
     },
     "packages/vega-example": {
       "name": "mosaic-vega-example",
-      "version": "0.11.0",
+      "version": "0.12.0",
       "dependencies": {
-        "@uwdata/mosaic-core": "^0.11.0",
-        "@uwdata/mosaic-sql": "^0.11.0",
-        "@uwdata/vgplot": "^0.11.0",
+        "@uwdata/mosaic-core": "^0.12.0",
+        "@uwdata/mosaic-sql": "^0.12.0",
+        "@uwdata/vgplot": "^0.12.0",
         "vega": "^5.30.0",
         "vega-embed": "^6.29.0",
         "vega-lite": "^5.21.0"
@@ -13688,23 +13688,23 @@
     },
     "packages/vgplot": {
       "name": "@uwdata/vgplot",
-      "version": "0.11.0",
+      "version": "0.12.0",
       "license": "BSD-3-Clause",
       "dependencies": {
-        "@uwdata/mosaic-core": "^0.11.0",
-        "@uwdata/mosaic-inputs": "^0.11.0",
-        "@uwdata/mosaic-plot": "^0.11.0",
-        "@uwdata/mosaic-sql": "^0.11.0"
+        "@uwdata/mosaic-core": "^0.12.0",
+        "@uwdata/mosaic-inputs": "^0.12.0",
+        "@uwdata/mosaic-plot": "^0.12.0",
+        "@uwdata/mosaic-sql": "^0.12.0"
       }
     },
     "packages/widget": {
       "name": "mosaic-widget",
-      "version": "0.11.0",
+      "version": "0.12.0",
       "license": "BSD-3-Clause",
       "dependencies": {
-        "@uwdata/mosaic-core": "^0.11.0",
-        "@uwdata/mosaic-spec": "^0.11.0",
-        "@uwdata/vgplot": "^0.11.0",
+        "@uwdata/mosaic-core": "^0.12.0",
+        "@uwdata/mosaic-spec": "^0.12.0",
+        "@uwdata/vgplot": "^0.12.0",
         "uuid": "^11.0.3"
       },
       "devDependencies": {
diff --git a/packages/core/package.json b/packages/core/package.json
index 7f838fad..ed426853 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@uwdata/mosaic-core",
-  "version": "0.11.0",
+  "version": "0.12.0",
   "description": "Scalable and extensible linked data views.",
   "keywords": [
     "mosaic",
@@ -32,9 +32,9 @@
   "dependencies": {
     "@duckdb/duckdb-wasm": "^1.29.0",
     "@uwdata/flechette": "^1.1.1",
-    "@uwdata/mosaic-sql": "^0.11.0"
+    "@uwdata/mosaic-sql": "^0.12.0"
   },
   "devDependencies": {
-    "@uwdata/mosaic-duckdb": "^0.11.0"
+    "@uwdata/mosaic-duckdb": "^0.12.0"
   }
 }
diff --git a/packages/duckdb-server/package.json b/packages/duckdb-server/package.json
index c91ae46f..45401b4d 100644
--- a/packages/duckdb-server/package.json
+++ b/packages/duckdb-server/package.json
@@ -1,6 +1,6 @@
 {
   "name": "duckdb-server",
-  "version": "0.11.0",
+  "version": "0.12.0",
   "private": true,
   "scripts": {
     "prepublishOnly": "uv run pytest && uv run ruff check && uv run ruff format --check",
diff --git a/packages/duckdb/package.json b/packages/duckdb/package.json
index 5dcccaaa..badbfc70 100644
--- a/packages/duckdb/package.json
+++ b/packages/duckdb/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@uwdata/mosaic-duckdb",
-  "version": "0.11.0",
+  "version": "0.12.0",
   "description": "A Promise-based DuckDB API and Node.js data server.",
   "keywords": [
     "duckdb",
@@ -30,7 +30,7 @@
     "prepublishOnly": "npm run test && npm run lint"
   },
   "dependencies": {
-    "@uwdata/mosaic-sql": "^0.11.0",
+    "@uwdata/mosaic-sql": "^0.12.0",
     "duckdb": "^1.1.3",
     "ws": "^8.18.0"
   }
diff --git a/packages/inputs/package.json b/packages/inputs/package.json
index 5ebe5f0f..f4cadddb 100644
--- a/packages/inputs/package.json
+++ b/packages/inputs/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@uwdata/mosaic-inputs",
-  "version": "0.11.0",
+  "version": "0.12.0",
   "description": "Mosaic input components.",
   "keywords": [
     "inputs",
@@ -25,8 +25,8 @@
     "prepublishOnly": "npm run test && npm run lint && npm run build"
   },
   "dependencies": {
-    "@uwdata/mosaic-core": "^0.11.0",
-    "@uwdata/mosaic-sql": "^0.11.0",
+    "@uwdata/mosaic-core": "^0.12.0",
+    "@uwdata/mosaic-sql": "^0.12.0",
     "isoformat": "^0.2.1"
   }
 }
diff --git a/packages/plot/package.json b/packages/plot/package.json
index fce37bf1..0cbbe8c8 100644
--- a/packages/plot/package.json
+++ b/packages/plot/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@uwdata/mosaic-plot",
-  "version": "0.11.0",
+  "version": "0.12.0",
   "description": "A Mosaic-powered plotting framework based on Observable Plot.",
   "keywords": [
     "data",
@@ -29,8 +29,8 @@
   },
   "dependencies": {
     "@observablehq/plot": "^0.6.16",
-    "@uwdata/mosaic-core": "^0.11.0",
-    "@uwdata/mosaic-sql": "^0.11.0",
+    "@uwdata/mosaic-core": "^0.12.0",
+    "@uwdata/mosaic-sql": "^0.12.0",
     "d3": "^7.9.0",
     "isoformat": "^0.2.1"
   }
diff --git a/packages/spec/package.json b/packages/spec/package.json
index 88218f81..5a6dca66 100644
--- a/packages/spec/package.json
+++ b/packages/spec/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@uwdata/mosaic-spec",
-  "version": "0.11.0",
+  "version": "0.12.0",
   "description": "Declarative specification of Mosaic-powered applications.",
   "keywords": [
     "mosaic",
@@ -33,9 +33,9 @@
     "prepublishOnly": "npm run test && npm run lint && npm run build"
   },
   "dependencies": {
-    "@uwdata/mosaic-core": "^0.11.0",
-    "@uwdata/mosaic-sql": "^0.11.0",
-    "@uwdata/vgplot": "^0.11.0",
+    "@uwdata/mosaic-core": "^0.12.0",
+    "@uwdata/mosaic-sql": "^0.12.0",
+    "@uwdata/vgplot": "^0.12.0",
     "ts-json-schema-generator": "^2.3.0"
   }
 }
diff --git a/packages/sql/package.json b/packages/sql/package.json
index 83ac8336..9925d55d 100644
--- a/packages/sql/package.json
+++ b/packages/sql/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@uwdata/mosaic-sql",
-  "version": "0.11.0",
+  "version": "0.12.0",
   "description": "SQL query construction and analysis.",
   "keywords": [
     "sql",
@@ -27,4 +27,4 @@
     "test": "vitest run && tsc -p jsconfig.json",
     "prepublishOnly": "npm run test && npm run lint && npm run build"
   }
-}
\ No newline at end of file
+}
diff --git a/packages/vega-example/package.json b/packages/vega-example/package.json
index 9d6aa021..076a11c1 100644
--- a/packages/vega-example/package.json
+++ b/packages/vega-example/package.json
@@ -1,7 +1,7 @@
 {
   "name": "mosaic-vega-example",
   "private": true,
-  "version": "0.11.0",
+  "version": "0.12.0",
   "type": "module",
   "scripts": {
     "dev": "vite",
@@ -12,9 +12,9 @@
     "vite": "^5.4.11"
   },
   "dependencies": {
-    "@uwdata/mosaic-core": "^0.11.0",
-    "@uwdata/mosaic-sql": "^0.11.0",
-    "@uwdata/vgplot": "^0.11.0",
+    "@uwdata/mosaic-core": "^0.12.0",
+    "@uwdata/mosaic-sql": "^0.12.0",
+    "@uwdata/vgplot": "^0.12.0",
     "vega": "^5.30.0",
     "vega-embed": "^6.29.0",
     "vega-lite": "^5.21.0"
diff --git a/packages/vgplot/package.json b/packages/vgplot/package.json
index ba9713ec..189726a9 100644
--- a/packages/vgplot/package.json
+++ b/packages/vgplot/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@uwdata/vgplot",
-  "version": "0.11.0",
+  "version": "0.12.0",
   "description": "An API for interactive Mosaic-powered visualizations and dashboards.",
   "keywords": [
     "data",
@@ -30,9 +30,9 @@
     "prepublishOnly": "npm run test && npm run lint && npm run build"
   },
   "dependencies": {
-    "@uwdata/mosaic-core": "^0.11.0",
-    "@uwdata/mosaic-inputs": "^0.11.0",
-    "@uwdata/mosaic-plot": "^0.11.0",
-    "@uwdata/mosaic-sql": "^0.11.0"
+    "@uwdata/mosaic-core": "^0.12.0",
+    "@uwdata/mosaic-inputs": "^0.12.0",
+    "@uwdata/mosaic-plot": "^0.12.0",
+    "@uwdata/mosaic-sql": "^0.12.0"
   }
 }
diff --git a/packages/widget/package.json b/packages/widget/package.json
index 152fdfde..383233b7 100644
--- a/packages/widget/package.json
+++ b/packages/widget/package.json
@@ -1,6 +1,6 @@
 {
   "name": "mosaic-widget",
-  "version": "0.11.0",
+  "version": "0.12.0",
   "private": true,
   "license": "BSD-3-Clause",
   "author": "Dominik Moritz (https://www.domoritz.de)",
@@ -20,9 +20,9 @@
     "clean": "rimraf dist"
   },
   "dependencies": {
-    "@uwdata/mosaic-core": "^0.11.0",
-    "@uwdata/mosaic-spec": "^0.11.0",
-    "@uwdata/vgplot": "^0.11.0",
+    "@uwdata/mosaic-core": "^0.12.0",
+    "@uwdata/mosaic-spec": "^0.12.0",
+    "@uwdata/vgplot": "^0.12.0",
     "uuid": "^11.0.3"
   },
   "devDependencies": {