From 70fce03c09ce8d7fea61d82e72f31a7822b3ef2d Mon Sep 17 00:00:00 2001
From: Martin McKeaveney <martinmckeaveney@gmail.com>
Date: Wed, 27 Apr 2022 12:42:57 +0100
Subject: [PATCH 001/100] updating helm chart for storage classes

---
 .../templates/minio-data-persistentvolumeclaim.yaml         | 6 +-----
 .../templates/redis-data-persistentvolumeclaim.yaml         | 6 +-----
 charts/budibase/values.yaml                                 | 4 ++--
 hosting/nginx.prod.conf.hbs                                 | 2 +-
 4 files changed, 5 insertions(+), 13 deletions(-)

diff --git a/charts/budibase/templates/minio-data-persistentvolumeclaim.yaml b/charts/budibase/templates/minio-data-persistentvolumeclaim.yaml
index 7a6e05a66a..1593f5150f 100644
--- a/charts/budibase/templates/minio-data-persistentvolumeclaim.yaml
+++ b/charts/budibase/templates/minio-data-persistentvolumeclaim.yaml
@@ -12,10 +12,6 @@ spec:
   resources:
     requests:
       storage: {{ .Values.services.objectStore.storage }}
-  {{- if (eq "-" .Values.services.objectStore.storageClass) }}
-  storageClassName: ""
-  {{- else }}
-  storageClassName: "{{ .Values.services.objectStore.storageClass }}"
-  {{- end }}
+  storageClassName: {{ .Values.services.redis.storageClass }}
 status: {}
 {{- end }}
diff --git a/charts/budibase/templates/redis-data-persistentvolumeclaim.yaml b/charts/budibase/templates/redis-data-persistentvolumeclaim.yaml
index 5f063dc664..f76ee8e808 100644
--- a/charts/budibase/templates/redis-data-persistentvolumeclaim.yaml
+++ b/charts/budibase/templates/redis-data-persistentvolumeclaim.yaml
@@ -12,10 +12,6 @@ spec:
   resources:
     requests:
       storage: {{ .Values.services.redis.storage }}
-  {{- if (eq "-" .Values.services.redis.storageClass) }}
-  storageClassName: ""
-  {{- else }}
-  storageClassName: "{{ .Values.services.redis.storageClass }}"
-  {{- end }}
+  storageClassName: {{ .Values.services.redis.storageClass }}
 status: {}
 {{- end }}
diff --git a/charts/budibase/values.yaml b/charts/budibase/values.yaml
index 5ada89de6c..116931a147 100644
--- a/charts/budibase/values.yaml
+++ b/charts/budibase/values.yaml
@@ -155,7 +155,7 @@ services:
     ## If set to "-", storageClassName: "", which disables dynamic provisioning
     ## If undefined (the default) or set to null, no storageClassName spec is
     ##   set, choosing the default provisioner.
-    storageClass: "-"
+    storageClass: ""
 
   objectStore:
     minio: true
@@ -171,7 +171,7 @@ services:
     ## If set to "-", storageClassName: "", which disables dynamic provisioning
     ## If undefined (the default) or set to null, no storageClassName spec is
     ##   set, choosing the default provisioner.
-    storageClass: "-"
+    storageClass: ""
 
 # Override values in couchDB subchart
 couchdb:
diff --git a/hosting/nginx.prod.conf.hbs b/hosting/nginx.prod.conf.hbs
index 7ef597051b..cd5f7b4d48 100644
--- a/hosting/nginx.prod.conf.hbs
+++ b/hosting/nginx.prod.conf.hbs
@@ -48,7 +48,7 @@ http {
     set $csp_style "style-src 'self' 'unsafe-inline' https://cdn.jsdelivr.net https://fonts.googleapis.com https://rsms.me https://maxcdn.bootstrapcdn.com";
     set $csp_object "object-src 'none'";
     set $csp_base_uri "base-uri 'self'";
-    set $csp_connect "connect-src 'self' https://api-iam.intercom.io https://api-iam.intercom.io  https://api-ping.intercom.io https://app.posthog.com wss://nexus-websocket-a.intercom.io  wss://nexus-websocket-b.intercom.io https://nexus-websocket-a.intercom.io https://nexus-websocket-b.intercom.io  https://uploads.intercomcdn.com  https://uploads.intercomusercontent.com";
+    set $csp_connect "connect-src 'self' https://api-iam.intercom.io https://api-iam.intercom.io  https://api-ping.intercom.io https://app.posthog.com wss://nexus-websocket-a.intercom.io  wss://nexus-websocket-b.intercom.io https://nexus-websocket-a.intercom.io https://nexus-websocket-b.intercom.io  https://uploads.intercomcdn.com  https://uploads.intercomusercontent.com https://*.s3.*.amazonaws.com";
     set $csp_font "font-src 'self' data: https://cdn.jsdelivr.net https://fonts.gstatic.com https://rsms.me https://maxcdn.bootstrapcdn.com  https://js.intercomcdn.com  https://fonts.intercomcdn.com";
     set $csp_frame "frame-src 'self' https:";
     set $csp_img "img-src http: https: data: blob:";

From cad0f61595e1d452042c73d412e06d6a51ec0a27 Mon Sep 17 00:00:00 2001
From: Martin McKeaveney <martinmckeaveney@gmail.com>
Date: Wed, 27 Apr 2022 12:45:43 +0100
Subject: [PATCH 002/100] fix typo

---
 charts/budibase/templates/minio-data-persistentvolumeclaim.yaml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/charts/budibase/templates/minio-data-persistentvolumeclaim.yaml b/charts/budibase/templates/minio-data-persistentvolumeclaim.yaml
index 1593f5150f..9d15ca4e19 100644
--- a/charts/budibase/templates/minio-data-persistentvolumeclaim.yaml
+++ b/charts/budibase/templates/minio-data-persistentvolumeclaim.yaml
@@ -12,6 +12,6 @@ spec:
   resources:
     requests:
       storage: {{ .Values.services.objectStore.storage }}
-  storageClassName: {{ .Values.services.redis.storageClass }}
+  storageClassName: {{ .Values.services.objectStore.storageClass }}
 status: {}
 {{- end }}

From e2a4f17afe6a557f73b8941744a81ab1cd5c7fca Mon Sep 17 00:00:00 2001
From: Budibase Release Bot <>
Date: Wed, 27 Apr 2022 11:55:18 +0000
Subject: [PATCH 003/100] v1.0.126

---
 lerna.json                             |  2 +-
 packages/backend-core/package.json     |  2 +-
 packages/bbui/package.json             |  4 ++--
 packages/builder/package.json          | 10 +++++-----
 packages/cli/package.json              |  2 +-
 packages/client/package.json           |  8 ++++----
 packages/frontend-core/package.json    |  4 ++--
 packages/server/package.json           |  8 ++++----
 packages/string-templates/package.json |  2 +-
 packages/worker/package.json           |  6 +++---
 10 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/lerna.json b/lerna.json
index 2cfec0a186..4fb36b82e0 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
 {
-  "version": "1.0.125",
+  "version": "1.0.126",
   "npmClient": "yarn",
   "packages": [
     "packages/*"
diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json
index 2b489e58d0..98f00523be 100644
--- a/packages/backend-core/package.json
+++ b/packages/backend-core/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/backend-core",
-  "version": "1.0.125",
+  "version": "1.0.126",
   "description": "Budibase backend core libraries used in server and worker",
   "main": "src/index.js",
   "author": "Budibase",
diff --git a/packages/bbui/package.json b/packages/bbui/package.json
index 9e1060cee7..ceb7931bc3 100644
--- a/packages/bbui/package.json
+++ b/packages/bbui/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/bbui",
   "description": "A UI solution used in the different Budibase projects.",
-  "version": "1.0.125",
+  "version": "1.0.126",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "module": "dist/bbui.es.js",
@@ -38,7 +38,7 @@
   ],
   "dependencies": {
     "@adobe/spectrum-css-workflow-icons": "^1.2.1",
-    "@budibase/string-templates": "^1.0.125",
+    "@budibase/string-templates": "^1.0.126",
     "@spectrum-css/actionbutton": "^1.0.1",
     "@spectrum-css/actiongroup": "^1.0.1",
     "@spectrum-css/avatar": "^3.0.2",
diff --git a/packages/builder/package.json b/packages/builder/package.json
index ce0785d5c5..751587e168 100644
--- a/packages/builder/package.json
+++ b/packages/builder/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/builder",
-  "version": "1.0.125",
+  "version": "1.0.126",
   "license": "GPL-3.0",
   "private": true,
   "scripts": {
@@ -65,10 +65,10 @@
     }
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.125",
-    "@budibase/client": "^1.0.125",
-    "@budibase/frontend-core": "^1.0.125",
-    "@budibase/string-templates": "^1.0.125",
+    "@budibase/bbui": "^1.0.126",
+    "@budibase/client": "^1.0.126",
+    "@budibase/frontend-core": "^1.0.126",
+    "@budibase/string-templates": "^1.0.126",
     "@sentry/browser": "5.19.1",
     "@spectrum-css/page": "^3.0.1",
     "@spectrum-css/vars": "^3.0.1",
diff --git a/packages/cli/package.json b/packages/cli/package.json
index bd33a9940a..0f41605d64 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/cli",
-  "version": "1.0.125",
+  "version": "1.0.126",
   "description": "Budibase CLI, for developers, self hosting and migrations.",
   "main": "src/index.js",
   "bin": {
diff --git a/packages/client/package.json b/packages/client/package.json
index 1791eb849f..d8b134da0b 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/client",
-  "version": "1.0.125",
+  "version": "1.0.126",
   "license": "MPL-2.0",
   "module": "dist/budibase-client.js",
   "main": "dist/budibase-client.js",
@@ -19,9 +19,9 @@
     "dev:builder": "rollup -cw"
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.125",
-    "@budibase/frontend-core": "^1.0.125",
-    "@budibase/string-templates": "^1.0.125",
+    "@budibase/bbui": "^1.0.126",
+    "@budibase/frontend-core": "^1.0.126",
+    "@budibase/string-templates": "^1.0.126",
     "@spectrum-css/button": "^3.0.3",
     "@spectrum-css/card": "^3.0.3",
     "@spectrum-css/divider": "^1.0.3",
diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json
index 8b01b826c1..b44d7e1a1a 100644
--- a/packages/frontend-core/package.json
+++ b/packages/frontend-core/package.json
@@ -1,12 +1,12 @@
 {
   "name": "@budibase/frontend-core",
-  "version": "1.0.125",
+  "version": "1.0.126",
   "description": "Budibase frontend core libraries used in builder and client",
   "author": "Budibase",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "dependencies": {
-    "@budibase/bbui": "^1.0.125",
+    "@budibase/bbui": "^1.0.126",
     "lodash": "^4.17.21",
     "svelte": "^3.46.2"
   }
diff --git a/packages/server/package.json b/packages/server/package.json
index ecf22e91fb..fd6d488cb0 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/server",
   "email": "hi@budibase.com",
-  "version": "1.0.125",
+  "version": "1.0.126",
   "description": "Budibase Web Server",
   "main": "src/index.ts",
   "repository": {
@@ -68,10 +68,10 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@apidevtools/swagger-parser": "^10.0.3",
-    "@budibase/backend-core": "^1.0.125",
-    "@budibase/client": "^1.0.125",
+    "@budibase/backend-core": "^1.0.126",
+    "@budibase/client": "^1.0.126",
     "@budibase/pro": "1.0.125",
-    "@budibase/string-templates": "^1.0.125",
+    "@budibase/string-templates": "^1.0.126",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
     "@elastic/elasticsearch": "7.10.0",
diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json
index 4d11df6189..838d8ac624 100644
--- a/packages/string-templates/package.json
+++ b/packages/string-templates/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/string-templates",
-  "version": "1.0.125",
+  "version": "1.0.126",
   "description": "Handlebars wrapper for Budibase templating.",
   "main": "src/index.cjs",
   "module": "dist/bundle.mjs",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index 26001d043e..c62d187384 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/worker",
   "email": "hi@budibase.com",
-  "version": "1.0.125",
+  "version": "1.0.126",
   "description": "Budibase background service",
   "main": "src/index.ts",
   "repository": {
@@ -31,9 +31,9 @@
   "author": "Budibase",
   "license": "GPL-3.0",
   "dependencies": {
-    "@budibase/backend-core": "^1.0.125",
+    "@budibase/backend-core": "^1.0.126",
     "@budibase/pro": "1.0.125",
-    "@budibase/string-templates": "^1.0.125",
+    "@budibase/string-templates": "^1.0.126",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",
     "@techpass/passport-openidconnect": "^0.3.0",

From 1b978c35f34ae0322492089bfb2e6c413ed2be01 Mon Sep 17 00:00:00 2001
From: Budibase Release Bot <>
Date: Wed, 27 Apr 2022 11:56:38 +0000
Subject: [PATCH 004/100] Update pro version to 1.0.126

---
 packages/server/package.json | 2 +-
 packages/worker/package.json | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/packages/server/package.json b/packages/server/package.json
index fd6d488cb0..72f8d33899 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -70,7 +70,7 @@
     "@apidevtools/swagger-parser": "^10.0.3",
     "@budibase/backend-core": "^1.0.126",
     "@budibase/client": "^1.0.126",
-    "@budibase/pro": "1.0.125",
+    "@budibase/pro": "1.0.126",
     "@budibase/string-templates": "^1.0.126",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index c62d187384..31ab3f5ac8 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -32,7 +32,7 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@budibase/backend-core": "^1.0.126",
-    "@budibase/pro": "1.0.125",
+    "@budibase/pro": "1.0.126",
     "@budibase/string-templates": "^1.0.126",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",

From 143ea9aba9caeaf3914f0916123e918514250fa0 Mon Sep 17 00:00:00 2001
From: Martin McKeaveney <martinmckeaveney@gmail.com>
Date: Wed, 27 Apr 2022 13:39:45 +0100
Subject: [PATCH 005/100] update helm claims again

---
 charts/budibase/templates/minio-data-persistentvolumeclaim.yaml | 2 ++
 charts/budibase/templates/redis-data-persistentvolumeclaim.yaml | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/charts/budibase/templates/minio-data-persistentvolumeclaim.yaml b/charts/budibase/templates/minio-data-persistentvolumeclaim.yaml
index 9d15ca4e19..abcf341bc5 100644
--- a/charts/budibase/templates/minio-data-persistentvolumeclaim.yaml
+++ b/charts/budibase/templates/minio-data-persistentvolumeclaim.yaml
@@ -12,6 +12,8 @@ spec:
   resources:
     requests:
       storage: {{ .Values.services.objectStore.storage }}
+  {{ if .Values.services.objectStore.storageClass }}
   storageClassName: {{ .Values.services.objectStore.storageClass }}
+  {{- end }}
 status: {}
 {{- end }}
diff --git a/charts/budibase/templates/redis-data-persistentvolumeclaim.yaml b/charts/budibase/templates/redis-data-persistentvolumeclaim.yaml
index f76ee8e808..6f11492b58 100644
--- a/charts/budibase/templates/redis-data-persistentvolumeclaim.yaml
+++ b/charts/budibase/templates/redis-data-persistentvolumeclaim.yaml
@@ -12,6 +12,8 @@ spec:
   resources:
     requests:
       storage: {{ .Values.services.redis.storage }}
+  {{ if .Values.services.redis.storageClass }}
   storageClassName: {{ .Values.services.redis.storageClass }}
+  {{ end }}
 status: {}
 {{- end }}

From b2b98c790b464e2a5eb2352ce8da1fea63471762 Mon Sep 17 00:00:00 2001
From: Budibase Release Bot <>
Date: Wed, 27 Apr 2022 13:13:56 +0000
Subject: [PATCH 006/100] v1.0.127

---
 lerna.json                             |  2 +-
 packages/backend-core/package.json     |  2 +-
 packages/bbui/package.json             |  4 ++--
 packages/builder/package.json          | 10 +++++-----
 packages/cli/package.json              |  2 +-
 packages/client/package.json           |  8 ++++----
 packages/frontend-core/package.json    |  4 ++--
 packages/server/package.json           |  8 ++++----
 packages/string-templates/package.json |  2 +-
 packages/worker/package.json           |  6 +++---
 10 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/lerna.json b/lerna.json
index 4fb36b82e0..1e53f18658 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
 {
-  "version": "1.0.126",
+  "version": "1.0.127",
   "npmClient": "yarn",
   "packages": [
     "packages/*"
diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json
index 98f00523be..bcb2a600b6 100644
--- a/packages/backend-core/package.json
+++ b/packages/backend-core/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/backend-core",
-  "version": "1.0.126",
+  "version": "1.0.127",
   "description": "Budibase backend core libraries used in server and worker",
   "main": "src/index.js",
   "author": "Budibase",
diff --git a/packages/bbui/package.json b/packages/bbui/package.json
index ceb7931bc3..68b5916801 100644
--- a/packages/bbui/package.json
+++ b/packages/bbui/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/bbui",
   "description": "A UI solution used in the different Budibase projects.",
-  "version": "1.0.126",
+  "version": "1.0.127",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "module": "dist/bbui.es.js",
@@ -38,7 +38,7 @@
   ],
   "dependencies": {
     "@adobe/spectrum-css-workflow-icons": "^1.2.1",
-    "@budibase/string-templates": "^1.0.126",
+    "@budibase/string-templates": "^1.0.127",
     "@spectrum-css/actionbutton": "^1.0.1",
     "@spectrum-css/actiongroup": "^1.0.1",
     "@spectrum-css/avatar": "^3.0.2",
diff --git a/packages/builder/package.json b/packages/builder/package.json
index 751587e168..2fcdc0ec54 100644
--- a/packages/builder/package.json
+++ b/packages/builder/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/builder",
-  "version": "1.0.126",
+  "version": "1.0.127",
   "license": "GPL-3.0",
   "private": true,
   "scripts": {
@@ -65,10 +65,10 @@
     }
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.126",
-    "@budibase/client": "^1.0.126",
-    "@budibase/frontend-core": "^1.0.126",
-    "@budibase/string-templates": "^1.0.126",
+    "@budibase/bbui": "^1.0.127",
+    "@budibase/client": "^1.0.127",
+    "@budibase/frontend-core": "^1.0.127",
+    "@budibase/string-templates": "^1.0.127",
     "@sentry/browser": "5.19.1",
     "@spectrum-css/page": "^3.0.1",
     "@spectrum-css/vars": "^3.0.1",
diff --git a/packages/cli/package.json b/packages/cli/package.json
index 0f41605d64..fe4789a445 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/cli",
-  "version": "1.0.126",
+  "version": "1.0.127",
   "description": "Budibase CLI, for developers, self hosting and migrations.",
   "main": "src/index.js",
   "bin": {
diff --git a/packages/client/package.json b/packages/client/package.json
index d8b134da0b..4bf1acc1c4 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/client",
-  "version": "1.0.126",
+  "version": "1.0.127",
   "license": "MPL-2.0",
   "module": "dist/budibase-client.js",
   "main": "dist/budibase-client.js",
@@ -19,9 +19,9 @@
     "dev:builder": "rollup -cw"
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.126",
-    "@budibase/frontend-core": "^1.0.126",
-    "@budibase/string-templates": "^1.0.126",
+    "@budibase/bbui": "^1.0.127",
+    "@budibase/frontend-core": "^1.0.127",
+    "@budibase/string-templates": "^1.0.127",
     "@spectrum-css/button": "^3.0.3",
     "@spectrum-css/card": "^3.0.3",
     "@spectrum-css/divider": "^1.0.3",
diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json
index b44d7e1a1a..2ffedab18c 100644
--- a/packages/frontend-core/package.json
+++ b/packages/frontend-core/package.json
@@ -1,12 +1,12 @@
 {
   "name": "@budibase/frontend-core",
-  "version": "1.0.126",
+  "version": "1.0.127",
   "description": "Budibase frontend core libraries used in builder and client",
   "author": "Budibase",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "dependencies": {
-    "@budibase/bbui": "^1.0.126",
+    "@budibase/bbui": "^1.0.127",
     "lodash": "^4.17.21",
     "svelte": "^3.46.2"
   }
diff --git a/packages/server/package.json b/packages/server/package.json
index 72f8d33899..d91dd5169f 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/server",
   "email": "hi@budibase.com",
-  "version": "1.0.126",
+  "version": "1.0.127",
   "description": "Budibase Web Server",
   "main": "src/index.ts",
   "repository": {
@@ -68,10 +68,10 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@apidevtools/swagger-parser": "^10.0.3",
-    "@budibase/backend-core": "^1.0.126",
-    "@budibase/client": "^1.0.126",
+    "@budibase/backend-core": "^1.0.127",
+    "@budibase/client": "^1.0.127",
     "@budibase/pro": "1.0.126",
-    "@budibase/string-templates": "^1.0.126",
+    "@budibase/string-templates": "^1.0.127",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
     "@elastic/elasticsearch": "7.10.0",
diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json
index 838d8ac624..420428e6e6 100644
--- a/packages/string-templates/package.json
+++ b/packages/string-templates/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/string-templates",
-  "version": "1.0.126",
+  "version": "1.0.127",
   "description": "Handlebars wrapper for Budibase templating.",
   "main": "src/index.cjs",
   "module": "dist/bundle.mjs",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index 31ab3f5ac8..24c0cfdba8 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/worker",
   "email": "hi@budibase.com",
-  "version": "1.0.126",
+  "version": "1.0.127",
   "description": "Budibase background service",
   "main": "src/index.ts",
   "repository": {
@@ -31,9 +31,9 @@
   "author": "Budibase",
   "license": "GPL-3.0",
   "dependencies": {
-    "@budibase/backend-core": "^1.0.126",
+    "@budibase/backend-core": "^1.0.127",
     "@budibase/pro": "1.0.126",
-    "@budibase/string-templates": "^1.0.126",
+    "@budibase/string-templates": "^1.0.127",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",
     "@techpass/passport-openidconnect": "^0.3.0",

From 919fe2390f31854aacb649c5462a7bbc514a57a6 Mon Sep 17 00:00:00 2001
From: Budibase Release Bot <>
Date: Wed, 27 Apr 2022 13:15:36 +0000
Subject: [PATCH 007/100] Update pro version to 1.0.127

---
 packages/server/package.json | 2 +-
 packages/worker/package.json | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/packages/server/package.json b/packages/server/package.json
index d91dd5169f..2efd827dc6 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -70,7 +70,7 @@
     "@apidevtools/swagger-parser": "^10.0.3",
     "@budibase/backend-core": "^1.0.127",
     "@budibase/client": "^1.0.127",
-    "@budibase/pro": "1.0.126",
+    "@budibase/pro": "1.0.127",
     "@budibase/string-templates": "^1.0.127",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index 24c0cfdba8..0ff0ce8b73 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -32,7 +32,7 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@budibase/backend-core": "^1.0.127",
-    "@budibase/pro": "1.0.126",
+    "@budibase/pro": "1.0.127",
     "@budibase/string-templates": "^1.0.127",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",

From 48eda78f67d23d7dfeb6869f250550457cfb2cad Mon Sep 17 00:00:00 2001
From: mike12345567 <me@michaeldrury.co.uk>
Date: Wed, 27 Apr 2022 15:58:55 +0100
Subject: [PATCH 008/100] Fix for issue being able to delete apps.

---
 packages/backend-core/src/db/index.js |  3 ++-
 packages/server/yarn.lock             | 18 +++++++++---------
 packages/worker/yarn.lock             | 18 +++++++++---------
 3 files changed, 20 insertions(+), 19 deletions(-)

diff --git a/packages/backend-core/src/db/index.js b/packages/backend-core/src/db/index.js
index 1a29c8c2b0..7d54b881b1 100644
--- a/packages/backend-core/src/db/index.js
+++ b/packages/backend-core/src/db/index.js
@@ -41,7 +41,8 @@ exports.closeDB = async db => {
     return
   }
   try {
-    return db.close()
+    // specifically await so that if there is an error, it can be ignored
+    return await db.close()
   } catch (err) {
     // ignore error, already closed
   }
diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock
index 64f7be12e9..239b342eff 100644
--- a/packages/server/yarn.lock
+++ b/packages/server/yarn.lock
@@ -1014,10 +1014,10 @@
   resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
   integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
 
-"@budibase/backend-core@1.0.124-alpha.0":
-  version "1.0.124-alpha.0"
-  resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.0.124-alpha.0.tgz#33a9408206088da49154710910dafc8088d864d2"
-  integrity sha512-0ZUkDeqaoXS9qyK91SjwokYEA1wUPhi48nFE0+UwBloF8i7zVDFp2kOX7VNUrUer4gLuND9BoihEdpqsdQDvAg==
+"@budibase/backend-core@1.0.127":
+  version "1.0.127"
+  resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.0.127.tgz#5d1f4b18b31436ddb770dc1ddf16f201ec95dda7"
+  integrity sha512-3INFkAIxL0Q8Sa65ELRGQqPs+4baykKyb1z/XuO1MyuDPnbFKXGOjl1V61EMy622gsmLk90IJL6aQfh3Grwhvw==
   dependencies:
     "@techpass/passport-openidconnect" "^0.3.0"
     aws-sdk "^2.901.0"
@@ -1091,12 +1091,12 @@
     svelte-flatpickr "^3.2.3"
     svelte-portal "^1.0.0"
 
-"@budibase/pro@1.0.124-alpha.0":
-  version "1.0.124-alpha.0"
-  resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.0.124-alpha.0.tgz#6287a51fa7c19754e44374c209c4aa3480fc3ac9"
-  integrity sha512-EgMuh+XSd/9tb3Ej9EZa4Y8hgiS6fHG+tuUwUcTuP6zvHbTijQGPb9075yImUbSc10bS3o41AP2qa2/ZdZKV2w==
+"@budibase/pro@1.0.127":
+  version "1.0.127"
+  resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.0.127.tgz#a8bcffb8ccc6afde64370b3a3dc22e2d0dd04f46"
+  integrity sha512-dj0SFTmO8JuMQ97/Ik6jVPQsh9AW7U5Wkgpa4yeNfwWw3DvSoktCxpeZ9mND6BR/DWTaeZljFKsQ6uk6nimzdQ==
   dependencies:
-    "@budibase/backend-core" "1.0.124-alpha.0"
+    "@budibase/backend-core" "1.0.127"
     node-fetch "^2.6.1"
 
 "@budibase/standard-components@^0.9.139":
diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock
index 405845b896..dfdcc129d9 100644
--- a/packages/worker/yarn.lock
+++ b/packages/worker/yarn.lock
@@ -293,10 +293,10 @@
   resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
   integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
 
-"@budibase/backend-core@1.0.124-alpha.0":
-  version "1.0.124-alpha.0"
-  resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.0.124-alpha.0.tgz#33a9408206088da49154710910dafc8088d864d2"
-  integrity sha512-0ZUkDeqaoXS9qyK91SjwokYEA1wUPhi48nFE0+UwBloF8i7zVDFp2kOX7VNUrUer4gLuND9BoihEdpqsdQDvAg==
+"@budibase/backend-core@1.0.127":
+  version "1.0.127"
+  resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.0.127.tgz#5d1f4b18b31436ddb770dc1ddf16f201ec95dda7"
+  integrity sha512-3INFkAIxL0Q8Sa65ELRGQqPs+4baykKyb1z/XuO1MyuDPnbFKXGOjl1V61EMy622gsmLk90IJL6aQfh3Grwhvw==
   dependencies:
     "@techpass/passport-openidconnect" "^0.3.0"
     aws-sdk "^2.901.0"
@@ -321,12 +321,12 @@
     uuid "^8.3.2"
     zlib "^1.0.5"
 
-"@budibase/pro@1.0.124-alpha.0":
-  version "1.0.124-alpha.0"
-  resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.0.124-alpha.0.tgz#6287a51fa7c19754e44374c209c4aa3480fc3ac9"
-  integrity sha512-EgMuh+XSd/9tb3Ej9EZa4Y8hgiS6fHG+tuUwUcTuP6zvHbTijQGPb9075yImUbSc10bS3o41AP2qa2/ZdZKV2w==
+"@budibase/pro@1.0.127":
+  version "1.0.127"
+  resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.0.127.tgz#a8bcffb8ccc6afde64370b3a3dc22e2d0dd04f46"
+  integrity sha512-dj0SFTmO8JuMQ97/Ik6jVPQsh9AW7U5Wkgpa4yeNfwWw3DvSoktCxpeZ9mND6BR/DWTaeZljFKsQ6uk6nimzdQ==
   dependencies:
-    "@budibase/backend-core" "1.0.124-alpha.0"
+    "@budibase/backend-core" "1.0.127"
     node-fetch "^2.6.1"
 
 "@cspotcode/source-map-consumer@0.8.0":

From 6762a74e854236471f6f54e0a1bd32ed576be41d Mon Sep 17 00:00:00 2001
From: mike12345567 <me@michaeldrury.co.uk>
Date: Wed, 27 Apr 2022 16:05:27 +0100
Subject: [PATCH 009/100] Fix for #5522 - making sure that app roles aren't
 removed when an app is unpublished.

---
 packages/server/src/api/controllers/application.ts | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/packages/server/src/api/controllers/application.ts b/packages/server/src/api/controllers/application.ts
index 4e6d37765f..aa76dd403c 100644
--- a/packages/server/src/api/controllers/application.ts
+++ b/packages/server/src/api/controllers/application.ts
@@ -406,11 +406,14 @@ const destroyApp = async (ctx: any) => {
   if (!env.isTest() && !isUnpublish) {
     await deleteApp(appId)
   }
+  // automations only in production
   if (isUnpublish) {
     await cleanupAutomations(appId)
   }
-  // make sure the app/role doesn't stick around after the app has been deleted
-  await removeAppFromUserRoles(ctx, appId)
+  // remove app role when the dev app is deleted (no trace of app anymore)
+  else {
+    await removeAppFromUserRoles(ctx, appId)
+  }
   await appCache.invalidateAppMetadata(appId)
   return result
 }

From 6556a41a5a58551512fb26b6a3ea6391040b1a54 Mon Sep 17 00:00:00 2001
From: mike12345567 <me@michaeldrury.co.uk>
Date: Wed, 27 Apr 2022 16:29:03 +0100
Subject: [PATCH 010/100] Fix for #5219 - default all string types to basic
 text format, allow user to switch string types to longform if they desire.

---
 packages/builder/src/constants/backend/index.js | 6 +++++-
 packages/server/src/constants/index.js          | 6 +++++-
 packages/server/src/integrations/utils.ts       | 6 +++---
 3 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/packages/builder/src/constants/backend/index.js b/packages/builder/src/constants/backend/index.js
index 2f5f26e476..922955591a 100644
--- a/packages/builder/src/constants/backend/index.js
+++ b/packages/builder/src/constants/backend/index.js
@@ -144,7 +144,11 @@ export const RelationshipTypes = {
   MANY_TO_ONE: "many-to-one",
 }
 
-export const ALLOWABLE_STRING_OPTIONS = [FIELDS.STRING, FIELDS.OPTIONS]
+export const ALLOWABLE_STRING_OPTIONS = [
+  FIELDS.STRING,
+  FIELDS.OPTIONS,
+  FIELDS.LONGFORM,
+]
 export const ALLOWABLE_STRING_TYPES = ALLOWABLE_STRING_OPTIONS.map(
   opt => opt.type
 )
diff --git a/packages/server/src/constants/index.js b/packages/server/src/constants/index.js
index 0d52eecb5b..60f3c981d6 100644
--- a/packages/server/src/constants/index.js
+++ b/packages/server/src/constants/index.js
@@ -47,7 +47,11 @@ exports.FieldTypes = {
 
 exports.CanSwitchTypes = [
   [exports.FieldTypes.JSON, exports.FieldTypes.ARRAY],
-  [exports.FieldTypes.STRING, exports.FieldTypes.OPTIONS],
+  [
+    exports.FieldTypes.STRING,
+    exports.FieldTypes.OPTIONS,
+    exports.FieldTypes.LONGFORM,
+  ],
   [exports.FieldTypes.BOOLEAN, exports.FieldTypes.NUMBER],
 ]
 
diff --git a/packages/server/src/integrations/utils.ts b/packages/server/src/integrations/utils.ts
index f7f18c6fb9..d166523f1d 100644
--- a/packages/server/src/integrations/utils.ts
+++ b/packages/server/src/integrations/utils.ts
@@ -42,9 +42,9 @@ const SQL_STRING_TYPE_MAP = {
   nvarchar: FieldTypes.STRING,
   ntext: FieldTypes.STRING,
   enum: FieldTypes.STRING,
-  blob: FieldTypes.LONGFORM,
-  long: FieldTypes.LONGFORM,
-  text: FieldTypes.LONGFORM,
+  blob: FieldTypes.STRING,
+  long: FieldTypes.STRING,
+  text: FieldTypes.STRING,
 }
 
 const SQL_BOOLEAN_TYPE_MAP = {

From 061868c826e64eb725de4c118ec7b051a67d934f Mon Sep 17 00:00:00 2001
From: mike12345567 <me@michaeldrury.co.uk>
Date: Wed, 27 Apr 2022 16:56:30 +0100
Subject: [PATCH 011/100] Fixing an issue with cookie auth.

---
 packages/backend-core/src/db/pouch.js         | 63 ++++++++-----------
 packages/backend-core/src/db/utils.js         | 14 +++--
 .../src/api/controllers/row/internalSearch.js | 15 +++--
 3 files changed, 44 insertions(+), 48 deletions(-)

diff --git a/packages/backend-core/src/db/pouch.js b/packages/backend-core/src/db/pouch.js
index 722913aa67..a04fd60a02 100644
--- a/packages/backend-core/src/db/pouch.js
+++ b/packages/backend-core/src/db/pouch.js
@@ -1,35 +1,36 @@
 const PouchDB = require("pouchdb")
 const env = require("../environment")
 
-exports.getCouchUrl = () => {
-  if (!env.COUCH_DB_URL) return
-
-  // username and password already exist in URL
-  if (env.COUCH_DB_URL.includes("@")) {
-    return env.COUCH_DB_URL
+exports.getCouchInfo = () => {
+  let url = "http://localhost:4005"
+  if (env.COUCH_DB_URL && env.COUCH_DB_URL.includes("@")) {
+    url = env.COUCH_DB_URL
+  } else if (env.COUCH_DB_URL) {
+    const [protocol, ...rest] = env.COUCH_DB_URL.split("://")
+    url = `${protocol}://${env.COUCH_DB_USERNAME}:${env.COUCH_DB_PASSWORD}@${rest}`
+    if (!env.COUCH_DB_USERNAME || !env.COUCH_DB_PASSWORD) {
+      throw new Error(
+        "CouchDB configuration invalid. You must provide a fully qualified CouchDB url, or the COUCH_DB_USER and COUCH_DB_PASSWORD environment variables."
+      )
+    }
   }
-
-  const [protocol, ...rest] = env.COUCH_DB_URL.split("://")
-
-  if (!env.COUCH_DB_USERNAME || !env.COUCH_DB_PASSWORD) {
-    throw new Error(
-      "CouchDB configuration invalid. You must provide a fully qualified CouchDB url, or the COUCH_DB_USER and COUCH_DB_PASSWORD environment variables."
-    )
-  }
-
-  return `${protocol}://${env.COUCH_DB_USERNAME}:${env.COUCH_DB_PASSWORD}@${rest}`
-}
-
-exports.splitCouchUrl = url => {
   const [protocol, rest] = url.split("://")
   const [auth, host] = rest.split("@")
-  const [username, password] = auth.split(":")
+  let [username, password] = auth.split(":")
+  if (!username && env.COUCH_DB_USERNAME) {
+    username = env.COUCH_DB_USERNAME
+  }
+  if (!password && env.COUCH_DB_PASSWORD) {
+    password = env.COUCH_DB_PASSWORD
+  }
+  const authCookie = Buffer.from(`${username}:${password}`).toString("base64")
   return {
     url: `${protocol}://${host}`,
     auth: {
-      username,
-      password,
+      username: username,
+      password: password,
     },
+    cookie: `Basic ${authCookie}`,
   }
 }
 
@@ -39,26 +40,12 @@ exports.splitCouchUrl = url => {
  * Exposed for exceptional cases such as in-memory views.
  */
 exports.getPouch = (opts = {}) => {
-  let auth = {
-    username: env.COUCH_DB_USERNAME,
-    password: env.COUCH_DB_PASSWORD,
-  }
-  let url = exports.getCouchUrl() || "http://localhost:4005"
-  // need to update security settings
-  if (!auth.username || !auth.password || url.includes("@")) {
-    const split = exports.splitCouchUrl(url)
-    url = split.url
-    auth = split.auth
-  }
-
-  const authCookie = Buffer.from(`${auth.username}:${auth.password}`).toString(
-    "base64"
-  )
+  let { url, cookie } = exports.getCouchInfo()
   let POUCH_DB_DEFAULTS = {
     prefix: url,
     fetch: (url, opts) => {
       // use a specific authorization cookie - be very explicit about how we authenticate
-      opts.headers.set("Authorization", `Basic ${authCookie}`)
+      opts.headers.set("Authorization", cookie)
       return PouchDB.fetch(url, opts)
     },
   }
diff --git a/packages/backend-core/src/db/utils.js b/packages/backend-core/src/db/utils.js
index 9e2a06d065..1e2ba846de 100644
--- a/packages/backend-core/src/db/utils.js
+++ b/packages/backend-core/src/db/utils.js
@@ -12,7 +12,7 @@ const {
 const { getTenantId, getGlobalDBName } = require("../tenancy")
 const fetch = require("node-fetch")
 const { doWithDB, allDbs } = require("./index")
-const { getCouchUrl } = require("./pouch")
+const { getCouchInfo } = require("./pouch")
 const { getAppMetadata } = require("../cache/appMetadata")
 const { checkSlashesInUrl } = require("../helpers")
 const {
@@ -169,8 +169,14 @@ exports.getAllDbs = async (opts = { efficient: false }) => {
     return allDbs()
   }
   let dbs = []
-  async function addDbs(url) {
-    const response = await fetch(checkSlashesInUrl(encodeURI(url)))
+  let { url, cookie } = getCouchInfo()
+  async function addDbs(couchUrl) {
+    const response = await fetch(checkSlashesInUrl(encodeURI(couchUrl)), {
+      method: "GET",
+      headers: {
+        Authorization: cookie,
+      },
+    })
     if (response.status === 200) {
       let json = await response.json()
       dbs = dbs.concat(json)
@@ -178,7 +184,7 @@ exports.getAllDbs = async (opts = { efficient: false }) => {
       throw "Cannot connect to CouchDB instance"
     }
   }
-  let couchUrl = `${getCouchUrl()}/_all_dbs`
+  let couchUrl = `${url}/_all_dbs`
   let tenantId = getTenantId()
   if (!env.MULTI_TENANCY || (!efficient && tenantId === DEFAULT_TENANT_ID)) {
     // just get all DBs when:
diff --git a/packages/server/src/api/controllers/row/internalSearch.js b/packages/server/src/api/controllers/row/internalSearch.js
index ad95a25fc5..5f1dc25faa 100644
--- a/packages/server/src/api/controllers/row/internalSearch.js
+++ b/packages/server/src/api/controllers/row/internalSearch.js
@@ -1,6 +1,6 @@
 const { SearchIndexes } = require("../../../db/utils")
 const fetch = require("node-fetch")
-const { getCouchUrl } = require("@budibase/backend-core/db")
+const { getCouchInfo } = require("@budibase/backend-core/db")
 const { getAppId } = require("@budibase/backend-core/context")
 
 /**
@@ -242,11 +242,10 @@ class QueryBuilder {
 
   async run() {
     const appId = getAppId()
-    const url = `${getCouchUrl()}/${appId}/_design/database/_search/${
-      SearchIndexes.ROWS
-    }`
+    const { url, cookie } = getCouchInfo()
+    const fullPath = `${url}/${appId}/_design/database/_search/${SearchIndexes.ROWS}`
     const body = this.buildSearchBody()
-    return await runQuery(url, body)
+    return await runQuery(fullPath, body, cookie)
   }
 }
 
@@ -254,12 +253,16 @@ class QueryBuilder {
  * Executes a lucene search query.
  * @param url The query URL
  * @param body The request body defining search criteria
+ * @param cookie The auth cookie for CouchDB
  * @returns {Promise<{rows: []}>}
  */
-const runQuery = async (url, body) => {
+const runQuery = async (url, body, cookie) => {
   const response = await fetch(url, {
     body: JSON.stringify(body),
     method: "POST",
+    headers: {
+      Authorization: cookie,
+    },
   })
   const json = await response.json()
 

From 0d5eefa7277f629024cd60e6fca48afd374f418f Mon Sep 17 00:00:00 2001
From: mike12345567 <me@michaeldrury.co.uk>
Date: Wed, 27 Apr 2022 16:58:29 +0100
Subject: [PATCH 012/100] Making it so that the filter table button isn't
 disabled when the filter/search didn't return any data.

---
 .../builder/src/components/backend/DataTable/DataTable.svelte   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/packages/builder/src/components/backend/DataTable/DataTable.svelte b/packages/builder/src/components/backend/DataTable/DataTable.svelte
index 6a1befd7e4..1f461ebad3 100644
--- a/packages/builder/src/components/backend/DataTable/DataTable.svelte
+++ b/packages/builder/src/components/backend/DataTable/DataTable.svelte
@@ -165,7 +165,7 @@
           <TableFilterButton
             {schema}
             on:change={onFilter}
-            disabled={!hasCols || !hasRows}
+            disabled={!hasCols}
           />
         {/key}
       </div>

From 6d6e83f7c87af6aa83a14e6646ecb29f84531e7a Mon Sep 17 00:00:00 2001
From: mike12345567 <me@michaeldrury.co.uk>
Date: Wed, 27 Apr 2022 17:11:57 +0100
Subject: [PATCH 013/100] Fixing some issues with types being lost when
 fetching SQL tables, after making changes to tables within Budibase.

---
 packages/server/src/integrations/utils.ts | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)

diff --git a/packages/server/src/integrations/utils.ts b/packages/server/src/integrations/utils.ts
index d166523f1d..326b213bc7 100644
--- a/packages/server/src/integrations/utils.ts
+++ b/packages/server/src/integrations/utils.ts
@@ -207,11 +207,20 @@ function shouldCopySpecialColumn(
   column: { type: string },
   fetchedColumn: { type: string } | undefined
 ) {
+  const specialTypes = [
+    FieldTypes.OPTIONS,
+    FieldTypes.LONGFORM,
+    FieldTypes.ARRAY,
+    FieldTypes.FORMULA,
+  ]
+  if (column && !fetchedColumn) {
+    return true
+  }
+  const fetchedIsNumber =
+    !fetchedColumn || fetchedColumn.type === FieldTypes.NUMBER
   return (
-    column.type === FieldTypes.OPTIONS ||
-    column.type === FieldTypes.ARRAY ||
-    ((!fetchedColumn || fetchedColumn.type === FieldTypes.NUMBER) &&
-      column.type === FieldTypes.BOOLEAN)
+    specialTypes.indexOf(column.type) !== -1 ||
+    (fetchedIsNumber && column.type === FieldTypes.BOOLEAN)
   )
 }
 

From 41cf33a0a0d130936bffd677e1478a2578c6621e Mon Sep 17 00:00:00 2001
From: Martin McKeaveney <martinmckeaveney@gmail.com>
Date: Wed, 27 Apr 2022 18:38:27 +0100
Subject: [PATCH 014/100] step 3

---
 .github/workflows/deploy-cloud.yaml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/deploy-cloud.yaml b/.github/workflows/deploy-cloud.yaml
index db03165a91..edddbd93b8 100644
--- a/.github/workflows/deploy-cloud.yaml
+++ b/.github/workflows/deploy-cloud.yaml
@@ -66,7 +66,7 @@ jobs:
           config-files: values.production.yaml
           chart-path: charts/budibase
           namespace: budibase
-          values: globals.appVersion=v${{ env.RELEASE_VERSION }}
+          values: globals.appVersion=v${{ env.RELEASE_VERSION }},services.couchdb.backup.target=${{ secrets.PRODUCTION_COUCHDB_URL }},services.couchdb.url=${{ secrets.PRODUCTION_COUCHDB_URL }},services.couchdb.password=${{ secrets.PRODUCTION_COUCHDB_PASSWORD }}
           name: budibase-prod
 
       - name: Discord Webhook Action

From 2865d6531c35d512d3e58ab25239823c81a48956 Mon Sep 17 00:00:00 2001
From: mike12345567 <me@michaeldrury.co.uk>
Date: Wed, 27 Apr 2022 22:36:45 +0100
Subject: [PATCH 015/100] Review comments.

---
 packages/backend-core/src/db/pouch.js    | 60 ++++++++++++++++--------
 packages/backend-core/src/environment.js |  2 +-
 2 files changed, 42 insertions(+), 20 deletions(-)

diff --git a/packages/backend-core/src/db/pouch.js b/packages/backend-core/src/db/pouch.js
index a04fd60a02..2a6c27b6db 100644
--- a/packages/backend-core/src/db/pouch.js
+++ b/packages/backend-core/src/db/pouch.js
@@ -1,31 +1,53 @@
 const PouchDB = require("pouchdb")
 const env = require("../environment")
 
-exports.getCouchInfo = () => {
-  let url = "http://localhost:4005"
-  if (env.COUCH_DB_URL && env.COUCH_DB_URL.includes("@")) {
-    url = env.COUCH_DB_URL
-  } else if (env.COUCH_DB_URL) {
-    const [protocol, ...rest] = env.COUCH_DB_URL.split("://")
-    url = `${protocol}://${env.COUCH_DB_USERNAME}:${env.COUCH_DB_PASSWORD}@${rest}`
-    if (!env.COUCH_DB_USERNAME || !env.COUCH_DB_PASSWORD) {
-      throw new Error(
-        "CouchDB configuration invalid. You must provide a fully qualified CouchDB url, or the COUCH_DB_USER and COUCH_DB_PASSWORD environment variables."
-      )
-    }
-  }
+function getUrlInfo() {
+  let url = env.COUCH_DB_URL
+  let username, password, host
   const [protocol, rest] = url.split("://")
-  const [auth, host] = rest.split("@")
-  let [username, password] = auth.split(":")
-  if (!username && env.COUCH_DB_USERNAME) {
-    username = env.COUCH_DB_USERNAME
+  if (url.includes("@")) {
+    const hostParts = rest.split("@")
+    host = hostParts[1]
+    const authParts = hostParts[0].split(":")
+    username = authParts[0]
+    password = authParts[1]
+  } else {
+    host = rest
   }
-  if (!password && env.COUCH_DB_PASSWORD) {
+  return {
+    url: `${protocol}://${host}`,
+    auth: {
+      username,
+      password,
+    },
+  }
+}
+
+exports.getCouchInfo = () => {
+  const urlInfo = getUrlInfo()
+  let username
+  let password
+  if (env.COUCH_DB_USERNAME) {
+    // set from env
+    username = env.COUCH_DB_USERNAME
+  } else if (urlInfo.auth.username) {
+    // set from url
+    username = urlInfo.auth.username
+  } else {
+    throw new Error("CouchDB username not set")
+  }
+  if (env.COUCH_DB_PASSWORD) {
+    // set from env
     password = env.COUCH_DB_PASSWORD
+  } else if (urlInfo.auth.password) {
+    // set from url
+    password = urlInfo.auth.password
+  } else {
+    throw new Error("CouchDB password not set")
   }
   const authCookie = Buffer.from(`${username}:${password}`).toString("base64")
   return {
-    url: `${protocol}://${host}`,
+    url: urlInfo.url,
     auth: {
       username: username,
       password: password,
diff --git a/packages/backend-core/src/environment.js b/packages/backend-core/src/environment.js
index 8a92e39469..26e0d486f7 100644
--- a/packages/backend-core/src/environment.js
+++ b/packages/backend-core/src/environment.js
@@ -8,7 +8,7 @@ function isTest() {
 
 module.exports = {
   JWT_SECRET: process.env.JWT_SECRET,
-  COUCH_DB_URL: process.env.COUCH_DB_URL,
+  COUCH_DB_URL: process.env.COUCH_DB_URL || "http://localhost:4005",
   COUCH_DB_USERNAME: process.env.COUCH_DB_USER,
   COUCH_DB_PASSWORD: process.env.COUCH_DB_PASSWORD,
   GOOGLE_CLIENT_ID: process.env.GOOGLE_CLIENT_ID,

From a2c6917bfa277a827529f92be1ce857f455535a8 Mon Sep 17 00:00:00 2001
From: mike12345567 <me@michaeldrury.co.uk>
Date: Wed, 27 Apr 2022 22:57:03 +0100
Subject: [PATCH 016/100] Fixing test case.

---
 packages/backend-core/src/db/pouch.js | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/packages/backend-core/src/db/pouch.js b/packages/backend-core/src/db/pouch.js
index 2a6c27b6db..9c1ada8d76 100644
--- a/packages/backend-core/src/db/pouch.js
+++ b/packages/backend-core/src/db/pouch.js
@@ -33,7 +33,7 @@ exports.getCouchInfo = () => {
   } else if (urlInfo.auth.username) {
     // set from url
     username = urlInfo.auth.username
-  } else {
+  } else if (!env.isTest()) {
     throw new Error("CouchDB username not set")
   }
   if (env.COUCH_DB_PASSWORD) {
@@ -42,7 +42,7 @@ exports.getCouchInfo = () => {
   } else if (urlInfo.auth.password) {
     // set from url
     password = urlInfo.auth.password
-  } else {
+  } else if (!env.isTest()) {
     throw new Error("CouchDB password not set")
   }
   const authCookie = Buffer.from(`${username}:${password}`).toString("base64")

From 31c93e5653417431b38c41dd7325c858b339ba62 Mon Sep 17 00:00:00 2001
From: Martin McKeaveney <martinmckeaveney@gmail.com>
Date: Thu, 28 Apr 2022 09:12:45 +0100
Subject: [PATCH 017/100] removing couchDB backup from values.yaml

---
 .github/workflows/deploy-cloud.yaml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/deploy-cloud.yaml b/.github/workflows/deploy-cloud.yaml
index edddbd93b8..a05f97f097 100644
--- a/.github/workflows/deploy-cloud.yaml
+++ b/.github/workflows/deploy-cloud.yaml
@@ -66,7 +66,7 @@ jobs:
           config-files: values.production.yaml
           chart-path: charts/budibase
           namespace: budibase
-          values: globals.appVersion=v${{ env.RELEASE_VERSION }},services.couchdb.backup.target=${{ secrets.PRODUCTION_COUCHDB_URL }},services.couchdb.url=${{ secrets.PRODUCTION_COUCHDB_URL }},services.couchdb.password=${{ secrets.PRODUCTION_COUCHDB_PASSWORD }}
+          values: globals.appVersion=v${{ env.RELEASE_VERSION }},services.couchdb.url=${{ secrets.PRODUCTION_COUCHDB_URL }},services.couchdb.password=${{ secrets.PRODUCTION_COUCHDB_PASSWORD }}
           name: budibase-prod
 
       - name: Discord Webhook Action

From 488f4a98fb30d3e9a8940fdee16e14aa43054766 Mon Sep 17 00:00:00 2001
From: Budibase Release Bot <>
Date: Thu, 28 Apr 2022 08:24:29 +0000
Subject: [PATCH 018/100] v1.0.128

---
 lerna.json                             |  2 +-
 packages/backend-core/package.json     |  2 +-
 packages/bbui/package.json             |  4 ++--
 packages/builder/package.json          | 10 +++++-----
 packages/cli/package.json              |  2 +-
 packages/client/package.json           |  8 ++++----
 packages/frontend-core/package.json    |  4 ++--
 packages/server/package.json           |  8 ++++----
 packages/string-templates/package.json |  2 +-
 packages/worker/package.json           |  6 +++---
 10 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/lerna.json b/lerna.json
index 1e53f18658..d68e5768d5 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
 {
-  "version": "1.0.127",
+  "version": "1.0.128",
   "npmClient": "yarn",
   "packages": [
     "packages/*"
diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json
index bcb2a600b6..87eba585b4 100644
--- a/packages/backend-core/package.json
+++ b/packages/backend-core/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/backend-core",
-  "version": "1.0.127",
+  "version": "1.0.128",
   "description": "Budibase backend core libraries used in server and worker",
   "main": "src/index.js",
   "author": "Budibase",
diff --git a/packages/bbui/package.json b/packages/bbui/package.json
index 68b5916801..89627fd54d 100644
--- a/packages/bbui/package.json
+++ b/packages/bbui/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/bbui",
   "description": "A UI solution used in the different Budibase projects.",
-  "version": "1.0.127",
+  "version": "1.0.128",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "module": "dist/bbui.es.js",
@@ -38,7 +38,7 @@
   ],
   "dependencies": {
     "@adobe/spectrum-css-workflow-icons": "^1.2.1",
-    "@budibase/string-templates": "^1.0.127",
+    "@budibase/string-templates": "^1.0.128",
     "@spectrum-css/actionbutton": "^1.0.1",
     "@spectrum-css/actiongroup": "^1.0.1",
     "@spectrum-css/avatar": "^3.0.2",
diff --git a/packages/builder/package.json b/packages/builder/package.json
index 2fcdc0ec54..581111322f 100644
--- a/packages/builder/package.json
+++ b/packages/builder/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/builder",
-  "version": "1.0.127",
+  "version": "1.0.128",
   "license": "GPL-3.0",
   "private": true,
   "scripts": {
@@ -65,10 +65,10 @@
     }
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.127",
-    "@budibase/client": "^1.0.127",
-    "@budibase/frontend-core": "^1.0.127",
-    "@budibase/string-templates": "^1.0.127",
+    "@budibase/bbui": "^1.0.128",
+    "@budibase/client": "^1.0.128",
+    "@budibase/frontend-core": "^1.0.128",
+    "@budibase/string-templates": "^1.0.128",
     "@sentry/browser": "5.19.1",
     "@spectrum-css/page": "^3.0.1",
     "@spectrum-css/vars": "^3.0.1",
diff --git a/packages/cli/package.json b/packages/cli/package.json
index fe4789a445..e88b97b19b 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/cli",
-  "version": "1.0.127",
+  "version": "1.0.128",
   "description": "Budibase CLI, for developers, self hosting and migrations.",
   "main": "src/index.js",
   "bin": {
diff --git a/packages/client/package.json b/packages/client/package.json
index 4bf1acc1c4..fe98077951 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/client",
-  "version": "1.0.127",
+  "version": "1.0.128",
   "license": "MPL-2.0",
   "module": "dist/budibase-client.js",
   "main": "dist/budibase-client.js",
@@ -19,9 +19,9 @@
     "dev:builder": "rollup -cw"
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.127",
-    "@budibase/frontend-core": "^1.0.127",
-    "@budibase/string-templates": "^1.0.127",
+    "@budibase/bbui": "^1.0.128",
+    "@budibase/frontend-core": "^1.0.128",
+    "@budibase/string-templates": "^1.0.128",
     "@spectrum-css/button": "^3.0.3",
     "@spectrum-css/card": "^3.0.3",
     "@spectrum-css/divider": "^1.0.3",
diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json
index 2ffedab18c..a8dd19a0a8 100644
--- a/packages/frontend-core/package.json
+++ b/packages/frontend-core/package.json
@@ -1,12 +1,12 @@
 {
   "name": "@budibase/frontend-core",
-  "version": "1.0.127",
+  "version": "1.0.128",
   "description": "Budibase frontend core libraries used in builder and client",
   "author": "Budibase",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "dependencies": {
-    "@budibase/bbui": "^1.0.127",
+    "@budibase/bbui": "^1.0.128",
     "lodash": "^4.17.21",
     "svelte": "^3.46.2"
   }
diff --git a/packages/server/package.json b/packages/server/package.json
index 2efd827dc6..f4ecdcea82 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/server",
   "email": "hi@budibase.com",
-  "version": "1.0.127",
+  "version": "1.0.128",
   "description": "Budibase Web Server",
   "main": "src/index.ts",
   "repository": {
@@ -68,10 +68,10 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@apidevtools/swagger-parser": "^10.0.3",
-    "@budibase/backend-core": "^1.0.127",
-    "@budibase/client": "^1.0.127",
+    "@budibase/backend-core": "^1.0.128",
+    "@budibase/client": "^1.0.128",
     "@budibase/pro": "1.0.127",
-    "@budibase/string-templates": "^1.0.127",
+    "@budibase/string-templates": "^1.0.128",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
     "@elastic/elasticsearch": "7.10.0",
diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json
index 420428e6e6..027299cb87 100644
--- a/packages/string-templates/package.json
+++ b/packages/string-templates/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/string-templates",
-  "version": "1.0.127",
+  "version": "1.0.128",
   "description": "Handlebars wrapper for Budibase templating.",
   "main": "src/index.cjs",
   "module": "dist/bundle.mjs",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index 0ff0ce8b73..032ffac3ed 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/worker",
   "email": "hi@budibase.com",
-  "version": "1.0.127",
+  "version": "1.0.128",
   "description": "Budibase background service",
   "main": "src/index.ts",
   "repository": {
@@ -31,9 +31,9 @@
   "author": "Budibase",
   "license": "GPL-3.0",
   "dependencies": {
-    "@budibase/backend-core": "^1.0.127",
+    "@budibase/backend-core": "^1.0.128",
     "@budibase/pro": "1.0.127",
-    "@budibase/string-templates": "^1.0.127",
+    "@budibase/string-templates": "^1.0.128",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",
     "@techpass/passport-openidconnect": "^0.3.0",

From 6f42adf953db9e51b8d07476564d567dd6a0140e Mon Sep 17 00:00:00 2001
From: Budibase Release Bot <>
Date: Thu, 28 Apr 2022 08:25:54 +0000
Subject: [PATCH 019/100] Update pro version to 1.0.128

---
 packages/server/package.json | 2 +-
 packages/worker/package.json | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/packages/server/package.json b/packages/server/package.json
index f4ecdcea82..1c58ccd9b8 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -70,7 +70,7 @@
     "@apidevtools/swagger-parser": "^10.0.3",
     "@budibase/backend-core": "^1.0.128",
     "@budibase/client": "^1.0.128",
-    "@budibase/pro": "1.0.127",
+    "@budibase/pro": "1.0.128",
     "@budibase/string-templates": "^1.0.128",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index 032ffac3ed..b95c5e083b 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -32,7 +32,7 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@budibase/backend-core": "^1.0.128",
-    "@budibase/pro": "1.0.127",
+    "@budibase/pro": "1.0.128",
     "@budibase/string-templates": "^1.0.128",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",

From 7100baf6d01726cca7ec5d03ac8ff0962b2b407e Mon Sep 17 00:00:00 2001
From: Budibase Release Bot <>
Date: Thu, 28 Apr 2022 10:19:06 +0000
Subject: [PATCH 020/100] v1.0.129

---
 lerna.json                             |  2 +-
 packages/backend-core/package.json     |  2 +-
 packages/bbui/package.json             |  4 ++--
 packages/builder/package.json          | 10 +++++-----
 packages/cli/package.json              |  2 +-
 packages/client/package.json           |  8 ++++----
 packages/frontend-core/package.json    |  4 ++--
 packages/server/package.json           |  8 ++++----
 packages/string-templates/package.json |  2 +-
 packages/worker/package.json           |  6 +++---
 10 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/lerna.json b/lerna.json
index d68e5768d5..f6accc9b28 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
 {
-  "version": "1.0.128",
+  "version": "1.0.129",
   "npmClient": "yarn",
   "packages": [
     "packages/*"
diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json
index 87eba585b4..27eba06de1 100644
--- a/packages/backend-core/package.json
+++ b/packages/backend-core/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/backend-core",
-  "version": "1.0.128",
+  "version": "1.0.129",
   "description": "Budibase backend core libraries used in server and worker",
   "main": "src/index.js",
   "author": "Budibase",
diff --git a/packages/bbui/package.json b/packages/bbui/package.json
index 89627fd54d..84d242f30a 100644
--- a/packages/bbui/package.json
+++ b/packages/bbui/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/bbui",
   "description": "A UI solution used in the different Budibase projects.",
-  "version": "1.0.128",
+  "version": "1.0.129",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "module": "dist/bbui.es.js",
@@ -38,7 +38,7 @@
   ],
   "dependencies": {
     "@adobe/spectrum-css-workflow-icons": "^1.2.1",
-    "@budibase/string-templates": "^1.0.128",
+    "@budibase/string-templates": "^1.0.129",
     "@spectrum-css/actionbutton": "^1.0.1",
     "@spectrum-css/actiongroup": "^1.0.1",
     "@spectrum-css/avatar": "^3.0.2",
diff --git a/packages/builder/package.json b/packages/builder/package.json
index 581111322f..351b56c733 100644
--- a/packages/builder/package.json
+++ b/packages/builder/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/builder",
-  "version": "1.0.128",
+  "version": "1.0.129",
   "license": "GPL-3.0",
   "private": true,
   "scripts": {
@@ -65,10 +65,10 @@
     }
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.128",
-    "@budibase/client": "^1.0.128",
-    "@budibase/frontend-core": "^1.0.128",
-    "@budibase/string-templates": "^1.0.128",
+    "@budibase/bbui": "^1.0.129",
+    "@budibase/client": "^1.0.129",
+    "@budibase/frontend-core": "^1.0.129",
+    "@budibase/string-templates": "^1.0.129",
     "@sentry/browser": "5.19.1",
     "@spectrum-css/page": "^3.0.1",
     "@spectrum-css/vars": "^3.0.1",
diff --git a/packages/cli/package.json b/packages/cli/package.json
index e88b97b19b..5346d54929 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/cli",
-  "version": "1.0.128",
+  "version": "1.0.129",
   "description": "Budibase CLI, for developers, self hosting and migrations.",
   "main": "src/index.js",
   "bin": {
diff --git a/packages/client/package.json b/packages/client/package.json
index fe98077951..8afda74bc5 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/client",
-  "version": "1.0.128",
+  "version": "1.0.129",
   "license": "MPL-2.0",
   "module": "dist/budibase-client.js",
   "main": "dist/budibase-client.js",
@@ -19,9 +19,9 @@
     "dev:builder": "rollup -cw"
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.128",
-    "@budibase/frontend-core": "^1.0.128",
-    "@budibase/string-templates": "^1.0.128",
+    "@budibase/bbui": "^1.0.129",
+    "@budibase/frontend-core": "^1.0.129",
+    "@budibase/string-templates": "^1.0.129",
     "@spectrum-css/button": "^3.0.3",
     "@spectrum-css/card": "^3.0.3",
     "@spectrum-css/divider": "^1.0.3",
diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json
index a8dd19a0a8..57645cc748 100644
--- a/packages/frontend-core/package.json
+++ b/packages/frontend-core/package.json
@@ -1,12 +1,12 @@
 {
   "name": "@budibase/frontend-core",
-  "version": "1.0.128",
+  "version": "1.0.129",
   "description": "Budibase frontend core libraries used in builder and client",
   "author": "Budibase",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "dependencies": {
-    "@budibase/bbui": "^1.0.128",
+    "@budibase/bbui": "^1.0.129",
     "lodash": "^4.17.21",
     "svelte": "^3.46.2"
   }
diff --git a/packages/server/package.json b/packages/server/package.json
index 1c58ccd9b8..71f6361b3d 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/server",
   "email": "hi@budibase.com",
-  "version": "1.0.128",
+  "version": "1.0.129",
   "description": "Budibase Web Server",
   "main": "src/index.ts",
   "repository": {
@@ -68,10 +68,10 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@apidevtools/swagger-parser": "^10.0.3",
-    "@budibase/backend-core": "^1.0.128",
-    "@budibase/client": "^1.0.128",
+    "@budibase/backend-core": "^1.0.129",
+    "@budibase/client": "^1.0.129",
     "@budibase/pro": "1.0.128",
-    "@budibase/string-templates": "^1.0.128",
+    "@budibase/string-templates": "^1.0.129",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
     "@elastic/elasticsearch": "7.10.0",
diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json
index 027299cb87..d8ef0d70fe 100644
--- a/packages/string-templates/package.json
+++ b/packages/string-templates/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/string-templates",
-  "version": "1.0.128",
+  "version": "1.0.129",
   "description": "Handlebars wrapper for Budibase templating.",
   "main": "src/index.cjs",
   "module": "dist/bundle.mjs",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index b95c5e083b..bdd2eaa022 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/worker",
   "email": "hi@budibase.com",
-  "version": "1.0.128",
+  "version": "1.0.129",
   "description": "Budibase background service",
   "main": "src/index.ts",
   "repository": {
@@ -31,9 +31,9 @@
   "author": "Budibase",
   "license": "GPL-3.0",
   "dependencies": {
-    "@budibase/backend-core": "^1.0.128",
+    "@budibase/backend-core": "^1.0.129",
     "@budibase/pro": "1.0.128",
-    "@budibase/string-templates": "^1.0.128",
+    "@budibase/string-templates": "^1.0.129",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",
     "@techpass/passport-openidconnect": "^0.3.0",

From d0d46d371fbcb3223d322c0b8a3c4dbf78818dc6 Mon Sep 17 00:00:00 2001
From: Budibase Release Bot <>
Date: Thu, 28 Apr 2022 10:20:37 +0000
Subject: [PATCH 021/100] Update pro version to 1.0.129

---
 packages/server/package.json | 2 +-
 packages/worker/package.json | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/packages/server/package.json b/packages/server/package.json
index 71f6361b3d..d1f426fafd 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -70,7 +70,7 @@
     "@apidevtools/swagger-parser": "^10.0.3",
     "@budibase/backend-core": "^1.0.129",
     "@budibase/client": "^1.0.129",
-    "@budibase/pro": "1.0.128",
+    "@budibase/pro": "1.0.129",
     "@budibase/string-templates": "^1.0.129",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index bdd2eaa022..cc1764736e 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -32,7 +32,7 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@budibase/backend-core": "^1.0.129",
-    "@budibase/pro": "1.0.128",
+    "@budibase/pro": "1.0.129",
     "@budibase/string-templates": "^1.0.129",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",

From e06c03e140ea854130d4007bc9a11c7f1a05478f Mon Sep 17 00:00:00 2001
From: Budibase Staging Release Bot <>
Date: Thu, 28 Apr 2022 11:30:07 +0000
Subject: [PATCH 022/100] v1.0.130-alpha.0

---
 lerna.json                             |  2 +-
 packages/backend-core/package.json     |  2 +-
 packages/bbui/package.json             |  4 ++--
 packages/builder/package.json          | 10 +++++-----
 packages/cli/package.json              |  2 +-
 packages/client/package.json           |  8 ++++----
 packages/frontend-core/package.json    |  4 ++--
 packages/server/package.json           |  8 ++++----
 packages/string-templates/package.json |  2 +-
 packages/worker/package.json           |  6 +++---
 10 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/lerna.json b/lerna.json
index f6accc9b28..c9aeb85fbc 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
 {
-  "version": "1.0.129",
+  "version": "1.0.130-alpha.0",
   "npmClient": "yarn",
   "packages": [
     "packages/*"
diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json
index 27eba06de1..370f529ed7 100644
--- a/packages/backend-core/package.json
+++ b/packages/backend-core/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/backend-core",
-  "version": "1.0.129",
+  "version": "1.0.130-alpha.0",
   "description": "Budibase backend core libraries used in server and worker",
   "main": "src/index.js",
   "author": "Budibase",
diff --git a/packages/bbui/package.json b/packages/bbui/package.json
index 84d242f30a..ec35c0c0b7 100644
--- a/packages/bbui/package.json
+++ b/packages/bbui/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/bbui",
   "description": "A UI solution used in the different Budibase projects.",
-  "version": "1.0.129",
+  "version": "1.0.130-alpha.0",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "module": "dist/bbui.es.js",
@@ -38,7 +38,7 @@
   ],
   "dependencies": {
     "@adobe/spectrum-css-workflow-icons": "^1.2.1",
-    "@budibase/string-templates": "^1.0.129",
+    "@budibase/string-templates": "^1.0.130-alpha.0",
     "@spectrum-css/actionbutton": "^1.0.1",
     "@spectrum-css/actiongroup": "^1.0.1",
     "@spectrum-css/avatar": "^3.0.2",
diff --git a/packages/builder/package.json b/packages/builder/package.json
index 351b56c733..b70b52bd1a 100644
--- a/packages/builder/package.json
+++ b/packages/builder/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/builder",
-  "version": "1.0.129",
+  "version": "1.0.130-alpha.0",
   "license": "GPL-3.0",
   "private": true,
   "scripts": {
@@ -65,10 +65,10 @@
     }
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.129",
-    "@budibase/client": "^1.0.129",
-    "@budibase/frontend-core": "^1.0.129",
-    "@budibase/string-templates": "^1.0.129",
+    "@budibase/bbui": "^1.0.130-alpha.0",
+    "@budibase/client": "^1.0.130-alpha.0",
+    "@budibase/frontend-core": "^1.0.130-alpha.0",
+    "@budibase/string-templates": "^1.0.130-alpha.0",
     "@sentry/browser": "5.19.1",
     "@spectrum-css/page": "^3.0.1",
     "@spectrum-css/vars": "^3.0.1",
diff --git a/packages/cli/package.json b/packages/cli/package.json
index 5346d54929..c9653d6a7e 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/cli",
-  "version": "1.0.129",
+  "version": "1.0.130-alpha.0",
   "description": "Budibase CLI, for developers, self hosting and migrations.",
   "main": "src/index.js",
   "bin": {
diff --git a/packages/client/package.json b/packages/client/package.json
index 8afda74bc5..06a0b3f6c4 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/client",
-  "version": "1.0.129",
+  "version": "1.0.130-alpha.0",
   "license": "MPL-2.0",
   "module": "dist/budibase-client.js",
   "main": "dist/budibase-client.js",
@@ -19,9 +19,9 @@
     "dev:builder": "rollup -cw"
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.129",
-    "@budibase/frontend-core": "^1.0.129",
-    "@budibase/string-templates": "^1.0.129",
+    "@budibase/bbui": "^1.0.130-alpha.0",
+    "@budibase/frontend-core": "^1.0.130-alpha.0",
+    "@budibase/string-templates": "^1.0.130-alpha.0",
     "@spectrum-css/button": "^3.0.3",
     "@spectrum-css/card": "^3.0.3",
     "@spectrum-css/divider": "^1.0.3",
diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json
index 57645cc748..dc172cbabd 100644
--- a/packages/frontend-core/package.json
+++ b/packages/frontend-core/package.json
@@ -1,12 +1,12 @@
 {
   "name": "@budibase/frontend-core",
-  "version": "1.0.129",
+  "version": "1.0.130-alpha.0",
   "description": "Budibase frontend core libraries used in builder and client",
   "author": "Budibase",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "dependencies": {
-    "@budibase/bbui": "^1.0.129",
+    "@budibase/bbui": "^1.0.130-alpha.0",
     "lodash": "^4.17.21",
     "svelte": "^3.46.2"
   }
diff --git a/packages/server/package.json b/packages/server/package.json
index d1f426fafd..75d2352892 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/server",
   "email": "hi@budibase.com",
-  "version": "1.0.129",
+  "version": "1.0.130-alpha.0",
   "description": "Budibase Web Server",
   "main": "src/index.ts",
   "repository": {
@@ -68,10 +68,10 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@apidevtools/swagger-parser": "^10.0.3",
-    "@budibase/backend-core": "^1.0.129",
-    "@budibase/client": "^1.0.129",
+    "@budibase/backend-core": "^1.0.130-alpha.0",
+    "@budibase/client": "^1.0.130-alpha.0",
     "@budibase/pro": "1.0.129",
-    "@budibase/string-templates": "^1.0.129",
+    "@budibase/string-templates": "^1.0.130-alpha.0",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
     "@elastic/elasticsearch": "7.10.0",
diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json
index d8ef0d70fe..a2a1f05c6d 100644
--- a/packages/string-templates/package.json
+++ b/packages/string-templates/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/string-templates",
-  "version": "1.0.129",
+  "version": "1.0.130-alpha.0",
   "description": "Handlebars wrapper for Budibase templating.",
   "main": "src/index.cjs",
   "module": "dist/bundle.mjs",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index cc1764736e..88fa849b16 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/worker",
   "email": "hi@budibase.com",
-  "version": "1.0.129",
+  "version": "1.0.130-alpha.0",
   "description": "Budibase background service",
   "main": "src/index.ts",
   "repository": {
@@ -31,9 +31,9 @@
   "author": "Budibase",
   "license": "GPL-3.0",
   "dependencies": {
-    "@budibase/backend-core": "^1.0.129",
+    "@budibase/backend-core": "^1.0.130-alpha.0",
     "@budibase/pro": "1.0.129",
-    "@budibase/string-templates": "^1.0.129",
+    "@budibase/string-templates": "^1.0.130-alpha.0",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",
     "@techpass/passport-openidconnect": "^0.3.0",

From 92f91c752114e225d8a3b3b2b763a8af387d29b7 Mon Sep 17 00:00:00 2001
From: Budibase Staging Release Bot <>
Date: Thu, 28 Apr 2022 11:31:29 +0000
Subject: [PATCH 023/100] Update pro version to 1.0.130-alpha.0

---
 packages/server/package.json | 2 +-
 packages/worker/package.json | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/packages/server/package.json b/packages/server/package.json
index 75d2352892..beee8b436b 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -70,7 +70,7 @@
     "@apidevtools/swagger-parser": "^10.0.3",
     "@budibase/backend-core": "^1.0.130-alpha.0",
     "@budibase/client": "^1.0.130-alpha.0",
-    "@budibase/pro": "1.0.129",
+    "@budibase/pro": "1.0.130-alpha.0",
     "@budibase/string-templates": "^1.0.130-alpha.0",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index 88fa849b16..7ac3a44e0c 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -32,7 +32,7 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@budibase/backend-core": "^1.0.130-alpha.0",
-    "@budibase/pro": "1.0.129",
+    "@budibase/pro": "1.0.130-alpha.0",
     "@budibase/string-templates": "^1.0.130-alpha.0",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",

From 98bffe1971b8ce17fd3eae666ede54e997fc2424 Mon Sep 17 00:00:00 2001
From: mike12345567 <me@michaeldrury.co.uk>
Date: Thu, 28 Apr 2022 13:18:10 +0100
Subject: [PATCH 024/100] Fix for #5633 - making sure when timestamp is null
 (creating row) date picker can be used.

---
 .../src/components/backend/DataTable/RowFieldControl.svelte    | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/packages/builder/src/components/backend/DataTable/RowFieldControl.svelte b/packages/builder/src/components/backend/DataTable/RowFieldControl.svelte
index ee01ef7467..7a9e03976b 100644
--- a/packages/builder/src/components/backend/DataTable/RowFieldControl.svelte
+++ b/packages/builder/src/components/backend/DataTable/RowFieldControl.svelte
@@ -20,6 +20,9 @@
   export let readonly
 
   const resolveTimeStamp = timestamp => {
+    if (!timestamp) {
+      return null
+    }
     let maskedDate = new Date(`0-${timestamp}`)
     if (maskedDate instanceof Date && !isNaN(maskedDate.getTime())) {
       return maskedDate

From 7cf908785de1c81e9f01fb27f3e8888eb4152a4b Mon Sep 17 00:00:00 2001
From: Martin McKeaveney <martinmckeaveney@gmail.com>
Date: Thu, 28 Apr 2022 14:18:27 +0100
Subject: [PATCH 025/100] use excluded quotas tenants again

---
 charts/budibase/templates/app-service-deployment.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/charts/budibase/templates/app-service-deployment.yaml b/charts/budibase/templates/app-service-deployment.yaml
index c80cfa2ecc..8763274c50 100644
--- a/charts/budibase/templates/app-service-deployment.yaml
+++ b/charts/budibase/templates/app-service-deployment.yaml
@@ -112,6 +112,8 @@ spec:
           value: {{ .Values.globals.google.secret | quote }}
         - name: AUTOMATION_MAX_ITERATIONS
           value: {{ .Values.globals.automationMaxIterations | quote }}
+        - name: EXCLUDE_QUOTAS_TENANTS
+          value: {{ .Values.globals.excludeQuotasTenants | quote }}
 
         image: budibase/apps:{{ .Values.globals.appVersion }}
         imagePullPolicy: Always

From 51c7c6ababd500343f02b401baaaaa4c3709055c Mon Sep 17 00:00:00 2001
From: Budibase Release Bot <>
Date: Thu, 28 Apr 2022 13:29:28 +0000
Subject: [PATCH 026/100] v1.0.130

---
 lerna.json                             |  2 +-
 packages/backend-core/package.json     |  2 +-
 packages/bbui/package.json             |  4 ++--
 packages/builder/package.json          | 10 +++++-----
 packages/cli/package.json              |  2 +-
 packages/client/package.json           |  8 ++++----
 packages/frontend-core/package.json    |  4 ++--
 packages/server/package.json           |  8 ++++----
 packages/string-templates/package.json |  2 +-
 packages/worker/package.json           |  6 +++---
 10 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/lerna.json b/lerna.json
index f6accc9b28..bf2853738e 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
 {
-  "version": "1.0.129",
+  "version": "1.0.130",
   "npmClient": "yarn",
   "packages": [
     "packages/*"
diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json
index 27eba06de1..3e98ff3317 100644
--- a/packages/backend-core/package.json
+++ b/packages/backend-core/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/backend-core",
-  "version": "1.0.129",
+  "version": "1.0.130",
   "description": "Budibase backend core libraries used in server and worker",
   "main": "src/index.js",
   "author": "Budibase",
diff --git a/packages/bbui/package.json b/packages/bbui/package.json
index 84d242f30a..cb5328d5e6 100644
--- a/packages/bbui/package.json
+++ b/packages/bbui/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/bbui",
   "description": "A UI solution used in the different Budibase projects.",
-  "version": "1.0.129",
+  "version": "1.0.130",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "module": "dist/bbui.es.js",
@@ -38,7 +38,7 @@
   ],
   "dependencies": {
     "@adobe/spectrum-css-workflow-icons": "^1.2.1",
-    "@budibase/string-templates": "^1.0.129",
+    "@budibase/string-templates": "^1.0.130",
     "@spectrum-css/actionbutton": "^1.0.1",
     "@spectrum-css/actiongroup": "^1.0.1",
     "@spectrum-css/avatar": "^3.0.2",
diff --git a/packages/builder/package.json b/packages/builder/package.json
index 351b56c733..82cbfc808f 100644
--- a/packages/builder/package.json
+++ b/packages/builder/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/builder",
-  "version": "1.0.129",
+  "version": "1.0.130",
   "license": "GPL-3.0",
   "private": true,
   "scripts": {
@@ -65,10 +65,10 @@
     }
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.129",
-    "@budibase/client": "^1.0.129",
-    "@budibase/frontend-core": "^1.0.129",
-    "@budibase/string-templates": "^1.0.129",
+    "@budibase/bbui": "^1.0.130",
+    "@budibase/client": "^1.0.130",
+    "@budibase/frontend-core": "^1.0.130",
+    "@budibase/string-templates": "^1.0.130",
     "@sentry/browser": "5.19.1",
     "@spectrum-css/page": "^3.0.1",
     "@spectrum-css/vars": "^3.0.1",
diff --git a/packages/cli/package.json b/packages/cli/package.json
index 5346d54929..c19d1384c6 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/cli",
-  "version": "1.0.129",
+  "version": "1.0.130",
   "description": "Budibase CLI, for developers, self hosting and migrations.",
   "main": "src/index.js",
   "bin": {
diff --git a/packages/client/package.json b/packages/client/package.json
index 8afda74bc5..28f29d8ecd 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/client",
-  "version": "1.0.129",
+  "version": "1.0.130",
   "license": "MPL-2.0",
   "module": "dist/budibase-client.js",
   "main": "dist/budibase-client.js",
@@ -19,9 +19,9 @@
     "dev:builder": "rollup -cw"
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.129",
-    "@budibase/frontend-core": "^1.0.129",
-    "@budibase/string-templates": "^1.0.129",
+    "@budibase/bbui": "^1.0.130",
+    "@budibase/frontend-core": "^1.0.130",
+    "@budibase/string-templates": "^1.0.130",
     "@spectrum-css/button": "^3.0.3",
     "@spectrum-css/card": "^3.0.3",
     "@spectrum-css/divider": "^1.0.3",
diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json
index 57645cc748..4dd71f62fa 100644
--- a/packages/frontend-core/package.json
+++ b/packages/frontend-core/package.json
@@ -1,12 +1,12 @@
 {
   "name": "@budibase/frontend-core",
-  "version": "1.0.129",
+  "version": "1.0.130",
   "description": "Budibase frontend core libraries used in builder and client",
   "author": "Budibase",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "dependencies": {
-    "@budibase/bbui": "^1.0.129",
+    "@budibase/bbui": "^1.0.130",
     "lodash": "^4.17.21",
     "svelte": "^3.46.2"
   }
diff --git a/packages/server/package.json b/packages/server/package.json
index d1f426fafd..f6234c5949 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/server",
   "email": "hi@budibase.com",
-  "version": "1.0.129",
+  "version": "1.0.130",
   "description": "Budibase Web Server",
   "main": "src/index.ts",
   "repository": {
@@ -68,10 +68,10 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@apidevtools/swagger-parser": "^10.0.3",
-    "@budibase/backend-core": "^1.0.129",
-    "@budibase/client": "^1.0.129",
+    "@budibase/backend-core": "^1.0.130",
+    "@budibase/client": "^1.0.130",
     "@budibase/pro": "1.0.129",
-    "@budibase/string-templates": "^1.0.129",
+    "@budibase/string-templates": "^1.0.130",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
     "@elastic/elasticsearch": "7.10.0",
diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json
index d8ef0d70fe..0a23cef871 100644
--- a/packages/string-templates/package.json
+++ b/packages/string-templates/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/string-templates",
-  "version": "1.0.129",
+  "version": "1.0.130",
   "description": "Handlebars wrapper for Budibase templating.",
   "main": "src/index.cjs",
   "module": "dist/bundle.mjs",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index cc1764736e..e934919792 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/worker",
   "email": "hi@budibase.com",
-  "version": "1.0.129",
+  "version": "1.0.130",
   "description": "Budibase background service",
   "main": "src/index.ts",
   "repository": {
@@ -31,9 +31,9 @@
   "author": "Budibase",
   "license": "GPL-3.0",
   "dependencies": {
-    "@budibase/backend-core": "^1.0.129",
+    "@budibase/backend-core": "^1.0.130",
     "@budibase/pro": "1.0.129",
-    "@budibase/string-templates": "^1.0.129",
+    "@budibase/string-templates": "^1.0.130",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",
     "@techpass/passport-openidconnect": "^0.3.0",

From 010a2dff54ab8568a83468bbcf204b70f7dcbb0a Mon Sep 17 00:00:00 2001
From: Budibase Release Bot <>
Date: Thu, 28 Apr 2022 13:31:06 +0000
Subject: [PATCH 027/100] Update pro version to 1.0.130

---
 packages/server/package.json | 2 +-
 packages/worker/package.json | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/packages/server/package.json b/packages/server/package.json
index f6234c5949..b1806a1f19 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -70,7 +70,7 @@
     "@apidevtools/swagger-parser": "^10.0.3",
     "@budibase/backend-core": "^1.0.130",
     "@budibase/client": "^1.0.130",
-    "@budibase/pro": "1.0.129",
+    "@budibase/pro": "1.0.130",
     "@budibase/string-templates": "^1.0.130",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index e934919792..d65446d8e1 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -32,7 +32,7 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@budibase/backend-core": "^1.0.130",
-    "@budibase/pro": "1.0.129",
+    "@budibase/pro": "1.0.130",
     "@budibase/string-templates": "^1.0.130",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",

From f88504f4b0889b0cad35afddc6fedb4ad954faf9 Mon Sep 17 00:00:00 2001
From: Budibase Release Bot <>
Date: Thu, 28 Apr 2022 14:16:39 +0000
Subject: [PATCH 028/100] v1.0.131

---
 lerna.json                             |  2 +-
 packages/backend-core/package.json     |  2 +-
 packages/bbui/package.json             |  4 ++--
 packages/builder/package.json          | 10 +++++-----
 packages/cli/package.json              |  2 +-
 packages/client/package.json           |  8 ++++----
 packages/frontend-core/package.json    |  4 ++--
 packages/server/package.json           |  8 ++++----
 packages/string-templates/package.json |  2 +-
 packages/worker/package.json           |  6 +++---
 10 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/lerna.json b/lerna.json
index bf2853738e..5d96b1d3bd 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
 {
-  "version": "1.0.130",
+  "version": "1.0.131",
   "npmClient": "yarn",
   "packages": [
     "packages/*"
diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json
index 3e98ff3317..754df07fb7 100644
--- a/packages/backend-core/package.json
+++ b/packages/backend-core/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/backend-core",
-  "version": "1.0.130",
+  "version": "1.0.131",
   "description": "Budibase backend core libraries used in server and worker",
   "main": "src/index.js",
   "author": "Budibase",
diff --git a/packages/bbui/package.json b/packages/bbui/package.json
index cb5328d5e6..cba9fdbd6e 100644
--- a/packages/bbui/package.json
+++ b/packages/bbui/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/bbui",
   "description": "A UI solution used in the different Budibase projects.",
-  "version": "1.0.130",
+  "version": "1.0.131",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "module": "dist/bbui.es.js",
@@ -38,7 +38,7 @@
   ],
   "dependencies": {
     "@adobe/spectrum-css-workflow-icons": "^1.2.1",
-    "@budibase/string-templates": "^1.0.130",
+    "@budibase/string-templates": "^1.0.131",
     "@spectrum-css/actionbutton": "^1.0.1",
     "@spectrum-css/actiongroup": "^1.0.1",
     "@spectrum-css/avatar": "^3.0.2",
diff --git a/packages/builder/package.json b/packages/builder/package.json
index 82cbfc808f..d22668bb0e 100644
--- a/packages/builder/package.json
+++ b/packages/builder/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/builder",
-  "version": "1.0.130",
+  "version": "1.0.131",
   "license": "GPL-3.0",
   "private": true,
   "scripts": {
@@ -65,10 +65,10 @@
     }
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.130",
-    "@budibase/client": "^1.0.130",
-    "@budibase/frontend-core": "^1.0.130",
-    "@budibase/string-templates": "^1.0.130",
+    "@budibase/bbui": "^1.0.131",
+    "@budibase/client": "^1.0.131",
+    "@budibase/frontend-core": "^1.0.131",
+    "@budibase/string-templates": "^1.0.131",
     "@sentry/browser": "5.19.1",
     "@spectrum-css/page": "^3.0.1",
     "@spectrum-css/vars": "^3.0.1",
diff --git a/packages/cli/package.json b/packages/cli/package.json
index c19d1384c6..06f4a8dffa 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/cli",
-  "version": "1.0.130",
+  "version": "1.0.131",
   "description": "Budibase CLI, for developers, self hosting and migrations.",
   "main": "src/index.js",
   "bin": {
diff --git a/packages/client/package.json b/packages/client/package.json
index 28f29d8ecd..67ee8e4b29 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/client",
-  "version": "1.0.130",
+  "version": "1.0.131",
   "license": "MPL-2.0",
   "module": "dist/budibase-client.js",
   "main": "dist/budibase-client.js",
@@ -19,9 +19,9 @@
     "dev:builder": "rollup -cw"
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.130",
-    "@budibase/frontend-core": "^1.0.130",
-    "@budibase/string-templates": "^1.0.130",
+    "@budibase/bbui": "^1.0.131",
+    "@budibase/frontend-core": "^1.0.131",
+    "@budibase/string-templates": "^1.0.131",
     "@spectrum-css/button": "^3.0.3",
     "@spectrum-css/card": "^3.0.3",
     "@spectrum-css/divider": "^1.0.3",
diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json
index 4dd71f62fa..d5844a93b3 100644
--- a/packages/frontend-core/package.json
+++ b/packages/frontend-core/package.json
@@ -1,12 +1,12 @@
 {
   "name": "@budibase/frontend-core",
-  "version": "1.0.130",
+  "version": "1.0.131",
   "description": "Budibase frontend core libraries used in builder and client",
   "author": "Budibase",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "dependencies": {
-    "@budibase/bbui": "^1.0.130",
+    "@budibase/bbui": "^1.0.131",
     "lodash": "^4.17.21",
     "svelte": "^3.46.2"
   }
diff --git a/packages/server/package.json b/packages/server/package.json
index b1806a1f19..03fe2db18a 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/server",
   "email": "hi@budibase.com",
-  "version": "1.0.130",
+  "version": "1.0.131",
   "description": "Budibase Web Server",
   "main": "src/index.ts",
   "repository": {
@@ -68,10 +68,10 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@apidevtools/swagger-parser": "^10.0.3",
-    "@budibase/backend-core": "^1.0.130",
-    "@budibase/client": "^1.0.130",
+    "@budibase/backend-core": "^1.0.131",
+    "@budibase/client": "^1.0.131",
     "@budibase/pro": "1.0.130",
-    "@budibase/string-templates": "^1.0.130",
+    "@budibase/string-templates": "^1.0.131",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
     "@elastic/elasticsearch": "7.10.0",
diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json
index 0a23cef871..449d300ecf 100644
--- a/packages/string-templates/package.json
+++ b/packages/string-templates/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/string-templates",
-  "version": "1.0.130",
+  "version": "1.0.131",
   "description": "Handlebars wrapper for Budibase templating.",
   "main": "src/index.cjs",
   "module": "dist/bundle.mjs",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index d65446d8e1..8955d9f6da 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/worker",
   "email": "hi@budibase.com",
-  "version": "1.0.130",
+  "version": "1.0.131",
   "description": "Budibase background service",
   "main": "src/index.ts",
   "repository": {
@@ -31,9 +31,9 @@
   "author": "Budibase",
   "license": "GPL-3.0",
   "dependencies": {
-    "@budibase/backend-core": "^1.0.130",
+    "@budibase/backend-core": "^1.0.131",
     "@budibase/pro": "1.0.130",
-    "@budibase/string-templates": "^1.0.130",
+    "@budibase/string-templates": "^1.0.131",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",
     "@techpass/passport-openidconnect": "^0.3.0",

From e07a590116482e6bc0d6a67e953358106188fe4e Mon Sep 17 00:00:00 2001
From: Budibase Release Bot <>
Date: Thu, 28 Apr 2022 14:18:21 +0000
Subject: [PATCH 029/100] Update pro version to 1.0.131

---
 packages/server/package.json | 2 +-
 packages/worker/package.json | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/packages/server/package.json b/packages/server/package.json
index 03fe2db18a..531a823b42 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -70,7 +70,7 @@
     "@apidevtools/swagger-parser": "^10.0.3",
     "@budibase/backend-core": "^1.0.131",
     "@budibase/client": "^1.0.131",
-    "@budibase/pro": "1.0.130",
+    "@budibase/pro": "1.0.131",
     "@budibase/string-templates": "^1.0.131",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index 8955d9f6da..3bc6441327 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -32,7 +32,7 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@budibase/backend-core": "^1.0.131",
-    "@budibase/pro": "1.0.130",
+    "@budibase/pro": "1.0.131",
     "@budibase/string-templates": "^1.0.131",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",

From 45439ac3aa81e48294244962fd46fcbeb17186e3 Mon Sep 17 00:00:00 2001
From: Andrew Kingston <andrew@kingston.dev>
Date: Thu, 28 Apr 2022 16:35:38 +0100
Subject: [PATCH 030/100] Deregister field validation when unmounting form
 fields

---
 .../client/src/components/app/forms/Field.svelte     |  6 +++++-
 .../client/src/components/app/forms/InnerForm.svelte | 12 ++++++++++++
 2 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/packages/client/src/components/app/forms/Field.svelte b/packages/client/src/components/app/forms/Field.svelte
index 3ebfc5084f..b267f6caff 100644
--- a/packages/client/src/components/app/forms/Field.svelte
+++ b/packages/client/src/components/app/forms/Field.svelte
@@ -44,7 +44,6 @@
     fieldApi = value?.fieldApi
     fieldSchema = value?.fieldSchema
   })
-  onDestroy(() => unsubscribe?.())
 
   // Determine label class from position
   $: labelClass = labelPos === "above" ? "" : `spectrum-FieldLabel--${labelPos}`
@@ -52,6 +51,11 @@
   const updateLabel = e => {
     builderStore.actions.updateProp("label", e.target.textContent)
   }
+
+  onDestroy(() => {
+    fieldApi?.deregister()
+    unsubscribe?.()
+  })
 </script>
 
 <FieldGroupFallback>
diff --git a/packages/client/src/components/app/forms/InnerForm.svelte b/packages/client/src/components/app/forms/InnerForm.svelte
index 99dcbf4d5e..752bc9a2eb 100644
--- a/packages/client/src/components/app/forms/InnerForm.svelte
+++ b/packages/client/src/components/app/forms/InnerForm.svelte
@@ -329,6 +329,17 @@
       }
     }
 
+    // We don't want to actually remove the field state when deregistering, just
+    // remove any errors and validation
+    const deregister = () => {
+      const fieldInfo = getField(field)
+      fieldInfo.update(state => {
+        state.fieldState.validator = null
+        state.fieldState.error = null
+        return state
+      })
+    }
+
     // Updates the disabled state of a certain field
     const setDisabled = fieldDisabled => {
       const fieldInfo = getField(field)
@@ -348,6 +359,7 @@
       reset,
       updateValidation,
       setDisabled,
+      deregister,
       validate: () => {
         // Validate the field by force setting the same value again
         const { fieldState } = get(getField(field))

From bd64b45a3caee0b9d8917dcd5f8f7c43697a3e78 Mon Sep 17 00:00:00 2001
From: Mitch-Budibase <mitch@budibase.com>
Date: Thu, 28 Apr 2022 17:50:06 +0100
Subject: [PATCH 031/100] Templates Details Tests

Added tests which check the details button for each template.
- Split per category (Will add more specific template tests under each category)
- Checks template name matches url (There are a few exceptions)
- Checks status of url - expects 200 back each time

Also updated the DeleteApp Function
- Fixed a smoke test issue associated with deleting the tests app
---
 .../templates/HR/hrTemplateDetails.spec.js    | 62 +++++++++++++++
 .../templates/IT/ITTemplateDetails.spec.js    | 66 ++++++++++++++++
 .../adminPanelsTemplateDetails.spec.js        | 48 ++++++++++++
 .../approvalAppsTemplateDetails.spec.js       | 57 ++++++++++++++
 .../businessAppsTemplateDetails.spec.js       | 57 ++++++++++++++
 .../directoriesTemplateDetails.spec.js        | 50 ++++++++++++
 .../forms/formsTemplateDetails.spec.js        | 48 ++++++++++++
 .../healthcareTemplateDetails.spec.js         | 49 ++++++++++++
 .../legal/legalTemplateDetails.spec.js        | 48 ++++++++++++
 .../logisticsTemplateDetails.spec.js          | 48 ++++++++++++
 .../manufacturingTemplateDetails.spec.js      | 48 ++++++++++++
 .../marketingTemplateDetails.spec.js          | 57 ++++++++++++++
 .../operationsTemplateDetails.spec.js         | 48 ++++++++++++
 .../portals/portalsTemplateDetails.spec.js    | 77 +++++++++++++++++++
 ...rofessionalServicesTemplateDetails.spec.js | 48 ++++++++++++
 packages/builder/cypress/support/commands.js  | 36 ++++-----
 16 files changed, 827 insertions(+), 20 deletions(-)
 create mode 100644 packages/builder/cypress/integration/templates/HR/hrTemplateDetails.spec.js
 create mode 100644 packages/builder/cypress/integration/templates/IT/ITTemplateDetails.spec.js
 create mode 100644 packages/builder/cypress/integration/templates/adminPanels/adminPanelsTemplateDetails.spec.js
 create mode 100644 packages/builder/cypress/integration/templates/approvalApps/approvalAppsTemplateDetails.spec.js
 create mode 100644 packages/builder/cypress/integration/templates/businessApps/businessAppsTemplateDetails.spec.js
 create mode 100644 packages/builder/cypress/integration/templates/directories/directoriesTemplateDetails.spec.js
 create mode 100644 packages/builder/cypress/integration/templates/forms/formsTemplateDetails.spec.js
 create mode 100644 packages/builder/cypress/integration/templates/healthcare/healthcareTemplateDetails.spec.js
 create mode 100644 packages/builder/cypress/integration/templates/legal/legalTemplateDetails.spec.js
 create mode 100644 packages/builder/cypress/integration/templates/logistics/logisticsTemplateDetails.spec.js
 create mode 100644 packages/builder/cypress/integration/templates/manufacturing/manufacturingTemplateDetails.spec.js
 create mode 100644 packages/builder/cypress/integration/templates/marketing/marketingTemplateDetails.spec.js
 create mode 100644 packages/builder/cypress/integration/templates/operations/operationsTemplateDetails.spec.js
 create mode 100644 packages/builder/cypress/integration/templates/portals/portalsTemplateDetails.spec.js
 create mode 100644 packages/builder/cypress/integration/templates/professionalServices/professionalServicesTemplateDetails.spec.js

diff --git a/packages/builder/cypress/integration/templates/HR/hrTemplateDetails.spec.js b/packages/builder/cypress/integration/templates/HR/hrTemplateDetails.spec.js
new file mode 100644
index 0000000000..9a00645ced
--- /dev/null
+++ b/packages/builder/cypress/integration/templates/HR/hrTemplateDetails.spec.js
@@ -0,0 +1,62 @@
+import filterTests from "../../../support/filterTests"
+
+filterTests(["all"], () => {
+  context("Verify HR Template Details", () => {
+
+    before(() => {
+      cy.login()
+
+      // Template navigation
+      cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`)
+      .its("body")
+      .then(val => {
+        if (val.length > 0) {
+          cy.get(".spectrum-Button").contains("Templates").click({force: true})
+        }
+      })
+
+      // Filter HR Templates
+      cy.get(".template-category-filters").within(() => {
+        cy.get('[data-cy="HR"]').click()
+      })
+    })
+
+  it("should verify the details option for HR templates", () => {
+    cy.get(".template-grid").find(".template-card").its('length')
+    .then(len => {
+      for (let i = 0; i < len; i++) {
+        cy.get(".template-card").eq(i).within(() => {
+          const templateName = cy.get(".template-thumbnail-text")
+          templateName.invoke('text')
+          .then(templateNameText => {
+            const templateNameParsed = templateNameText.toLowerCase().replace(/\s+/g, '-')
+
+            if (templateNameText == "Job Application Tracker") {
+              // Template name should include 'applicant-tracking-system'
+              cy.get('a')
+              .should('have.attr', 'href').and('contain', 'applicant-tracking-system')
+            }
+            else if (templateNameText == "Job Portal App") {
+              // Template name should include 'job-portal'
+              const templateNameSplit = templateNameParsed.split('-app')[0]
+              cy.get('a')
+              .should('have.attr', 'href').and('contain', templateNameSplit)
+            }
+            else {
+              cy.get('a')
+              .should('have.attr', 'href').and('contain', templateNameParsed)
+            }
+          })
+          // Verify correct status from Details link - 200
+          cy.get('a')
+          .then(link => {
+            cy.request(link.prop('href'))
+            .its('status')
+            .should('eq', 200)
+          })
+        })
+      }
+    })
+  })
+})
+})
diff --git a/packages/builder/cypress/integration/templates/IT/ITTemplateDetails.spec.js b/packages/builder/cypress/integration/templates/IT/ITTemplateDetails.spec.js
new file mode 100644
index 0000000000..baebeef60a
--- /dev/null
+++ b/packages/builder/cypress/integration/templates/IT/ITTemplateDetails.spec.js
@@ -0,0 +1,66 @@
+import filterTests from "../../../support/filterTests"
+
+filterTests(["all"], () => {
+  context("Verify IT Template Details", () => {
+
+    before(() => {
+      cy.login()
+
+      // Template navigation
+      cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`)
+      .its("body")
+      .then(val => {
+        if (val.length > 0) {
+          cy.get(".spectrum-Button").contains("Templates").click({force: true})
+        }
+      })
+
+      // Filter IT Templates
+      cy.get(".template-category-filters").within(() => {
+        cy.get('[data-cy="IT"]').click()
+      })
+    })
+
+  it("should verify the details option for IT templates", () => {
+    cy.get(".template-grid").find(".template-card").its('length')
+    .then(len => {
+        // Verify template name is within details link
+      for (let i = 0; i < len; i++) {
+        cy.get(".template-card").eq(i).within(() => {
+          const templateName = cy.get(".template-thumbnail-text")
+          templateName.invoke('text')
+          .then(templateNameText => {
+            const templateNameParsed = templateNameText.toLowerCase().replace(/\s+/g, '-')
+            
+            if (templateNameText == "Hashicorp Scorecard Template") {
+                const templateNameSplit = templateNameParsed.split('-template')[0]
+                cy.get('a')
+                .should('have.attr', 'href').and('contain', templateNameSplit)
+            }
+            else if (templateNameText == "IT Ticketing System") {
+                const templateNameSplit = templateNameParsed.split('it-')[1]
+                cy.get('a')
+                .should('have.attr', 'href').and('contain', templateNameSplit)
+            }
+            else if (templateNameText == "IT Incident Report Form") {
+                const templateNameSplit = templateNameParsed.split('-form')[0]
+                cy.get('a')
+                .should('have.attr', 'href').and('contain', templateNameSplit)
+            }
+            else {
+                cy.get('a').should('have.attr', 'href').and('contain', templateNameParsed)
+            }
+          })
+          // Verify correct status from Details link - 200
+          cy.get('a')
+          .then(link => {
+            cy.request(link.prop('href'))
+            .its('status')
+            .should('eq', 200)
+          })
+        })
+      }
+    })
+  })
+})
+})
diff --git a/packages/builder/cypress/integration/templates/adminPanels/adminPanelsTemplateDetails.spec.js b/packages/builder/cypress/integration/templates/adminPanels/adminPanelsTemplateDetails.spec.js
new file mode 100644
index 0000000000..8c76a01126
--- /dev/null
+++ b/packages/builder/cypress/integration/templates/adminPanels/adminPanelsTemplateDetails.spec.js
@@ -0,0 +1,48 @@
+import filterTests from "../../../support/filterTests"
+
+filterTests(["all"], () => {
+  context("Verify Admin Panel Template Details", () => {
+
+    before(() => {
+      cy.login()
+
+      // Template navigation
+      cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`)
+      .its("body")
+      .then(val => {
+        if (val.length > 0) {
+          cy.get(".spectrum-Button").contains("Templates").click({force: true})
+        }
+      })
+
+      // Filter Admin Panels Templates
+      cy.get(".template-category-filters").within(() => {
+        cy.get('[data-cy="Admin Panels"]').click()
+      })
+    })
+
+  it("should verify the details option for Admin Panels templates", () => {
+    cy.get(".template-grid").find(".template-card").its('length')
+    .then(len => {
+        // Verify template name is within details link
+      for (let i = 0; i < len; i++) {
+        cy.get(".template-card").eq(i).within(() => {
+          const templateName = cy.get(".template-thumbnail-text")
+          templateName.invoke('text')
+          .then(templateNameText => {
+            const templateNameParsed = templateNameText.toLowerCase().replace(/\s+/g, '-')
+            cy.get('a').should('have.attr', 'href').and('contain', templateNameParsed)
+          })
+          // Verify correct status from Details link - 200
+          cy.get('a')
+          .then(link => {
+            cy.request(link.prop('href'))
+            .its('status')
+            .should('eq', 200)
+          })
+        })
+      }
+    })
+  })
+})
+})
diff --git a/packages/builder/cypress/integration/templates/approvalApps/approvalAppsTemplateDetails.spec.js b/packages/builder/cypress/integration/templates/approvalApps/approvalAppsTemplateDetails.spec.js
new file mode 100644
index 0000000000..8fa0d61390
--- /dev/null
+++ b/packages/builder/cypress/integration/templates/approvalApps/approvalAppsTemplateDetails.spec.js
@@ -0,0 +1,57 @@
+import filterTests from "../../../support/filterTests"
+
+filterTests(["all"], () => {
+  context("Verify Aproval Apps Template Details", () => {
+
+    before(() => {
+      cy.login()
+
+      // Template navigation
+      cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`)
+      .its("body")
+      .then(val => {
+        if (val.length > 0) {
+          cy.get(".spectrum-Button").contains("Templates").click({force: true})
+        }
+      })
+
+      // Filter Approval Apps Templates
+      cy.get(".template-category-filters").within(() => {
+        cy.get('[data-cy="Approval Apps"]').click()
+      })
+    })
+
+  it("should verify the details option for Approval Apps templates", () => {
+    cy.get(".template-grid").find(".template-card").its('length')
+    .then(len => {
+        // Verify template name is within details link
+      for (let i = 0; i < len; i++) {
+        cy.get(".template-card").eq(i).within(() => {
+          const templateName = cy.get(".template-thumbnail-text")
+          templateName.invoke('text')
+          .then(templateNameText => {
+            const templateNameParsed = templateNameText.toLowerCase().replace(/\s+/g, '-')
+            
+            if (templateNameText == "Content Approval System") {
+                // Template name should include 'content-approval'
+                const templateNameSplit = templateNameParsed.split('-system')[0]
+                cy.get('a')
+                .should('have.attr', 'href').and('contain', templateNameSplit)
+            }
+            else {
+                cy.get('a').should('have.attr', 'href').and('contain', templateNameParsed)
+            }
+          })
+          // Verify correct status from Details link - 200
+          cy.get('a')
+          .then(link => {
+            cy.request(link.prop('href'))
+            .its('status')
+            .should('eq', 200)
+          })
+        })
+      }
+    })
+  })
+})
+})
diff --git a/packages/builder/cypress/integration/templates/businessApps/businessAppsTemplateDetails.spec.js b/packages/builder/cypress/integration/templates/businessApps/businessAppsTemplateDetails.spec.js
new file mode 100644
index 0000000000..643c854168
--- /dev/null
+++ b/packages/builder/cypress/integration/templates/businessApps/businessAppsTemplateDetails.spec.js
@@ -0,0 +1,57 @@
+import filterTests from "../../../support/filterTests"
+
+filterTests(["all"], () => {
+  context("Verify Business Apps Template Details", () => {
+
+    before(() => {
+      cy.login()
+
+      // Template navigation
+      cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`)
+      .its("body")
+      .then(val => {
+        if (val.length > 0) {
+          cy.get(".spectrum-Button").contains("Templates").click({force: true})
+        }
+      })
+
+      // Filter Business Apps Templates
+      cy.get(".template-category-filters").within(() => {
+        cy.get('[data-cy="Business Apps"]').click()
+      })
+    })
+
+  it("should verify the details option for Business Apps templates", () => {
+    cy.get(".template-grid").find(".template-card").its('length')
+    .then(len => {
+        // Verify template name is within details link
+      for (let i = 0; i < len; i++) {
+        cy.get(".template-card").eq(i).within(() => {
+          const templateName = cy.get(".template-thumbnail-text")
+          templateName.invoke('text')
+          .then(templateNameText => {
+            const templateNameParsed = templateNameText.toLowerCase().replace(/\s+/g, '-')
+            
+            if (templateNameText == "Employee Check-in/Check-Out Template") {
+                // Remove / from template name
+                const templateNameReplace = templateNameParsed.replace(/\//g, "-")
+                cy.get('a')
+                .should('have.attr', 'href').and('contain', templateNameReplace)
+            }
+            else {
+                cy.get('a').should('have.attr', 'href').and('contain', templateNameParsed)
+            }
+          })
+          // Verify correct status from Details link - 200
+          cy.get('a')
+          .then(link => {
+            cy.request(link.prop('href'))
+            .its('status')
+            .should('eq', 200)
+          })
+        })
+      }
+    })
+  })
+})
+})
diff --git a/packages/builder/cypress/integration/templates/directories/directoriesTemplateDetails.spec.js b/packages/builder/cypress/integration/templates/directories/directoriesTemplateDetails.spec.js
new file mode 100644
index 0000000000..d763dab9e7
--- /dev/null
+++ b/packages/builder/cypress/integration/templates/directories/directoriesTemplateDetails.spec.js
@@ -0,0 +1,50 @@
+import filterTests from "../../../support/filterTests"
+
+filterTests(["all"], () => {
+  context("Verify Directories Template Details", () => {
+
+    before(() => {
+      cy.login()
+
+      // Template navigation
+      cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`)
+      .its("body")
+      .then(val => {
+        if (val.length > 0) {
+          cy.get(".spectrum-Button").contains("Templates").click({force: true})
+        }
+      })
+
+      // Filter Directories Templates
+      cy.get(".template-category-filters").within(() => {
+        cy.get('[data-cy="Directories"]').click()
+      })
+    })
+
+  it("should verify the details option for Directories templates", () => {
+    cy.get(".template-grid").find(".template-card").its('length')
+    .then(len => {
+        // Verify template name is within details link
+      for (let i = 0; i < len; i++) {
+        cy.get(".template-card").eq(i).within(() => {
+          const templateName = cy.get(".template-thumbnail-text")
+          templateName.invoke('text')
+          .then(templateNameText => {
+            const templateNameParsed = templateNameText.toLowerCase().replace(/\s+/g, '-')
+            const templateNameSplit = templateNameParsed.split('-template')[0]
+            cy.get('a')
+            .should('have.attr', 'href').and('contain', templateNameSplit)
+          })
+          // Verify correct status from Details link - 200
+          cy.get('a')
+          .then(link => {
+            cy.request(link.prop('href'))
+            .its('status')
+            .should('eq', 200)
+          })
+        })
+      }
+    })
+  })
+})
+})
diff --git a/packages/builder/cypress/integration/templates/forms/formsTemplateDetails.spec.js b/packages/builder/cypress/integration/templates/forms/formsTemplateDetails.spec.js
new file mode 100644
index 0000000000..a8cb30da85
--- /dev/null
+++ b/packages/builder/cypress/integration/templates/forms/formsTemplateDetails.spec.js
@@ -0,0 +1,48 @@
+import filterTests from "../../../support/filterTests"
+
+filterTests(["all"], () => {
+  context("Verify Forms Template Details", () => {
+
+    before(() => {
+      cy.login()
+
+      // Template navigation
+      cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`)
+      .its("body")
+      .then(val => {
+        if (val.length > 0) {
+          cy.get(".spectrum-Button").contains("Templates").click({force: true})
+        }
+      })
+
+      // Filter Forms Templates
+      cy.get(".template-category-filters").within(() => {
+        cy.get('[data-cy="Forms"]').click()
+      })
+    })
+
+  it("should verify the details option for Forms templates", () => {
+    cy.get(".template-grid").find(".template-card").its('length')
+    .then(len => {
+        // Verify template name is within details link
+      for (let i = 0; i < len; i++) {
+        cy.get(".template-card").eq(i).within(() => {
+          const templateName = cy.get(".template-thumbnail-text")
+          templateName.invoke('text')
+          .then(templateNameText => {
+            const templateNameParsed = templateNameText.toLowerCase().replace(/\s+/g, '-')
+            cy.get('a').should('have.attr', 'href').and('contain', templateNameParsed)
+          })
+          // Verify correct status from Details link - 200
+          cy.get('a')
+          .then(link => {
+            cy.request(link.prop('href'))
+            .its('status')
+            .should('eq', 200)
+          })
+        })
+      }
+    })
+  })
+})
+})
diff --git a/packages/builder/cypress/integration/templates/healthcare/healthcareTemplateDetails.spec.js b/packages/builder/cypress/integration/templates/healthcare/healthcareTemplateDetails.spec.js
new file mode 100644
index 0000000000..02b8c7694e
--- /dev/null
+++ b/packages/builder/cypress/integration/templates/healthcare/healthcareTemplateDetails.spec.js
@@ -0,0 +1,49 @@
+import filterTests from "../../../support/filterTests"
+
+filterTests(["all"], () => {
+  context("Verify Healthcare Template Details", () => {
+
+    before(() => {
+      cy.login()
+
+      // Template navigation
+      cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`)
+      .its("body")
+      .then(val => {
+        if (val.length > 0) {
+          cy.get(".spectrum-Button").contains("Templates").click({force: true})
+        }
+      })
+
+      // Filter Healthcare Templates
+      cy.get(".template-category-filters").within(() => {
+        cy.get('[data-cy="Healthcare"]').click()
+      })
+    })
+
+  it("should verify the details option for Healthcare templates", () => {
+    cy.get(".template-grid").find(".template-card").its('length')
+    .then(len => {
+        // Verify template name is within details link
+      for (let i = 0; i < len; i++) {
+        cy.get(".template-card").eq(i).within(() => {
+          const templateName = cy.get(".template-thumbnail-text")
+          templateName.invoke('text')
+          .then(templateNameText => {
+            const templateNameParsed = templateNameText.toLowerCase().replace(/\s+/g, '-')
+            
+            cy.get('a').should('have.attr', 'href').and('contain', templateNameParsed)
+          })
+          // Verify correct status from Details link - 200
+          cy.get('a')
+          .then(link => {
+            cy.request(link.prop('href'))
+            .its('status')
+            .should('eq', 200)
+          })
+        })
+      }
+    })
+  })
+})
+})
diff --git a/packages/builder/cypress/integration/templates/legal/legalTemplateDetails.spec.js b/packages/builder/cypress/integration/templates/legal/legalTemplateDetails.spec.js
new file mode 100644
index 0000000000..16715bb5d6
--- /dev/null
+++ b/packages/builder/cypress/integration/templates/legal/legalTemplateDetails.spec.js
@@ -0,0 +1,48 @@
+import filterTests from "../../../support/filterTests"
+
+filterTests(["all"], () => {
+  context("Verify Legal Template Details", () => {
+
+    before(() => {
+      cy.login()
+
+      // Template navigation
+      cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`)
+      .its("body")
+      .then(val => {
+        if (val.length > 0) {
+          cy.get(".spectrum-Button").contains("Templates").click({force: true})
+        }
+      })
+
+      // Filter Legal Templates
+      cy.get(".template-category-filters").within(() => {
+        cy.get('[data-cy="Legal"]').click()
+      })
+    })
+
+  it("should verify the details option for Legal templates", () => {
+    cy.get(".template-grid").find(".template-card").its('length')
+    .then(len => {
+        // Verify template name is within details link
+      for (let i = 0; i < len; i++) {
+        cy.get(".template-card").eq(i).within(() => {
+          const templateName = cy.get(".template-thumbnail-text")
+          templateName.invoke('text')
+          .then(templateNameText => {
+            const templateNameParsed = templateNameText.toLowerCase().replace(/\s+/g, '-')
+            cy.get('a').should('have.attr', 'href').and('contain', templateNameParsed)
+          })
+          // Verify correct status from Details link - 200
+          cy.get('a')
+          .then(link => {
+            cy.request(link.prop('href'))
+            .its('status')
+            .should('eq', 200)
+          })
+        })
+      }
+    })
+  })
+})
+})
diff --git a/packages/builder/cypress/integration/templates/logistics/logisticsTemplateDetails.spec.js b/packages/builder/cypress/integration/templates/logistics/logisticsTemplateDetails.spec.js
new file mode 100644
index 0000000000..a56cc80a67
--- /dev/null
+++ b/packages/builder/cypress/integration/templates/logistics/logisticsTemplateDetails.spec.js
@@ -0,0 +1,48 @@
+import filterTests from "../../../support/filterTests"
+
+filterTests(["all"], () => {
+  context("Verify Logistics Template Details", () => {
+
+    before(() => {
+      cy.login()
+
+      // Template navigation
+      cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`)
+      .its("body")
+      .then(val => {
+        if (val.length > 0) {
+          cy.get(".spectrum-Button").contains("Templates").click({force: true})
+        }
+      })
+
+      // Filter Logistics Templates
+      cy.get(".template-category-filters").within(() => {
+        cy.get('[data-cy="Logistics"]').click()
+      })
+    })
+
+  it("should verify the details option for Logistics templates", () => {
+    cy.get(".template-grid").find(".template-card").its('length')
+    .then(len => {
+        // Verify template name is within details link
+      for (let i = 0; i < len; i++) {
+        cy.get(".template-card").eq(i).within(() => {
+          const templateName = cy.get(".template-thumbnail-text")
+          templateName.invoke('text')
+          .then(templateNameText => {
+            const templateNameParsed = templateNameText.toLowerCase().replace(/\s+/g, '-')
+            cy.get('a').should('have.attr', 'href').and('contain', templateNameParsed)
+          })
+          // Verify correct status from Details link - 200
+          cy.get('a')
+          .then(link => {
+            cy.request(link.prop('href'))
+            .its('status')
+            .should('eq', 200)
+          })
+        })
+      }
+    })
+  })
+})
+})
diff --git a/packages/builder/cypress/integration/templates/manufacturing/manufacturingTemplateDetails.spec.js b/packages/builder/cypress/integration/templates/manufacturing/manufacturingTemplateDetails.spec.js
new file mode 100644
index 0000000000..b2809d78ee
--- /dev/null
+++ b/packages/builder/cypress/integration/templates/manufacturing/manufacturingTemplateDetails.spec.js
@@ -0,0 +1,48 @@
+import filterTests from "../../../support/filterTests"
+
+filterTests(["all"], () => {
+  context("Verify Manufacturing Template Details", () => {
+
+    before(() => {
+      cy.login()
+
+      // Template navigation
+      cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`)
+      .its("body")
+      .then(val => {
+        if (val.length > 0) {
+          cy.get(".spectrum-Button").contains("Templates").click({force: true})
+        }
+      })
+
+      // Filter Manufacturing Templates
+      cy.get(".template-category-filters").within(() => {
+        cy.get('[data-cy="Manufacturing"]').click()
+      })
+    })
+
+  it("should verify the details option for Manufacturing templates", () => {
+    cy.get(".template-grid").find(".template-card").its('length')
+    .then(len => {
+        // Verify template name is within details link
+      for (let i = 0; i < len; i++) {
+        cy.get(".template-card").eq(i).within(() => {
+          const templateName = cy.get(".template-thumbnail-text")
+          templateName.invoke('text')
+          .then(templateNameText => {
+            const templateNameParsed = templateNameText.toLowerCase().replace(/\s+/g, '-')
+            cy.get('a').should('have.attr', 'href').and('contain', templateNameParsed)
+          })
+          // Verify correct status from Details link - 200
+          cy.get('a')
+          .then(link => {
+            cy.request(link.prop('href'))
+            .its('status')
+            .should('eq', 200)
+          })
+        })
+      }
+    })
+  })
+})
+})
diff --git a/packages/builder/cypress/integration/templates/marketing/marketingTemplateDetails.spec.js b/packages/builder/cypress/integration/templates/marketing/marketingTemplateDetails.spec.js
new file mode 100644
index 0000000000..2c8840f321
--- /dev/null
+++ b/packages/builder/cypress/integration/templates/marketing/marketingTemplateDetails.spec.js
@@ -0,0 +1,57 @@
+import filterTests from "../../../support/filterTests"
+
+filterTests(["all"], () => {
+  context("Verify Marketing Template Details", () => {
+
+    before(() => {
+      cy.login()
+
+      // Template navigation
+      cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`)
+      .its("body")
+      .then(val => {
+        if (val.length > 0) {
+          cy.get(".spectrum-Button").contains("Templates").click({force: true})
+        }
+      })
+
+      // Filter Marketing Templates
+      cy.get(".template-category-filters").within(() => {
+        cy.get('[data-cy="Marketing"]').click()
+      })
+    })
+
+  it("should verify the details option for Marketing templates", () => {
+    cy.get(".template-grid").find(".template-card").its('length')
+    .then(len => {
+        // Verify template name is within details link
+      for (let i = 0; i < len; i++) {
+        cy.get(".template-card").eq(i).within(() => {
+          const templateName = cy.get(".template-thumbnail-text")
+          templateName.invoke('text')
+          .then(templateNameText => {
+            const templateNameParsed = templateNameText.toLowerCase().replace(/\s+/g, '-')
+            
+            if (templateNameText == "Lead Generation Form") {
+                // Multi-step lead form
+                // Template name includes 'multi-step-lead-form'
+                cy.get('a')
+                .should('have.attr', 'href').and('contain', 'multi-step-lead-form')
+            }
+            else {
+                cy.get('a').should('have.attr', 'href').and('contain', templateNameParsed)
+            }
+          })
+          // Verify correct status from Details link - 200
+          cy.get('a')
+          .then(link => {
+            cy.request(link.prop('href'))
+            .its('status')
+            .should('eq', 200)
+          })
+        })
+      }
+    })
+  })
+})
+})
diff --git a/packages/builder/cypress/integration/templates/operations/operationsTemplateDetails.spec.js b/packages/builder/cypress/integration/templates/operations/operationsTemplateDetails.spec.js
new file mode 100644
index 0000000000..2665de9e81
--- /dev/null
+++ b/packages/builder/cypress/integration/templates/operations/operationsTemplateDetails.spec.js
@@ -0,0 +1,48 @@
+import filterTests from "../../../support/filterTests"
+
+filterTests(["all"], () => {
+  context("Verify Operations Template Details", () => {
+
+    before(() => {
+      cy.login()
+
+      // Template navigation
+      cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`)
+      .its("body")
+      .then(val => {
+        if (val.length > 0) {
+          cy.get(".spectrum-Button").contains("Templates").click({force: true})
+        }
+      })
+
+      // Filter Operations Templates
+      cy.get(".template-category-filters").within(() => {
+        cy.get('[data-cy="Operations"]').click()
+      })
+    })
+
+  it("should verify the details option for Operations templates", () => {
+    cy.get(".template-grid").find(".template-card").its('length')
+    .then(len => {
+        // Verify template name is within details link
+      for (let i = 0; i < len; i++) {
+        cy.get(".template-card").eq(i).within(() => {
+          const templateName = cy.get(".template-thumbnail-text")
+          templateName.invoke('text')
+          .then(templateNameText => {
+            const templateNameParsed = templateNameText.toLowerCase().replace(/\s+/g, '-')
+            cy.get('a').should('have.attr', 'href').and('contain', templateNameParsed)
+          })
+          // Verify correct status from Details link - 200
+          cy.get('a')
+          .then(link => {
+            cy.request(link.prop('href'))
+            .its('status')
+            .should('eq', 200)
+          })
+        })
+      }
+    })
+  })
+})
+})
diff --git a/packages/builder/cypress/integration/templates/portals/portalsTemplateDetails.spec.js b/packages/builder/cypress/integration/templates/portals/portalsTemplateDetails.spec.js
new file mode 100644
index 0000000000..5e26948180
--- /dev/null
+++ b/packages/builder/cypress/integration/templates/portals/portalsTemplateDetails.spec.js
@@ -0,0 +1,77 @@
+import filterTests from "../../../support/filterTests"
+
+filterTests(["all"], () => {
+  context("Verify Portals Template Details", () => {
+
+    before(() => {
+      cy.login()
+
+      // Template navigation
+      cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`)
+      .its("body")
+      .then(val => {
+        if (val.length > 0) {
+          cy.get(".spectrum-Button").contains("Templates").click({force: true})
+        }
+      })
+    })
+
+  it("should verify the details option for Portal templates", () => {
+    // Filter Portal Templates
+    cy.get(".template-category-filters").within(() => {
+        cy.get('[data-cy="Portal"]').click()
+      })
+    
+    cy.get(".template-grid").find(".template-card").its('length')
+    .then(len => {
+      for (let i = 0; i < len; i++) {
+        cy.get(".template-card").eq(i).within(() => {
+          const templateName = cy.get(".template-thumbnail-text")
+          templateName.invoke('text')
+          .then(templateNameText => {
+            const templateNameParsed = templateNameText.toLowerCase().replace(/\s+/g, '-')
+            cy.get('a')
+            .should('have.attr', 'href').and('contain', templateNameParsed)
+          })
+          // Verify correct status from Details link - 200
+          cy.get('a')
+          .then(link => {
+            cy.request(link.prop('href'))
+            .its('status')
+            .should('eq', 200)
+          })
+        })
+      }
+    })
+  })
+
+  it("should verify the details option for Portals templates", () => {
+    // Filter Portals Templates
+    cy.get(".template-category-filters").within(() => {
+        cy.get('[data-cy="Portals"]').click()
+      })
+    
+    cy.get(".template-grid").find(".template-card").its('length')
+    .then(len => {
+      for (let i = 0; i < len; i++) {
+        cy.get(".template-card").eq(i).within(() => {
+          const templateName = cy.get(".template-thumbnail-text")
+          templateName.invoke('text')
+          .then(templateNameText => {
+            const templateNameParsed = templateNameText.toLowerCase().replace(/\s+/g, '-')
+            cy.get('a')
+            .should('have.attr', 'href').and('contain', templateNameParsed)
+          })
+          // Verify correct status from Details link - 200
+          cy.get('a')
+          .then(link => {
+            cy.request(link.prop('href'))
+            .its('status')
+            .should('eq', 200)
+          })
+        })
+      }
+    })
+  })
+})
+})
diff --git a/packages/builder/cypress/integration/templates/professionalServices/professionalServicesTemplateDetails.spec.js b/packages/builder/cypress/integration/templates/professionalServices/professionalServicesTemplateDetails.spec.js
new file mode 100644
index 0000000000..e8ed18a19c
--- /dev/null
+++ b/packages/builder/cypress/integration/templates/professionalServices/professionalServicesTemplateDetails.spec.js
@@ -0,0 +1,48 @@
+import filterTests from "../../../support/filterTests"
+
+filterTests(["all"], () => {
+  context("Verify Professional Services Template Details", () => {
+
+    before(() => {
+      cy.login()
+
+      // Template navigation
+      cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`)
+      .its("body")
+      .then(val => {
+        if (val.length > 0) {
+          cy.get(".spectrum-Button").contains("Templates").click({force: true})
+        }
+      })
+
+      // Filter Professional Services Templates
+      cy.get(".template-category-filters").within(() => {
+        cy.get('[data-cy="Professional Services"]').click()
+      })
+    })
+
+  it("should verify the details option for Professional Services templates", () => {
+    cy.get(".template-grid").find(".template-card").its('length')
+    .then(len => {
+        // Verify template name is within details link
+      for (let i = 0; i < len; i++) {
+        cy.get(".template-card").eq(i).within(() => {
+          const templateName = cy.get(".template-thumbnail-text")
+          templateName.invoke('text')
+          .then(templateNameText => {
+            const templateNameParsed = templateNameText.toLowerCase().replace(/\s+/g, '-')
+            cy.get('a').should('have.attr', 'href').and('contain', templateNameParsed)
+          })
+          // Verify correct status from Details link - 200
+          cy.get('a')
+          .then(link => {
+            cy.request(link.prop('href'))
+            .its('status')
+            .should('eq', 200)
+          })
+        })
+      }
+    })
+  })
+})
+})
diff --git a/packages/builder/cypress/support/commands.js b/packages/builder/cypress/support/commands.js
index 6c2cac5b31..969486364a 100644
--- a/packages/builder/cypress/support/commands.js
+++ b/packages/builder/cypress/support/commands.js
@@ -77,27 +77,23 @@ Cypress.Commands.add("deleteApp", name => {
         if (val.length > 0) {
           if (Cypress.env("TEST_ENV")) {
             cy.searchForApplication(name)
-            cy.get(".appTable").within(() => {
-              cy.get(".spectrum-Icon").eq(1).click()
-            })
-          } else {
-            const appId = val.reduce((acc, app) => {
-              if (name === app.name) {
-                acc = app.appId
-              }
-              return acc
-            }, "")
-
-            if (appId == "") {
-              return
-            }
-
-            const appIdParsed = appId.split("_").pop()
-            const actionEleId = `[data-cy=row_actions_${appIdParsed}]`
-            cy.get(actionEleId).within(() => {
-              cy.get(".spectrum-Icon").eq(0).click()
-            })
           }
+          const appId = val.reduce((acc, app) => {
+            if (name === app.name) {
+              acc = app.appId
+            }
+            return acc
+          }, "")
+
+          if (appId == "") {
+            return
+          }
+
+          const appIdParsed = appId.split("_").pop()
+          const actionEleId = `[data-cy=row_actions_${appIdParsed}]`
+          cy.get(actionEleId).within(() => {
+            cy.get(".spectrum-Icon").eq(0).click()
+          })
 
           cy.get(".spectrum-Menu").then($menu => {
             if ($menu.text().includes("Unpublish")) {

From cf2361a11da9fe6c452ea38db87dbe008ca738b4 Mon Sep 17 00:00:00 2001
From: Rory Powell <rory.codes@gmail.com>
Date: Fri, 29 Apr 2022 11:32:12 +0100
Subject: [PATCH 032/100] Update CouchDB in kubernetes to be 3.2.1

---
 charts/budibase/values.yaml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/charts/budibase/values.yaml b/charts/budibase/values.yaml
index 116931a147..52ead6d076 100644
--- a/charts/budibase/values.yaml
+++ b/charts/budibase/values.yaml
@@ -215,7 +215,7 @@ couchdb:
   ## The CouchDB image
   image:
     repository: couchdb
-    tag: 3.1.0
+    tag: 3.2.1
     pullPolicy: IfNotPresent
 
   ## Experimental integration with Lucene-powered fulltext search

From 746362c4effb519fea59f514b168acfd46c91a68 Mon Sep 17 00:00:00 2001
From: Peter Clement <peter@budibase.com>
Date: Fri, 29 Apr 2022 11:37:40 +0100
Subject: [PATCH 033/100] fix binding panel in automate

---
 .../SetupPanel/AutomationBlockSetup.svelte    |  1 +
 .../automation/SetupPanel/RowSelector.svelte  | 42 ++++++-------------
 .../SetupPanel/RowSelectorTypes.svelte        |  5 ++-
 3 files changed, 18 insertions(+), 30 deletions(-)

diff --git a/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte b/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte
index 4333e4a2e5..68afc04886 100644
--- a/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte
+++ b/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte
@@ -265,6 +265,7 @@
           value={inputData[key]}
           on:change={e => onChange(e, key)}
           {bindings}
+          {isTestModal}
         />
       {:else if value.customType === "webhookUrl"}
         <WebhookDisplay
diff --git a/packages/builder/src/components/automation/SetupPanel/RowSelector.svelte b/packages/builder/src/components/automation/SetupPanel/RowSelector.svelte
index f91cd62bed..c72acc252a 100644
--- a/packages/builder/src/components/automation/SetupPanel/RowSelector.svelte
+++ b/packages/builder/src/components/automation/SetupPanel/RowSelector.svelte
@@ -4,14 +4,15 @@
   import DrawerBindableInput from "../../common/bindings/DrawerBindableInput.svelte"
   import AutomationBindingPanel from "../../common/bindings/ServerBindingPanel.svelte"
   import { createEventDispatcher } from "svelte"
-  import { automationStore } from "builderStore"
   import RowSelectorTypes from "./RowSelectorTypes.svelte"
+  import ModalBindableInput from "../../common/bindings/ModalBindableInput.svelte"
 
   const dispatch = createEventDispatcher()
 
   export let value
   export let bindings
   export let block
+  export let isTestModal
 
   let table
   let schemaFields
@@ -103,35 +104,18 @@
     {#each schemaFields as [field, schema]}
       {#if !schema.autocolumn}
         {#if schema.type !== "attachment"}
-          {#if $automationStore.selectedAutomation.automation.testData}
-            {#if !rowControl}
-              <RowSelectorTypes
-                {field}
-                {schema}
-                {bindings}
-                {value}
-                {onChange}
-              />
-            {:else}
-              <DrawerBindableInput
-                placeholder={placeholders[schema.type]}
-                panel={AutomationBindingPanel}
-                value={Array.isArray(value[field])
-                  ? value[field].join(" ")
-                  : value[field]}
-                on:change={e => onChange(e, field, schema.type)}
-                label={field}
-                type="string"
-                {bindings}
-                fillWidth={true}
-                allowJS={true}
-                updateOnChange={false}
-              />
-            {/if}
-          {:else if !rowControl}
-            <RowSelectorTypes {field} {schema} {bindings} {value} {onChange} />
+          {#if !rowControl}
+            <RowSelectorTypes
+              {isTestModal}
+              {field}
+              {schema}
+              {bindings}
+              {value}
+              {onChange}
+            />
           {:else}
-            <DrawerBindableInput
+            <svelte:component
+              this={isTestModal ? ModalBindableInput : DrawerBindableInput}
               placeholder={placeholders[schema.type]}
               panel={AutomationBindingPanel}
               value={Array.isArray(value[field])
diff --git a/packages/builder/src/components/automation/SetupPanel/RowSelectorTypes.svelte b/packages/builder/src/components/automation/SetupPanel/RowSelectorTypes.svelte
index f66df3a9b1..f3abad6e25 100644
--- a/packages/builder/src/components/automation/SetupPanel/RowSelectorTypes.svelte
+++ b/packages/builder/src/components/automation/SetupPanel/RowSelectorTypes.svelte
@@ -8,6 +8,7 @@
   } from "@budibase/bbui"
   import LinkedRowSelector from "components/common/LinkedRowSelector.svelte"
   import DrawerBindableInput from "../../common/bindings/DrawerBindableInput.svelte"
+  import ModalBindableInput from "../../common/bindings/ModalBindableInput.svelte"
   import AutomationBindingPanel from "../../common/bindings/ServerBindingPanel.svelte"
 
   export let onChange
@@ -15,6 +16,7 @@
   export let schema
   export let value
   export let bindings
+  export let isTestModal
 
   function schemaHasOptions(schema) {
     return !!schema.constraints?.inclusion?.length
@@ -51,7 +53,8 @@
 {:else if schema.type === "link"}
   <LinkedRowSelector bind:linkedRows={value[field]} {schema} />
 {:else if schema.type === "string" || schema.type === "number"}
-  <DrawerBindableInput
+  <svelte:component
+    this={isTestModal ? ModalBindableInput : DrawerBindableInput}
     panel={AutomationBindingPanel}
     value={value[field]}
     on:change={e => onChange(e, field)}

From 8c4f7ea67cbf30fdd82ea50c906e45403328dc75 Mon Sep 17 00:00:00 2001
From: Budibase Staging Release Bot <>
Date: Fri, 29 Apr 2022 12:55:46 +0000
Subject: [PATCH 034/100] v1.0.130-alpha.1

---
 lerna.json                             |  2 +-
 packages/backend-core/package.json     |  2 +-
 packages/bbui/package.json             |  4 ++--
 packages/builder/package.json          | 10 +++++-----
 packages/cli/package.json              |  2 +-
 packages/client/package.json           |  8 ++++----
 packages/frontend-core/package.json    |  4 ++--
 packages/server/package.json           |  8 ++++----
 packages/string-templates/package.json |  2 +-
 packages/worker/package.json           |  6 +++---
 10 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/lerna.json b/lerna.json
index c9aeb85fbc..8b73e051ed 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
 {
-  "version": "1.0.130-alpha.0",
+  "version": "1.0.130-alpha.1",
   "npmClient": "yarn",
   "packages": [
     "packages/*"
diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json
index 370f529ed7..2a718c4988 100644
--- a/packages/backend-core/package.json
+++ b/packages/backend-core/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/backend-core",
-  "version": "1.0.130-alpha.0",
+  "version": "1.0.130-alpha.1",
   "description": "Budibase backend core libraries used in server and worker",
   "main": "src/index.js",
   "author": "Budibase",
diff --git a/packages/bbui/package.json b/packages/bbui/package.json
index ec35c0c0b7..34de16fd40 100644
--- a/packages/bbui/package.json
+++ b/packages/bbui/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/bbui",
   "description": "A UI solution used in the different Budibase projects.",
-  "version": "1.0.130-alpha.0",
+  "version": "1.0.130-alpha.1",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "module": "dist/bbui.es.js",
@@ -38,7 +38,7 @@
   ],
   "dependencies": {
     "@adobe/spectrum-css-workflow-icons": "^1.2.1",
-    "@budibase/string-templates": "^1.0.130-alpha.0",
+    "@budibase/string-templates": "^1.0.130-alpha.1",
     "@spectrum-css/actionbutton": "^1.0.1",
     "@spectrum-css/actiongroup": "^1.0.1",
     "@spectrum-css/avatar": "^3.0.2",
diff --git a/packages/builder/package.json b/packages/builder/package.json
index b70b52bd1a..12d16a9fad 100644
--- a/packages/builder/package.json
+++ b/packages/builder/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/builder",
-  "version": "1.0.130-alpha.0",
+  "version": "1.0.130-alpha.1",
   "license": "GPL-3.0",
   "private": true,
   "scripts": {
@@ -65,10 +65,10 @@
     }
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.130-alpha.0",
-    "@budibase/client": "^1.0.130-alpha.0",
-    "@budibase/frontend-core": "^1.0.130-alpha.0",
-    "@budibase/string-templates": "^1.0.130-alpha.0",
+    "@budibase/bbui": "^1.0.130-alpha.1",
+    "@budibase/client": "^1.0.130-alpha.1",
+    "@budibase/frontend-core": "^1.0.130-alpha.1",
+    "@budibase/string-templates": "^1.0.130-alpha.1",
     "@sentry/browser": "5.19.1",
     "@spectrum-css/page": "^3.0.1",
     "@spectrum-css/vars": "^3.0.1",
diff --git a/packages/cli/package.json b/packages/cli/package.json
index c9653d6a7e..b99c0ca357 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/cli",
-  "version": "1.0.130-alpha.0",
+  "version": "1.0.130-alpha.1",
   "description": "Budibase CLI, for developers, self hosting and migrations.",
   "main": "src/index.js",
   "bin": {
diff --git a/packages/client/package.json b/packages/client/package.json
index 06a0b3f6c4..f42a56973c 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/client",
-  "version": "1.0.130-alpha.0",
+  "version": "1.0.130-alpha.1",
   "license": "MPL-2.0",
   "module": "dist/budibase-client.js",
   "main": "dist/budibase-client.js",
@@ -19,9 +19,9 @@
     "dev:builder": "rollup -cw"
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.130-alpha.0",
-    "@budibase/frontend-core": "^1.0.130-alpha.0",
-    "@budibase/string-templates": "^1.0.130-alpha.0",
+    "@budibase/bbui": "^1.0.130-alpha.1",
+    "@budibase/frontend-core": "^1.0.130-alpha.1",
+    "@budibase/string-templates": "^1.0.130-alpha.1",
     "@spectrum-css/button": "^3.0.3",
     "@spectrum-css/card": "^3.0.3",
     "@spectrum-css/divider": "^1.0.3",
diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json
index dc172cbabd..d9f2231efa 100644
--- a/packages/frontend-core/package.json
+++ b/packages/frontend-core/package.json
@@ -1,12 +1,12 @@
 {
   "name": "@budibase/frontend-core",
-  "version": "1.0.130-alpha.0",
+  "version": "1.0.130-alpha.1",
   "description": "Budibase frontend core libraries used in builder and client",
   "author": "Budibase",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "dependencies": {
-    "@budibase/bbui": "^1.0.130-alpha.0",
+    "@budibase/bbui": "^1.0.130-alpha.1",
     "lodash": "^4.17.21",
     "svelte": "^3.46.2"
   }
diff --git a/packages/server/package.json b/packages/server/package.json
index beee8b436b..3906874487 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/server",
   "email": "hi@budibase.com",
-  "version": "1.0.130-alpha.0",
+  "version": "1.0.130-alpha.1",
   "description": "Budibase Web Server",
   "main": "src/index.ts",
   "repository": {
@@ -68,10 +68,10 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@apidevtools/swagger-parser": "^10.0.3",
-    "@budibase/backend-core": "^1.0.130-alpha.0",
-    "@budibase/client": "^1.0.130-alpha.0",
+    "@budibase/backend-core": "^1.0.130-alpha.1",
+    "@budibase/client": "^1.0.130-alpha.1",
     "@budibase/pro": "1.0.130-alpha.0",
-    "@budibase/string-templates": "^1.0.130-alpha.0",
+    "@budibase/string-templates": "^1.0.130-alpha.1",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
     "@elastic/elasticsearch": "7.10.0",
diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json
index a2a1f05c6d..3073481ca5 100644
--- a/packages/string-templates/package.json
+++ b/packages/string-templates/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/string-templates",
-  "version": "1.0.130-alpha.0",
+  "version": "1.0.130-alpha.1",
   "description": "Handlebars wrapper for Budibase templating.",
   "main": "src/index.cjs",
   "module": "dist/bundle.mjs",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index 7ac3a44e0c..e7aba9c151 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/worker",
   "email": "hi@budibase.com",
-  "version": "1.0.130-alpha.0",
+  "version": "1.0.130-alpha.1",
   "description": "Budibase background service",
   "main": "src/index.ts",
   "repository": {
@@ -31,9 +31,9 @@
   "author": "Budibase",
   "license": "GPL-3.0",
   "dependencies": {
-    "@budibase/backend-core": "^1.0.130-alpha.0",
+    "@budibase/backend-core": "^1.0.130-alpha.1",
     "@budibase/pro": "1.0.130-alpha.0",
-    "@budibase/string-templates": "^1.0.130-alpha.0",
+    "@budibase/string-templates": "^1.0.130-alpha.1",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",
     "@techpass/passport-openidconnect": "^0.3.0",

From 7379b4e8604c2ab72e2675af9ce69b88dfe1956b Mon Sep 17 00:00:00 2001
From: Budibase Staging Release Bot <>
Date: Fri, 29 Apr 2022 12:57:22 +0000
Subject: [PATCH 035/100] Update pro version to 1.0.130-alpha.1

---
 packages/server/package.json | 2 +-
 packages/worker/package.json | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/packages/server/package.json b/packages/server/package.json
index 3906874487..4811498088 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -70,7 +70,7 @@
     "@apidevtools/swagger-parser": "^10.0.3",
     "@budibase/backend-core": "^1.0.130-alpha.1",
     "@budibase/client": "^1.0.130-alpha.1",
-    "@budibase/pro": "1.0.130-alpha.0",
+    "@budibase/pro": "1.0.130-alpha.1",
     "@budibase/string-templates": "^1.0.130-alpha.1",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index e7aba9c151..4471b846b1 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -32,7 +32,7 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@budibase/backend-core": "^1.0.130-alpha.1",
-    "@budibase/pro": "1.0.130-alpha.0",
+    "@budibase/pro": "1.0.130-alpha.1",
     "@budibase/string-templates": "^1.0.130-alpha.1",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",

From ed8e4b3d77d8fbbf0c3f378ec26759c02717a77c Mon Sep 17 00:00:00 2001
From: Budibase Release Bot <>
Date: Fri, 29 Apr 2022 13:31:30 +0000
Subject: [PATCH 036/100] v1.0.132

---
 lerna.json                             |  2 +-
 packages/backend-core/package.json     |  2 +-
 packages/bbui/package.json             |  4 ++--
 packages/builder/package.json          | 10 +++++-----
 packages/cli/package.json              |  2 +-
 packages/client/package.json           |  8 ++++----
 packages/frontend-core/package.json    |  4 ++--
 packages/server/package.json           |  8 ++++----
 packages/string-templates/package.json |  2 +-
 packages/worker/package.json           |  6 +++---
 10 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/lerna.json b/lerna.json
index 5d96b1d3bd..a2af84b074 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
 {
-  "version": "1.0.131",
+  "version": "1.0.132",
   "npmClient": "yarn",
   "packages": [
     "packages/*"
diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json
index 754df07fb7..a5896e0bf2 100644
--- a/packages/backend-core/package.json
+++ b/packages/backend-core/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/backend-core",
-  "version": "1.0.131",
+  "version": "1.0.132",
   "description": "Budibase backend core libraries used in server and worker",
   "main": "src/index.js",
   "author": "Budibase",
diff --git a/packages/bbui/package.json b/packages/bbui/package.json
index cba9fdbd6e..ff00a11f44 100644
--- a/packages/bbui/package.json
+++ b/packages/bbui/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/bbui",
   "description": "A UI solution used in the different Budibase projects.",
-  "version": "1.0.131",
+  "version": "1.0.132",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "module": "dist/bbui.es.js",
@@ -38,7 +38,7 @@
   ],
   "dependencies": {
     "@adobe/spectrum-css-workflow-icons": "^1.2.1",
-    "@budibase/string-templates": "^1.0.131",
+    "@budibase/string-templates": "^1.0.132",
     "@spectrum-css/actionbutton": "^1.0.1",
     "@spectrum-css/actiongroup": "^1.0.1",
     "@spectrum-css/avatar": "^3.0.2",
diff --git a/packages/builder/package.json b/packages/builder/package.json
index d22668bb0e..4e72a2857c 100644
--- a/packages/builder/package.json
+++ b/packages/builder/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/builder",
-  "version": "1.0.131",
+  "version": "1.0.132",
   "license": "GPL-3.0",
   "private": true,
   "scripts": {
@@ -65,10 +65,10 @@
     }
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.131",
-    "@budibase/client": "^1.0.131",
-    "@budibase/frontend-core": "^1.0.131",
-    "@budibase/string-templates": "^1.0.131",
+    "@budibase/bbui": "^1.0.132",
+    "@budibase/client": "^1.0.132",
+    "@budibase/frontend-core": "^1.0.132",
+    "@budibase/string-templates": "^1.0.132",
     "@sentry/browser": "5.19.1",
     "@spectrum-css/page": "^3.0.1",
     "@spectrum-css/vars": "^3.0.1",
diff --git a/packages/cli/package.json b/packages/cli/package.json
index 06f4a8dffa..1ef25ddf77 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/cli",
-  "version": "1.0.131",
+  "version": "1.0.132",
   "description": "Budibase CLI, for developers, self hosting and migrations.",
   "main": "src/index.js",
   "bin": {
diff --git a/packages/client/package.json b/packages/client/package.json
index 67ee8e4b29..59e0b7afa7 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/client",
-  "version": "1.0.131",
+  "version": "1.0.132",
   "license": "MPL-2.0",
   "module": "dist/budibase-client.js",
   "main": "dist/budibase-client.js",
@@ -19,9 +19,9 @@
     "dev:builder": "rollup -cw"
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.131",
-    "@budibase/frontend-core": "^1.0.131",
-    "@budibase/string-templates": "^1.0.131",
+    "@budibase/bbui": "^1.0.132",
+    "@budibase/frontend-core": "^1.0.132",
+    "@budibase/string-templates": "^1.0.132",
     "@spectrum-css/button": "^3.0.3",
     "@spectrum-css/card": "^3.0.3",
     "@spectrum-css/divider": "^1.0.3",
diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json
index d5844a93b3..4f754d490f 100644
--- a/packages/frontend-core/package.json
+++ b/packages/frontend-core/package.json
@@ -1,12 +1,12 @@
 {
   "name": "@budibase/frontend-core",
-  "version": "1.0.131",
+  "version": "1.0.132",
   "description": "Budibase frontend core libraries used in builder and client",
   "author": "Budibase",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "dependencies": {
-    "@budibase/bbui": "^1.0.131",
+    "@budibase/bbui": "^1.0.132",
     "lodash": "^4.17.21",
     "svelte": "^3.46.2"
   }
diff --git a/packages/server/package.json b/packages/server/package.json
index 531a823b42..daff649503 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/server",
   "email": "hi@budibase.com",
-  "version": "1.0.131",
+  "version": "1.0.132",
   "description": "Budibase Web Server",
   "main": "src/index.ts",
   "repository": {
@@ -68,10 +68,10 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@apidevtools/swagger-parser": "^10.0.3",
-    "@budibase/backend-core": "^1.0.131",
-    "@budibase/client": "^1.0.131",
+    "@budibase/backend-core": "^1.0.132",
+    "@budibase/client": "^1.0.132",
     "@budibase/pro": "1.0.131",
-    "@budibase/string-templates": "^1.0.131",
+    "@budibase/string-templates": "^1.0.132",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
     "@elastic/elasticsearch": "7.10.0",
diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json
index 449d300ecf..257f7f7ed8 100644
--- a/packages/string-templates/package.json
+++ b/packages/string-templates/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/string-templates",
-  "version": "1.0.131",
+  "version": "1.0.132",
   "description": "Handlebars wrapper for Budibase templating.",
   "main": "src/index.cjs",
   "module": "dist/bundle.mjs",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index 3bc6441327..a8d03105a3 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/worker",
   "email": "hi@budibase.com",
-  "version": "1.0.131",
+  "version": "1.0.132",
   "description": "Budibase background service",
   "main": "src/index.ts",
   "repository": {
@@ -31,9 +31,9 @@
   "author": "Budibase",
   "license": "GPL-3.0",
   "dependencies": {
-    "@budibase/backend-core": "^1.0.131",
+    "@budibase/backend-core": "^1.0.132",
     "@budibase/pro": "1.0.131",
-    "@budibase/string-templates": "^1.0.131",
+    "@budibase/string-templates": "^1.0.132",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",
     "@techpass/passport-openidconnect": "^0.3.0",

From d9fdb884e378174056621f24b1f755c8ee5f948f Mon Sep 17 00:00:00 2001
From: Budibase Release Bot <>
Date: Fri, 29 Apr 2022 13:32:47 +0000
Subject: [PATCH 037/100] Update pro version to 1.0.132

---
 packages/server/package.json | 2 +-
 packages/worker/package.json | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/packages/server/package.json b/packages/server/package.json
index daff649503..fffaffea10 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -70,7 +70,7 @@
     "@apidevtools/swagger-parser": "^10.0.3",
     "@budibase/backend-core": "^1.0.132",
     "@budibase/client": "^1.0.132",
-    "@budibase/pro": "1.0.131",
+    "@budibase/pro": "1.0.132",
     "@budibase/string-templates": "^1.0.132",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index a8d03105a3..05b0e2cf40 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -32,7 +32,7 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@budibase/backend-core": "^1.0.132",
-    "@budibase/pro": "1.0.131",
+    "@budibase/pro": "1.0.132",
     "@budibase/string-templates": "^1.0.132",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",

From 9ea6199ebacf9268d6f5cde895919141e4247af0 Mon Sep 17 00:00:00 2001
From: mike12345567 <me@michaeldrury.co.uk>
Date: Fri, 29 Apr 2022 16:22:11 +0100
Subject: [PATCH 038/100] Fixing issue #5594 - allowing use of double
 underscores in table names for SQL.

---
 packages/server/src/integrations/utils.ts | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/packages/server/src/integrations/utils.ts b/packages/server/src/integrations/utils.ts
index 326b213bc7..16cc6d387e 100644
--- a/packages/server/src/integrations/utils.ts
+++ b/packages/server/src/integrations/utils.ts
@@ -85,9 +85,9 @@ export function breakExternalTableId(tableId: string | undefined) {
     return {}
   }
   const parts = tableId.split(DOUBLE_SEPARATOR)
-  let tableName = parts.pop()
+  let datasourceId = parts.shift()
   // if they need joined
-  let datasourceId = parts.join(DOUBLE_SEPARATOR)
+  let tableName = parts.join(DOUBLE_SEPARATOR)
   return { datasourceId, tableName }
 }
 

From 6b4377c93271025df71533173fa23827f9fd9f0e Mon Sep 17 00:00:00 2001
From: mike12345567 <me@michaeldrury.co.uk>
Date: Fri, 29 Apr 2022 16:47:43 +0100
Subject: [PATCH 039/100] Fix for #5612 - stop some formats of string being
 in-correctly parsed as dates by MySQL - disable type coercion for data source
 plus mysql tables (knex converts).

---
 packages/server/src/integrations/mysql.ts | 27 ++++++++++++++---------
 1 file changed, 16 insertions(+), 11 deletions(-)

diff --git a/packages/server/src/integrations/mysql.ts b/packages/server/src/integrations/mysql.ts
index 065a1b2333..c2ef44c1bd 100644
--- a/packages/server/src/integrations/mysql.ts
+++ b/packages/server/src/integrations/mysql.ts
@@ -101,7 +101,7 @@ module MySQLModule {
       }
       // if not a number, see if it is a date - important to do in this order as any
       // integer will be considered a valid date
-      else if (dayjs(binding).isValid()) {
+      else if (/^\d/.test(binding) && dayjs(binding).isValid()) {
         bindings[i] = dayjs(binding).toDate()
       }
     }
@@ -151,20 +151,24 @@ module MySQLModule {
 
     async internalQuery(
       query: SqlQuery,
-      connect: boolean = true
+      opts: { connect?: boolean; disableCoercion?: boolean } = {
+        connect: true,
+        disableCoercion: false,
+      }
     ): Promise<any[] | any> {
       try {
-        if (connect) {
+        if (opts?.connect) {
           await this.connect()
         }
+        const baseBindings = query.bindings || []
+        const bindings = opts?.disableCoercion
+          ? baseBindings
+          : bindingTypeCoerce(baseBindings)
         // Node MySQL is callback based, so we must wrap our call in a promise
-        const response = await this.client.query(
-          query.sql,
-          bindingTypeCoerce(query.bindings || [])
-        )
+        const response = await this.client.query(query.sql, bindings)
         return response[0]
       } finally {
-        if (connect) {
+        if (opts?.connect) {
           await this.disconnect()
         }
       }
@@ -179,7 +183,7 @@ module MySQLModule {
         // get the tables first
         const tablesResp = await this.internalQuery(
           { sql: "SHOW TABLES;" },
-          false
+          { connect: false }
         )
         const tableNames = tablesResp.map(
           (obj: any) =>
@@ -191,7 +195,7 @@ module MySQLModule {
           const schema: TableSchema = {}
           const descResp = await this.internalQuery(
             { sql: `DESCRIBE \`${tableName}\`;` },
-            false
+            { connect: false }
           )
           for (let column of descResp) {
             const columnName = column.Field
@@ -254,7 +258,8 @@ module MySQLModule {
     async query(json: QueryJson) {
       await this.connect()
       try {
-        const queryFn = (query: any) => this.internalQuery(query, false)
+        const queryFn = (query: any) =>
+          this.internalQuery(query, { connect: false, disableCoercion: true })
         return await this.queryWithReturning(json, queryFn)
       } finally {
         await this.disconnect()

From 31c45daacf4ad3fe152307e2591bc347a934639f Mon Sep 17 00:00:00 2001
From: Martin McKeaveney <martinmckeaveney@gmail.com>
Date: Sun, 1 May 2022 12:53:39 +0100
Subject: [PATCH 040/100] update google button to match their branding
 guidelines

---
 .../_components/GoogleButton.svelte           |  37 +++--
 .../_components/GoogleSignIn.svelte           | 145 ++++++++++++++++++
 2 files changed, 166 insertions(+), 16 deletions(-)
 create mode 100644 packages/builder/src/components/backend/DatasourceNavigator/_components/GoogleSignIn.svelte

diff --git a/packages/builder/src/components/backend/DatasourceNavigator/_components/GoogleButton.svelte b/packages/builder/src/components/backend/DatasourceNavigator/_components/GoogleButton.svelte
index 642aa548f2..4622bd7b19 100644
--- a/packages/builder/src/components/backend/DatasourceNavigator/_components/GoogleButton.svelte
+++ b/packages/builder/src/components/backend/DatasourceNavigator/_components/GoogleButton.svelte
@@ -1,5 +1,4 @@
 <script>
-  import { ActionButton } from "@budibase/bbui"
   import GoogleLogo from "assets/google-logo.png"
   import { store } from "builderStore"
   import { auth } from "stores/portal"
@@ -10,7 +9,7 @@
   $: tenantId = $auth.tenantId
 </script>
 
-<ActionButton
+<button
   on:click={async () => {
     let ds = datasource
     if (!ds) {
@@ -22,26 +21,32 @@
     )
   }}
 >
-  <div class="inner">
-    <img src={GoogleLogo} alt="google icon" />
-    <p>Sign in with Google</p>
-  </div>
-</ActionButton>
+  <img src={GoogleLogo} alt="google icon" />
+  <p>Sign in with Google</p>
+</button>
 
 <style>
-  .inner {
+  button {
+    width: 195px;
+    height: 40px;
+    font-size: 14px;
     display: flex;
     flex-direction: row;
     align-items: center;
-    justify-content: center;
-    padding-top: var(--spacing-xs);
-    padding-bottom: var(--spacing-xs);
+    font-weight: 500;
+    background: #4285f4;
+    color: #ffffff;
+    border: none;
+    cursor: pointer;
+    padding: 2px;
+    border-radius: 2px;
   }
-  .inner img {
+
+  img {
+    border-radius: 2px;
     width: 18px;
-    margin: 3px 10px 3px 3px;
-  }
-  .inner p {
-    margin: 0;
+    margin-right: 11px;
+    background: #ffffff;
+    padding: 10px;
   }
 </style>
diff --git a/packages/builder/src/components/backend/DatasourceNavigator/_components/GoogleSignIn.svelte b/packages/builder/src/components/backend/DatasourceNavigator/_components/GoogleSignIn.svelte
new file mode 100644
index 0000000000..c30e8fc2ee
--- /dev/null
+++ b/packages/builder/src/components/backend/DatasourceNavigator/_components/GoogleSignIn.svelte
@@ -0,0 +1,145 @@
+<script>
+  export let width = 100
+  export let height = 100
+</script>
+
+<svg
+  {width}
+  {height}
+  viewBox="0 0 46 46"
+  version="1.1"
+  xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink"
+  xmlns:sketch="http://www.bohemiancoding.com/sketch/ns"
+>
+  <!-- Generator: Sketch 3.3.3 (12081) - http://www.bohemiancoding.com/sketch -->
+  <title>btn_google_dark_normal_ios</title>
+  <desc>Created with Sketch.</desc>
+  <defs>
+    <filter
+      x="-50%"
+      y="-50%"
+      width="200%"
+      height="200%"
+      filterUnits="objectBoundingBox"
+      id="filter-1"
+    >
+      <feOffset dx="0" dy="1" in="SourceAlpha" result="shadowOffsetOuter1" />
+      <feGaussianBlur
+        stdDeviation="0.5"
+        in="shadowOffsetOuter1"
+        result="shadowBlurOuter1"
+      />
+      <feColorMatrix
+        values="0 0 0 0 0   0 0 0 0 0   0 0 0 0 0  0 0 0 0.168 0"
+        in="shadowBlurOuter1"
+        type="matrix"
+        result="shadowMatrixOuter1"
+      />
+      <feOffset dx="0" dy="0" in="SourceAlpha" result="shadowOffsetOuter2" />
+      <feGaussianBlur
+        stdDeviation="0.5"
+        in="shadowOffsetOuter2"
+        result="shadowBlurOuter2"
+      />
+      <feColorMatrix
+        values="0 0 0 0 0   0 0 0 0 0   0 0 0 0 0  0 0 0 0.084 0"
+        in="shadowBlurOuter2"
+        type="matrix"
+        result="shadowMatrixOuter2"
+      />
+      <feMerge>
+        <feMergeNode in="shadowMatrixOuter1" />
+        <feMergeNode in="shadowMatrixOuter2" />
+        <feMergeNode in="SourceGraphic" />
+      </feMerge>
+    </filter>
+    <rect id="path-2" x="0" y="0" width="40" height="40" rx="2" />
+    <rect id="path-3" x="5" y="5" width="38" height="38" rx="1" />
+  </defs>
+  <g
+    id="Google-Button"
+    stroke="none"
+    stroke-width="1"
+    fill="none"
+    fill-rule="evenodd"
+    sketch:type="MSPage"
+  >
+    <g
+      id="9-PATCH"
+      sketch:type="MSArtboardGroup"
+      transform="translate(-608.000000, -219.000000)"
+    />
+    <g
+      id="btn_google_dark_normal"
+      sketch:type="MSArtboardGroup"
+      transform="translate(-1.000000, -1.000000)"
+    >
+      <g
+        id="button"
+        sketch:type="MSLayerGroup"
+        transform="translate(4.000000, 4.000000)"
+        filter="url(#filter-1)"
+      >
+        <g id="button-bg">
+          <use
+            fill="#4285F4"
+            fill-rule="evenodd"
+            sketch:type="MSShapeGroup"
+            xlink:href="#path-2"
+          />
+          <use fill="none" xlink:href="#path-2" />
+          <use fill="none" xlink:href="#path-2" />
+          <use fill="none" xlink:href="#path-2" />
+        </g>
+      </g>
+      <g id="button-bg-copy">
+        <use
+          fill="#FFFFFF"
+          fill-rule="evenodd"
+          sketch:type="MSShapeGroup"
+          xlink:href="#path-3"
+        />
+        <use fill="none" xlink:href="#path-3" />
+        <use fill="none" xlink:href="#path-3" />
+        <use fill="none" xlink:href="#path-3" />
+      </g>
+      <g
+        id="logo_googleg_48dp"
+        sketch:type="MSLayerGroup"
+        transform="translate(15.000000, 15.000000)"
+      >
+        <path
+          d="M17.64,9.20454545 C17.64,8.56636364 17.5827273,7.95272727 17.4763636,7.36363636 L9,7.36363636 L9,10.845 L13.8436364,10.845 C13.635,11.97 13.0009091,12.9231818 12.0477273,13.5613636 L12.0477273,15.8195455 L14.9563636,15.8195455 C16.6581818,14.2527273 17.64,11.9454545 17.64,9.20454545 L17.64,9.20454545 Z"
+          id="Shape"
+          fill="#4285F4"
+          sketch:type="MSShapeGroup"
+        />
+        <path
+          d="M9,18 C11.43,18 13.4672727,17.1940909 14.9563636,15.8195455 L12.0477273,13.5613636 C11.2418182,14.1013636 10.2109091,14.4204545 9,14.4204545 C6.65590909,14.4204545 4.67181818,12.8372727 3.96409091,10.71 L0.957272727,10.71 L0.957272727,13.0418182 C2.43818182,15.9831818 5.48181818,18 9,18 L9,18 Z"
+          id="Shape"
+          fill="#34A853"
+          sketch:type="MSShapeGroup"
+        />
+        <path
+          d="M3.96409091,10.71 C3.78409091,10.17 3.68181818,9.59318182 3.68181818,9 C3.68181818,8.40681818 3.78409091,7.83 3.96409091,7.29 L3.96409091,4.95818182 L0.957272727,4.95818182 C0.347727273,6.17318182 0,7.54772727 0,9 C0,10.4522727 0.347727273,11.8268182 0.957272727,13.0418182 L3.96409091,10.71 L3.96409091,10.71 Z"
+          id="Shape"
+          fill="#FBBC05"
+          sketch:type="MSShapeGroup"
+        />
+        <path
+          d="M9,3.57954545 C10.3213636,3.57954545 11.5077273,4.03363636 12.4404545,4.92545455 L15.0218182,2.34409091 C13.4631818,0.891818182 11.4259091,0 9,0 C5.48181818,0 2.43818182,2.01681818 0.957272727,4.95818182 L3.96409091,7.29 C4.67181818,5.16272727 6.65590909,3.57954545 9,3.57954545 L9,3.57954545 Z"
+          id="Shape"
+          fill="#EA4335"
+          sketch:type="MSShapeGroup"
+        />
+        <path
+          d="M0,0 L18,0 L18,18 L0,18 L0,0 Z"
+          id="Shape"
+          sketch:type="MSShapeGroup"
+        />
+      </g>
+      <g id="handles_square" sketch:type="MSLayerGroup" />
+    </g>
+  </g>
+</svg>

From d4229129434f12e31f2e8dd211e0164fc408e5e8 Mon Sep 17 00:00:00 2001
From: Budibase Release Bot <>
Date: Mon, 2 May 2022 08:48:23 +0000
Subject: [PATCH 041/100] v1.0.133

---
 lerna.json                             |  2 +-
 packages/backend-core/package.json     |  2 +-
 packages/bbui/package.json             |  4 ++--
 packages/builder/package.json          | 10 +++++-----
 packages/cli/package.json              |  2 +-
 packages/client/package.json           |  8 ++++----
 packages/frontend-core/package.json    |  4 ++--
 packages/server/package.json           |  8 ++++----
 packages/string-templates/package.json |  2 +-
 packages/worker/package.json           |  6 +++---
 10 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/lerna.json b/lerna.json
index a2af84b074..7c72b2e228 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
 {
-  "version": "1.0.132",
+  "version": "1.0.133",
   "npmClient": "yarn",
   "packages": [
     "packages/*"
diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json
index a5896e0bf2..e544a10a3e 100644
--- a/packages/backend-core/package.json
+++ b/packages/backend-core/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/backend-core",
-  "version": "1.0.132",
+  "version": "1.0.133",
   "description": "Budibase backend core libraries used in server and worker",
   "main": "src/index.js",
   "author": "Budibase",
diff --git a/packages/bbui/package.json b/packages/bbui/package.json
index ff00a11f44..72daac2bc3 100644
--- a/packages/bbui/package.json
+++ b/packages/bbui/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/bbui",
   "description": "A UI solution used in the different Budibase projects.",
-  "version": "1.0.132",
+  "version": "1.0.133",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "module": "dist/bbui.es.js",
@@ -38,7 +38,7 @@
   ],
   "dependencies": {
     "@adobe/spectrum-css-workflow-icons": "^1.2.1",
-    "@budibase/string-templates": "^1.0.132",
+    "@budibase/string-templates": "^1.0.133",
     "@spectrum-css/actionbutton": "^1.0.1",
     "@spectrum-css/actiongroup": "^1.0.1",
     "@spectrum-css/avatar": "^3.0.2",
diff --git a/packages/builder/package.json b/packages/builder/package.json
index 4e72a2857c..83d3c50c2f 100644
--- a/packages/builder/package.json
+++ b/packages/builder/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/builder",
-  "version": "1.0.132",
+  "version": "1.0.133",
   "license": "GPL-3.0",
   "private": true,
   "scripts": {
@@ -65,10 +65,10 @@
     }
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.132",
-    "@budibase/client": "^1.0.132",
-    "@budibase/frontend-core": "^1.0.132",
-    "@budibase/string-templates": "^1.0.132",
+    "@budibase/bbui": "^1.0.133",
+    "@budibase/client": "^1.0.133",
+    "@budibase/frontend-core": "^1.0.133",
+    "@budibase/string-templates": "^1.0.133",
     "@sentry/browser": "5.19.1",
     "@spectrum-css/page": "^3.0.1",
     "@spectrum-css/vars": "^3.0.1",
diff --git a/packages/cli/package.json b/packages/cli/package.json
index 1ef25ddf77..a54e2a5363 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/cli",
-  "version": "1.0.132",
+  "version": "1.0.133",
   "description": "Budibase CLI, for developers, self hosting and migrations.",
   "main": "src/index.js",
   "bin": {
diff --git a/packages/client/package.json b/packages/client/package.json
index 59e0b7afa7..5477758e7f 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/client",
-  "version": "1.0.132",
+  "version": "1.0.133",
   "license": "MPL-2.0",
   "module": "dist/budibase-client.js",
   "main": "dist/budibase-client.js",
@@ -19,9 +19,9 @@
     "dev:builder": "rollup -cw"
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.132",
-    "@budibase/frontend-core": "^1.0.132",
-    "@budibase/string-templates": "^1.0.132",
+    "@budibase/bbui": "^1.0.133",
+    "@budibase/frontend-core": "^1.0.133",
+    "@budibase/string-templates": "^1.0.133",
     "@spectrum-css/button": "^3.0.3",
     "@spectrum-css/card": "^3.0.3",
     "@spectrum-css/divider": "^1.0.3",
diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json
index 4f754d490f..3fe7b7da3e 100644
--- a/packages/frontend-core/package.json
+++ b/packages/frontend-core/package.json
@@ -1,12 +1,12 @@
 {
   "name": "@budibase/frontend-core",
-  "version": "1.0.132",
+  "version": "1.0.133",
   "description": "Budibase frontend core libraries used in builder and client",
   "author": "Budibase",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "dependencies": {
-    "@budibase/bbui": "^1.0.132",
+    "@budibase/bbui": "^1.0.133",
     "lodash": "^4.17.21",
     "svelte": "^3.46.2"
   }
diff --git a/packages/server/package.json b/packages/server/package.json
index fffaffea10..bd6d85ab93 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/server",
   "email": "hi@budibase.com",
-  "version": "1.0.132",
+  "version": "1.0.133",
   "description": "Budibase Web Server",
   "main": "src/index.ts",
   "repository": {
@@ -68,10 +68,10 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@apidevtools/swagger-parser": "^10.0.3",
-    "@budibase/backend-core": "^1.0.132",
-    "@budibase/client": "^1.0.132",
+    "@budibase/backend-core": "^1.0.133",
+    "@budibase/client": "^1.0.133",
     "@budibase/pro": "1.0.132",
-    "@budibase/string-templates": "^1.0.132",
+    "@budibase/string-templates": "^1.0.133",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
     "@elastic/elasticsearch": "7.10.0",
diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json
index 257f7f7ed8..e9e0d85a04 100644
--- a/packages/string-templates/package.json
+++ b/packages/string-templates/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/string-templates",
-  "version": "1.0.132",
+  "version": "1.0.133",
   "description": "Handlebars wrapper for Budibase templating.",
   "main": "src/index.cjs",
   "module": "dist/bundle.mjs",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index 05b0e2cf40..4813992b0d 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/worker",
   "email": "hi@budibase.com",
-  "version": "1.0.132",
+  "version": "1.0.133",
   "description": "Budibase background service",
   "main": "src/index.ts",
   "repository": {
@@ -31,9 +31,9 @@
   "author": "Budibase",
   "license": "GPL-3.0",
   "dependencies": {
-    "@budibase/backend-core": "^1.0.132",
+    "@budibase/backend-core": "^1.0.133",
     "@budibase/pro": "1.0.132",
-    "@budibase/string-templates": "^1.0.132",
+    "@budibase/string-templates": "^1.0.133",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",
     "@techpass/passport-openidconnect": "^0.3.0",

From 2d953b2dd85fd7ab426992a1f3a6dc0386bfe35d Mon Sep 17 00:00:00 2001
From: Budibase Release Bot <>
Date: Mon, 2 May 2022 08:49:41 +0000
Subject: [PATCH 042/100] Update pro version to 1.0.133

---
 packages/server/package.json | 2 +-
 packages/worker/package.json | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/packages/server/package.json b/packages/server/package.json
index bd6d85ab93..c69daeaf39 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -70,7 +70,7 @@
     "@apidevtools/swagger-parser": "^10.0.3",
     "@budibase/backend-core": "^1.0.133",
     "@budibase/client": "^1.0.133",
-    "@budibase/pro": "1.0.132",
+    "@budibase/pro": "1.0.133",
     "@budibase/string-templates": "^1.0.133",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index 4813992b0d..94173e2e9a 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -32,7 +32,7 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@budibase/backend-core": "^1.0.133",
-    "@budibase/pro": "1.0.132",
+    "@budibase/pro": "1.0.133",
     "@budibase/string-templates": "^1.0.133",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",

From b3fb74de0a7834124368764311beceb12f13b367 Mon Sep 17 00:00:00 2001
From: Martin McKeaveney <martinmckeaveney@gmail.com>
Date: Tue, 3 May 2022 10:06:54 +0100
Subject: [PATCH 043/100] record cypress runs in smoke test

---
 .github/workflows/smoke_test.yaml | 2 ++
 packages/builder/package.json     | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/.github/workflows/smoke_test.yaml b/.github/workflows/smoke_test.yaml
index b26d0386fc..927d860957 100644
--- a/.github/workflows/smoke_test.yaml
+++ b/.github/workflows/smoke_test.yaml
@@ -33,6 +33,8 @@ jobs:
         with:
           install: false
           command: yarn test:e2e:ci
+        env:
+          CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
       
       # TODO: upload recordings to s3
       # - name: Configure AWS Credentials
diff --git a/packages/builder/package.json b/packages/builder/package.json
index 83d3c50c2f..037c3b9791 100644
--- a/packages/builder/package.json
+++ b/packages/builder/package.json
@@ -13,7 +13,7 @@
     "cy:setup:ci": "node ./cypress/setup.js",
     "cy:open": "cypress open",
     "cy:run": "cypress run",
-    "cy:run:ci": "xvfb-run cypress run --headed --browser chrome",
+    "cy:run:ci": "xvfb-run cypress run --headed --browser chrome --record",
     "cy:test": "start-server-and-test cy:setup http://localhost:4100/builder cy:run",
     "cy:ci": "start-server-and-test cy:setup:ci http://localhost:4100/builder cy:run:ci",
     "cy:debug": "start-server-and-test cy:setup http://localhost:4100/builder cy:open",

From c2b3a7e0c85ca970cac0b6da2f46a499c8bfb4bf Mon Sep 17 00:00:00 2001
From: Budibase Release Bot <>
Date: Tue, 3 May 2022 09:32:48 +0000
Subject: [PATCH 044/100] v1.0.134

---
 lerna.json                             |  2 +-
 packages/backend-core/package.json     |  2 +-
 packages/bbui/package.json             |  4 ++--
 packages/builder/package.json          | 10 +++++-----
 packages/cli/package.json              |  2 +-
 packages/client/package.json           |  8 ++++----
 packages/frontend-core/package.json    |  4 ++--
 packages/server/package.json           |  8 ++++----
 packages/string-templates/package.json |  2 +-
 packages/worker/package.json           |  6 +++---
 10 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/lerna.json b/lerna.json
index 7c72b2e228..82ef5dc786 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
 {
-  "version": "1.0.133",
+  "version": "1.0.134",
   "npmClient": "yarn",
   "packages": [
     "packages/*"
diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json
index e544a10a3e..09fc5cf002 100644
--- a/packages/backend-core/package.json
+++ b/packages/backend-core/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/backend-core",
-  "version": "1.0.133",
+  "version": "1.0.134",
   "description": "Budibase backend core libraries used in server and worker",
   "main": "src/index.js",
   "author": "Budibase",
diff --git a/packages/bbui/package.json b/packages/bbui/package.json
index 72daac2bc3..bceefa032d 100644
--- a/packages/bbui/package.json
+++ b/packages/bbui/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/bbui",
   "description": "A UI solution used in the different Budibase projects.",
-  "version": "1.0.133",
+  "version": "1.0.134",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "module": "dist/bbui.es.js",
@@ -38,7 +38,7 @@
   ],
   "dependencies": {
     "@adobe/spectrum-css-workflow-icons": "^1.2.1",
-    "@budibase/string-templates": "^1.0.133",
+    "@budibase/string-templates": "^1.0.134",
     "@spectrum-css/actionbutton": "^1.0.1",
     "@spectrum-css/actiongroup": "^1.0.1",
     "@spectrum-css/avatar": "^3.0.2",
diff --git a/packages/builder/package.json b/packages/builder/package.json
index 037c3b9791..a41f46c8a5 100644
--- a/packages/builder/package.json
+++ b/packages/builder/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/builder",
-  "version": "1.0.133",
+  "version": "1.0.134",
   "license": "GPL-3.0",
   "private": true,
   "scripts": {
@@ -65,10 +65,10 @@
     }
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.133",
-    "@budibase/client": "^1.0.133",
-    "@budibase/frontend-core": "^1.0.133",
-    "@budibase/string-templates": "^1.0.133",
+    "@budibase/bbui": "^1.0.134",
+    "@budibase/client": "^1.0.134",
+    "@budibase/frontend-core": "^1.0.134",
+    "@budibase/string-templates": "^1.0.134",
     "@sentry/browser": "5.19.1",
     "@spectrum-css/page": "^3.0.1",
     "@spectrum-css/vars": "^3.0.1",
diff --git a/packages/cli/package.json b/packages/cli/package.json
index a54e2a5363..7d14c93ade 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/cli",
-  "version": "1.0.133",
+  "version": "1.0.134",
   "description": "Budibase CLI, for developers, self hosting and migrations.",
   "main": "src/index.js",
   "bin": {
diff --git a/packages/client/package.json b/packages/client/package.json
index 5477758e7f..743bd52cec 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/client",
-  "version": "1.0.133",
+  "version": "1.0.134",
   "license": "MPL-2.0",
   "module": "dist/budibase-client.js",
   "main": "dist/budibase-client.js",
@@ -19,9 +19,9 @@
     "dev:builder": "rollup -cw"
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.133",
-    "@budibase/frontend-core": "^1.0.133",
-    "@budibase/string-templates": "^1.0.133",
+    "@budibase/bbui": "^1.0.134",
+    "@budibase/frontend-core": "^1.0.134",
+    "@budibase/string-templates": "^1.0.134",
     "@spectrum-css/button": "^3.0.3",
     "@spectrum-css/card": "^3.0.3",
     "@spectrum-css/divider": "^1.0.3",
diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json
index 3fe7b7da3e..972443e23c 100644
--- a/packages/frontend-core/package.json
+++ b/packages/frontend-core/package.json
@@ -1,12 +1,12 @@
 {
   "name": "@budibase/frontend-core",
-  "version": "1.0.133",
+  "version": "1.0.134",
   "description": "Budibase frontend core libraries used in builder and client",
   "author": "Budibase",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "dependencies": {
-    "@budibase/bbui": "^1.0.133",
+    "@budibase/bbui": "^1.0.134",
     "lodash": "^4.17.21",
     "svelte": "^3.46.2"
   }
diff --git a/packages/server/package.json b/packages/server/package.json
index c69daeaf39..a099628690 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/server",
   "email": "hi@budibase.com",
-  "version": "1.0.133",
+  "version": "1.0.134",
   "description": "Budibase Web Server",
   "main": "src/index.ts",
   "repository": {
@@ -68,10 +68,10 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@apidevtools/swagger-parser": "^10.0.3",
-    "@budibase/backend-core": "^1.0.133",
-    "@budibase/client": "^1.0.133",
+    "@budibase/backend-core": "^1.0.134",
+    "@budibase/client": "^1.0.134",
     "@budibase/pro": "1.0.133",
-    "@budibase/string-templates": "^1.0.133",
+    "@budibase/string-templates": "^1.0.134",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
     "@elastic/elasticsearch": "7.10.0",
diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json
index e9e0d85a04..8523ccbe1a 100644
--- a/packages/string-templates/package.json
+++ b/packages/string-templates/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/string-templates",
-  "version": "1.0.133",
+  "version": "1.0.134",
   "description": "Handlebars wrapper for Budibase templating.",
   "main": "src/index.cjs",
   "module": "dist/bundle.mjs",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index 94173e2e9a..270023f05f 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/worker",
   "email": "hi@budibase.com",
-  "version": "1.0.133",
+  "version": "1.0.134",
   "description": "Budibase background service",
   "main": "src/index.ts",
   "repository": {
@@ -31,9 +31,9 @@
   "author": "Budibase",
   "license": "GPL-3.0",
   "dependencies": {
-    "@budibase/backend-core": "^1.0.133",
+    "@budibase/backend-core": "^1.0.134",
     "@budibase/pro": "1.0.133",
-    "@budibase/string-templates": "^1.0.133",
+    "@budibase/string-templates": "^1.0.134",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",
     "@techpass/passport-openidconnect": "^0.3.0",

From b27a5c92f894b5026adc029b0a27596c589c22db Mon Sep 17 00:00:00 2001
From: Budibase Release Bot <>
Date: Tue, 3 May 2022 09:34:07 +0000
Subject: [PATCH 045/100] Update pro version to 1.0.134

---
 packages/server/package.json | 2 +-
 packages/worker/package.json | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/packages/server/package.json b/packages/server/package.json
index a099628690..a621dc3453 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -70,7 +70,7 @@
     "@apidevtools/swagger-parser": "^10.0.3",
     "@budibase/backend-core": "^1.0.134",
     "@budibase/client": "^1.0.134",
-    "@budibase/pro": "1.0.133",
+    "@budibase/pro": "1.0.134",
     "@budibase/string-templates": "^1.0.134",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index 270023f05f..fd243cba90 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -32,7 +32,7 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@budibase/backend-core": "^1.0.134",
-    "@budibase/pro": "1.0.133",
+    "@budibase/pro": "1.0.134",
     "@budibase/string-templates": "^1.0.134",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",

From 696d1714f6003b93a5be89be39c1eab93b64997d Mon Sep 17 00:00:00 2001
From: Mel O'Hagan <mel@budibase.com>
Date: Tue, 3 May 2022 10:36:50 +0100
Subject: [PATCH 046/100] Refetch the admin checklist on SMTP config save

---
 .../builder/portal/manage/email/index.svelte  |  3 ++-
 packages/builder/src/stores/portal/admin.js   | 25 ++++++++++++-------
 2 files changed, 18 insertions(+), 10 deletions(-)

diff --git a/packages/builder/src/pages/builder/portal/manage/email/index.svelte b/packages/builder/src/pages/builder/portal/manage/email/index.svelte
index 4ef59d2daa..56242f0fe4 100644
--- a/packages/builder/src/pages/builder/portal/manage/email/index.svelte
+++ b/packages/builder/src/pages/builder/portal/manage/email/index.svelte
@@ -13,7 +13,7 @@
     Table,
     Checkbox,
   } from "@budibase/bbui"
-  import { email } from "stores/portal"
+  import { email, admin } from "stores/portal"
   import { API } from "api"
   import { cloneDeep } from "lodash/fp"
   import analytics, { Events } from "analytics"
@@ -58,6 +58,7 @@
       const savedConfig = await API.saveConfig(smtp)
       smtpConfig._rev = savedConfig._rev
       smtpConfig._id = savedConfig._id
+      await admin.getChecklist()
       notifications.success(`Settings saved`)
       analytics.captureEvent(Events.SMTP.SAVED)
     } catch (error) {
diff --git a/packages/builder/src/stores/portal/admin.js b/packages/builder/src/stores/portal/admin.js
index 088d396291..69a2c82349 100644
--- a/packages/builder/src/stores/portal/admin.js
+++ b/packages/builder/src/stores/portal/admin.js
@@ -24,14 +24,8 @@ export function createAdminStore() {
   const admin = writable(DEFAULT_CONFIG)
 
   async function init() {
-    const tenantId = get(auth).tenantId
-    const checklist = await API.getChecklist(tenantId)
-    const totalSteps = Object.keys(checklist).length
-    const completedSteps = Object.values(checklist).filter(
-      x => x?.checked
-    ).length
+    await getChecklist()
     await getEnvironment()
-
     // enable system status checks in the cloud
     if (get(admin).cloud) {
       await getSystemStatus()
@@ -40,8 +34,6 @@ export function createAdminStore() {
 
     admin.update(store => {
       store.loaded = true
-      store.checklist = checklist
-      store.onboardingProgress = (completedSteps / totalSteps) * 100
       return store
     })
   }
@@ -81,6 +73,20 @@ export function createAdminStore() {
     })
   }
 
+  async function getChecklist() {
+    const tenantId = get(auth).tenantId
+    const checklist = await API.getChecklist(tenantId)
+    const totalSteps = Object.keys(checklist).length
+    const completedSteps = Object.values(checklist).filter(
+      x => x?.checked
+    ).length
+    admin.update(store => {
+      store.checklist = checklist
+      store.onboardingProgress = (completedSteps / totalSteps) * 100
+      return store
+    })
+  }
+
   function unload() {
     admin.update(store => {
       store.loaded = false
@@ -93,6 +99,7 @@ export function createAdminStore() {
     init,
     checkImportComplete,
     unload,
+    getChecklist,
   }
 }
 

From a9717f3b8f13a25492ed9d156be331f4b826d9a6 Mon Sep 17 00:00:00 2001
From: Rory Powell <rory.codes@gmail.com>
Date: Tue, 3 May 2022 13:27:22 +0100
Subject: [PATCH 047/100] Add workflow_dispatch to ci, release-develop and
 release

---
 .github/workflows/budibase_ci.yml     |  1 +
 .github/workflows/release-develop.yml |  6 ++++++
 .github/workflows/release.yml         |  6 ++++++
 packages/server/yarn.lock             | 18 +++++++++---------
 packages/worker/yarn.lock             | 18 +++++++++---------
 5 files changed, 31 insertions(+), 18 deletions(-)

diff --git a/.github/workflows/budibase_ci.yml b/.github/workflows/budibase_ci.yml
index 0881d2528d..8e235532cf 100644
--- a/.github/workflows/budibase_ci.yml
+++ b/.github/workflows/budibase_ci.yml
@@ -11,6 +11,7 @@ on:
     branches:
       - master
       - develop 
+ workflow_dispatch:
 
 env:
   BRANCH: ${{ github.event.pull_request.head.ref }}
diff --git a/.github/workflows/release-develop.yml b/.github/workflows/release-develop.yml
index 87e4f0988a..7ee02ccdd1 100644
--- a/.github/workflows/release-develop.yml
+++ b/.github/workflows/release-develop.yml
@@ -14,6 +14,7 @@ on:
       - 'yarn.lock'
       - 'package.json'
       - 'yarn.lock'
+ workflow_dispatch:
 
 env:
   POSTHOG_TOKEN: ${{ secrets.POSTHOG_TOKEN }}
@@ -26,6 +27,11 @@ jobs:
     runs-on: ubuntu-latest 
 
     steps:
+      - name: Fail if branch is not develop
+        if: github.ref != 'refs/heads/develop' 
+        run: | 
+          echo "Ref is not develop, you must run this job from develop."
+          exit 1
       - uses: actions/checkout@v2
       - uses: actions/setup-node@v1
         with:
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 3fe81dbcd1..359ad4467b 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -14,6 +14,7 @@ on:
       - 'yarn.lock'
       - 'package.json'
       - 'yarn.lock'
+ workflow_dispatch:
 
 env:
   POSTHOG_TOKEN: ${{ secrets.POSTHOG_TOKEN }}
@@ -27,6 +28,11 @@ jobs:
     runs-on: ubuntu-latest
 
     steps:
+      - name: Fail if branch is not master
+        if: github.ref != 'refs/heads/master' 
+        run: | 
+          echo "Ref is not master, you must run this job from master."
+          exit 1
       - uses: actions/checkout@v2
       - uses: actions/setup-node@v1
         with:
diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock
index 239b342eff..1ae8935bad 100644
--- a/packages/server/yarn.lock
+++ b/packages/server/yarn.lock
@@ -1014,10 +1014,10 @@
   resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
   integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
 
-"@budibase/backend-core@1.0.127":
-  version "1.0.127"
-  resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.0.127.tgz#5d1f4b18b31436ddb770dc1ddf16f201ec95dda7"
-  integrity sha512-3INFkAIxL0Q8Sa65ELRGQqPs+4baykKyb1z/XuO1MyuDPnbFKXGOjl1V61EMy622gsmLk90IJL6aQfh3Grwhvw==
+"@budibase/backend-core@1.0.130-alpha.1":
+  version "1.0.130-alpha.1"
+  resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.0.130-alpha.1.tgz#670c090b91edef708fa77f63d0288f9a2f8733c1"
+  integrity sha512-Twhy7YtK7URjrw948UVO0MkxRtz8GWAROGTf/uZkla2visuinKVlmXvsnjK/eDKWVfzN+WBqoMjgslEpDqLLtg==
   dependencies:
     "@techpass/passport-openidconnect" "^0.3.0"
     aws-sdk "^2.901.0"
@@ -1091,12 +1091,12 @@
     svelte-flatpickr "^3.2.3"
     svelte-portal "^1.0.0"
 
-"@budibase/pro@1.0.127":
-  version "1.0.127"
-  resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.0.127.tgz#a8bcffb8ccc6afde64370b3a3dc22e2d0dd04f46"
-  integrity sha512-dj0SFTmO8JuMQ97/Ik6jVPQsh9AW7U5Wkgpa4yeNfwWw3DvSoktCxpeZ9mND6BR/DWTaeZljFKsQ6uk6nimzdQ==
+"@budibase/pro@1.0.130-alpha.1":
+  version "1.0.130-alpha.1"
+  resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.0.130-alpha.1.tgz#12112ef0c178b25cbc24d2e42a644fdcf948cd80"
+  integrity sha512-TMcfMPM8DSSgoh7WfyPyXvWqOLYBnK8/8LsUcnDsvlEx22YsY/UNQX8eDZ+U9unE+pyCNR1dhP78uvQiFwiq3w==
   dependencies:
-    "@budibase/backend-core" "1.0.127"
+    "@budibase/backend-core" "1.0.130-alpha.1"
     node-fetch "^2.6.1"
 
 "@budibase/standard-components@^0.9.139":
diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock
index dfdcc129d9..da118da79a 100644
--- a/packages/worker/yarn.lock
+++ b/packages/worker/yarn.lock
@@ -293,10 +293,10 @@
   resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
   integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
 
-"@budibase/backend-core@1.0.127":
-  version "1.0.127"
-  resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.0.127.tgz#5d1f4b18b31436ddb770dc1ddf16f201ec95dda7"
-  integrity sha512-3INFkAIxL0Q8Sa65ELRGQqPs+4baykKyb1z/XuO1MyuDPnbFKXGOjl1V61EMy622gsmLk90IJL6aQfh3Grwhvw==
+"@budibase/backend-core@1.0.130-alpha.1":
+  version "1.0.130-alpha.1"
+  resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.0.130-alpha.1.tgz#670c090b91edef708fa77f63d0288f9a2f8733c1"
+  integrity sha512-Twhy7YtK7URjrw948UVO0MkxRtz8GWAROGTf/uZkla2visuinKVlmXvsnjK/eDKWVfzN+WBqoMjgslEpDqLLtg==
   dependencies:
     "@techpass/passport-openidconnect" "^0.3.0"
     aws-sdk "^2.901.0"
@@ -321,12 +321,12 @@
     uuid "^8.3.2"
     zlib "^1.0.5"
 
-"@budibase/pro@1.0.127":
-  version "1.0.127"
-  resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.0.127.tgz#a8bcffb8ccc6afde64370b3a3dc22e2d0dd04f46"
-  integrity sha512-dj0SFTmO8JuMQ97/Ik6jVPQsh9AW7U5Wkgpa4yeNfwWw3DvSoktCxpeZ9mND6BR/DWTaeZljFKsQ6uk6nimzdQ==
+"@budibase/pro@1.0.130-alpha.1":
+  version "1.0.130-alpha.1"
+  resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.0.130-alpha.1.tgz#12112ef0c178b25cbc24d2e42a644fdcf948cd80"
+  integrity sha512-TMcfMPM8DSSgoh7WfyPyXvWqOLYBnK8/8LsUcnDsvlEx22YsY/UNQX8eDZ+U9unE+pyCNR1dhP78uvQiFwiq3w==
   dependencies:
-    "@budibase/backend-core" "1.0.127"
+    "@budibase/backend-core" "1.0.130-alpha.1"
     node-fetch "^2.6.1"
 
 "@cspotcode/source-map-consumer@0.8.0":

From 7de264c0e2f511f66e2bce349d272dce65df4f9f Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 3 May 2022 12:48:58 +0000
Subject: [PATCH 048/100] Bump ejs from 3.1.6 to 3.1.7 in /packages/server

Bumps [ejs](https://github.com/mde/ejs) from 3.1.6 to 3.1.7.
- [Release notes](https://github.com/mde/ejs/releases)
- [Changelog](https://github.com/mde/ejs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mde/ejs/compare/v3.1.6...v3.1.7)

---
updated-dependencies:
- dependency-name: ejs
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
---
 packages/server/yarn.lock | 681 ++++++++++++++++++++++++++++++++++++--
 1 file changed, 654 insertions(+), 27 deletions(-)

diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock
index 1ae8935bad..afb240d194 100644
--- a/packages/server/yarn.lock
+++ b/packages/server/yarn.lock
@@ -1042,6 +1042,34 @@
     uuid "^8.3.2"
     zlib "^1.0.5"
 
+"@budibase/backend-core@^1.0.130-alpha.1":
+  version "1.0.134"
+  resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.0.134.tgz#c5fa1b179d7545339d6c5f2d69b0cd3f99d43c5c"
+  integrity sha512-otv40D1q6UOozv38XcXpyXzyIdqdNJA3PxJ7hQDUEoEQXy8xSdzvWy/wiC/paDy5zh4pCVYyIHPGZQtodHmbXQ==
+  dependencies:
+    "@techpass/passport-openidconnect" "^0.3.0"
+    aws-sdk "^2.901.0"
+    bcryptjs "^2.4.3"
+    cls-hooked "^4.2.2"
+    ioredis "^4.27.1"
+    jsonwebtoken "^8.5.1"
+    koa-passport "^4.1.4"
+    lodash "^4.17.21"
+    lodash.isarguments "^3.1.0"
+    node-fetch "^2.6.1"
+    passport-google-auth "^1.0.2"
+    passport-google-oauth "^2.0.0"
+    passport-jwt "^4.0.0"
+    passport-local "^1.0.0"
+    posthog-node "^1.3.0"
+    pouchdb "7.3.0"
+    pouchdb-find "^7.2.2"
+    pouchdb-replication-stream "^1.2.9"
+    sanitize-s3-objectkey "^0.0.1"
+    tar-fs "^2.1.1"
+    uuid "^8.3.2"
+    zlib "^1.0.5"
+
 "@budibase/bbui@^0.9.139":
   version "0.9.187"
   resolved "https://registry.yarnpkg.com/@budibase/bbui/-/bbui-0.9.187.tgz#84f0a37301cfa41f50eaa335243ac08923d9e34f"
@@ -1091,6 +1119,122 @@
     svelte-flatpickr "^3.2.3"
     svelte-portal "^1.0.0"
 
+"@budibase/bbui@^1.0.134":
+  version "1.0.134"
+  resolved "https://registry.yarnpkg.com/@budibase/bbui/-/bbui-1.0.134.tgz#bd7cec68ccca9392829dccf7c6154b6979e278d1"
+  integrity sha512-KcZwUy22jCrePb39yUsz8kiSXK458rpRL2iDdsdZD+GIHITP3qrUu5uu6HfcHrlDQHBgPcI/vJfppjBspCC79A==
+  dependencies:
+    "@adobe/spectrum-css-workflow-icons" "^1.2.1"
+    "@budibase/string-templates" "^1.0.134"
+    "@spectrum-css/actionbutton" "^1.0.1"
+    "@spectrum-css/actiongroup" "^1.0.1"
+    "@spectrum-css/avatar" "^3.0.2"
+    "@spectrum-css/button" "^3.0.1"
+    "@spectrum-css/buttongroup" "^3.0.2"
+    "@spectrum-css/checkbox" "^3.0.2"
+    "@spectrum-css/dialog" "^3.0.1"
+    "@spectrum-css/divider" "^1.0.3"
+    "@spectrum-css/dropzone" "^3.0.2"
+    "@spectrum-css/fieldgroup" "^3.0.2"
+    "@spectrum-css/fieldlabel" "^3.0.1"
+    "@spectrum-css/icon" "^3.0.1"
+    "@spectrum-css/illustratedmessage" "^3.0.2"
+    "@spectrum-css/inlinealert" "^2.0.1"
+    "@spectrum-css/inputgroup" "^3.0.2"
+    "@spectrum-css/label" "^2.0.10"
+    "@spectrum-css/link" "^3.1.1"
+    "@spectrum-css/menu" "^3.0.1"
+    "@spectrum-css/modal" "^3.0.1"
+    "@spectrum-css/pagination" "^3.0.3"
+    "@spectrum-css/picker" "^1.0.1"
+    "@spectrum-css/popover" "^3.0.1"
+    "@spectrum-css/progressbar" "^1.0.2"
+    "@spectrum-css/progresscircle" "^1.0.2"
+    "@spectrum-css/radio" "^3.0.2"
+    "@spectrum-css/search" "^3.0.2"
+    "@spectrum-css/sidenav" "^3.0.2"
+    "@spectrum-css/statuslight" "^3.0.2"
+    "@spectrum-css/stepper" "^3.0.3"
+    "@spectrum-css/switch" "^1.0.2"
+    "@spectrum-css/table" "^3.0.1"
+    "@spectrum-css/tabs" "^3.0.1"
+    "@spectrum-css/tags" "^3.0.2"
+    "@spectrum-css/textfield" "^3.0.1"
+    "@spectrum-css/toast" "^3.0.1"
+    "@spectrum-css/tooltip" "^3.0.3"
+    "@spectrum-css/treeview" "^3.0.2"
+    "@spectrum-css/typography" "^3.0.1"
+    "@spectrum-css/underlay" "^2.0.9"
+    "@spectrum-css/vars" "^3.0.1"
+    dayjs "^1.10.4"
+    easymde "^2.16.1"
+    svelte-flatpickr "^3.2.3"
+    svelte-portal "^1.0.0"
+
+"@budibase/client@^1.0.130-alpha.1":
+  version "1.0.134"
+  resolved "https://registry.yarnpkg.com/@budibase/client/-/client-1.0.134.tgz#b1dfd9137045e80e4f6c6982d7d28ae3053f0910"
+  integrity sha512-SYBDaybFyoJalabjzgvqG80l/bZjI8lG1rzR4bGGqyHf0wDYbHbHWeDvj/4pLhCSpcjGabi7eC+wvjxejIqQng==
+  dependencies:
+    "@budibase/bbui" "^1.0.134"
+    "@budibase/frontend-core" "^1.0.134"
+    "@budibase/string-templates" "^1.0.134"
+    "@spectrum-css/button" "^3.0.3"
+    "@spectrum-css/card" "^3.0.3"
+    "@spectrum-css/divider" "^1.0.3"
+    "@spectrum-css/link" "^3.1.3"
+    "@spectrum-css/page" "^3.0.1"
+    "@spectrum-css/tag" "^3.1.4"
+    "@spectrum-css/typography" "^3.0.2"
+    "@spectrum-css/vars" "^3.0.1"
+    apexcharts "^3.22.1"
+    dayjs "^1.10.5"
+    downloadjs "1.4.7"
+    leaflet "^1.7.1"
+    regexparam "^1.3.0"
+    rollup-plugin-polyfill-node "^0.8.0"
+    sanitize-html "^2.7.0"
+    screenfull "^6.0.1"
+    shortid "^2.2.15"
+    svelte "^3.38.2"
+    svelte-apexcharts "^1.0.2"
+    svelte-flatpickr "^3.1.0"
+    svelte-spa-router "^3.0.5"
+
+"@budibase/frontend-core@^1.0.134":
+  version "1.0.134"
+  resolved "https://registry.yarnpkg.com/@budibase/frontend-core/-/frontend-core-1.0.134.tgz#3d5efbddea60cf8fd479ad396dd41ab82d794cad"
+  integrity sha512-PZxUVNXSHngBASfsNXx5TWy6JiGlqJrnAqux9Unc7oeQcHFkoDH21BcJjNZlX5TgCmAMQCeNksB42q9nfkMlgg==
+  dependencies:
+    "@budibase/bbui" "^1.0.134"
+    lodash "^4.17.21"
+    svelte "^3.46.2"
+
+"@budibase/handlebars-helpers@^0.11.8":
+  version "0.11.8"
+  resolved "https://registry.yarnpkg.com/@budibase/handlebars-helpers/-/handlebars-helpers-0.11.8.tgz#6953d29673a8c5c407e096c0a84890465c7ce841"
+  integrity sha512-ggWJUt0GqsHFAEup5tlWlcrmYML57nKhpNGGLzVsqXVYN8eVmf3xluYmmMe7fDYhQH0leSprrdEXmsdFQF3HAQ==
+  dependencies:
+    array-sort "^1.0.0"
+    define-property "^2.0.2"
+    extend-shallow "^3.0.2"
+    for-in "^1.0.2"
+    get-object "^0.2.0"
+    get-value "^3.0.1"
+    handlebars "^4.7.7"
+    handlebars-utils "^1.0.6"
+    has-value "^2.0.2"
+    helper-md "^0.2.2"
+    html-tag "^2.0.0"
+    is-even "^1.0.0"
+    is-glob "^4.0.1"
+    kind-of "^6.0.3"
+    micromatch "^3.1.5"
+    relative "^3.0.2"
+    striptags "^3.1.1"
+    to-gfm-code-block "^0.1.1"
+    year "^0.2.1"
+
 "@budibase/pro@1.0.130-alpha.1":
   version "1.0.130-alpha.1"
   resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.0.130-alpha.1.tgz#12112ef0c178b25cbc24d2e42a644fdcf948cd80"
@@ -1117,6 +1261,18 @@
     svelte-apexcharts "^1.0.2"
     svelte-flatpickr "^3.1.0"
 
+"@budibase/string-templates@^1.0.130-alpha.1", "@budibase/string-templates@^1.0.134":
+  version "1.0.134"
+  resolved "https://registry.yarnpkg.com/@budibase/string-templates/-/string-templates-1.0.134.tgz#2e21c533e310b55c1f58b8aceb82367d38ad8846"
+  integrity sha512-W++/k1zAIl/yLX+8KMz3Fo8hi5n6PNK7x/kxAXClWanhdMozLSrS7AIFbrYDhHlsjpteK+3R6wDf5K/JfpYj6g==
+  dependencies:
+    "@budibase/handlebars-helpers" "^0.11.8"
+    dayjs "^1.10.4"
+    handlebars "^4.7.6"
+    handlebars-utils "^1.0.6"
+    lodash "^4.17.20"
+    vm2 "^3.9.4"
+
 "@bull-board/api@3.9.4":
   version "3.9.4"
   resolved "https://registry.yarnpkg.com/@bull-board/api/-/api-3.9.4.tgz#984f25e6d5501d97152d81184968ff135757b57a"
@@ -2000,6 +2156,24 @@
   resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570"
   integrity sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=
 
+"@rollup/plugin-inject@^4.0.0":
+  version "4.0.4"
+  resolved "https://registry.yarnpkg.com/@rollup/plugin-inject/-/plugin-inject-4.0.4.tgz#fbeee66e9a700782c4f65c8b0edbafe58678fbc2"
+  integrity sha512-4pbcU4J/nS+zuHk+c+OL3WtmEQhqxlZ9uqfjQMQDOHOPld7PsCd8k5LWs8h5wjwJN7MgnAn768F2sDxEP4eNFQ==
+  dependencies:
+    "@rollup/pluginutils" "^3.1.0"
+    estree-walker "^2.0.1"
+    magic-string "^0.25.7"
+
+"@rollup/pluginutils@^3.1.0":
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b"
+  integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==
+  dependencies:
+    "@types/estree" "0.0.39"
+    estree-walker "^1.0.1"
+    picomatch "^2.2.2"
+
 "@sendgrid/client@^7.1.1":
   version "7.6.1"
   resolved "https://registry.yarnpkg.com/@sendgrid/client/-/client-7.6.1.tgz#de17fe9f04af3bdb69aca44fc407316de87cea3b"
@@ -2187,6 +2361,11 @@
   resolved "https://registry.yarnpkg.com/@spectrum-css/illustratedmessage/-/illustratedmessage-3.0.8.tgz#69ef0c935bcc5027f233a78de5aeb0064bf033cb"
   integrity sha512-HvC4dywDi11GdrXQDCvKQ0vFlrXLTyJuc9UKf7meQLCGoJbGYDBwe+tHXNK1c6gPMD9BoL6pPMP1K/vRzR4EBQ==
 
+"@spectrum-css/inlinealert@^2.0.1":
+  version "2.0.6"
+  resolved "https://registry.yarnpkg.com/@spectrum-css/inlinealert/-/inlinealert-2.0.6.tgz#4c5e923a1f56a96cc1adb30ef1f06ae04f2c6376"
+  integrity sha512-OpvvoWP02wWyCnF4IgG8SOPkXymovkC9cGtgMS1FdDubnG3tJZB/JeKTsRR9C9Vt3WBaOmISRdSKlZ4lC9CFzA==
+
 "@spectrum-css/inputgroup@^3.0.2":
   version "3.0.8"
   resolved "https://registry.yarnpkg.com/@spectrum-css/inputgroup/-/inputgroup-3.0.8.tgz#fc23afc8a73c24d17249c9d2337e8b42085b298b"
@@ -2284,6 +2463,11 @@
   resolved "https://registry.yarnpkg.com/@spectrum-css/tabs/-/tabs-3.1.5.tgz#cc82e69c1fc721902345178231fb95d05938b983"
   integrity sha512-UtfW8bA1quYnJM6v/lp6AVYGnQFkiUix2FHAf/4VHVrk4mh7ydtLiXS0IR3Kx+t/S8FWdSdSQHDZ8tHbY1ZLZg==
 
+"@spectrum-css/tag@^3.1.4":
+  version "3.3.11"
+  resolved "https://registry.yarnpkg.com/@spectrum-css/tag/-/tag-3.3.11.tgz#66b5f91a845df2ad232fae702ae53b3fa46cf745"
+  integrity sha512-dyDUwG4fbsScMLaVOKQgKuUvYshGEIjTS9lVNhOHCz7klZ800UIMoCzDQXieHf+0nSdiR1Wy1oHBObHMMB8sxA==
+
 "@spectrum-css/tags@^3.0.2":
   version "3.0.3"
   resolved "https://registry.yarnpkg.com/@spectrum-css/tags/-/tags-3.0.3.tgz#fc76d2735cdc442de91b7eb3bee49a928c0767ac"
@@ -2443,6 +2627,13 @@
   resolved "https://registry.yarnpkg.com/@types/caseless/-/caseless-0.12.2.tgz#f65d3d6389e01eeb458bd54dc8f52b95a9463bc8"
   integrity sha512-6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w==
 
+"@types/codemirror@^5.60.4":
+  version "5.60.5"
+  resolved "https://registry.yarnpkg.com/@types/codemirror/-/codemirror-5.60.5.tgz#5b989a3b4bbe657458cf372c92b6bfda6061a2b7"
+  integrity sha512-TiECZmm8St5YxjFUp64LK0c8WU5bxMDt9YaAek1UqUb9swrSCoJhh92fWu1p3mTEqlHjhB5sY7OFBhWroJXZVg==
+  dependencies:
+    "@types/tern" "*"
+
 "@types/connect@*":
   version "3.4.35"
   resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1"
@@ -2491,6 +2682,11 @@
   resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83"
   integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==
 
+"@types/estree@0.0.39":
+  version "0.0.39"
+  resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f"
+  integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==
+
 "@types/estree@^0.0.51":
   version "0.0.51"
   resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40"
@@ -2646,6 +2842,11 @@
   resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.1.tgz#459c65fa1867dafe6a8f322c4c51695663cc55e9"
   integrity sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==
 
+"@types/marked@^4.0.1":
+  version "4.0.3"
+  resolved "https://registry.yarnpkg.com/@types/marked/-/marked-4.0.3.tgz#2098f4a77adaba9ce881c9e0b6baf29116e5acc4"
+  integrity sha512-HnMWQkLJEf/PnxZIfbm0yGJRRZYYMhb++O9M36UCTA9z53uPvVoSlAwJr3XOpDEryb7Hwl1qAx/MV6YIW1RXxg==
+
 "@types/mime@^1":
   version "1.3.2"
   resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a"
@@ -2757,6 +2958,13 @@
     "@types/cookiejar" "*"
     "@types/node" "*"
 
+"@types/tern@*":
+  version "0.23.4"
+  resolved "https://registry.yarnpkg.com/@types/tern/-/tern-0.23.4.tgz#03926eb13dbeaf3ae0d390caf706b2643a0127fb"
+  integrity sha512-JAUw1iXGO1qaWwEOzxTKJZ/5JxVeON9kvGZ/osgZaJImBnyjyn0cjovPsf6FNLmyGY8Vw9DoXZCMlfMkMwHRWg==
+  dependencies:
+    "@types/estree" "*"
+
 "@types/tough-cookie@*":
   version "4.0.1"
   resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.1.tgz#8f80dd965ad81f3e1bc26d6f5c727e132721ff40"
@@ -3321,7 +3529,7 @@ arg@^4.1.0:
   resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
   integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==
 
-argparse@^1.0.7:
+argparse@^1.0.10, argparse@^1.0.7:
   version "1.0.10"
   resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
   integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
@@ -3368,6 +3576,15 @@ array-equal@^1.0.0:
   resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93"
   integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=
 
+array-sort@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/array-sort/-/array-sort-1.0.0.tgz#e4c05356453f56f53512a7d1d6123f2c54c0a88a"
+  integrity sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg==
+  dependencies:
+    default-compare "^1.0.0"
+    get-value "^2.0.6"
+    kind-of "^5.0.2"
+
 array-union@^2.1.0:
   version "2.1.0"
   resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
@@ -3432,11 +3649,6 @@ async-limiter@~1.0.0:
   resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd"
   integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==
 
-async@0.9.x:
-  version "0.9.2"
-  resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d"
-  integrity sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=
-
 async@^2.6.3:
   version "2.6.3"
   resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff"
@@ -3476,6 +3688,13 @@ atomic-sleep@^1.0.0:
   resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b"
   integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==
 
+autolinker@~0.28.0:
+  version "0.28.1"
+  resolved "https://registry.yarnpkg.com/autolinker/-/autolinker-0.28.1.tgz#0652b491881879f0775dace0cdca3233942a4e47"
+  integrity sha1-BlK0kYgYefB3XazgzcoyM5QqTkc=
+  dependencies:
+    gulp-header "^1.7.1"
+
 aws-sdk@^2.767.0:
   version "2.1030.0"
   resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.1030.0.tgz#24a856af3d2b8b37c14a8f59974993661c66fd82"
@@ -3814,6 +4033,13 @@ brace-expansion@^1.1.7:
     balanced-match "^1.0.0"
     concat-map "0.0.1"
 
+brace-expansion@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae"
+  integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==
+  dependencies:
+    balanced-match "^1.0.0"
+
 braces@^2.3.1:
   version "2.3.2"
   resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729"
@@ -4086,7 +4312,7 @@ chalk@^3.0.0:
     ansi-styles "^4.1.0"
     supports-color "^7.1.0"
 
-chalk@^4.0.0, chalk@^4.1.0:
+chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0:
   version "4.1.2"
   resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
   integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
@@ -4249,6 +4475,18 @@ co@^4.6.0:
   resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
   integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=
 
+codemirror-spell-checker@1.1.2:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/codemirror-spell-checker/-/codemirror-spell-checker-1.1.2.tgz#1c660f9089483ccb5113b9ba9ca19c3f4993371e"
+  integrity sha1-HGYPkIlIPMtRE7m6nKGcP0mTNx4=
+  dependencies:
+    typo-js "*"
+
+codemirror@^5.63.1:
+  version "5.65.3"
+  resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-5.65.3.tgz#2d029930d5a293bc5fb96ceea64654803c0d4ac7"
+  integrity sha512-kCC0iwGZOVZXHEKW3NDTObvM7pTIyowjty4BUqeREROc/3I6bWbgZDA3fGDwlA+rbgRjvnRnfqs9SfXynel1AQ==
+
 collect-v8-coverage@^1.0.0:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59"
@@ -4389,6 +4627,13 @@ concat-map@0.0.1:
   resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
   integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
 
+concat-with-sourcemaps@*:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz#d4ea93f05ae25790951b99e7b3b09e3908a4082e"
+  integrity sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==
+  dependencies:
+    source-map "^0.6.1"
+
 condense-newlines@^0.2.1:
   version "0.2.1"
   resolved "https://registry.yarnpkg.com/condense-newlines/-/condense-newlines-0.2.1.tgz#3de985553139475d32502c83b02f60684d24c55f"
@@ -4790,6 +5035,13 @@ deepmerge@^4.2.2:
   resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955"
   integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==
 
+default-compare@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/default-compare/-/default-compare-1.0.0.tgz#cb61131844ad84d84788fb68fd01681ca7781a2f"
+  integrity sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==
+  dependencies:
+    kind-of "^5.0.2"
+
 default-shell@^1.0.0:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/default-shell/-/default-shell-1.0.1.tgz#752304bddc6174f49eb29cb988feea0b8813c8bc"
@@ -4951,11 +5203,25 @@ doctrine@3.0.0, doctrine@^3.0.0:
   dependencies:
     esutils "^2.0.2"
 
+dom-serializer@^1.0.1:
+  version "1.4.1"
+  resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30"
+  integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==
+  dependencies:
+    domelementtype "^2.0.1"
+    domhandler "^4.2.0"
+    entities "^2.0.0"
+
 dom-walk@^0.1.0:
   version "0.1.2"
   resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84"
   integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==
 
+domelementtype@^2.0.1, domelementtype@^2.2.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d"
+  integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==
+
 domexception@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90"
@@ -4970,6 +5236,22 @@ domexception@^2.0.1:
   dependencies:
     webidl-conversions "^5.0.0"
 
+domhandler@^4.0.0, domhandler@^4.2.0:
+  version "4.3.1"
+  resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c"
+  integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==
+  dependencies:
+    domelementtype "^2.2.0"
+
+domutils@^2.5.2:
+  version "2.8.0"
+  resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135"
+  integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==
+  dependencies:
+    dom-serializer "^1.0.1"
+    domelementtype "^2.2.0"
+    domhandler "^4.2.0"
+
 dot-prop@^5.2.0:
   version "5.3.0"
   resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88"
@@ -5009,6 +5291,11 @@ download@8.0.0:
     p-event "^2.1.0"
     pify "^4.0.1"
 
+downloadjs@1.4.7:
+  version "1.4.7"
+  resolved "https://registry.yarnpkg.com/downloadjs/-/downloadjs-1.4.7.tgz#f69f96f940e0d0553dac291139865a3cd0101e3c"
+  integrity sha1-9p+W+UDg0FU9rCkROYZaPNAQHjw=
+
 duplexer3@^0.1.4:
   version "0.1.4"
   resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2"
@@ -5024,6 +5311,17 @@ duplexify@^4.0.0:
     readable-stream "^3.1.1"
     stream-shift "^1.0.0"
 
+easymde@^2.16.1:
+  version "2.16.1"
+  resolved "https://registry.yarnpkg.com/easymde/-/easymde-2.16.1.tgz#f4c2380312615cb33826f1a1fecfaa4022ff551a"
+  integrity sha512-FihYgjRsKfhGNk89SHSqxKLC4aJ1kfybPWW6iAmtb5GnXu+tnFPSzSaGBmk1RRlCuhFSjhF0SnIMGVPjEzkr6g==
+  dependencies:
+    "@types/codemirror" "^5.60.4"
+    "@types/marked" "^4.0.1"
+    codemirror "^5.63.1"
+    codemirror-spell-checker "1.1.2"
+    marked "^4.0.10"
+
 ecc-jsbn@~0.1.1:
   version "0.1.2"
   resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
@@ -5055,11 +5353,11 @@ ee-first@1.1.1:
   integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
 
 ejs@^3.1.6:
-  version "3.1.6"
-  resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.6.tgz#5bfd0a0689743bb5268b3550cceeebbc1702822a"
-  integrity sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==
+  version "3.1.7"
+  resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.7.tgz#c544d9c7f715783dd92f0bddcf73a59e6962d006"
+  integrity sha512-BIar7R6abbUxDA3bfXrO4DSgwo8I+fB5/1zgujl3HLLjwd6+9iOnrT+t3grn2qbk9vOgBubXOFwX2m9axoFaGw==
   dependencies:
-    jake "^10.6.1"
+    jake "^10.8.5"
 
 electron-to-chromium@^1.4.17:
   version "1.4.71"
@@ -5135,6 +5433,16 @@ enhanced-resolve@^5.9.0:
     graceful-fs "^4.2.4"
     tapable "^2.2.0"
 
+ent@^2.2.0:
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d"
+  integrity sha1-6WQhkyWiHQX0RGai9obtbOX13R0=
+
+entities@^2.0.0:
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55"
+  integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==
+
 entities@~2.1.0:
   version "2.1.0"
   resolved "https://registry.yarnpkg.com/entities/-/entities-2.1.0.tgz#992d3129cf7df6870b96c57858c249a120f8b8b5"
@@ -5554,6 +5862,16 @@ estraverse@^5.1.0, estraverse@^5.2.0:
   resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
   integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
 
+estree-walker@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700"
+  integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==
+
+estree-walker@^2.0.1:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
+  integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
+
 esutils@^2.0.2:
   version "2.0.3"
   resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
@@ -5910,11 +6228,11 @@ file-uri-to-path@1.0.0:
   integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==
 
 filelist@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.2.tgz#80202f21462d4d1c2e214119b1807c1bc0380e5b"
-  integrity sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ==
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.3.tgz#448607750376484932f67ef1b9ff07386b036c83"
+  integrity sha512-LwjCsruLWQULGYKy7TX0OPtrL9kLpojOFKc5VCTxdFTV7w5zbsgqVKfnkKG7Qgjtq50gKfO56hJv88OfcGb70Q==
   dependencies:
-    minimatch "^3.0.4"
+    minimatch "^5.0.1"
 
 filename-reserved-regex@^2.0.0:
   version "2.0.0"
@@ -6096,6 +6414,11 @@ fs-constants@^1.0.0:
   resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad"
   integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==
 
+fs-exists-sync@^0.1.0:
+  version "0.1.0"
+  resolved "https://registry.yarnpkg.com/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add"
+  integrity sha1-mC1ok6+RjnLQjeyehnP/K1qNat0=
+
 fs-extra@8.1.0:
   version "8.1.0"
   resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0"
@@ -6202,6 +6525,14 @@ get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1:
     has "^1.0.3"
     has-symbols "^1.0.1"
 
+get-object@^0.2.0:
+  version "0.2.0"
+  resolved "https://registry.yarnpkg.com/get-object/-/get-object-0.2.0.tgz#d92ff7d5190c64530cda0543dac63a3d47fe8c0c"
+  integrity sha1-2S/31RkMZFMM2gVD2sY6PUf+jAw=
+  dependencies:
+    is-number "^2.0.2"
+    isobject "^0.2.0"
+
 get-package-type@^0.1.0:
   version "0.1.0"
   resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a"
@@ -6264,6 +6595,13 @@ get-value@^2.0.3, get-value@^2.0.6:
   resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
   integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=
 
+get-value@^3.0.0, get-value@^3.0.1:
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/get-value/-/get-value-3.0.1.tgz#5efd2a157f1d6a516d7524e124ac52d0a39ef5a8"
+  integrity sha512-mKZj9JLQrwMBtj5wxi6MH8Z5eSKaERpAwjg43dPtlGI1ZVEgH/qC7T8/6R2OBSUA+zzHBZgICsVJaEIV2tKTDA==
+  dependencies:
+    isobject "^3.0.1"
+
 getopts@2.2.5:
   version "2.2.5"
   resolved "https://registry.yarnpkg.com/getopts/-/getopts-2.2.5.tgz#67a0fe471cacb9c687d817cab6450b96dde8313b"
@@ -6569,7 +6907,24 @@ gtoken@^5.0.4:
     google-p12-pem "^3.1.3"
     jws "^4.0.0"
 
-handlebars@^4.7.7:
+gulp-header@^1.7.1:
+  version "1.8.12"
+  resolved "https://registry.yarnpkg.com/gulp-header/-/gulp-header-1.8.12.tgz#ad306be0066599127281c4f8786660e705080a84"
+  integrity sha512-lh9HLdb53sC7XIZOYzTXM4lFuXElv3EVkSDhsd7DoJBj7hm+Ni7D3qYbb+Rr8DuM8nRanBvkVO9d7askreXGnQ==
+  dependencies:
+    concat-with-sourcemaps "*"
+    lodash.template "^4.4.0"
+    through2 "^2.0.0"
+
+handlebars-utils@^1.0.6:
+  version "1.0.6"
+  resolved "https://registry.yarnpkg.com/handlebars-utils/-/handlebars-utils-1.0.6.tgz#cb9db43362479054782d86ffe10f47abc76357f9"
+  integrity sha512-d5mmoQXdeEqSKMtQQZ9WkiUcO1E3tPbWxluCK9hVgIDPzQa9WsKo3Lbe/sGflTe7TomHEeZaOgwIkyIr1kfzkw==
+  dependencies:
+    kind-of "^6.0.0"
+    typeof-article "^0.1.1"
+
+handlebars@^4.7.6, handlebars@^4.7.7:
   version "4.7.7"
   resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1"
   integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==
@@ -6651,6 +7006,14 @@ has-value@^1.0.0:
     has-values "^1.0.0"
     isobject "^3.0.0"
 
+has-value@^2.0.2:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/has-value/-/has-value-2.0.2.tgz#d0f12e8780ba8e90e66ad1a21c707fdb67c25658"
+  integrity sha512-ybKOlcRsK2MqrM3Hmz/lQxXHZ6ejzSPzpNabKB45jb5qDgJvKPa3SdapTsTLwEb9WltgWpOmNax7i+DzNOk4TA==
+  dependencies:
+    get-value "^3.0.0"
+    has-values "^2.0.1"
+
 has-values@^0.1.4:
   version "0.1.4"
   resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771"
@@ -6664,6 +7027,13 @@ has-values@^1.0.0:
     is-number "^3.0.0"
     kind-of "^4.0.0"
 
+has-values@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/has-values/-/has-values-2.0.1.tgz#3876200ff86d8a8546a9264a952c17d5fc17579d"
+  integrity sha512-+QdH3jOmq9P8GfdjFg0eJudqx1FqU62NQJ4P16rOEHeRdl7ckgwn6uqQjzYE0ZoHVV/e5E2esuJ5Gl5+HUW19w==
+  dependencies:
+    kind-of "^6.0.2"
+
 has-yarn@^2.1.0:
   version "2.1.0"
   resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77"
@@ -6676,6 +7046,16 @@ has@^1.0.3:
   dependencies:
     function-bind "^1.1.1"
 
+helper-md@^0.2.2:
+  version "0.2.2"
+  resolved "https://registry.yarnpkg.com/helper-md/-/helper-md-0.2.2.tgz#c1f59d7e55bbae23362fd8a0e971607aec69d41f"
+  integrity sha1-wfWdflW7riM2L9ig6XFgeuxp1B8=
+  dependencies:
+    ent "^2.2.0"
+    extend-shallow "^2.0.1"
+    fs-exists-sync "^0.1.0"
+    remarkable "^1.6.2"
+
 hosted-git-info@^2.1.4:
   version "2.8.9"
   resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9"
@@ -6705,6 +7085,24 @@ html-escaper@^2.0.0:
   resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453"
   integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==
 
+html-tag@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/html-tag/-/html-tag-2.0.0.tgz#36c3bc8d816fd30b570d5764a497a641640c2fed"
+  integrity sha512-XxzooSo6oBoxBEUazgjdXj7VwTn/iSTSZzTYKzYY6I916tkaYzypHxy+pbVU1h+0UQ9JlVf5XkNQyxOAiiQO1g==
+  dependencies:
+    is-self-closing "^1.0.1"
+    kind-of "^6.0.0"
+
+htmlparser2@^6.0.0:
+  version "6.1.0"
+  resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7"
+  integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==
+  dependencies:
+    domelementtype "^2.0.1"
+    domhandler "^4.0.0"
+    domutils "^2.5.2"
+    entities "^2.0.0"
+
 http-assert@^1.3.0:
   version "1.5.0"
   resolved "https://registry.yarnpkg.com/http-assert/-/http-assert-1.5.0.tgz#c389ccd87ac16ed2dfa6246fd73b926aa00e6b8f"
@@ -7124,6 +7522,13 @@ is-docker@^2.0.0, is-docker@^2.1.1:
   resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa"
   integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==
 
+is-even@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/is-even/-/is-even-1.0.0.tgz#76b5055fbad8d294a86b6a949015e1c97b717c06"
+  integrity sha1-drUFX7rY0pSoa2qUkBXhyXtxfAY=
+  dependencies:
+    is-odd "^0.1.2"
+
 is-extendable@^0.1.0, is-extendable@^0.1.1:
   version "0.1.1"
   resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
@@ -7213,6 +7618,13 @@ is-number-object@^1.0.4:
   dependencies:
     has-tostringtag "^1.0.0"
 
+is-number@^2.0.2:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f"
+  integrity sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=
+  dependencies:
+    kind-of "^3.0.2"
+
 is-number@^3.0.0:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195"
@@ -7235,6 +7647,13 @@ is-object@^1.0.1:
   resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.2.tgz#a56552e1c665c9e950b4a025461da87e72f86fcf"
   integrity sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==
 
+is-odd@^0.1.2:
+  version "0.1.2"
+  resolved "https://registry.yarnpkg.com/is-odd/-/is-odd-0.1.2.tgz#bc573b5ce371ef2aad6e6f49799b72bef13978a7"
+  integrity sha1-vFc7XONx7yqtbm9JeZtyvvE5eKc=
+  dependencies:
+    is-number "^3.0.0"
+
 is-path-inside@^3.0.2:
   version "3.0.3"
   resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283"
@@ -7252,6 +7671,11 @@ is-plain-object@^2.0.3, is-plain-object@^2.0.4:
   dependencies:
     isobject "^3.0.1"
 
+is-plain-object@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344"
+  integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==
+
 is-potential-custom-element-name@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5"
@@ -7280,6 +7704,13 @@ is-retry-allowed@^2.2.0:
   resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-2.2.0.tgz#88f34cbd236e043e71b6932d09b0c65fb7b4d71d"
   integrity sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg==
 
+is-self-closing@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/is-self-closing/-/is-self-closing-1.0.1.tgz#5f406b527c7b12610176320338af0fa3896416e4"
+  integrity sha512-E+60FomW7Blv5GXTlYee2KDrnG6srxF7Xt1SjrhWUGUEsTFIqY/nq2y3DaftCsgUMdh89V07IVfhY9KIJhLezg==
+  dependencies:
+    self-closing-tags "^1.0.1"
+
 is-shared-array-buffer@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6"
@@ -7377,6 +7808,11 @@ isexe@^2.0.0:
   resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
   integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
 
+isobject@^0.2.0:
+  version "0.2.0"
+  resolved "https://registry.yarnpkg.com/isobject/-/isobject-0.2.0.tgz#a3432192f39b910b5f02cc989487836ec70aa85e"
+  integrity sha1-o0MhkvObkQtfAsyYlIeDbscKqF4=
+
 isobject@^2.0.0:
   version "2.1.0"
   resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
@@ -7462,13 +7898,13 @@ isurl@^1.0.0-alpha5:
     has-to-string-tag-x "^1.2.0"
     is-object "^1.0.1"
 
-jake@^10.6.1:
-  version "10.8.2"
-  resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.2.tgz#ebc9de8558160a66d82d0eadc6a2e58fbc500a7b"
-  integrity sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==
+jake@^10.8.5:
+  version "10.8.5"
+  resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.5.tgz#f2183d2c59382cb274226034543b9c03b8164c46"
+  integrity sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==
   dependencies:
-    async "0.9.x"
-    chalk "^2.4.2"
+    async "^3.2.3"
+    chalk "^4.0.2"
     filelist "^1.0.1"
     minimatch "^3.0.4"
 
@@ -8559,7 +8995,7 @@ keyv@^3.0.0:
   dependencies:
     json-buffer "3.0.0"
 
-kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
+kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.1.0, kind-of@^3.2.0:
   version "3.2.2"
   resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
   integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=
@@ -8573,12 +9009,12 @@ kind-of@^4.0.0:
   dependencies:
     is-buffer "^1.1.5"
 
-kind-of@^5.0.0:
+kind-of@^5.0.0, kind-of@^5.0.2:
   version "5.1.0"
   resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d"
   integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==
 
-kind-of@^6.0.0, kind-of@^6.0.2:
+kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3:
   version "6.0.3"
   resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
   integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
@@ -8838,6 +9274,11 @@ lcid@^2.0.0:
   dependencies:
     invert-kv "^2.0.0"
 
+leaflet@^1.7.1:
+  version "1.8.0"
+  resolved "https://registry.yarnpkg.com/leaflet/-/leaflet-1.8.0.tgz#4615db4a22a304e8e692cae9270b983b38a2055e"
+  integrity sha512-gwhMjFCQiYs3x/Sf+d49f10ERXaEFCPr+nVTryhAW8DWbMGqJqt9G4XuIaHmFW08zYvhgdzqXGr8AlW8v8dQkA==
+
 left-pad@^1.3.0:
   version "1.3.0"
   resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e"
@@ -9046,6 +9487,11 @@ locate-path@^5.0.0:
   dependencies:
     p-locate "^4.1.0"
 
+lodash._reinterpolate@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d"
+  integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=
+
 lodash.camelcase@^4.3.0:
   version "4.3.0"
   resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6"
@@ -9156,6 +9602,21 @@ lodash.sortby@^4.7.0:
   resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
   integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=
 
+lodash.template@^4.4.0:
+  version "4.5.0"
+  resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab"
+  integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==
+  dependencies:
+    lodash._reinterpolate "^3.0.0"
+    lodash.templatesettings "^4.0.0"
+
+lodash.templatesettings@^4.0.0:
+  version "4.2.0"
+  resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33"
+  integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==
+  dependencies:
+    lodash._reinterpolate "^3.0.0"
+
 lodash.without@^4.4.0:
   version "4.4.0"
   resolved "https://registry.yarnpkg.com/lodash.without/-/lodash.without-4.4.0.tgz#3cd4574a00b67bae373a94b748772640507b7aac"
@@ -9166,7 +9627,7 @@ lodash.xor@^4.5.0:
   resolved "https://registry.yarnpkg.com/lodash.xor/-/lodash.xor-4.5.0.tgz#4d48ed7e98095b0632582ba714d3ff8ae8fb1db6"
   integrity sha1-TUjtfpgJWwYyWCunFNP/iuj7HbY=
 
-lodash@4.17.21, lodash@^4.14.0, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.19, lodash@^4.17.21, lodash@^4.17.3, lodash@^4.7.0:
+lodash@4.17.21, lodash@^4.14.0, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.3, lodash@^4.7.0:
   version "4.17.21"
   resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
   integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
@@ -9234,6 +9695,13 @@ ltgt@2.2.1, ltgt@^2.1.2, ltgt@~2.2.0:
   resolved "https://registry.yarnpkg.com/ltgt/-/ltgt-2.2.1.tgz#f35ca91c493f7b73da0e07495304f17b31f87ee5"
   integrity sha1-81ypHEk/e3PaDgdJUwTxezH4fuU=
 
+magic-string@^0.25.7:
+  version "0.25.9"
+  resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c"
+  integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==
+  dependencies:
+    sourcemap-codec "^1.4.8"
+
 make-dir@^1.0.0:
   version "1.3.0"
   resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c"
@@ -9298,6 +9766,11 @@ markdown-it@^12.2.0:
     mdurl "^1.0.1"
     uc.micro "^1.0.5"
 
+marked@^4.0.10:
+  version "4.0.15"
+  resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.15.tgz#0216b7c9d5fcf6ac5042343c41d81a8b1b5e1b4a"
+  integrity sha512-esX5lPdTfG4p8LDkv+obbRCyOKzB+820ZZyMOXJZygZBHrH9b3xXR64X4kT3sPe9Nx8qQXbmcz6kFSMt4Nfk6Q==
+
 matcher@^3.0.0:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/matcher/-/matcher-3.0.0.tgz#bd9060f4c5b70aa8041ccc6f80368760994f30ca"
@@ -9370,7 +9843,7 @@ methods@^1.0.1, methods@^1.1.1, methods@^1.1.2:
   resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
   integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=
 
-micromatch@^3.1.10, micromatch@^3.1.4:
+micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.5:
   version "3.1.10"
   resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
   integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==
@@ -9451,6 +9924,13 @@ min-document@^2.19.0:
   dependencies:
     brace-expansion "^1.1.7"
 
+minimatch@^5.0.1:
+  version "5.0.1"
+  resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b"
+  integrity sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==
+  dependencies:
+    brace-expansion "^2.0.1"
+
 minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5:
   version "1.2.6"
   resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44"
@@ -9588,6 +10068,16 @@ nan@^2.12.1:
   resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee"
   integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==
 
+nanoid@^2.1.0:
+  version "2.1.11"
+  resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-2.1.11.tgz#ec24b8a758d591561531b4176a01e3ab4f0f0280"
+  integrity sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA==
+
+nanoid@^3.3.3:
+  version "3.3.4"
+  resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab"
+  integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==
+
 nanomatch@^1.2.9:
   version "1.2.13"
   resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
@@ -10140,6 +10630,11 @@ parse-json@^5.2.0:
     json-parse-even-better-errors "^2.3.0"
     lines-and-columns "^1.1.6"
 
+parse-srcset@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/parse-srcset/-/parse-srcset-1.0.2.tgz#f2bd221f6cc970a938d88556abc589caaaa2bde1"
+  integrity sha1-8r0iH2zJcKk42IVWq8WJyqqiveE=
+
 parse5@4.0.0:
   version "4.0.0"
   resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608"
@@ -10381,6 +10876,11 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3:
   resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972"
   integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==
 
+picomatch@^2.2.2:
+  version "2.3.1"
+  resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
+  integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
+
 pify@^2.3.0:
   version "2.3.0"
   resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
@@ -10491,6 +10991,15 @@ posix-character-classes@^0.1.0:
   resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
   integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=
 
+postcss@^8.3.11:
+  version "8.4.13"
+  resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.13.tgz#7c87bc268e79f7f86524235821dfdf9f73e5d575"
+  integrity sha512-jtL6eTBrza5MPzy8oJLFuUscHDXTV5KcLlqAWHl5q5WYRfnNRGSmOZmOZ1T6Gy7A99mOZfqungmZMpMmCVJ8ZA==
+  dependencies:
+    nanoid "^3.3.3"
+    picocolors "^1.0.0"
+    source-map-js "^1.0.2"
+
 postgres-array@~2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/postgres-array/-/postgres-array-2.0.0.tgz#48f8fce054fbc69671999329b8834b772652d82e"
@@ -11211,6 +11720,16 @@ regex-not@^1.0.0, regex-not@^1.0.2:
     extend-shallow "^3.0.2"
     safe-regex "^1.1.0"
 
+regexparam@2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/regexparam/-/regexparam-2.0.0.tgz#059476767d5f5f87f735fc7922d133fd1a118c8c"
+  integrity sha512-gJKwd2MVPWHAIFLsaYDZfyKzHNS4o7E/v8YmNf44vmeV2e4YfVoDToTOKTvE7ab68cRJ++kLuEXJBaEeJVt5ow==
+
+regexparam@^1.3.0:
+  version "1.3.0"
+  resolved "https://registry.yarnpkg.com/regexparam/-/regexparam-1.3.0.tgz#2fe42c93e32a40eff6235d635e0ffa344b92965f"
+  integrity sha512-6IQpFBv6e5vz1QAqI+V4k8P2e/3gRrqfCJ9FI+O1FLQTO+Uz6RXZEZOPmTJ6hlGj7gkERzY5BRCv09whKP96/g==
+
 regexpp@^2.0.1:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f"
@@ -11254,6 +11773,21 @@ regjsparser@^0.8.2:
   dependencies:
     jsesc "~0.5.0"
 
+relative@^3.0.2:
+  version "3.0.2"
+  resolved "https://registry.yarnpkg.com/relative/-/relative-3.0.2.tgz#0dcd8ec54a5d35a3c15e104503d65375b5a5367f"
+  integrity sha1-Dc2OxUpdNaPBXhBFA9ZTdbWlNn8=
+  dependencies:
+    isobject "^2.0.0"
+
+remarkable@^1.6.2:
+  version "1.7.4"
+  resolved "https://registry.yarnpkg.com/remarkable/-/remarkable-1.7.4.tgz#19073cb960398c87a7d6546eaa5e50d2022fcd00"
+  integrity sha512-e6NKUXgX95whv7IgddywbeN/ItCkWbISmc2DiqHJb0wTrqZIexqdco5b8Z3XZoo/48IdNVKM9ZCvTPJ4F5uvhg==
+  dependencies:
+    argparse "^1.0.10"
+    autolinker "~0.28.0"
+
 remove-trailing-separator@^1.0.1:
   version "1.1.0"
   resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
@@ -11457,6 +11991,13 @@ roarr@^2.15.3:
     semver-compare "^1.0.0"
     sprintf-js "^1.1.2"
 
+rollup-plugin-polyfill-node@^0.8.0:
+  version "0.8.0"
+  resolved "https://registry.yarnpkg.com/rollup-plugin-polyfill-node/-/rollup-plugin-polyfill-node-0.8.0.tgz#859c070822f5e38d221e5b4238cb34aa894c2b19"
+  integrity sha512-C4UeKedOmOBkB3FgR+z/v9kzRwV1Q/H8xWs1u1+CNe4XOV6hINfOrcO+TredKxYvopCmr+WKUSNsFUnD1RLHgQ==
+  dependencies:
+    "@rollup/plugin-inject" "^4.0.0"
+
 rsvp@^4.8.4:
   version "4.8.5"
   resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734"
@@ -11523,6 +12064,18 @@ sane@^4.0.3:
     minimist "^1.1.1"
     walker "~1.0.5"
 
+sanitize-html@^2.7.0:
+  version "2.7.0"
+  resolved "https://registry.yarnpkg.com/sanitize-html/-/sanitize-html-2.7.0.tgz#e106205b468aca932e2f9baf241f24660d34e279"
+  integrity sha512-jfQelabOn5voO7FAfnQF7v+jsA6z9zC/O4ec0z3E35XPEtHYJT/OdUziVWlKW4irCr2kXaQAyXTXDHWAibg1tA==
+  dependencies:
+    deepmerge "^4.2.2"
+    escape-string-regexp "^4.0.0"
+    htmlparser2 "^6.0.0"
+    is-plain-object "^5.0.0"
+    parse-srcset "^1.0.2"
+    postcss "^8.3.11"
+
 sanitize-s3-objectkey@^0.0.1:
   version "0.0.1"
   resolved "https://registry.yarnpkg.com/sanitize-s3-objectkey/-/sanitize-s3-objectkey-0.0.1.tgz#efa9887cd45275b40234fb4bb12fc5754fe64e7e"
@@ -11561,6 +12114,11 @@ schema-utils@^3.1.0, schema-utils@^3.1.1:
     ajv "^6.12.5"
     ajv-keywords "^3.5.2"
 
+screenfull@^6.0.1:
+  version "6.0.1"
+  resolved "https://registry.yarnpkg.com/screenfull/-/screenfull-6.0.1.tgz#3b71e6f06b72d817a8d3be73c45ebe71fa8da1ce"
+  integrity sha512-yzQW+j4zMUBQC51xxWaoDYjxOtl8Kn+xvue3p6v/fv2pIi1jH4AldgVLU8TBfFVgH2x3VXlf3+YiA/AYIPlaew==
+
 search-params@3.0.0:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/search-params/-/search-params-3.0.0.tgz#dbc7c243058e5a33ae1e9870be91f5aced4100d8"
@@ -11578,6 +12136,11 @@ seek-bzip@^1.0.5:
   dependencies:
     commander "^2.8.1"
 
+self-closing-tags@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/self-closing-tags/-/self-closing-tags-1.0.1.tgz#6c5fa497994bb826b484216916371accee490a5d"
+  integrity sha512-7t6hNbYMxM+VHXTgJmxwgZgLGktuXtVVD5AivWzNTdJBM4DBjnDKDzkf2SrNjihaArpeJYNjxkELBu1evI4lQA==
+
 semver-compare@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc"
@@ -11713,6 +12276,13 @@ shimmer@^1.2.0:
   resolved "https://registry.yarnpkg.com/shimmer/-/shimmer-1.2.1.tgz#610859f7de327b587efebf501fb43117f9aff337"
   integrity sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==
 
+shortid@^2.2.15:
+  version "2.2.16"
+  resolved "https://registry.yarnpkg.com/shortid/-/shortid-2.2.16.tgz#b742b8f0cb96406fd391c76bfc18a67a57fe5608"
+  integrity sha512-Ugt+GIZqvGXCIItnsL+lvFJOiN7RYqlGy7QE41O3YC1xbNSeDGIRO7xg2JJXIAj1cAGnOeC1r7/T9pgrtQbv4g==
+  dependencies:
+    nanoid "^2.1.0"
+
 side-channel@^1.0.4:
   version "1.0.4"
   resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf"
@@ -11827,6 +12397,11 @@ source-list-map@^2.0.1:
   resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34"
   integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==
 
+source-map-js@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
+  integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
+
 source-map-resolve@^0.5.0:
   version "0.5.3"
   resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a"
@@ -11880,6 +12455,11 @@ source-map@^0.7.3, source-map@~0.7.2:
   resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383"
   integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==
 
+sourcemap-codec@^1.4.8:
+  version "1.4.8"
+  resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4"
+  integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==
+
 spark-md5@3.0.1:
   version "3.0.1"
   resolved "https://registry.yarnpkg.com/spark-md5/-/spark-md5-3.0.1.tgz#83a0e255734f2ab4e5c466e5a2cfc9ba2aa2124d"
@@ -12202,6 +12782,11 @@ strip-outer@^1.0.0:
   dependencies:
     escape-string-regexp "^1.0.2"
 
+striptags@^3.1.1:
+  version "3.2.0"
+  resolved "https://registry.yarnpkg.com/striptags/-/striptags-3.2.0.tgz#cc74a137db2de8b0b9a370006334161f7dd67052"
+  integrity sha512-g45ZOGzHDMe2bdYMdIvdAfCQkCTDMGBazSw1ypMowwGIee7ZQ5dU0rBJ8Jqgl+jAKIv4dbeE1jscZq9wid1Tkw==
+
 style-loader@^3.3.1:
   version "3.3.1"
   resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.1.tgz#057dfa6b3d4d7c7064462830f9113ed417d38575"
@@ -12301,11 +12886,23 @@ svelte-portal@^1.0.0:
   resolved "https://registry.yarnpkg.com/svelte-portal/-/svelte-portal-1.0.0.tgz#36a47c5578b1a4d9b4dc60fa32a904640ec4cdd3"
   integrity sha512-nHf+DS/jZ6jjnZSleBMSaZua9JlG5rZv9lOGKgJuaZStfevtjIlUJrkLc3vbV8QdBvPPVmvcjTlazAzfKu0v3Q==
 
+svelte-spa-router@^3.0.5:
+  version "3.2.0"
+  resolved "https://registry.yarnpkg.com/svelte-spa-router/-/svelte-spa-router-3.2.0.tgz#fae3311d292451236cb57131262406cf312b15ee"
+  integrity sha512-igemo5Vs82TGBBw+DjWt6qKameXYzNs6aDXcTxou5XbEvOjiRcAM6MLkdVRCatn6u8r42dE99bt/br7T4qe/AQ==
+  dependencies:
+    regexparam "2.0.0"
+
 svelte@^3.38.2:
   version "3.44.1"
   resolved "https://registry.yarnpkg.com/svelte/-/svelte-3.44.1.tgz#5cc772a8340f4519a4ecd1ac1a842325466b1a63"
   integrity sha512-4DrCEJoBvdR689efHNSxIQn2pnFwB7E7j2yLEJtHE/P8hxwZWIphCtJ8are7bjl/iVMlcEf5uh5pJ68IwR09vQ==
 
+svelte@^3.46.2:
+  version "3.48.0"
+  resolved "https://registry.yarnpkg.com/svelte/-/svelte-3.48.0.tgz#f98c866d45e155bad8e1e88f15f9c03cd28753d3"
+  integrity sha512-fN2YRm/bGumvjUpu6yI3BpvZnpIm9I6A7HR4oUNYd7ggYyIwSA/BX7DJ+UXXffLp6XNcUijyLvttbPVCYa/3xQ==
+
 svg.draggable.js@^2.2.2:
   version "2.2.2"
   resolved "https://registry.yarnpkg.com/svg.draggable.js/-/svg.draggable.js-2.2.2.tgz#c514a2f1405efb6f0263e7958f5b68fce50603ba"
@@ -12633,6 +13230,11 @@ to-fast-properties@^2.0.0:
   resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
   integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
 
+to-gfm-code-block@^0.1.1:
+  version "0.1.1"
+  resolved "https://registry.yarnpkg.com/to-gfm-code-block/-/to-gfm-code-block-0.1.1.tgz#25d045a5fae553189e9637b590900da732d8aa82"
+  integrity sha1-JdBFpfrlUxielje1kJANpzLYqoI=
+
 to-json-schema@0.2.5:
   version "0.2.5"
   resolved "https://registry.yarnpkg.com/to-json-schema/-/to-json-schema-0.2.5.tgz#ef3c3f11ad64460dcfbdbafd0fd525d69d62a98f"
@@ -12870,6 +13472,13 @@ typedarray-to-buffer@^3.1.5:
   dependencies:
     is-typedarray "^1.0.0"
 
+typeof-article@^0.1.1:
+  version "0.1.1"
+  resolved "https://registry.yarnpkg.com/typeof-article/-/typeof-article-0.1.1.tgz#9f07e733c3fbb646ffa9e61c08debacd460e06af"
+  integrity sha1-nwfnM8P7tkb/qeYcCN66zUYOBq8=
+  dependencies:
+    kind-of "^3.1.0"
+
 typeof@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/typeof/-/typeof-1.0.0.tgz#9c84403f2323ae5399167275497638ea1d2f2440"
@@ -12880,6 +13489,11 @@ typescript@^4.5.5:
   resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.2.tgz#fe12d2727b708f4eef40f51598b3398baa9611d4"
   integrity sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg==
 
+typo-js@*:
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/typo-js/-/typo-js-1.2.1.tgz#334a0d8c3f6c56f2f1e15fdf6c31677793cbbe9b"
+  integrity sha512-bTGLjbD3WqZDR3CgEFkyi9Q/SS2oM29ipXrWfDb4M74ea69QwKAECVceYpaBu0GfdnASMg9Qfl67ttB23nePHg==
+
 uc.micro@^1.0.1, uc.micro@^1.0.5:
   version "1.0.6"
   resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac"
@@ -13182,6 +13796,14 @@ vm2@^3.9.3:
     acorn "^8.7.0"
     acorn-walk "^8.2.0"
 
+vm2@^3.9.4:
+  version "3.9.9"
+  resolved "https://registry.yarnpkg.com/vm2/-/vm2-3.9.9.tgz#c0507bc5fbb99388fad837d228badaaeb499ddc5"
+  integrity sha512-xwTm7NLh/uOjARRBs8/95H0e8fT3Ukw5D/JJWhxMbhKzNh1Nu981jQKvkep9iKYNxzlVrdzD0mlBGkDKZWprlw==
+  dependencies:
+    acorn "^8.7.0"
+    acorn-walk "^8.2.0"
+
 vuvuzela@1.0.3:
   version "1.0.3"
   resolved "https://registry.yarnpkg.com/vuvuzela/-/vuvuzela-1.0.3.tgz#3be145e58271c73ca55279dd851f12a682114b0b"
@@ -13700,6 +14322,11 @@ yauzl@^2.4.2:
     buffer-crc32 "~0.2.3"
     fd-slicer "~1.1.0"
 
+year@^0.2.1:
+  version "0.2.1"
+  resolved "https://registry.yarnpkg.com/year/-/year-0.2.1.tgz#4083ae520a318b23ec86037f3000cb892bdf9bb0"
+  integrity sha1-QIOuUgoxiyPshgN/MADLiSvfm7A=
+
 ylru@^1.2.0:
   version "1.2.1"
   resolved "https://registry.yarnpkg.com/ylru/-/ylru-1.2.1.tgz#f576b63341547989c1de7ba288760923b27fe84f"

From 2976073cf93e12ff0cc0c0d9fec18e6445ccce55 Mon Sep 17 00:00:00 2001
From: Budibase Staging Release Bot <>
Date: Tue, 3 May 2022 12:54:51 +0000
Subject: [PATCH 049/100] v1.0.130-alpha.2

---
 lerna.json                             |  2 +-
 packages/backend-core/package.json     |  2 +-
 packages/bbui/package.json             |  4 ++--
 packages/builder/package.json          | 10 +++++-----
 packages/cli/package.json              |  2 +-
 packages/client/package.json           |  8 ++++----
 packages/frontend-core/package.json    |  4 ++--
 packages/server/package.json           |  8 ++++----
 packages/string-templates/package.json |  2 +-
 packages/worker/package.json           |  6 +++---
 10 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/lerna.json b/lerna.json
index 8b73e051ed..98485db3e5 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
 {
-  "version": "1.0.130-alpha.1",
+  "version": "1.0.130-alpha.2",
   "npmClient": "yarn",
   "packages": [
     "packages/*"
diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json
index 2a718c4988..ad63371a9f 100644
--- a/packages/backend-core/package.json
+++ b/packages/backend-core/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/backend-core",
-  "version": "1.0.130-alpha.1",
+  "version": "1.0.130-alpha.2",
   "description": "Budibase backend core libraries used in server and worker",
   "main": "src/index.js",
   "author": "Budibase",
diff --git a/packages/bbui/package.json b/packages/bbui/package.json
index 34de16fd40..32047e070f 100644
--- a/packages/bbui/package.json
+++ b/packages/bbui/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/bbui",
   "description": "A UI solution used in the different Budibase projects.",
-  "version": "1.0.130-alpha.1",
+  "version": "1.0.130-alpha.2",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "module": "dist/bbui.es.js",
@@ -38,7 +38,7 @@
   ],
   "dependencies": {
     "@adobe/spectrum-css-workflow-icons": "^1.2.1",
-    "@budibase/string-templates": "^1.0.130-alpha.1",
+    "@budibase/string-templates": "^1.0.130-alpha.2",
     "@spectrum-css/actionbutton": "^1.0.1",
     "@spectrum-css/actiongroup": "^1.0.1",
     "@spectrum-css/avatar": "^3.0.2",
diff --git a/packages/builder/package.json b/packages/builder/package.json
index 12d16a9fad..12202e6632 100644
--- a/packages/builder/package.json
+++ b/packages/builder/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/builder",
-  "version": "1.0.130-alpha.1",
+  "version": "1.0.130-alpha.2",
   "license": "GPL-3.0",
   "private": true,
   "scripts": {
@@ -65,10 +65,10 @@
     }
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.130-alpha.1",
-    "@budibase/client": "^1.0.130-alpha.1",
-    "@budibase/frontend-core": "^1.0.130-alpha.1",
-    "@budibase/string-templates": "^1.0.130-alpha.1",
+    "@budibase/bbui": "^1.0.130-alpha.2",
+    "@budibase/client": "^1.0.130-alpha.2",
+    "@budibase/frontend-core": "^1.0.130-alpha.2",
+    "@budibase/string-templates": "^1.0.130-alpha.2",
     "@sentry/browser": "5.19.1",
     "@spectrum-css/page": "^3.0.1",
     "@spectrum-css/vars": "^3.0.1",
diff --git a/packages/cli/package.json b/packages/cli/package.json
index b99c0ca357..570e955ac0 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/cli",
-  "version": "1.0.130-alpha.1",
+  "version": "1.0.130-alpha.2",
   "description": "Budibase CLI, for developers, self hosting and migrations.",
   "main": "src/index.js",
   "bin": {
diff --git a/packages/client/package.json b/packages/client/package.json
index f42a56973c..19e57e1e5c 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/client",
-  "version": "1.0.130-alpha.1",
+  "version": "1.0.130-alpha.2",
   "license": "MPL-2.0",
   "module": "dist/budibase-client.js",
   "main": "dist/budibase-client.js",
@@ -19,9 +19,9 @@
     "dev:builder": "rollup -cw"
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.130-alpha.1",
-    "@budibase/frontend-core": "^1.0.130-alpha.1",
-    "@budibase/string-templates": "^1.0.130-alpha.1",
+    "@budibase/bbui": "^1.0.130-alpha.2",
+    "@budibase/frontend-core": "^1.0.130-alpha.2",
+    "@budibase/string-templates": "^1.0.130-alpha.2",
     "@spectrum-css/button": "^3.0.3",
     "@spectrum-css/card": "^3.0.3",
     "@spectrum-css/divider": "^1.0.3",
diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json
index d9f2231efa..a95d714f83 100644
--- a/packages/frontend-core/package.json
+++ b/packages/frontend-core/package.json
@@ -1,12 +1,12 @@
 {
   "name": "@budibase/frontend-core",
-  "version": "1.0.130-alpha.1",
+  "version": "1.0.130-alpha.2",
   "description": "Budibase frontend core libraries used in builder and client",
   "author": "Budibase",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "dependencies": {
-    "@budibase/bbui": "^1.0.130-alpha.1",
+    "@budibase/bbui": "^1.0.130-alpha.2",
     "lodash": "^4.17.21",
     "svelte": "^3.46.2"
   }
diff --git a/packages/server/package.json b/packages/server/package.json
index 4811498088..685da5ba8c 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/server",
   "email": "hi@budibase.com",
-  "version": "1.0.130-alpha.1",
+  "version": "1.0.130-alpha.2",
   "description": "Budibase Web Server",
   "main": "src/index.ts",
   "repository": {
@@ -68,10 +68,10 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@apidevtools/swagger-parser": "^10.0.3",
-    "@budibase/backend-core": "^1.0.130-alpha.1",
-    "@budibase/client": "^1.0.130-alpha.1",
+    "@budibase/backend-core": "^1.0.130-alpha.2",
+    "@budibase/client": "^1.0.130-alpha.2",
     "@budibase/pro": "1.0.130-alpha.1",
-    "@budibase/string-templates": "^1.0.130-alpha.1",
+    "@budibase/string-templates": "^1.0.130-alpha.2",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
     "@elastic/elasticsearch": "7.10.0",
diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json
index 3073481ca5..bde86f55b7 100644
--- a/packages/string-templates/package.json
+++ b/packages/string-templates/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/string-templates",
-  "version": "1.0.130-alpha.1",
+  "version": "1.0.130-alpha.2",
   "description": "Handlebars wrapper for Budibase templating.",
   "main": "src/index.cjs",
   "module": "dist/bundle.mjs",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index 4471b846b1..fe3bcf133f 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/worker",
   "email": "hi@budibase.com",
-  "version": "1.0.130-alpha.1",
+  "version": "1.0.130-alpha.2",
   "description": "Budibase background service",
   "main": "src/index.ts",
   "repository": {
@@ -31,9 +31,9 @@
   "author": "Budibase",
   "license": "GPL-3.0",
   "dependencies": {
-    "@budibase/backend-core": "^1.0.130-alpha.1",
+    "@budibase/backend-core": "^1.0.130-alpha.2",
     "@budibase/pro": "1.0.130-alpha.1",
-    "@budibase/string-templates": "^1.0.130-alpha.1",
+    "@budibase/string-templates": "^1.0.130-alpha.2",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",
     "@techpass/passport-openidconnect": "^0.3.0",

From f72fe95fc8430343feca26a3d838dd10b31d3caa Mon Sep 17 00:00:00 2001
From: Budibase Staging Release Bot <>
Date: Tue, 3 May 2022 12:56:06 +0000
Subject: [PATCH 050/100] Update pro version to 1.0.130-alpha.2

---
 packages/server/package.json | 2 +-
 packages/worker/package.json | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/packages/server/package.json b/packages/server/package.json
index 685da5ba8c..66cf141ed4 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -70,7 +70,7 @@
     "@apidevtools/swagger-parser": "^10.0.3",
     "@budibase/backend-core": "^1.0.130-alpha.2",
     "@budibase/client": "^1.0.130-alpha.2",
-    "@budibase/pro": "1.0.130-alpha.1",
+    "@budibase/pro": "1.0.130-alpha.2",
     "@budibase/string-templates": "^1.0.130-alpha.2",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index fe3bcf133f..5d19a848fc 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -32,7 +32,7 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@budibase/backend-core": "^1.0.130-alpha.2",
-    "@budibase/pro": "1.0.130-alpha.1",
+    "@budibase/pro": "1.0.130-alpha.2",
     "@budibase/string-templates": "^1.0.130-alpha.2",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",

From d090f2a8aa8efc8907f4ff5524def55c9251277b Mon Sep 17 00:00:00 2001
From: mike12345567 <me@michaeldrury.co.uk>
Date: Tue, 3 May 2022 14:11:06 +0100
Subject: [PATCH 051/100] Fix for #5553 - when importing for SQL databases
 attempt to manage date and time only column times, handle these when
 displaying in tables and when filtering.

---
 .../bbui/src/Table/DateTimeRenderer.svelte     | 13 +++++++++----
 .../backend/DataTable/RowFieldControl.svelte   |  9 +++++++--
 .../FilterEditor/FilterDrawer.svelte           | 11 ++++++++++-
 .../app/dynamic-filter/FilterModal.svelte      | 11 ++++++++++-
 .../src/integrations/microsoftSqlServer.ts     |  4 +---
 packages/server/src/integrations/mysql.ts      |  3 ++-
 packages/server/src/integrations/oracle.ts     |  6 +++---
 packages/server/src/integrations/postgres.ts   |  3 +--
 packages/server/src/integrations/utils.ts      | 17 ++++++++++++++---
 packages/server/yarn.lock                      | 18 +++++++++---------
 packages/worker/yarn.lock                      | 18 +++++++++---------
 11 files changed, 75 insertions(+), 38 deletions(-)

diff --git a/packages/bbui/src/Table/DateTimeRenderer.svelte b/packages/bbui/src/Table/DateTimeRenderer.svelte
index 5d856968e7..f4b0821069 100644
--- a/packages/bbui/src/Table/DateTimeRenderer.svelte
+++ b/packages/bbui/src/Table/DateTimeRenderer.svelte
@@ -2,17 +2,22 @@
   import dayjs from "dayjs"
 
   export let value
+  export let schema
 
   // adding the 0- will turn a string like 00:00:00 into a valid ISO
   // date, but will make actual ISO dates invalid
   $: time = new Date(`0-${value}`)
-  $: isTime = !isNaN(time)
+  $: isTimeOnly = !isNaN(time) || schema?.timeOnly
+  $: isDateOnly = schema?.dateOnly
+  $: format = isTimeOnly
+    ? "HH:mm:ss"
+    : isDateOnly
+    ? "MMMM D YYYY"
+    : "MMMM D YYYY, HH:mm"
 </script>
 
 <div>
-  {dayjs(isTime ? time : value).format(
-    isTime ? "HH:mm:ss" : "MMMM D YYYY, HH:mm"
-  )}
+  {dayjs(isTimeOnly ? time : value).format(format)}
 </div>
 
 <style>
diff --git a/packages/builder/src/components/backend/DataTable/RowFieldControl.svelte b/packages/builder/src/components/backend/DataTable/RowFieldControl.svelte
index 7a9e03976b..2286ae82aa 100644
--- a/packages/builder/src/components/backend/DataTable/RowFieldControl.svelte
+++ b/packages/builder/src/components/backend/DataTable/RowFieldControl.svelte
@@ -37,7 +37,7 @@
   $: label = meta.name ? capitalise(meta.name) : ""
 
   const timeStamp = resolveTimeStamp(value)
-  const isTimeStamp = !!timeStamp
+  const isTimeStamp = !!timeStamp || meta?.timeOnly
 </script>
 
 {#if type === "options" && meta.constraints.inclusion.length !== 0}
@@ -49,7 +49,12 @@
     sort
   />
 {:else if type === "datetime"}
-  <DatePicker {label} timeOnly={isTimeStamp} bind:value />
+  <DatePicker
+    {label}
+    timeOnly={isTimeStamp}
+    enableTime={!meta?.dateOnly}
+    bind:value
+  />
 {:else if type === "attachment"}
   <Dropzone {label} bind:value />
 {:else if type === "boolean"}
diff --git a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/FilterEditor/FilterDrawer.svelte b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/FilterEditor/FilterDrawer.svelte
index 1441d3834b..95a5f54e32 100644
--- a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/FilterEditor/FilterDrawer.svelte
+++ b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/FilterEditor/FilterDrawer.svelte
@@ -49,6 +49,10 @@
     filters = [...filters, duplicate]
   }
 
+  const getSchema = filter => {
+    return schemaFields.find(field => field.name === filter.field)
+  }
+
   const onFieldChange = (expression, field) => {
     // Update the field type
     expression.type = enrichedSchemaFields.find(x => x.name === field)?.type
@@ -150,7 +154,12 @@
                 bind:value={filter.value}
               />
             {:else if filter.type === "datetime"}
-              <DatePicker disabled={filter.noValue} bind:value={filter.value} />
+              <DatePicker
+                disabled={filter.noValue}
+                enableTime={!getSchema(filter).dateOnly}
+                timeOnly={getSchema(filter).timeOnly}
+                bind:value={filter.value}
+              />
             {:else}
               <DrawerBindableInput disabled />
             {/if}
diff --git a/packages/client/src/components/app/dynamic-filter/FilterModal.svelte b/packages/client/src/components/app/dynamic-filter/FilterModal.svelte
index 54ad1f3a80..b8815279dd 100644
--- a/packages/client/src/components/app/dynamic-filter/FilterModal.svelte
+++ b/packages/client/src/components/app/dynamic-filter/FilterModal.svelte
@@ -88,6 +88,10 @@
     const schema = schemaFields.find(x => x.name === field)
     return schema?.constraints?.inclusion || []
   }
+
+  const getSchema = filter => {
+    return schemaFields.find(field => field.name === filter.field)
+  }
 </script>
 
 <div class="container" class:mobile={$context.device.mobile}>
@@ -134,7 +138,12 @@
               bind:value={filter.value}
             />
           {:else if filter.type === "datetime"}
-            <DatePicker disabled={filter.noValue} bind:value={filter.value} />
+            <DatePicker
+              disabled={filter.noValue}
+              enableTime={!getSchema(filter).dateOnly}
+              timeOnly={getSchema(filter).timeOnly}
+              bind:value={filter.value}
+            />
           {:else}
             <Input disabled />
           {/if}
diff --git a/packages/server/src/integrations/microsoftSqlServer.ts b/packages/server/src/integrations/microsoftSqlServer.ts
index 1b37b5df9a..a7b9906481 100644
--- a/packages/server/src/integrations/microsoftSqlServer.ts
+++ b/packages/server/src/integrations/microsoftSqlServer.ts
@@ -242,12 +242,10 @@ module MSSQLModule {
           if (typeof name !== "string") {
             continue
           }
-          const type: string = convertSqlType(def.DATA_TYPE)
-
           schema[name] = {
             autocolumn: !!autoColumns.find((col: string) => col === name),
             name: name,
-            type,
+            ...convertSqlType(def.DATA_TYPE),
           }
         }
         tables[tableName] = {
diff --git a/packages/server/src/integrations/mysql.ts b/packages/server/src/integrations/mysql.ts
index c2ef44c1bd..4fe996a019 100644
--- a/packages/server/src/integrations/mysql.ts
+++ b/packages/server/src/integrations/mysql.ts
@@ -15,6 +15,7 @@ import {
 } from "./utils"
 import { DatasourcePlus } from "./base/datasourcePlus"
 import dayjs from "dayjs"
+import { FieldTypes } from "../constants"
 const { NUMBER_REGEX } = require("../utilities")
 
 module MySQLModule {
@@ -215,8 +216,8 @@ module MySQLModule {
             schema[columnName] = {
               name: columnName,
               autocolumn: isAuto,
-              type: convertSqlType(column.Type),
               constraints,
+              ...convertSqlType(column.Type),
             }
           }
           if (!tables[tableName]) {
diff --git a/packages/server/src/integrations/oracle.ts b/packages/server/src/integrations/oracle.ts
index 7cb7ba88cf..94e51694c1 100644
--- a/packages/server/src/integrations/oracle.ts
+++ b/packages/server/src/integrations/oracle.ts
@@ -279,9 +279,9 @@ module OracleModule {
       )
     }
 
-    private internalConvertType(column: OracleColumn): string {
+    private internalConvertType(column: OracleColumn): { type: string } {
       if (this.isBooleanType(column)) {
-        return FieldTypes.BOOLEAN
+        return { type: FieldTypes.BOOLEAN }
       }
 
       return convertSqlType(column.type)
@@ -328,7 +328,7 @@ module OracleModule {
               fieldSchema = {
                 autocolumn: OracleIntegration.isAutoColumn(oracleColumn),
                 name: columnName,
-                type: this.internalConvertType(oracleColumn),
+                ...this.internalConvertType(oracleColumn),
               }
               table.schema[columnName] = fieldSchema
             }
diff --git a/packages/server/src/integrations/postgres.ts b/packages/server/src/integrations/postgres.ts
index 1dc6fd9d2d..01257f3aa0 100644
--- a/packages/server/src/integrations/postgres.ts
+++ b/packages/server/src/integrations/postgres.ts
@@ -227,7 +227,6 @@ module PostgresModule {
           }
         }
 
-        const type: string = convertSqlType(column.data_type)
         const identity = !!(
           column.identity_generation ||
           column.identity_start ||
@@ -242,7 +241,7 @@ module PostgresModule {
         tables[tableName].schema[columnName] = {
           autocolumn: isAuto,
           name: columnName,
-          type,
+          ...convertSqlType(column.data_type),
         }
       }
 
diff --git a/packages/server/src/integrations/utils.ts b/packages/server/src/integrations/utils.ts
index 16cc6d387e..7e4efad84f 100644
--- a/packages/server/src/integrations/utils.ts
+++ b/packages/server/src/integrations/utils.ts
@@ -35,6 +35,9 @@ const SQL_DATE_TYPE_MAP = {
   date: FieldTypes.DATETIME,
 }
 
+const SQL_DATE_ONLY_TYPES = ["date"]
+const SQL_TIME_ONLY_TYPES = ["time"]
+
 const SQL_STRING_TYPE_MAP = {
   varchar: FieldTypes.STRING,
   char: FieldTypes.STRING,
@@ -137,12 +140,20 @@ export function breakRowIdField(_id: string | { _id: string }): any[] {
 }
 
 export function convertSqlType(type: string) {
+  let foundType = FieldTypes.STRING
+  const lcType = type.toLowerCase()
   for (let [external, internal] of Object.entries(SQL_TYPE_MAP)) {
-    if (type.toLowerCase().includes(external)) {
-      return internal
+    if (lcType.includes(external)) {
+      foundType = internal
+      break
     }
   }
-  return FieldTypes.STRING
+  const schema: any = { type: foundType }
+  if (foundType === FieldTypes.DATETIME) {
+    schema.dateOnly = SQL_DATE_ONLY_TYPES.includes(lcType)
+    schema.timeOnly = SQL_TIME_ONLY_TYPES.includes(lcType)
+  }
+  return schema
 }
 
 export function getSqlQuery(query: SqlQuery | string): SqlQuery {
diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock
index 239b342eff..1d9f526842 100644
--- a/packages/server/yarn.lock
+++ b/packages/server/yarn.lock
@@ -1014,10 +1014,10 @@
   resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
   integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
 
-"@budibase/backend-core@1.0.127":
-  version "1.0.127"
-  resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.0.127.tgz#5d1f4b18b31436ddb770dc1ddf16f201ec95dda7"
-  integrity sha512-3INFkAIxL0Q8Sa65ELRGQqPs+4baykKyb1z/XuO1MyuDPnbFKXGOjl1V61EMy622gsmLk90IJL6aQfh3Grwhvw==
+"@budibase/backend-core@1.0.131":
+  version "1.0.131"
+  resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.0.131.tgz#4b284405e19a345de1af723d0c1e3fa315463140"
+  integrity sha512-1r6JjIcSBHogGm2YLB7k712+3LLE1+42C3eITa6n8r/QQIkyK7DJwm0I403IRKeh/93gwgQtBiRpJfhy2p7Pew==
   dependencies:
     "@techpass/passport-openidconnect" "^0.3.0"
     aws-sdk "^2.901.0"
@@ -1091,12 +1091,12 @@
     svelte-flatpickr "^3.2.3"
     svelte-portal "^1.0.0"
 
-"@budibase/pro@1.0.127":
-  version "1.0.127"
-  resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.0.127.tgz#a8bcffb8ccc6afde64370b3a3dc22e2d0dd04f46"
-  integrity sha512-dj0SFTmO8JuMQ97/Ik6jVPQsh9AW7U5Wkgpa4yeNfwWw3DvSoktCxpeZ9mND6BR/DWTaeZljFKsQ6uk6nimzdQ==
+"@budibase/pro@1.0.131":
+  version "1.0.131"
+  resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.0.131.tgz#65907e7ca528d237bf12dbe5c159156d03e8d5c3"
+  integrity sha512-pmK18/1TPDY+3IHUzGh0fG5CEy7+kSPpcl72smri8jvo5OsD4lWQVOTHSdqRn8aIf/qEHHWc2sspEEDGhYMv0Q==
   dependencies:
-    "@budibase/backend-core" "1.0.127"
+    "@budibase/backend-core" "1.0.131"
     node-fetch "^2.6.1"
 
 "@budibase/standard-components@^0.9.139":
diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock
index dfdcc129d9..4962cc20e5 100644
--- a/packages/worker/yarn.lock
+++ b/packages/worker/yarn.lock
@@ -293,10 +293,10 @@
   resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
   integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
 
-"@budibase/backend-core@1.0.127":
-  version "1.0.127"
-  resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.0.127.tgz#5d1f4b18b31436ddb770dc1ddf16f201ec95dda7"
-  integrity sha512-3INFkAIxL0Q8Sa65ELRGQqPs+4baykKyb1z/XuO1MyuDPnbFKXGOjl1V61EMy622gsmLk90IJL6aQfh3Grwhvw==
+"@budibase/backend-core@1.0.131":
+  version "1.0.131"
+  resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.0.131.tgz#4b284405e19a345de1af723d0c1e3fa315463140"
+  integrity sha512-1r6JjIcSBHogGm2YLB7k712+3LLE1+42C3eITa6n8r/QQIkyK7DJwm0I403IRKeh/93gwgQtBiRpJfhy2p7Pew==
   dependencies:
     "@techpass/passport-openidconnect" "^0.3.0"
     aws-sdk "^2.901.0"
@@ -321,12 +321,12 @@
     uuid "^8.3.2"
     zlib "^1.0.5"
 
-"@budibase/pro@1.0.127":
-  version "1.0.127"
-  resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.0.127.tgz#a8bcffb8ccc6afde64370b3a3dc22e2d0dd04f46"
-  integrity sha512-dj0SFTmO8JuMQ97/Ik6jVPQsh9AW7U5Wkgpa4yeNfwWw3DvSoktCxpeZ9mND6BR/DWTaeZljFKsQ6uk6nimzdQ==
+"@budibase/pro@1.0.131":
+  version "1.0.131"
+  resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.0.131.tgz#65907e7ca528d237bf12dbe5c159156d03e8d5c3"
+  integrity sha512-pmK18/1TPDY+3IHUzGh0fG5CEy7+kSPpcl72smri8jvo5OsD4lWQVOTHSdqRn8aIf/qEHHWc2sspEEDGhYMv0Q==
   dependencies:
-    "@budibase/backend-core" "1.0.127"
+    "@budibase/backend-core" "1.0.131"
     node-fetch "^2.6.1"
 
 "@cspotcode/source-map-consumer@0.8.0":

From 40d28238b951f699dc12f44994f1a2801599eb95 Mon Sep 17 00:00:00 2001
From: Rory Powell <rory.codes@gmail.com>
Date: Tue, 3 May 2022 14:18:18 +0100
Subject: [PATCH 052/100] Add workflow_dispatch to ci, release-develop and
 release (master)

---
 .github/workflows/budibase_ci.yml     | 1 +
 .github/workflows/release-develop.yml | 6 ++++++
 .github/workflows/release.yml         | 6 ++++++
 3 files changed, 13 insertions(+)

diff --git a/.github/workflows/budibase_ci.yml b/.github/workflows/budibase_ci.yml
index 0881d2528d..8e235532cf 100644
--- a/.github/workflows/budibase_ci.yml
+++ b/.github/workflows/budibase_ci.yml
@@ -11,6 +11,7 @@ on:
     branches:
       - master
       - develop 
+ workflow_dispatch:
 
 env:
   BRANCH: ${{ github.event.pull_request.head.ref }}
diff --git a/.github/workflows/release-develop.yml b/.github/workflows/release-develop.yml
index 87e4f0988a..7ee02ccdd1 100644
--- a/.github/workflows/release-develop.yml
+++ b/.github/workflows/release-develop.yml
@@ -14,6 +14,7 @@ on:
       - 'yarn.lock'
       - 'package.json'
       - 'yarn.lock'
+ workflow_dispatch:
 
 env:
   POSTHOG_TOKEN: ${{ secrets.POSTHOG_TOKEN }}
@@ -26,6 +27,11 @@ jobs:
     runs-on: ubuntu-latest 
 
     steps:
+      - name: Fail if branch is not develop
+        if: github.ref != 'refs/heads/develop' 
+        run: | 
+          echo "Ref is not develop, you must run this job from develop."
+          exit 1
       - uses: actions/checkout@v2
       - uses: actions/setup-node@v1
         with:
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 3fe81dbcd1..359ad4467b 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -14,6 +14,7 @@ on:
       - 'yarn.lock'
       - 'package.json'
       - 'yarn.lock'
+ workflow_dispatch:
 
 env:
   POSTHOG_TOKEN: ${{ secrets.POSTHOG_TOKEN }}
@@ -27,6 +28,11 @@ jobs:
     runs-on: ubuntu-latest
 
     steps:
+      - name: Fail if branch is not master
+        if: github.ref != 'refs/heads/master' 
+        run: | 
+          echo "Ref is not master, you must run this job from master."
+          exit 1
       - uses: actions/checkout@v2
       - uses: actions/setup-node@v1
         with:

From 808e3e7c8bea0a1358fadc112c4003f61045d537 Mon Sep 17 00:00:00 2001
From: Budibase Release Bot <>
Date: Tue, 3 May 2022 13:54:24 +0000
Subject: [PATCH 053/100] v1.0.135

---
 lerna.json                             |  2 +-
 packages/backend-core/package.json     |  2 +-
 packages/bbui/package.json             |  4 ++--
 packages/builder/package.json          | 10 +++++-----
 packages/cli/package.json              |  2 +-
 packages/client/package.json           |  8 ++++----
 packages/frontend-core/package.json    |  4 ++--
 packages/server/package.json           |  8 ++++----
 packages/string-templates/package.json |  2 +-
 packages/worker/package.json           |  6 +++---
 10 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/lerna.json b/lerna.json
index 82ef5dc786..b9d9cfb8b1 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
 {
-  "version": "1.0.134",
+  "version": "1.0.135",
   "npmClient": "yarn",
   "packages": [
     "packages/*"
diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json
index 09fc5cf002..90b8bac22a 100644
--- a/packages/backend-core/package.json
+++ b/packages/backend-core/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/backend-core",
-  "version": "1.0.134",
+  "version": "1.0.135",
   "description": "Budibase backend core libraries used in server and worker",
   "main": "src/index.js",
   "author": "Budibase",
diff --git a/packages/bbui/package.json b/packages/bbui/package.json
index bceefa032d..b55c6bb6fb 100644
--- a/packages/bbui/package.json
+++ b/packages/bbui/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/bbui",
   "description": "A UI solution used in the different Budibase projects.",
-  "version": "1.0.134",
+  "version": "1.0.135",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "module": "dist/bbui.es.js",
@@ -38,7 +38,7 @@
   ],
   "dependencies": {
     "@adobe/spectrum-css-workflow-icons": "^1.2.1",
-    "@budibase/string-templates": "^1.0.134",
+    "@budibase/string-templates": "^1.0.135",
     "@spectrum-css/actionbutton": "^1.0.1",
     "@spectrum-css/actiongroup": "^1.0.1",
     "@spectrum-css/avatar": "^3.0.2",
diff --git a/packages/builder/package.json b/packages/builder/package.json
index a41f46c8a5..61e320e61c 100644
--- a/packages/builder/package.json
+++ b/packages/builder/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/builder",
-  "version": "1.0.134",
+  "version": "1.0.135",
   "license": "GPL-3.0",
   "private": true,
   "scripts": {
@@ -65,10 +65,10 @@
     }
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.134",
-    "@budibase/client": "^1.0.134",
-    "@budibase/frontend-core": "^1.0.134",
-    "@budibase/string-templates": "^1.0.134",
+    "@budibase/bbui": "^1.0.135",
+    "@budibase/client": "^1.0.135",
+    "@budibase/frontend-core": "^1.0.135",
+    "@budibase/string-templates": "^1.0.135",
     "@sentry/browser": "5.19.1",
     "@spectrum-css/page": "^3.0.1",
     "@spectrum-css/vars": "^3.0.1",
diff --git a/packages/cli/package.json b/packages/cli/package.json
index 7d14c93ade..2951389d55 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/cli",
-  "version": "1.0.134",
+  "version": "1.0.135",
   "description": "Budibase CLI, for developers, self hosting and migrations.",
   "main": "src/index.js",
   "bin": {
diff --git a/packages/client/package.json b/packages/client/package.json
index 743bd52cec..92d9f36662 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/client",
-  "version": "1.0.134",
+  "version": "1.0.135",
   "license": "MPL-2.0",
   "module": "dist/budibase-client.js",
   "main": "dist/budibase-client.js",
@@ -19,9 +19,9 @@
     "dev:builder": "rollup -cw"
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.134",
-    "@budibase/frontend-core": "^1.0.134",
-    "@budibase/string-templates": "^1.0.134",
+    "@budibase/bbui": "^1.0.135",
+    "@budibase/frontend-core": "^1.0.135",
+    "@budibase/string-templates": "^1.0.135",
     "@spectrum-css/button": "^3.0.3",
     "@spectrum-css/card": "^3.0.3",
     "@spectrum-css/divider": "^1.0.3",
diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json
index 972443e23c..138073f3b0 100644
--- a/packages/frontend-core/package.json
+++ b/packages/frontend-core/package.json
@@ -1,12 +1,12 @@
 {
   "name": "@budibase/frontend-core",
-  "version": "1.0.134",
+  "version": "1.0.135",
   "description": "Budibase frontend core libraries used in builder and client",
   "author": "Budibase",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "dependencies": {
-    "@budibase/bbui": "^1.0.134",
+    "@budibase/bbui": "^1.0.135",
     "lodash": "^4.17.21",
     "svelte": "^3.46.2"
   }
diff --git a/packages/server/package.json b/packages/server/package.json
index a621dc3453..798b3e16ec 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/server",
   "email": "hi@budibase.com",
-  "version": "1.0.134",
+  "version": "1.0.135",
   "description": "Budibase Web Server",
   "main": "src/index.ts",
   "repository": {
@@ -68,10 +68,10 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@apidevtools/swagger-parser": "^10.0.3",
-    "@budibase/backend-core": "^1.0.134",
-    "@budibase/client": "^1.0.134",
+    "@budibase/backend-core": "^1.0.135",
+    "@budibase/client": "^1.0.135",
     "@budibase/pro": "1.0.134",
-    "@budibase/string-templates": "^1.0.134",
+    "@budibase/string-templates": "^1.0.135",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
     "@elastic/elasticsearch": "7.10.0",
diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json
index 8523ccbe1a..4e5a7e51ff 100644
--- a/packages/string-templates/package.json
+++ b/packages/string-templates/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/string-templates",
-  "version": "1.0.134",
+  "version": "1.0.135",
   "description": "Handlebars wrapper for Budibase templating.",
   "main": "src/index.cjs",
   "module": "dist/bundle.mjs",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index fd243cba90..4b2ab7100c 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/worker",
   "email": "hi@budibase.com",
-  "version": "1.0.134",
+  "version": "1.0.135",
   "description": "Budibase background service",
   "main": "src/index.ts",
   "repository": {
@@ -31,9 +31,9 @@
   "author": "Budibase",
   "license": "GPL-3.0",
   "dependencies": {
-    "@budibase/backend-core": "^1.0.134",
+    "@budibase/backend-core": "^1.0.135",
     "@budibase/pro": "1.0.134",
-    "@budibase/string-templates": "^1.0.134",
+    "@budibase/string-templates": "^1.0.135",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",
     "@techpass/passport-openidconnect": "^0.3.0",

From b95daf63c7e6cc11845a576166df7f27fccc756c Mon Sep 17 00:00:00 2001
From: Budibase Release Bot <>
Date: Tue, 3 May 2022 13:55:48 +0000
Subject: [PATCH 054/100] Update pro version to 1.0.135

---
 packages/server/package.json | 2 +-
 packages/worker/package.json | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/packages/server/package.json b/packages/server/package.json
index 798b3e16ec..f0c42073f4 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -70,7 +70,7 @@
     "@apidevtools/swagger-parser": "^10.0.3",
     "@budibase/backend-core": "^1.0.135",
     "@budibase/client": "^1.0.135",
-    "@budibase/pro": "1.0.134",
+    "@budibase/pro": "1.0.135",
     "@budibase/string-templates": "^1.0.135",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index 4b2ab7100c..96f77fa55a 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -32,7 +32,7 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@budibase/backend-core": "^1.0.135",
-    "@budibase/pro": "1.0.134",
+    "@budibase/pro": "1.0.135",
     "@budibase/string-templates": "^1.0.135",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",

From 9e46413202adebb6ddc65b4d90d42fc71d400676 Mon Sep 17 00:00:00 2001
From: mike12345567 <me@michaeldrury.co.uk>
Date: Tue, 3 May 2022 15:20:46 +0100
Subject: [PATCH 055/100] Fix for export issue reported in #5669 - streaming +
 closing the database didn't work well together, have to support an edge case
 for our code stopping execution, but DB access continuing.

---
 .../server/src/utilities/fileSystem/index.js  | 24 ++++++++++++-------
 1 file changed, 16 insertions(+), 8 deletions(-)

diff --git a/packages/server/src/utilities/fileSystem/index.js b/packages/server/src/utilities/fileSystem/index.js
index 8a02afc5b3..e2a76c49a1 100644
--- a/packages/server/src/utilities/fileSystem/index.js
+++ b/packages/server/src/utilities/fileSystem/index.js
@@ -2,7 +2,11 @@ const { budibaseTempDir } = require("../budibaseDir")
 const fs = require("fs")
 const { join } = require("path")
 const uuid = require("uuid/v4")
-const { doWithDB } = require("@budibase/backend-core/db")
+const {
+  doWithDB,
+  dangerousGetDB,
+  closeDB,
+} = require("@budibase/backend-core/db")
 const { ObjectStoreBuckets } = require("../../constants")
 const {
   upload,
@@ -151,14 +155,18 @@ exports.streamBackup = async appId => {
  * @return {*} either a readable stream or a string
  */
 exports.exportDB = async (dbName, { stream, filter, exportName } = {}) => {
-  return doWithDB(dbName, async db => {
-    // Stream the dump if required
-    if (stream) {
-      const memStream = new MemoryStream()
-      db.dump(memStream, { filter })
-      return memStream
-    }
+  // streaming a DB dump is a bit more complicated, can't close DB
+  if (stream) {
+    const db = dangerousGetDB(dbName)
+    const memStream = new MemoryStream()
+    memStream.on("end", async () => {
+      await closeDB(db)
+    })
+    db.dump(memStream, { filter })
+    return memStream
+  }
 
+  return doWithDB(dbName, async db => {
     // Write the dump to file if required
     if (exportName) {
       const path = join(budibaseTempDir(), exportName)

From cfd53b2f93c1045399792dbede294cc193a4fea6 Mon Sep 17 00:00:00 2001
From: mike12345567 <me@michaeldrury.co.uk>
Date: Tue, 3 May 2022 15:29:17 +0100
Subject: [PATCH 056/100] Fix for form issue #5669 - when in an empty state
 didn't correctly handle null stores.

---
 packages/client/src/components/app/forms/FormStep.svelte | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/packages/client/src/components/app/forms/FormStep.svelte b/packages/client/src/components/app/forms/FormStep.svelte
index 4441f515ee..22972c5c48 100644
--- a/packages/client/src/components/app/forms/FormStep.svelte
+++ b/packages/client/src/components/app/forms/FormStep.svelte
@@ -22,7 +22,7 @@
     if (
       formContext &&
       $builderStore.inBuilder &&
-      $componentStore.selectedComponentPath?.includes($component.id)
+      $componentStore?.selectedComponentPath?.includes($component.id)
     ) {
       formContext.formApi.setStep(step)
     }

From 41b72027c4ffee70072c30f7c2341dd0be4f278c Mon Sep 17 00:00:00 2001
From: Mel O'Hagan <mel@budibase.com>
Date: Tue, 3 May 2022 15:52:03 +0100
Subject: [PATCH 057/100] Query preview sort by number for number types

---
 .../src/components/integration/QueryViewer.svelte | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/packages/builder/src/components/integration/QueryViewer.svelte b/packages/builder/src/components/integration/QueryViewer.svelte
index 8f6f9eeb53..81ffa29733 100644
--- a/packages/builder/src/components/integration/QueryViewer.svelte
+++ b/packages/builder/src/components/integration/QueryViewer.svelte
@@ -44,6 +44,21 @@
   $: readQuery = query.queryVerb === "read" || query.readable
   $: queryInvalid = !query.name || (readQuery && data.length === 0)
 
+  //Cast field in query preview response to number if specified by schema
+  $: {
+    for (let i = 0; i < data.length; i++) {
+      let row = data[i]
+      for (let fieldNameIndex in Object.keys(fields)) {
+        let fieldName = Object.keys(fields)[fieldNameIndex]
+        if (fields[fieldName] === "number" && !isNaN(Number(row[fieldName]))) {
+          row[fieldName] = Number(row[fieldName])
+        } else {
+          row[fieldName] = row[fieldName]?.toString()
+        }
+      }
+    }
+  }
+
   // seed the transformer
   if (query && !query.transformer) {
     query.transformer = "return data"

From 6adb09d8d3bad902aea0e8c3018eb58c6d589d47 Mon Sep 17 00:00:00 2001
From: Rory Powell <rory.codes@gmail.com>
Date: Tue, 3 May 2022 15:52:46 +0100
Subject: [PATCH 058/100] Add test:ere:ci:record variant

---
 .github/workflows/smoke_test.yaml | 2 +-
 package.json                      | 1 +
 packages/builder/package.json     | 4 +++-
 3 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/.github/workflows/smoke_test.yaml b/.github/workflows/smoke_test.yaml
index 927d860957..79c97b69af 100644
--- a/.github/workflows/smoke_test.yaml
+++ b/.github/workflows/smoke_test.yaml
@@ -32,7 +32,7 @@ jobs:
         uses: cypress-io/github-action@v2
         with:
           install: false
-          command: yarn test:e2e:ci
+          command: yarn test:e2e:ci:record
         env:
           CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
       
diff --git a/package.json b/package.json
index 727104d830..fb6d9da990 100644
--- a/package.json
+++ b/package.json
@@ -47,6 +47,7 @@
     "lint:fix": "yarn run lint:fix:prettier && yarn run lint:fix:eslint",
     "test:e2e": "lerna run cy:test --stream",
     "test:e2e:ci": "lerna run cy:ci --stream",
+    "test:e2e:ci:record": "lerna run cy:ci:record --stream",
     "build:specs": "lerna run specs",
     "build:docker": "lerna run build:docker && npm run build:docker:proxy:compose && cd hosting/scripts/linux/ && ./release-to-docker-hub.sh $BUDIBASE_RELEASE_VERSION && cd -",
     "build:docker:proxy": "docker build hosting/proxy -t proxy-service",
diff --git a/packages/builder/package.json b/packages/builder/package.json
index 61e320e61c..03cfd659e0 100644
--- a/packages/builder/package.json
+++ b/packages/builder/package.json
@@ -13,9 +13,11 @@
     "cy:setup:ci": "node ./cypress/setup.js",
     "cy:open": "cypress open",
     "cy:run": "cypress run",
-    "cy:run:ci": "xvfb-run cypress run --headed --browser chrome --record",
+    "cy:run:ci": "xvfb-run cypress run --headed --browser chrome",
+    "cy:run:ci:record": "xvfb-run cypress run --headed --browser chrome --record",
     "cy:test": "start-server-and-test cy:setup http://localhost:4100/builder cy:run",
     "cy:ci": "start-server-and-test cy:setup:ci http://localhost:4100/builder cy:run:ci",
+    "cy:ci:record": "start-server-and-test cy:setup:ci http://localhost:4100/builder cy:run:ci:record",
     "cy:debug": "start-server-and-test cy:setup http://localhost:4100/builder cy:open",
     "cy:debug:ci": "start-server-and-test cy:setup:ci http://localhost:4100/builder cy:open"
   },

From c66cbcd522c61b98f00742d278f2b7db54ed3b5a Mon Sep 17 00:00:00 2001
From: mike12345567 <me@michaeldrury.co.uk>
Date: Tue, 3 May 2022 15:54:03 +0100
Subject: [PATCH 059/100] Fix for automation issue, doInAppContext for
 automation thread wasn't async, was immediately closing the database, rather
 than waiting for the operations to complete.

---
 packages/server/src/threads/automation.js | 16 +++++++---------
 packages/server/yarn.lock                 | 18 +++++++++---------
 packages/worker/yarn.lock                 | 18 +++++++++---------
 3 files changed, 25 insertions(+), 27 deletions(-)

diff --git a/packages/server/src/threads/automation.js b/packages/server/src/threads/automation.js
index db462f5a8d..5993951d7b 100644
--- a/packages/server/src/threads/automation.js
+++ b/packages/server/src/threads/automation.js
@@ -286,18 +286,16 @@ class Orchestrator {
 
 module.exports = (input, callback) => {
   const appId = input.data.event.appId
-  doInAppContext(appId, () => {
+  doInAppContext(appId, async () => {
     const automationOrchestrator = new Orchestrator(
       input.data.automation,
       input.data.event
     )
-    automationOrchestrator
-      .execute()
-      .then(response => {
-        callback(null, response)
-      })
-      .catch(err => {
-        callback(err)
-      })
+    try {
+      const response = await automationOrchestrator.execute()
+      callback(null, response)
+    } catch (err) {
+      callback(err)
+    }
   })
 }
diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock
index 1d9f526842..491788a0af 100644
--- a/packages/server/yarn.lock
+++ b/packages/server/yarn.lock
@@ -1014,10 +1014,10 @@
   resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
   integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
 
-"@budibase/backend-core@1.0.131":
-  version "1.0.131"
-  resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.0.131.tgz#4b284405e19a345de1af723d0c1e3fa315463140"
-  integrity sha512-1r6JjIcSBHogGm2YLB7k712+3LLE1+42C3eITa6n8r/QQIkyK7DJwm0I403IRKeh/93gwgQtBiRpJfhy2p7Pew==
+"@budibase/backend-core@1.0.135":
+  version "1.0.135"
+  resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.0.135.tgz#b8cf217243b285c6e74435acba7c8960a1651c23"
+  integrity sha512-7gnTW6w8upJSPNqdyt5gpkubf0glDyTiSszLVVRZdxJypYAnBjcVrSFvlNPDzI4X2glnNnGcXBxFdDg6Z9ZS5w==
   dependencies:
     "@techpass/passport-openidconnect" "^0.3.0"
     aws-sdk "^2.901.0"
@@ -1091,12 +1091,12 @@
     svelte-flatpickr "^3.2.3"
     svelte-portal "^1.0.0"
 
-"@budibase/pro@1.0.131":
-  version "1.0.131"
-  resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.0.131.tgz#65907e7ca528d237bf12dbe5c159156d03e8d5c3"
-  integrity sha512-pmK18/1TPDY+3IHUzGh0fG5CEy7+kSPpcl72smri8jvo5OsD4lWQVOTHSdqRn8aIf/qEHHWc2sspEEDGhYMv0Q==
+"@budibase/pro@1.0.135":
+  version "1.0.135"
+  resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.0.135.tgz#fa4f3b2a8e14905c97305a79e4b91d1094dba1a0"
+  integrity sha512-XfZTfrplyY03zuTE3dPzdJvVD3qO5ShbRUYNX/05VBubwhS7S0mczwfCTJPi8agfx3LGN4yQd7GhFbaN2zrOPg==
   dependencies:
-    "@budibase/backend-core" "1.0.131"
+    "@budibase/backend-core" "1.0.135"
     node-fetch "^2.6.1"
 
 "@budibase/standard-components@^0.9.139":
diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock
index 4962cc20e5..292a0afd0c 100644
--- a/packages/worker/yarn.lock
+++ b/packages/worker/yarn.lock
@@ -293,10 +293,10 @@
   resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
   integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
 
-"@budibase/backend-core@1.0.131":
-  version "1.0.131"
-  resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.0.131.tgz#4b284405e19a345de1af723d0c1e3fa315463140"
-  integrity sha512-1r6JjIcSBHogGm2YLB7k712+3LLE1+42C3eITa6n8r/QQIkyK7DJwm0I403IRKeh/93gwgQtBiRpJfhy2p7Pew==
+"@budibase/backend-core@1.0.135":
+  version "1.0.135"
+  resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.0.135.tgz#b8cf217243b285c6e74435acba7c8960a1651c23"
+  integrity sha512-7gnTW6w8upJSPNqdyt5gpkubf0glDyTiSszLVVRZdxJypYAnBjcVrSFvlNPDzI4X2glnNnGcXBxFdDg6Z9ZS5w==
   dependencies:
     "@techpass/passport-openidconnect" "^0.3.0"
     aws-sdk "^2.901.0"
@@ -321,12 +321,12 @@
     uuid "^8.3.2"
     zlib "^1.0.5"
 
-"@budibase/pro@1.0.131":
-  version "1.0.131"
-  resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.0.131.tgz#65907e7ca528d237bf12dbe5c159156d03e8d5c3"
-  integrity sha512-pmK18/1TPDY+3IHUzGh0fG5CEy7+kSPpcl72smri8jvo5OsD4lWQVOTHSdqRn8aIf/qEHHWc2sspEEDGhYMv0Q==
+"@budibase/pro@1.0.135":
+  version "1.0.135"
+  resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.0.135.tgz#fa4f3b2a8e14905c97305a79e4b91d1094dba1a0"
+  integrity sha512-XfZTfrplyY03zuTE3dPzdJvVD3qO5ShbRUYNX/05VBubwhS7S0mczwfCTJPi8agfx3LGN4yQd7GhFbaN2zrOPg==
   dependencies:
-    "@budibase/backend-core" "1.0.131"
+    "@budibase/backend-core" "1.0.135"
     node-fetch "^2.6.1"
 
 "@cspotcode/source-map-consumer@0.8.0":

From 9386a82e6fd730fca8cea9e2cf0b2c942e5a1b55 Mon Sep 17 00:00:00 2001
From: mike12345567 <me@michaeldrury.co.uk>
Date: Tue, 3 May 2022 16:04:59 +0100
Subject: [PATCH 060/100] Fixing similar issue in queries for context handling
 and fixing some issues raised by IDE.

---
 packages/server/src/threads/automation.js |  4 ++--
 packages/server/src/threads/query.js      | 15 +++++++--------
 2 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/packages/server/src/threads/automation.js b/packages/server/src/threads/automation.js
index 5993951d7b..a7ce84d614 100644
--- a/packages/server/src/threads/automation.js
+++ b/packages/server/src/threads/automation.js
@@ -100,10 +100,10 @@ class Orchestrator {
     let automation = this._automation
     const app = await this.getApp()
     let stopped = false
-    let loopStep
+    let loopStep = null
 
     let stepCount = 0
-    let loopStepNumber
+    let loopStepNumber = null
     let loopSteps = []
     for (let step of automation.definition.steps) {
       stepCount++
diff --git a/packages/server/src/threads/query.js b/packages/server/src/threads/query.js
index 71994a7244..ec9d9a6fa6 100644
--- a/packages/server/src/threads/query.js
+++ b/packages/server/src/threads/query.js
@@ -191,14 +191,13 @@ class QueryRunner {
 }
 
 module.exports = (input, callback) => {
-  doInAppContext(input.appId, () => {
+  doInAppContext(input.appId, async () => {
     const Runner = new QueryRunner(input)
-    Runner.execute()
-      .then(response => {
-        callback(null, response)
-      })
-      .catch(err => {
-        callback(err)
-      })
+    try {
+      const response = await Runner.execute()
+      callback(null, response)
+    } catch (err) {
+      callback(err)
+    }
   })
 }

From e1be0976124b99830ab40509f07aa033efddc977 Mon Sep 17 00:00:00 2001
From: Budibase Staging Release Bot <>
Date: Tue, 3 May 2022 15:05:22 +0000
Subject: [PATCH 061/100] v1.0.130-alpha.3

---
 lerna.json                             |  2 +-
 packages/backend-core/package.json     |  2 +-
 packages/bbui/package.json             |  4 ++--
 packages/builder/package.json          | 10 +++++-----
 packages/cli/package.json              |  2 +-
 packages/client/package.json           |  8 ++++----
 packages/frontend-core/package.json    |  4 ++--
 packages/server/package.json           |  8 ++++----
 packages/string-templates/package.json |  2 +-
 packages/worker/package.json           |  6 +++---
 10 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/lerna.json b/lerna.json
index 98485db3e5..aad3485095 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
 {
-  "version": "1.0.130-alpha.2",
+  "version": "1.0.130-alpha.3",
   "npmClient": "yarn",
   "packages": [
     "packages/*"
diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json
index ad63371a9f..96d12dbd13 100644
--- a/packages/backend-core/package.json
+++ b/packages/backend-core/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/backend-core",
-  "version": "1.0.130-alpha.2",
+  "version": "1.0.130-alpha.3",
   "description": "Budibase backend core libraries used in server and worker",
   "main": "src/index.js",
   "author": "Budibase",
diff --git a/packages/bbui/package.json b/packages/bbui/package.json
index 32047e070f..620fd8b0f7 100644
--- a/packages/bbui/package.json
+++ b/packages/bbui/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/bbui",
   "description": "A UI solution used in the different Budibase projects.",
-  "version": "1.0.130-alpha.2",
+  "version": "1.0.130-alpha.3",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "module": "dist/bbui.es.js",
@@ -38,7 +38,7 @@
   ],
   "dependencies": {
     "@adobe/spectrum-css-workflow-icons": "^1.2.1",
-    "@budibase/string-templates": "^1.0.130-alpha.2",
+    "@budibase/string-templates": "^1.0.130-alpha.3",
     "@spectrum-css/actionbutton": "^1.0.1",
     "@spectrum-css/actiongroup": "^1.0.1",
     "@spectrum-css/avatar": "^3.0.2",
diff --git a/packages/builder/package.json b/packages/builder/package.json
index 12202e6632..e94b1e9365 100644
--- a/packages/builder/package.json
+++ b/packages/builder/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/builder",
-  "version": "1.0.130-alpha.2",
+  "version": "1.0.130-alpha.3",
   "license": "GPL-3.0",
   "private": true,
   "scripts": {
@@ -65,10 +65,10 @@
     }
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.130-alpha.2",
-    "@budibase/client": "^1.0.130-alpha.2",
-    "@budibase/frontend-core": "^1.0.130-alpha.2",
-    "@budibase/string-templates": "^1.0.130-alpha.2",
+    "@budibase/bbui": "^1.0.130-alpha.3",
+    "@budibase/client": "^1.0.130-alpha.3",
+    "@budibase/frontend-core": "^1.0.130-alpha.3",
+    "@budibase/string-templates": "^1.0.130-alpha.3",
     "@sentry/browser": "5.19.1",
     "@spectrum-css/page": "^3.0.1",
     "@spectrum-css/vars": "^3.0.1",
diff --git a/packages/cli/package.json b/packages/cli/package.json
index 570e955ac0..ebdd7677fa 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/cli",
-  "version": "1.0.130-alpha.2",
+  "version": "1.0.130-alpha.3",
   "description": "Budibase CLI, for developers, self hosting and migrations.",
   "main": "src/index.js",
   "bin": {
diff --git a/packages/client/package.json b/packages/client/package.json
index 19e57e1e5c..c72fdbe660 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/client",
-  "version": "1.0.130-alpha.2",
+  "version": "1.0.130-alpha.3",
   "license": "MPL-2.0",
   "module": "dist/budibase-client.js",
   "main": "dist/budibase-client.js",
@@ -19,9 +19,9 @@
     "dev:builder": "rollup -cw"
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.130-alpha.2",
-    "@budibase/frontend-core": "^1.0.130-alpha.2",
-    "@budibase/string-templates": "^1.0.130-alpha.2",
+    "@budibase/bbui": "^1.0.130-alpha.3",
+    "@budibase/frontend-core": "^1.0.130-alpha.3",
+    "@budibase/string-templates": "^1.0.130-alpha.3",
     "@spectrum-css/button": "^3.0.3",
     "@spectrum-css/card": "^3.0.3",
     "@spectrum-css/divider": "^1.0.3",
diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json
index a95d714f83..f054e93ca1 100644
--- a/packages/frontend-core/package.json
+++ b/packages/frontend-core/package.json
@@ -1,12 +1,12 @@
 {
   "name": "@budibase/frontend-core",
-  "version": "1.0.130-alpha.2",
+  "version": "1.0.130-alpha.3",
   "description": "Budibase frontend core libraries used in builder and client",
   "author": "Budibase",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "dependencies": {
-    "@budibase/bbui": "^1.0.130-alpha.2",
+    "@budibase/bbui": "^1.0.130-alpha.3",
     "lodash": "^4.17.21",
     "svelte": "^3.46.2"
   }
diff --git a/packages/server/package.json b/packages/server/package.json
index 66cf141ed4..2f060fb0db 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/server",
   "email": "hi@budibase.com",
-  "version": "1.0.130-alpha.2",
+  "version": "1.0.130-alpha.3",
   "description": "Budibase Web Server",
   "main": "src/index.ts",
   "repository": {
@@ -68,10 +68,10 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@apidevtools/swagger-parser": "^10.0.3",
-    "@budibase/backend-core": "^1.0.130-alpha.2",
-    "@budibase/client": "^1.0.130-alpha.2",
+    "@budibase/backend-core": "^1.0.130-alpha.3",
+    "@budibase/client": "^1.0.130-alpha.3",
     "@budibase/pro": "1.0.130-alpha.2",
-    "@budibase/string-templates": "^1.0.130-alpha.2",
+    "@budibase/string-templates": "^1.0.130-alpha.3",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
     "@elastic/elasticsearch": "7.10.0",
diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json
index bde86f55b7..dc38fed2ad 100644
--- a/packages/string-templates/package.json
+++ b/packages/string-templates/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/string-templates",
-  "version": "1.0.130-alpha.2",
+  "version": "1.0.130-alpha.3",
   "description": "Handlebars wrapper for Budibase templating.",
   "main": "src/index.cjs",
   "module": "dist/bundle.mjs",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index 5d19a848fc..bb874fe660 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/worker",
   "email": "hi@budibase.com",
-  "version": "1.0.130-alpha.2",
+  "version": "1.0.130-alpha.3",
   "description": "Budibase background service",
   "main": "src/index.ts",
   "repository": {
@@ -31,9 +31,9 @@
   "author": "Budibase",
   "license": "GPL-3.0",
   "dependencies": {
-    "@budibase/backend-core": "^1.0.130-alpha.2",
+    "@budibase/backend-core": "^1.0.130-alpha.3",
     "@budibase/pro": "1.0.130-alpha.2",
-    "@budibase/string-templates": "^1.0.130-alpha.2",
+    "@budibase/string-templates": "^1.0.130-alpha.3",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",
     "@techpass/passport-openidconnect": "^0.3.0",

From ec78189e05f054c1978d904d5868ed58a5920fdb Mon Sep 17 00:00:00 2001
From: Budibase Staging Release Bot <>
Date: Tue, 3 May 2022 15:06:39 +0000
Subject: [PATCH 062/100] Update pro version to 1.0.130-alpha.3

---
 packages/server/package.json | 2 +-
 packages/worker/package.json | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/packages/server/package.json b/packages/server/package.json
index 2f060fb0db..bad7f1a97e 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -70,7 +70,7 @@
     "@apidevtools/swagger-parser": "^10.0.3",
     "@budibase/backend-core": "^1.0.130-alpha.3",
     "@budibase/client": "^1.0.130-alpha.3",
-    "@budibase/pro": "1.0.130-alpha.2",
+    "@budibase/pro": "1.0.130-alpha.3",
     "@budibase/string-templates": "^1.0.130-alpha.3",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index bb874fe660..e5b8ab97a1 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -32,7 +32,7 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@budibase/backend-core": "^1.0.130-alpha.3",
-    "@budibase/pro": "1.0.130-alpha.2",
+    "@budibase/pro": "1.0.130-alpha.3",
     "@budibase/string-templates": "^1.0.130-alpha.3",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",

From b7db3613e5eabdaeea27985b43eb6bc5370c66df Mon Sep 17 00:00:00 2001
From: Budibase Release Bot <>
Date: Tue, 3 May 2022 15:08:57 +0000
Subject: [PATCH 063/100] v1.0.136

---
 lerna.json                             |  2 +-
 packages/backend-core/package.json     |  2 +-
 packages/bbui/package.json             |  4 ++--
 packages/builder/package.json          | 10 +++++-----
 packages/cli/package.json              |  2 +-
 packages/client/package.json           |  8 ++++----
 packages/frontend-core/package.json    |  4 ++--
 packages/server/package.json           |  8 ++++----
 packages/string-templates/package.json |  2 +-
 packages/worker/package.json           |  6 +++---
 10 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/lerna.json b/lerna.json
index b9d9cfb8b1..1e553e1d6f 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
 {
-  "version": "1.0.135",
+  "version": "1.0.136",
   "npmClient": "yarn",
   "packages": [
     "packages/*"
diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json
index 90b8bac22a..c8ad4e5bdb 100644
--- a/packages/backend-core/package.json
+++ b/packages/backend-core/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/backend-core",
-  "version": "1.0.135",
+  "version": "1.0.136",
   "description": "Budibase backend core libraries used in server and worker",
   "main": "src/index.js",
   "author": "Budibase",
diff --git a/packages/bbui/package.json b/packages/bbui/package.json
index b55c6bb6fb..497e21f7bb 100644
--- a/packages/bbui/package.json
+++ b/packages/bbui/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/bbui",
   "description": "A UI solution used in the different Budibase projects.",
-  "version": "1.0.135",
+  "version": "1.0.136",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "module": "dist/bbui.es.js",
@@ -38,7 +38,7 @@
   ],
   "dependencies": {
     "@adobe/spectrum-css-workflow-icons": "^1.2.1",
-    "@budibase/string-templates": "^1.0.135",
+    "@budibase/string-templates": "^1.0.136",
     "@spectrum-css/actionbutton": "^1.0.1",
     "@spectrum-css/actiongroup": "^1.0.1",
     "@spectrum-css/avatar": "^3.0.2",
diff --git a/packages/builder/package.json b/packages/builder/package.json
index 61e320e61c..be0634d6d3 100644
--- a/packages/builder/package.json
+++ b/packages/builder/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/builder",
-  "version": "1.0.135",
+  "version": "1.0.136",
   "license": "GPL-3.0",
   "private": true,
   "scripts": {
@@ -65,10 +65,10 @@
     }
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.135",
-    "@budibase/client": "^1.0.135",
-    "@budibase/frontend-core": "^1.0.135",
-    "@budibase/string-templates": "^1.0.135",
+    "@budibase/bbui": "^1.0.136",
+    "@budibase/client": "^1.0.136",
+    "@budibase/frontend-core": "^1.0.136",
+    "@budibase/string-templates": "^1.0.136",
     "@sentry/browser": "5.19.1",
     "@spectrum-css/page": "^3.0.1",
     "@spectrum-css/vars": "^3.0.1",
diff --git a/packages/cli/package.json b/packages/cli/package.json
index 2951389d55..6d38cf5562 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/cli",
-  "version": "1.0.135",
+  "version": "1.0.136",
   "description": "Budibase CLI, for developers, self hosting and migrations.",
   "main": "src/index.js",
   "bin": {
diff --git a/packages/client/package.json b/packages/client/package.json
index 92d9f36662..7363e9d3fc 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/client",
-  "version": "1.0.135",
+  "version": "1.0.136",
   "license": "MPL-2.0",
   "module": "dist/budibase-client.js",
   "main": "dist/budibase-client.js",
@@ -19,9 +19,9 @@
     "dev:builder": "rollup -cw"
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.135",
-    "@budibase/frontend-core": "^1.0.135",
-    "@budibase/string-templates": "^1.0.135",
+    "@budibase/bbui": "^1.0.136",
+    "@budibase/frontend-core": "^1.0.136",
+    "@budibase/string-templates": "^1.0.136",
     "@spectrum-css/button": "^3.0.3",
     "@spectrum-css/card": "^3.0.3",
     "@spectrum-css/divider": "^1.0.3",
diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json
index 138073f3b0..f40e6537b5 100644
--- a/packages/frontend-core/package.json
+++ b/packages/frontend-core/package.json
@@ -1,12 +1,12 @@
 {
   "name": "@budibase/frontend-core",
-  "version": "1.0.135",
+  "version": "1.0.136",
   "description": "Budibase frontend core libraries used in builder and client",
   "author": "Budibase",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "dependencies": {
-    "@budibase/bbui": "^1.0.135",
+    "@budibase/bbui": "^1.0.136",
     "lodash": "^4.17.21",
     "svelte": "^3.46.2"
   }
diff --git a/packages/server/package.json b/packages/server/package.json
index f0c42073f4..930fc3e5bf 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/server",
   "email": "hi@budibase.com",
-  "version": "1.0.135",
+  "version": "1.0.136",
   "description": "Budibase Web Server",
   "main": "src/index.ts",
   "repository": {
@@ -68,10 +68,10 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@apidevtools/swagger-parser": "^10.0.3",
-    "@budibase/backend-core": "^1.0.135",
-    "@budibase/client": "^1.0.135",
+    "@budibase/backend-core": "^1.0.136",
+    "@budibase/client": "^1.0.136",
     "@budibase/pro": "1.0.135",
-    "@budibase/string-templates": "^1.0.135",
+    "@budibase/string-templates": "^1.0.136",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
     "@elastic/elasticsearch": "7.10.0",
diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json
index 4e5a7e51ff..0543bce4a8 100644
--- a/packages/string-templates/package.json
+++ b/packages/string-templates/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/string-templates",
-  "version": "1.0.135",
+  "version": "1.0.136",
   "description": "Handlebars wrapper for Budibase templating.",
   "main": "src/index.cjs",
   "module": "dist/bundle.mjs",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index 96f77fa55a..01742f4c6b 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/worker",
   "email": "hi@budibase.com",
-  "version": "1.0.135",
+  "version": "1.0.136",
   "description": "Budibase background service",
   "main": "src/index.ts",
   "repository": {
@@ -31,9 +31,9 @@
   "author": "Budibase",
   "license": "GPL-3.0",
   "dependencies": {
-    "@budibase/backend-core": "^1.0.135",
+    "@budibase/backend-core": "^1.0.136",
     "@budibase/pro": "1.0.135",
-    "@budibase/string-templates": "^1.0.135",
+    "@budibase/string-templates": "^1.0.136",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",
     "@techpass/passport-openidconnect": "^0.3.0",

From 6d4f8c02ed535c665939049bf049953f16912026 Mon Sep 17 00:00:00 2001
From: Budibase Release Bot <>
Date: Tue, 3 May 2022 15:10:19 +0000
Subject: [PATCH 064/100] Update pro version to 1.0.136

---
 packages/server/package.json | 2 +-
 packages/worker/package.json | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/packages/server/package.json b/packages/server/package.json
index 930fc3e5bf..9f50688b2e 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -70,7 +70,7 @@
     "@apidevtools/swagger-parser": "^10.0.3",
     "@budibase/backend-core": "^1.0.136",
     "@budibase/client": "^1.0.136",
-    "@budibase/pro": "1.0.135",
+    "@budibase/pro": "1.0.136",
     "@budibase/string-templates": "^1.0.136",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index 01742f4c6b..e85dcb8333 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -32,7 +32,7 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@budibase/backend-core": "^1.0.136",
-    "@budibase/pro": "1.0.135",
+    "@budibase/pro": "1.0.136",
     "@budibase/string-templates": "^1.0.136",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",

From 21e02dd2792b1e8d75b885e28ab3e519f925bf07 Mon Sep 17 00:00:00 2001
From: Budibase Release Bot <>
Date: Tue, 3 May 2022 15:58:47 +0000
Subject: [PATCH 065/100] v1.0.137

---
 lerna.json                             |  2 +-
 packages/backend-core/package.json     |  2 +-
 packages/bbui/package.json             |  4 ++--
 packages/builder/package.json          | 10 +++++-----
 packages/cli/package.json              |  2 +-
 packages/client/package.json           |  8 ++++----
 packages/frontend-core/package.json    |  4 ++--
 packages/server/package.json           |  8 ++++----
 packages/string-templates/package.json |  2 +-
 packages/worker/package.json           |  6 +++---
 10 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/lerna.json b/lerna.json
index 1e553e1d6f..4db39b96f5 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
 {
-  "version": "1.0.136",
+  "version": "1.0.137",
   "npmClient": "yarn",
   "packages": [
     "packages/*"
diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json
index c8ad4e5bdb..2d9522b5ab 100644
--- a/packages/backend-core/package.json
+++ b/packages/backend-core/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/backend-core",
-  "version": "1.0.136",
+  "version": "1.0.137",
   "description": "Budibase backend core libraries used in server and worker",
   "main": "src/index.js",
   "author": "Budibase",
diff --git a/packages/bbui/package.json b/packages/bbui/package.json
index 497e21f7bb..5086bb1128 100644
--- a/packages/bbui/package.json
+++ b/packages/bbui/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/bbui",
   "description": "A UI solution used in the different Budibase projects.",
-  "version": "1.0.136",
+  "version": "1.0.137",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "module": "dist/bbui.es.js",
@@ -38,7 +38,7 @@
   ],
   "dependencies": {
     "@adobe/spectrum-css-workflow-icons": "^1.2.1",
-    "@budibase/string-templates": "^1.0.136",
+    "@budibase/string-templates": "^1.0.137",
     "@spectrum-css/actionbutton": "^1.0.1",
     "@spectrum-css/actiongroup": "^1.0.1",
     "@spectrum-css/avatar": "^3.0.2",
diff --git a/packages/builder/package.json b/packages/builder/package.json
index be0634d6d3..ba8a080ba7 100644
--- a/packages/builder/package.json
+++ b/packages/builder/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/builder",
-  "version": "1.0.136",
+  "version": "1.0.137",
   "license": "GPL-3.0",
   "private": true,
   "scripts": {
@@ -65,10 +65,10 @@
     }
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.136",
-    "@budibase/client": "^1.0.136",
-    "@budibase/frontend-core": "^1.0.136",
-    "@budibase/string-templates": "^1.0.136",
+    "@budibase/bbui": "^1.0.137",
+    "@budibase/client": "^1.0.137",
+    "@budibase/frontend-core": "^1.0.137",
+    "@budibase/string-templates": "^1.0.137",
     "@sentry/browser": "5.19.1",
     "@spectrum-css/page": "^3.0.1",
     "@spectrum-css/vars": "^3.0.1",
diff --git a/packages/cli/package.json b/packages/cli/package.json
index 6d38cf5562..1c54e68b81 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/cli",
-  "version": "1.0.136",
+  "version": "1.0.137",
   "description": "Budibase CLI, for developers, self hosting and migrations.",
   "main": "src/index.js",
   "bin": {
diff --git a/packages/client/package.json b/packages/client/package.json
index 7363e9d3fc..5348981ba3 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/client",
-  "version": "1.0.136",
+  "version": "1.0.137",
   "license": "MPL-2.0",
   "module": "dist/budibase-client.js",
   "main": "dist/budibase-client.js",
@@ -19,9 +19,9 @@
     "dev:builder": "rollup -cw"
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.136",
-    "@budibase/frontend-core": "^1.0.136",
-    "@budibase/string-templates": "^1.0.136",
+    "@budibase/bbui": "^1.0.137",
+    "@budibase/frontend-core": "^1.0.137",
+    "@budibase/string-templates": "^1.0.137",
     "@spectrum-css/button": "^3.0.3",
     "@spectrum-css/card": "^3.0.3",
     "@spectrum-css/divider": "^1.0.3",
diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json
index f40e6537b5..df3c52b544 100644
--- a/packages/frontend-core/package.json
+++ b/packages/frontend-core/package.json
@@ -1,12 +1,12 @@
 {
   "name": "@budibase/frontend-core",
-  "version": "1.0.136",
+  "version": "1.0.137",
   "description": "Budibase frontend core libraries used in builder and client",
   "author": "Budibase",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "dependencies": {
-    "@budibase/bbui": "^1.0.136",
+    "@budibase/bbui": "^1.0.137",
     "lodash": "^4.17.21",
     "svelte": "^3.46.2"
   }
diff --git a/packages/server/package.json b/packages/server/package.json
index 9f50688b2e..49dbb40e94 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/server",
   "email": "hi@budibase.com",
-  "version": "1.0.136",
+  "version": "1.0.137",
   "description": "Budibase Web Server",
   "main": "src/index.ts",
   "repository": {
@@ -68,10 +68,10 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@apidevtools/swagger-parser": "^10.0.3",
-    "@budibase/backend-core": "^1.0.136",
-    "@budibase/client": "^1.0.136",
+    "@budibase/backend-core": "^1.0.137",
+    "@budibase/client": "^1.0.137",
     "@budibase/pro": "1.0.136",
-    "@budibase/string-templates": "^1.0.136",
+    "@budibase/string-templates": "^1.0.137",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
     "@elastic/elasticsearch": "7.10.0",
diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json
index 0543bce4a8..35484f2c2f 100644
--- a/packages/string-templates/package.json
+++ b/packages/string-templates/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/string-templates",
-  "version": "1.0.136",
+  "version": "1.0.137",
   "description": "Handlebars wrapper for Budibase templating.",
   "main": "src/index.cjs",
   "module": "dist/bundle.mjs",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index e85dcb8333..440f4c7999 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/worker",
   "email": "hi@budibase.com",
-  "version": "1.0.136",
+  "version": "1.0.137",
   "description": "Budibase background service",
   "main": "src/index.ts",
   "repository": {
@@ -31,9 +31,9 @@
   "author": "Budibase",
   "license": "GPL-3.0",
   "dependencies": {
-    "@budibase/backend-core": "^1.0.136",
+    "@budibase/backend-core": "^1.0.137",
     "@budibase/pro": "1.0.136",
-    "@budibase/string-templates": "^1.0.136",
+    "@budibase/string-templates": "^1.0.137",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",
     "@techpass/passport-openidconnect": "^0.3.0",

From 9d72647b02bb00d58ceb65b49ce69a0c04ac2205 Mon Sep 17 00:00:00 2001
From: Budibase Release Bot <>
Date: Tue, 3 May 2022 16:00:42 +0000
Subject: [PATCH 066/100] Update pro version to 1.0.137

---
 packages/server/package.json | 2 +-
 packages/worker/package.json | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/packages/server/package.json b/packages/server/package.json
index 49dbb40e94..3c248c9362 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -70,7 +70,7 @@
     "@apidevtools/swagger-parser": "^10.0.3",
     "@budibase/backend-core": "^1.0.137",
     "@budibase/client": "^1.0.137",
-    "@budibase/pro": "1.0.136",
+    "@budibase/pro": "1.0.137",
     "@budibase/string-templates": "^1.0.137",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index 440f4c7999..fccb23a9ea 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -32,7 +32,7 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@budibase/backend-core": "^1.0.137",
-    "@budibase/pro": "1.0.136",
+    "@budibase/pro": "1.0.137",
     "@budibase/string-templates": "^1.0.137",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",

From 10864f03cef63f5d53eac3fbcc41d96bb94fb682 Mon Sep 17 00:00:00 2001
From: Budibase Release Bot <>
Date: Tue, 3 May 2022 16:38:39 +0000
Subject: [PATCH 067/100] v1.0.138

---
 lerna.json                             |  2 +-
 packages/backend-core/package.json     |  2 +-
 packages/bbui/package.json             |  4 ++--
 packages/builder/package.json          | 10 +++++-----
 packages/cli/package.json              |  2 +-
 packages/client/package.json           |  8 ++++----
 packages/frontend-core/package.json    |  4 ++--
 packages/server/package.json           |  8 ++++----
 packages/string-templates/package.json |  2 +-
 packages/worker/package.json           |  6 +++---
 10 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/lerna.json b/lerna.json
index 4db39b96f5..2f7203e4cf 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
 {
-  "version": "1.0.137",
+  "version": "1.0.138",
   "npmClient": "yarn",
   "packages": [
     "packages/*"
diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json
index 2d9522b5ab..9ab70185e0 100644
--- a/packages/backend-core/package.json
+++ b/packages/backend-core/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/backend-core",
-  "version": "1.0.137",
+  "version": "1.0.138",
   "description": "Budibase backend core libraries used in server and worker",
   "main": "src/index.js",
   "author": "Budibase",
diff --git a/packages/bbui/package.json b/packages/bbui/package.json
index 5086bb1128..b6283ab345 100644
--- a/packages/bbui/package.json
+++ b/packages/bbui/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/bbui",
   "description": "A UI solution used in the different Budibase projects.",
-  "version": "1.0.137",
+  "version": "1.0.138",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "module": "dist/bbui.es.js",
@@ -38,7 +38,7 @@
   ],
   "dependencies": {
     "@adobe/spectrum-css-workflow-icons": "^1.2.1",
-    "@budibase/string-templates": "^1.0.137",
+    "@budibase/string-templates": "^1.0.138",
     "@spectrum-css/actionbutton": "^1.0.1",
     "@spectrum-css/actiongroup": "^1.0.1",
     "@spectrum-css/avatar": "^3.0.2",
diff --git a/packages/builder/package.json b/packages/builder/package.json
index 10c645c894..7c28ee850b 100644
--- a/packages/builder/package.json
+++ b/packages/builder/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/builder",
-  "version": "1.0.137",
+  "version": "1.0.138",
   "license": "GPL-3.0",
   "private": true,
   "scripts": {
@@ -67,10 +67,10 @@
     }
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.137",
-    "@budibase/client": "^1.0.137",
-    "@budibase/frontend-core": "^1.0.137",
-    "@budibase/string-templates": "^1.0.137",
+    "@budibase/bbui": "^1.0.138",
+    "@budibase/client": "^1.0.138",
+    "@budibase/frontend-core": "^1.0.138",
+    "@budibase/string-templates": "^1.0.138",
     "@sentry/browser": "5.19.1",
     "@spectrum-css/page": "^3.0.1",
     "@spectrum-css/vars": "^3.0.1",
diff --git a/packages/cli/package.json b/packages/cli/package.json
index 1c54e68b81..d15a2d1b14 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/cli",
-  "version": "1.0.137",
+  "version": "1.0.138",
   "description": "Budibase CLI, for developers, self hosting and migrations.",
   "main": "src/index.js",
   "bin": {
diff --git a/packages/client/package.json b/packages/client/package.json
index 5348981ba3..128c4f66a5 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/client",
-  "version": "1.0.137",
+  "version": "1.0.138",
   "license": "MPL-2.0",
   "module": "dist/budibase-client.js",
   "main": "dist/budibase-client.js",
@@ -19,9 +19,9 @@
     "dev:builder": "rollup -cw"
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.137",
-    "@budibase/frontend-core": "^1.0.137",
-    "@budibase/string-templates": "^1.0.137",
+    "@budibase/bbui": "^1.0.138",
+    "@budibase/frontend-core": "^1.0.138",
+    "@budibase/string-templates": "^1.0.138",
     "@spectrum-css/button": "^3.0.3",
     "@spectrum-css/card": "^3.0.3",
     "@spectrum-css/divider": "^1.0.3",
diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json
index df3c52b544..2f54e127cb 100644
--- a/packages/frontend-core/package.json
+++ b/packages/frontend-core/package.json
@@ -1,12 +1,12 @@
 {
   "name": "@budibase/frontend-core",
-  "version": "1.0.137",
+  "version": "1.0.138",
   "description": "Budibase frontend core libraries used in builder and client",
   "author": "Budibase",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "dependencies": {
-    "@budibase/bbui": "^1.0.137",
+    "@budibase/bbui": "^1.0.138",
     "lodash": "^4.17.21",
     "svelte": "^3.46.2"
   }
diff --git a/packages/server/package.json b/packages/server/package.json
index 3c248c9362..571467afd1 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/server",
   "email": "hi@budibase.com",
-  "version": "1.0.137",
+  "version": "1.0.138",
   "description": "Budibase Web Server",
   "main": "src/index.ts",
   "repository": {
@@ -68,10 +68,10 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@apidevtools/swagger-parser": "^10.0.3",
-    "@budibase/backend-core": "^1.0.137",
-    "@budibase/client": "^1.0.137",
+    "@budibase/backend-core": "^1.0.138",
+    "@budibase/client": "^1.0.138",
     "@budibase/pro": "1.0.137",
-    "@budibase/string-templates": "^1.0.137",
+    "@budibase/string-templates": "^1.0.138",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
     "@elastic/elasticsearch": "7.10.0",
diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json
index 35484f2c2f..7b6071d639 100644
--- a/packages/string-templates/package.json
+++ b/packages/string-templates/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/string-templates",
-  "version": "1.0.137",
+  "version": "1.0.138",
   "description": "Handlebars wrapper for Budibase templating.",
   "main": "src/index.cjs",
   "module": "dist/bundle.mjs",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index fccb23a9ea..065e4d5eca 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/worker",
   "email": "hi@budibase.com",
-  "version": "1.0.137",
+  "version": "1.0.138",
   "description": "Budibase background service",
   "main": "src/index.ts",
   "repository": {
@@ -31,9 +31,9 @@
   "author": "Budibase",
   "license": "GPL-3.0",
   "dependencies": {
-    "@budibase/backend-core": "^1.0.137",
+    "@budibase/backend-core": "^1.0.138",
     "@budibase/pro": "1.0.137",
-    "@budibase/string-templates": "^1.0.137",
+    "@budibase/string-templates": "^1.0.138",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",
     "@techpass/passport-openidconnect": "^0.3.0",

From 3c5ffb3212cb07de92692f4f527c27d613ac6626 Mon Sep 17 00:00:00 2001
From: Budibase Release Bot <>
Date: Tue, 3 May 2022 16:40:06 +0000
Subject: [PATCH 068/100] Update pro version to 1.0.138

---
 packages/server/package.json | 2 +-
 packages/worker/package.json | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/packages/server/package.json b/packages/server/package.json
index 571467afd1..9307a7358d 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -70,7 +70,7 @@
     "@apidevtools/swagger-parser": "^10.0.3",
     "@budibase/backend-core": "^1.0.138",
     "@budibase/client": "^1.0.138",
-    "@budibase/pro": "1.0.137",
+    "@budibase/pro": "1.0.138",
     "@budibase/string-templates": "^1.0.138",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index 065e4d5eca..03282f44c0 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -32,7 +32,7 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@budibase/backend-core": "^1.0.138",
-    "@budibase/pro": "1.0.137",
+    "@budibase/pro": "1.0.138",
     "@budibase/string-templates": "^1.0.138",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",

From af9b9b692124464a5a7f3e93ba76e93e319a252a Mon Sep 17 00:00:00 2001
From: Peter Clement <peter@budibase.com>
Date: Wed, 4 May 2022 10:24:28 +0100
Subject: [PATCH 069/100] Some foreach block fixes

---
 .../FlowChart/FlowItem.svelte                 | 16 ++++++++---
 packages/server/src/threads/automation.js     | 27 ++++++++++---------
 2 files changed, 28 insertions(+), 15 deletions(-)

diff --git a/packages/builder/src/components/automation/AutomationBuilder/FlowChart/FlowItem.svelte b/packages/builder/src/components/automation/AutomationBuilder/FlowChart/FlowItem.svelte
index 0829b85a90..532e0ff068 100644
--- a/packages/builder/src/components/automation/AutomationBuilder/FlowChart/FlowItem.svelte
+++ b/packages/builder/src/components/automation/AutomationBuilder/FlowChart/FlowItem.svelte
@@ -53,6 +53,18 @@
       x => x.blockToLoop === block.id
     )
 
+  async function removeLooping() {
+    loopingSelected = false
+    let loopBlock =
+      $automationStore.selectedAutomation?.automation.definition.steps.find(
+        x => x.blockToLoop === block.id
+      )
+    automationStore.actions.deleteAutomationBlock(loopBlock)
+    await automationStore.actions.save(
+      $automationStore.selectedAutomation?.automation
+    )
+  }
+
   async function deleteStep() {
     let loopBlock =
       $automationStore.selectedAutomation?.automation.definition.steps.find(
@@ -151,9 +163,7 @@
     {#if !showLooping}
       <div class="blockSection">
         <div class="block-options">
-          <div class="delete-padding" on:click={() => deleteStep()}>
-            <Icon name="DeleteOutline" />
-          </div>
+          <ActionButton on:click={() => removeLooping()} icon="DeleteOutline" />
         </div>
         <Layout noPadding gap="S">
           <AutomationBlockSetup
diff --git a/packages/server/src/threads/automation.js b/packages/server/src/threads/automation.js
index a7ce84d614..a95d3fac3c 100644
--- a/packages/server/src/threads/automation.js
+++ b/packages/server/src/threads/automation.js
@@ -107,7 +107,6 @@ class Orchestrator {
     let loopSteps = []
     for (let step of automation.definition.steps) {
       stepCount++
-      let input
       if (step.stepId === LOOP_STEP_ID) {
         loopStep = step
         loopStepNumber = stepCount
@@ -115,17 +114,21 @@ class Orchestrator {
       }
 
       if (loopStep) {
-        input = await processObject(loopStep.inputs, this._context)
+        // lets first of all handle the input
+        if (
+          typeof loopStep.inputs.binding === "string" &&
+          loopStep.inputs.option === "String"
+        ) {
+          loopStep.inputs.binding = loopStep.inputs.binding.split("\n")
+        }
       }
-      let iterations = loopStep ? input.binding.length : 1
+      let iterations = loopStep ? loopStep.inputs.binding.length : 1
       let iterationCount = 0
       for (let index = 0; index < iterations; index++) {
         let originalStepInput = cloneDeep(step.inputs)
 
         // Handle if the user has set a max iteration count or if it reaches the max limit set by us
         if (loopStep) {
-          // lets first of all handle the input
-          // if the input is array then use it, if it is a string then split it on every new line
           let newInput = await processObject(
             loopStep.inputs,
             cloneDeep(this._context)
@@ -134,16 +137,13 @@ class Orchestrator {
             newInput,
             loopStep.schema.inputs
           )
-          this._context.steps[loopStepNumber] = {
-            currentItem: newInput.binding[index],
-          }
 
           let tempOutput = { items: loopSteps, iterations: iterationCount }
           if (
-            (loopStep.inputs.option === "Array" &&
-              !Array.isArray(newInput.binding)) ||
-            (loopStep.inputs.option === "String" &&
-              typeof newInput.binding !== "string")
+            (originalStepInput.option === "Array" &&
+              !Array.isArray(originalStepInput.binding)) ||
+            (originalStepInput.option === "String" &&
+              typeof originalStepInput.binding !== "string")
           ) {
             this.updateContextAndOutput(loopStepNumber, step, tempOutput, {
               status: AutomationErrors.INCORRECT_TYPE,
@@ -153,6 +153,9 @@ class Orchestrator {
             loopStep = null
             break
           }
+          this._context.steps[loopStepNumber] = {
+            currentItem: newInput.binding[index],
+          }
 
           // The "Loop" binding in the front end is "fake", so replace it here so the context can understand it
           // Pretty hacky because we need to account for the row object

From 45fd19583c3345771cc2fa60c67d9cc207242f5a Mon Sep 17 00:00:00 2001
From: Peter Clement <peter@budibase.com>
Date: Wed, 4 May 2022 11:55:26 +0100
Subject: [PATCH 070/100] linting

---
 .../SetupPanel/AutomationBlockSetup.svelte    |  8 ++++-
 .../server/src/automations/automationUtils.js | 12 +++++++
 packages/server/src/threads/automation.js     | 36 ++++++++++++-------
 3 files changed, 42 insertions(+), 14 deletions(-)

diff --git a/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte b/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte
index 68afc04886..416a1ecace 100644
--- a/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte
+++ b/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte
@@ -177,12 +177,18 @@
     onChange({ detail: tempFilters }, defKey)
     drawer.hide()
   }
+  console.log(schemaProperties)
+  console.log(inputData)
 </script>
 
 <div class="fields">
   {#each schemaProperties as [key, value]}
     <div class="block-field">
-      <Label>{value.title || (key === "row" ? "Table" : key)}</Label>
+      <Label
+        tooltip={value.title === "Binding / Value"
+          ? "If using the String input type, please use a comma or newline separated string"
+          : null}>{value.title || (key === "row" ? "Table" : key)}</Label
+      >
       {#if value.type === "string" && value.enum}
         <Select
           on:change={e => onChange(e, key)}
diff --git a/packages/server/src/automations/automationUtils.js b/packages/server/src/automations/automationUtils.js
index 0d858741dd..a3bcae0cee 100644
--- a/packages/server/src/automations/automationUtils.js
+++ b/packages/server/src/automations/automationUtils.js
@@ -86,3 +86,15 @@ exports.substituteLoopStep = (hbsString, substitute) => {
 
   return hbsString
 }
+
+exports.stringSplit = value => {
+  if (value == null) {
+    return []
+  }
+  if (value.split("\n").length > 1) {
+    value = value.split("\n")
+  } else {
+    value = value.split(",")
+  }
+  return value
+}
diff --git a/packages/server/src/threads/automation.js b/packages/server/src/threads/automation.js
index a95d3fac3c..63a3ea8bf3 100644
--- a/packages/server/src/threads/automation.js
+++ b/packages/server/src/threads/automation.js
@@ -107,6 +107,7 @@ class Orchestrator {
     let loopSteps = []
     for (let step of automation.definition.steps) {
       stepCount++
+      let input
       if (step.stepId === LOOP_STEP_ID) {
         loopStep = step
         loopStepNumber = stepCount
@@ -114,15 +115,13 @@ class Orchestrator {
       }
 
       if (loopStep) {
-        // lets first of all handle the input
-        if (
-          typeof loopStep.inputs.binding === "string" &&
-          loopStep.inputs.option === "String"
-        ) {
-          loopStep.inputs.binding = loopStep.inputs.binding.split("\n")
-        }
+        input = await processObject(loopStep.inputs, this._context)
       }
-      let iterations = loopStep ? loopStep.inputs.binding.length : 1
+      let iterations = loopStep
+        ? Array.isArray(input.binding)
+          ? input.binding.length
+          : automationUtils.stringSplit(input.binding).length
+        : 1
       let iterationCount = 0
       for (let index = 0; index < iterations; index++) {
         let originalStepInput = cloneDeep(step.inputs)
@@ -140,10 +139,10 @@ class Orchestrator {
 
           let tempOutput = { items: loopSteps, iterations: iterationCount }
           if (
-            (originalStepInput.option === "Array" &&
-              !Array.isArray(originalStepInput.binding)) ||
-            (originalStepInput.option === "String" &&
-              typeof originalStepInput.binding !== "string")
+            (loopStep.inputs.option === "Array" &&
+              !Array.isArray(newInput.binding)) ||
+            (loopStep.inputs.option === "String" &&
+              typeof newInput.binding !== "string")
           ) {
             this.updateContextAndOutput(loopStepNumber, step, tempOutput, {
               status: AutomationErrors.INCORRECT_TYPE,
@@ -153,8 +152,19 @@ class Orchestrator {
             loopStep = null
             break
           }
+
+          let item
+          if (
+            typeof loopStep.inputs.binding === "string" &&
+            loopStep.inputs.option === "String"
+          ) {
+            item = automationUtils.stringSplit(newInput.binding)
+          } else {
+            item = loopStep.inputs.binding
+          }
+
           this._context.steps[loopStepNumber] = {
-            currentItem: newInput.binding[index],
+            currentItem: item[index],
           }
 
           // The "Loop" binding in the front end is "fake", so replace it here so the context can understand it

From 118b9bbd979c3e3ea9f5f2867062128f7cd43a5e Mon Sep 17 00:00:00 2001
From: Peter Clement <peter@budibase.com>
Date: Wed, 4 May 2022 11:56:54 +0100
Subject: [PATCH 071/100] remove log

---
 .../automation/SetupPanel/AutomationBlockSetup.svelte           | 2 --
 1 file changed, 2 deletions(-)

diff --git a/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte b/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte
index 416a1ecace..1af40694a3 100644
--- a/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte
+++ b/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte
@@ -177,8 +177,6 @@
     onChange({ detail: tempFilters }, defKey)
     drawer.hide()
   }
-  console.log(schemaProperties)
-  console.log(inputData)
 </script>
 
 <div class="fields">

From 8f58800493cf7e09c012d4d5f7aa1532d5652e82 Mon Sep 17 00:00:00 2001
From: Budibase Staging Release Bot <>
Date: Wed, 4 May 2022 11:10:33 +0000
Subject: [PATCH 072/100] v1.0.130-alpha.4

---
 lerna.json                             |  2 +-
 packages/backend-core/package.json     |  2 +-
 packages/bbui/package.json             |  4 ++--
 packages/builder/package.json          | 10 +++++-----
 packages/cli/package.json              |  2 +-
 packages/client/package.json           |  8 ++++----
 packages/frontend-core/package.json    |  4 ++--
 packages/server/package.json           |  8 ++++----
 packages/string-templates/package.json |  2 +-
 packages/worker/package.json           |  6 +++---
 10 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/lerna.json b/lerna.json
index aad3485095..060695db9d 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
 {
-  "version": "1.0.130-alpha.3",
+  "version": "1.0.130-alpha.4",
   "npmClient": "yarn",
   "packages": [
     "packages/*"
diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json
index 96d12dbd13..db5840fbf1 100644
--- a/packages/backend-core/package.json
+++ b/packages/backend-core/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/backend-core",
-  "version": "1.0.130-alpha.3",
+  "version": "1.0.130-alpha.4",
   "description": "Budibase backend core libraries used in server and worker",
   "main": "src/index.js",
   "author": "Budibase",
diff --git a/packages/bbui/package.json b/packages/bbui/package.json
index 620fd8b0f7..0ff4c9d79a 100644
--- a/packages/bbui/package.json
+++ b/packages/bbui/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/bbui",
   "description": "A UI solution used in the different Budibase projects.",
-  "version": "1.0.130-alpha.3",
+  "version": "1.0.130-alpha.4",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "module": "dist/bbui.es.js",
@@ -38,7 +38,7 @@
   ],
   "dependencies": {
     "@adobe/spectrum-css-workflow-icons": "^1.2.1",
-    "@budibase/string-templates": "^1.0.130-alpha.3",
+    "@budibase/string-templates": "^1.0.130-alpha.4",
     "@spectrum-css/actionbutton": "^1.0.1",
     "@spectrum-css/actiongroup": "^1.0.1",
     "@spectrum-css/avatar": "^3.0.2",
diff --git a/packages/builder/package.json b/packages/builder/package.json
index e94b1e9365..f3d0531642 100644
--- a/packages/builder/package.json
+++ b/packages/builder/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/builder",
-  "version": "1.0.130-alpha.3",
+  "version": "1.0.130-alpha.4",
   "license": "GPL-3.0",
   "private": true,
   "scripts": {
@@ -65,10 +65,10 @@
     }
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.130-alpha.3",
-    "@budibase/client": "^1.0.130-alpha.3",
-    "@budibase/frontend-core": "^1.0.130-alpha.3",
-    "@budibase/string-templates": "^1.0.130-alpha.3",
+    "@budibase/bbui": "^1.0.130-alpha.4",
+    "@budibase/client": "^1.0.130-alpha.4",
+    "@budibase/frontend-core": "^1.0.130-alpha.4",
+    "@budibase/string-templates": "^1.0.130-alpha.4",
     "@sentry/browser": "5.19.1",
     "@spectrum-css/page": "^3.0.1",
     "@spectrum-css/vars": "^3.0.1",
diff --git a/packages/cli/package.json b/packages/cli/package.json
index ebdd7677fa..06ad78435c 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/cli",
-  "version": "1.0.130-alpha.3",
+  "version": "1.0.130-alpha.4",
   "description": "Budibase CLI, for developers, self hosting and migrations.",
   "main": "src/index.js",
   "bin": {
diff --git a/packages/client/package.json b/packages/client/package.json
index c72fdbe660..848c678bd7 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/client",
-  "version": "1.0.130-alpha.3",
+  "version": "1.0.130-alpha.4",
   "license": "MPL-2.0",
   "module": "dist/budibase-client.js",
   "main": "dist/budibase-client.js",
@@ -19,9 +19,9 @@
     "dev:builder": "rollup -cw"
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.130-alpha.3",
-    "@budibase/frontend-core": "^1.0.130-alpha.3",
-    "@budibase/string-templates": "^1.0.130-alpha.3",
+    "@budibase/bbui": "^1.0.130-alpha.4",
+    "@budibase/frontend-core": "^1.0.130-alpha.4",
+    "@budibase/string-templates": "^1.0.130-alpha.4",
     "@spectrum-css/button": "^3.0.3",
     "@spectrum-css/card": "^3.0.3",
     "@spectrum-css/divider": "^1.0.3",
diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json
index f054e93ca1..b42b0a7fb0 100644
--- a/packages/frontend-core/package.json
+++ b/packages/frontend-core/package.json
@@ -1,12 +1,12 @@
 {
   "name": "@budibase/frontend-core",
-  "version": "1.0.130-alpha.3",
+  "version": "1.0.130-alpha.4",
   "description": "Budibase frontend core libraries used in builder and client",
   "author": "Budibase",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "dependencies": {
-    "@budibase/bbui": "^1.0.130-alpha.3",
+    "@budibase/bbui": "^1.0.130-alpha.4",
     "lodash": "^4.17.21",
     "svelte": "^3.46.2"
   }
diff --git a/packages/server/package.json b/packages/server/package.json
index bad7f1a97e..3da84d116c 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/server",
   "email": "hi@budibase.com",
-  "version": "1.0.130-alpha.3",
+  "version": "1.0.130-alpha.4",
   "description": "Budibase Web Server",
   "main": "src/index.ts",
   "repository": {
@@ -68,10 +68,10 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@apidevtools/swagger-parser": "^10.0.3",
-    "@budibase/backend-core": "^1.0.130-alpha.3",
-    "@budibase/client": "^1.0.130-alpha.3",
+    "@budibase/backend-core": "^1.0.130-alpha.4",
+    "@budibase/client": "^1.0.130-alpha.4",
     "@budibase/pro": "1.0.130-alpha.3",
-    "@budibase/string-templates": "^1.0.130-alpha.3",
+    "@budibase/string-templates": "^1.0.130-alpha.4",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
     "@elastic/elasticsearch": "7.10.0",
diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json
index dc38fed2ad..df2437aec5 100644
--- a/packages/string-templates/package.json
+++ b/packages/string-templates/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/string-templates",
-  "version": "1.0.130-alpha.3",
+  "version": "1.0.130-alpha.4",
   "description": "Handlebars wrapper for Budibase templating.",
   "main": "src/index.cjs",
   "module": "dist/bundle.mjs",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index e5b8ab97a1..0e6cd789c9 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/worker",
   "email": "hi@budibase.com",
-  "version": "1.0.130-alpha.3",
+  "version": "1.0.130-alpha.4",
   "description": "Budibase background service",
   "main": "src/index.ts",
   "repository": {
@@ -31,9 +31,9 @@
   "author": "Budibase",
   "license": "GPL-3.0",
   "dependencies": {
-    "@budibase/backend-core": "^1.0.130-alpha.3",
+    "@budibase/backend-core": "^1.0.130-alpha.4",
     "@budibase/pro": "1.0.130-alpha.3",
-    "@budibase/string-templates": "^1.0.130-alpha.3",
+    "@budibase/string-templates": "^1.0.130-alpha.4",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",
     "@techpass/passport-openidconnect": "^0.3.0",

From c69291786f937ac2437bc82f268c47b9c2445607 Mon Sep 17 00:00:00 2001
From: Budibase Staging Release Bot <>
Date: Wed, 4 May 2022 11:12:00 +0000
Subject: [PATCH 073/100] Update pro version to 1.0.130-alpha.4

---
 packages/server/package.json | 2 +-
 packages/worker/package.json | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/packages/server/package.json b/packages/server/package.json
index 3da84d116c..4f26cbcc69 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -70,7 +70,7 @@
     "@apidevtools/swagger-parser": "^10.0.3",
     "@budibase/backend-core": "^1.0.130-alpha.4",
     "@budibase/client": "^1.0.130-alpha.4",
-    "@budibase/pro": "1.0.130-alpha.3",
+    "@budibase/pro": "1.0.130-alpha.4",
     "@budibase/string-templates": "^1.0.130-alpha.4",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index 0e6cd789c9..36c6285360 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -32,7 +32,7 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@budibase/backend-core": "^1.0.130-alpha.4",
-    "@budibase/pro": "1.0.130-alpha.3",
+    "@budibase/pro": "1.0.130-alpha.4",
     "@budibase/string-templates": "^1.0.130-alpha.4",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",

From dfb292862ffd5bffa95b2d7f86726cd49c71dfa8 Mon Sep 17 00:00:00 2001
From: mike12345567 <me@michaeldrury.co.uk>
Date: Wed, 4 May 2022 12:14:01 +0100
Subject: [PATCH 074/100] Fixing an issue with JSONparse helper always being
 considered invalid due to a lack of input.

---
 packages/server/yarn.lock                      | 18 +++++++++---------
 packages/string-templates/src/index.js         | 11 ++++++-----
 packages/string-templates/test/helpers.spec.js |  7 +++++++
 packages/worker/yarn.lock                      | 18 +++++++++---------
 4 files changed, 31 insertions(+), 23 deletions(-)

diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock
index 491788a0af..35e9ce1387 100644
--- a/packages/server/yarn.lock
+++ b/packages/server/yarn.lock
@@ -1014,10 +1014,10 @@
   resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
   integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
 
-"@budibase/backend-core@1.0.135":
-  version "1.0.135"
-  resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.0.135.tgz#b8cf217243b285c6e74435acba7c8960a1651c23"
-  integrity sha512-7gnTW6w8upJSPNqdyt5gpkubf0glDyTiSszLVVRZdxJypYAnBjcVrSFvlNPDzI4X2glnNnGcXBxFdDg6Z9ZS5w==
+"@budibase/backend-core@1.0.138":
+  version "1.0.138"
+  resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.0.138.tgz#5297d6cf5b9ec8c15f0a6df4c7d8273b8ac900f0"
+  integrity sha512-1qN/5urKX8bBXwEz266Z94rco8dTI7VqIh75m8ZcqrAfoUpjvZJS76gZxfc5U/QWPwrgVFnLtYvnEjaLbGEflg==
   dependencies:
     "@techpass/passport-openidconnect" "^0.3.0"
     aws-sdk "^2.901.0"
@@ -1091,12 +1091,12 @@
     svelte-flatpickr "^3.2.3"
     svelte-portal "^1.0.0"
 
-"@budibase/pro@1.0.135":
-  version "1.0.135"
-  resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.0.135.tgz#fa4f3b2a8e14905c97305a79e4b91d1094dba1a0"
-  integrity sha512-XfZTfrplyY03zuTE3dPzdJvVD3qO5ShbRUYNX/05VBubwhS7S0mczwfCTJPi8agfx3LGN4yQd7GhFbaN2zrOPg==
+"@budibase/pro@1.0.138":
+  version "1.0.138"
+  resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.0.138.tgz#cacbebe5ce93eb533af62a794a638944c2c61544"
+  integrity sha512-4ABlUZvl2h8sd8awJATf3KJeoFWV/8SoqdbKiH1ICdUcM/6dad7nhbJ15QqJL+Uuh/+mN2yEbr8V6Un2+yF+CA==
   dependencies:
-    "@budibase/backend-core" "1.0.135"
+    "@budibase/backend-core" "1.0.138"
     node-fetch "^2.6.1"
 
 "@budibase/standard-components@^0.9.139":
diff --git a/packages/string-templates/src/index.js b/packages/string-templates/src/index.js
index 6e464c27c4..f4feceac4b 100644
--- a/packages/string-templates/src/index.js
+++ b/packages/string-templates/src/index.js
@@ -70,7 +70,7 @@ function createTemplate(string, opts) {
  * @param {object|array} object The input structure which is to be recursed, it is important to note that
  * if the structure contains any cycles then this will fail.
  * @param {object} context The context that handlebars should fill data from.
- * @param {object|undefined} opts optional - specify some options for processing.
+ * @param {object|undefined} [opts] optional - specify some options for processing.
  * @returns {Promise<object|array>} The structure input, as fully updated as possible.
  */
 module.exports.processObject = async (object, context, opts) => {
@@ -101,7 +101,7 @@ module.exports.processObject = async (object, context, opts) => {
  * then nothing will occur.
  * @param {string} string The template string which is the filled from the context object.
  * @param {object} context An object of information which will be used to enrich the string.
- * @param {object|undefined} opts optional - specify some options for processing.
+ * @param {object|undefined} [opts] optional - specify some options for processing.
  * @returns {Promise<string>} The enriched string, all templates should have been replaced if they can be.
  */
 module.exports.processString = async (string, context, opts) => {
@@ -115,7 +115,7 @@ module.exports.processString = async (string, context, opts) => {
  * @param {object|array} object The input structure which is to be recursed, it is important to note that
  * if the structure contains any cycles then this will fail.
  * @param {object} context The context that handlebars should fill data from.
- * @param {object|undefined} opts optional - specify some options for processing.
+ * @param {object|undefined} [opts] optional - specify some options for processing.
  * @returns {object|array} The structure input, as fully updated as possible.
  */
 module.exports.processObjectSync = (object, context, opts) => {
@@ -136,7 +136,7 @@ module.exports.processObjectSync = (object, context, opts) => {
  * then nothing will occur. This is a pure sync call and therefore does not have the full functionality of the async call.
  * @param {string} string The template string which is the filled from the context object.
  * @param {object} context An object of information which will be used to enrich the string.
- * @param {object|undefined} opts optional - specify some options for processing.
+ * @param {object|undefined} [opts] optional - specify some options for processing.
  * @returns {string} The enriched string, all templates should have been replaced if they can be.
  */
 module.exports.processStringSync = (string, context, opts) => {
@@ -194,7 +194,7 @@ module.exports.makePropSafe = property => {
 /**
  * Checks whether or not a template string contains totally valid syntax (simply tries running it)
  * @param string The string to test for valid syntax - this may contain no templates and will be considered valid.
- * @param opts optional - specify some options for processing.
+ * @param [opts] optional - specify some options for processing.
  * @returns {boolean} Whether or not the input string is valid.
  */
 module.exports.isValid = (string, opts) => {
@@ -205,6 +205,7 @@ module.exports.isValid = (string, opts) => {
     "array",
     "cannot read property",
     "undefined",
+    "json at position 0",
   ]
   // this is a portion of a specific string always output by handlebars in the case of a syntax error
   const invalidCases = [`expecting '`]
diff --git a/packages/string-templates/test/helpers.spec.js b/packages/string-templates/test/helpers.spec.js
index 0d39660d59..17e6876bba 100644
--- a/packages/string-templates/test/helpers.spec.js
+++ b/packages/string-templates/test/helpers.spec.js
@@ -360,6 +360,13 @@ describe("Test the literal helper", () => {
   })
 })
 
+describe("Test that JSONpase helper", () => {
+  it("should state that the JSONparse helper is valid", async () => {
+    const output = isValid(`{{ JSONparse input }}`)
+    expect(output).toBe(true)
+  })
+})
+
 describe("Cover a few complex use cases", () => {
   it("should allow use of three different collection helpers", async () => {
     const output = await processString(
diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock
index 292a0afd0c..a2a29f5f77 100644
--- a/packages/worker/yarn.lock
+++ b/packages/worker/yarn.lock
@@ -293,10 +293,10 @@
   resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
   integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
 
-"@budibase/backend-core@1.0.135":
-  version "1.0.135"
-  resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.0.135.tgz#b8cf217243b285c6e74435acba7c8960a1651c23"
-  integrity sha512-7gnTW6w8upJSPNqdyt5gpkubf0glDyTiSszLVVRZdxJypYAnBjcVrSFvlNPDzI4X2glnNnGcXBxFdDg6Z9ZS5w==
+"@budibase/backend-core@1.0.138":
+  version "1.0.138"
+  resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.0.138.tgz#5297d6cf5b9ec8c15f0a6df4c7d8273b8ac900f0"
+  integrity sha512-1qN/5urKX8bBXwEz266Z94rco8dTI7VqIh75m8ZcqrAfoUpjvZJS76gZxfc5U/QWPwrgVFnLtYvnEjaLbGEflg==
   dependencies:
     "@techpass/passport-openidconnect" "^0.3.0"
     aws-sdk "^2.901.0"
@@ -321,12 +321,12 @@
     uuid "^8.3.2"
     zlib "^1.0.5"
 
-"@budibase/pro@1.0.135":
-  version "1.0.135"
-  resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.0.135.tgz#fa4f3b2a8e14905c97305a79e4b91d1094dba1a0"
-  integrity sha512-XfZTfrplyY03zuTE3dPzdJvVD3qO5ShbRUYNX/05VBubwhS7S0mczwfCTJPi8agfx3LGN4yQd7GhFbaN2zrOPg==
+"@budibase/pro@1.0.138":
+  version "1.0.138"
+  resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.0.138.tgz#cacbebe5ce93eb533af62a794a638944c2c61544"
+  integrity sha512-4ABlUZvl2h8sd8awJATf3KJeoFWV/8SoqdbKiH1ICdUcM/6dad7nhbJ15QqJL+Uuh/+mN2yEbr8V6Un2+yF+CA==
   dependencies:
-    "@budibase/backend-core" "1.0.135"
+    "@budibase/backend-core" "1.0.138"
     node-fetch "^2.6.1"
 
 "@cspotcode/source-map-consumer@0.8.0":

From 4e7a16db305da479edbda87f46edbf81ccc56e3d Mon Sep 17 00:00:00 2001
From: Rory Powell <rory.codes@gmail.com>
Date: Wed, 4 May 2022 12:28:21 +0100
Subject: [PATCH 075/100] Add isDev() to backend-core/env

---
 packages/backend-core/src/environment.js |  5 +++++
 packages/server/yarn.lock                | 18 +++++++++---------
 packages/worker/yarn.lock                | 18 +++++++++---------
 3 files changed, 23 insertions(+), 18 deletions(-)

diff --git a/packages/backend-core/src/environment.js b/packages/backend-core/src/environment.js
index 26e0d486f7..c4fc4a87c8 100644
--- a/packages/backend-core/src/environment.js
+++ b/packages/backend-core/src/environment.js
@@ -6,6 +6,10 @@ function isTest() {
   )
 }
 
+function isDev() {
+  return process.env.NODE_ENV !== "production"
+}
+
 module.exports = {
   JWT_SECRET: process.env.JWT_SECRET,
   COUCH_DB_URL: process.env.COUCH_DB_URL || "http://localhost:4005",
@@ -32,6 +36,7 @@ module.exports = {
   TENANT_FEATURE_FLAGS: process.env.TENANT_FEATURE_FLAGS,
   USE_COUCH: process.env.USE_COUCH || true,
   isTest,
+  isDev,
   _set(key, value) {
     process.env[key] = value
     module.exports[key] = value
diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock
index 491788a0af..35e9ce1387 100644
--- a/packages/server/yarn.lock
+++ b/packages/server/yarn.lock
@@ -1014,10 +1014,10 @@
   resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
   integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
 
-"@budibase/backend-core@1.0.135":
-  version "1.0.135"
-  resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.0.135.tgz#b8cf217243b285c6e74435acba7c8960a1651c23"
-  integrity sha512-7gnTW6w8upJSPNqdyt5gpkubf0glDyTiSszLVVRZdxJypYAnBjcVrSFvlNPDzI4X2glnNnGcXBxFdDg6Z9ZS5w==
+"@budibase/backend-core@1.0.138":
+  version "1.0.138"
+  resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.0.138.tgz#5297d6cf5b9ec8c15f0a6df4c7d8273b8ac900f0"
+  integrity sha512-1qN/5urKX8bBXwEz266Z94rco8dTI7VqIh75m8ZcqrAfoUpjvZJS76gZxfc5U/QWPwrgVFnLtYvnEjaLbGEflg==
   dependencies:
     "@techpass/passport-openidconnect" "^0.3.0"
     aws-sdk "^2.901.0"
@@ -1091,12 +1091,12 @@
     svelte-flatpickr "^3.2.3"
     svelte-portal "^1.0.0"
 
-"@budibase/pro@1.0.135":
-  version "1.0.135"
-  resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.0.135.tgz#fa4f3b2a8e14905c97305a79e4b91d1094dba1a0"
-  integrity sha512-XfZTfrplyY03zuTE3dPzdJvVD3qO5ShbRUYNX/05VBubwhS7S0mczwfCTJPi8agfx3LGN4yQd7GhFbaN2zrOPg==
+"@budibase/pro@1.0.138":
+  version "1.0.138"
+  resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.0.138.tgz#cacbebe5ce93eb533af62a794a638944c2c61544"
+  integrity sha512-4ABlUZvl2h8sd8awJATf3KJeoFWV/8SoqdbKiH1ICdUcM/6dad7nhbJ15QqJL+Uuh/+mN2yEbr8V6Un2+yF+CA==
   dependencies:
-    "@budibase/backend-core" "1.0.135"
+    "@budibase/backend-core" "1.0.138"
     node-fetch "^2.6.1"
 
 "@budibase/standard-components@^0.9.139":
diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock
index 292a0afd0c..a2a29f5f77 100644
--- a/packages/worker/yarn.lock
+++ b/packages/worker/yarn.lock
@@ -293,10 +293,10 @@
   resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
   integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
 
-"@budibase/backend-core@1.0.135":
-  version "1.0.135"
-  resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.0.135.tgz#b8cf217243b285c6e74435acba7c8960a1651c23"
-  integrity sha512-7gnTW6w8upJSPNqdyt5gpkubf0glDyTiSszLVVRZdxJypYAnBjcVrSFvlNPDzI4X2glnNnGcXBxFdDg6Z9ZS5w==
+"@budibase/backend-core@1.0.138":
+  version "1.0.138"
+  resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.0.138.tgz#5297d6cf5b9ec8c15f0a6df4c7d8273b8ac900f0"
+  integrity sha512-1qN/5urKX8bBXwEz266Z94rco8dTI7VqIh75m8ZcqrAfoUpjvZJS76gZxfc5U/QWPwrgVFnLtYvnEjaLbGEflg==
   dependencies:
     "@techpass/passport-openidconnect" "^0.3.0"
     aws-sdk "^2.901.0"
@@ -321,12 +321,12 @@
     uuid "^8.3.2"
     zlib "^1.0.5"
 
-"@budibase/pro@1.0.135":
-  version "1.0.135"
-  resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.0.135.tgz#fa4f3b2a8e14905c97305a79e4b91d1094dba1a0"
-  integrity sha512-XfZTfrplyY03zuTE3dPzdJvVD3qO5ShbRUYNX/05VBubwhS7S0mczwfCTJPi8agfx3LGN4yQd7GhFbaN2zrOPg==
+"@budibase/pro@1.0.138":
+  version "1.0.138"
+  resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.0.138.tgz#cacbebe5ce93eb533af62a794a638944c2c61544"
+  integrity sha512-4ABlUZvl2h8sd8awJATf3KJeoFWV/8SoqdbKiH1ICdUcM/6dad7nhbJ15QqJL+Uuh/+mN2yEbr8V6Un2+yF+CA==
   dependencies:
-    "@budibase/backend-core" "1.0.135"
+    "@budibase/backend-core" "1.0.138"
     node-fetch "^2.6.1"
 
 "@cspotcode/source-map-consumer@0.8.0":

From 9788288c920b20918159661198dd8bbb75cf4373 Mon Sep 17 00:00:00 2001
From: Budibase Staging Release Bot <>
Date: Wed, 4 May 2022 11:45:20 +0000
Subject: [PATCH 076/100] v1.0.130-alpha.5

---
 lerna.json                             |  2 +-
 packages/backend-core/package.json     |  2 +-
 packages/bbui/package.json             |  4 ++--
 packages/builder/package.json          | 10 +++++-----
 packages/cli/package.json              |  2 +-
 packages/client/package.json           |  8 ++++----
 packages/frontend-core/package.json    |  4 ++--
 packages/server/package.json           |  8 ++++----
 packages/string-templates/package.json |  2 +-
 packages/worker/package.json           |  6 +++---
 10 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/lerna.json b/lerna.json
index 060695db9d..bfa8b85e58 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
 {
-  "version": "1.0.130-alpha.4",
+  "version": "1.0.130-alpha.5",
   "npmClient": "yarn",
   "packages": [
     "packages/*"
diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json
index db5840fbf1..def349604f 100644
--- a/packages/backend-core/package.json
+++ b/packages/backend-core/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/backend-core",
-  "version": "1.0.130-alpha.4",
+  "version": "1.0.130-alpha.5",
   "description": "Budibase backend core libraries used in server and worker",
   "main": "src/index.js",
   "author": "Budibase",
diff --git a/packages/bbui/package.json b/packages/bbui/package.json
index 0ff4c9d79a..a21f203093 100644
--- a/packages/bbui/package.json
+++ b/packages/bbui/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/bbui",
   "description": "A UI solution used in the different Budibase projects.",
-  "version": "1.0.130-alpha.4",
+  "version": "1.0.130-alpha.5",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "module": "dist/bbui.es.js",
@@ -38,7 +38,7 @@
   ],
   "dependencies": {
     "@adobe/spectrum-css-workflow-icons": "^1.2.1",
-    "@budibase/string-templates": "^1.0.130-alpha.4",
+    "@budibase/string-templates": "^1.0.130-alpha.5",
     "@spectrum-css/actionbutton": "^1.0.1",
     "@spectrum-css/actiongroup": "^1.0.1",
     "@spectrum-css/avatar": "^3.0.2",
diff --git a/packages/builder/package.json b/packages/builder/package.json
index f3d0531642..c3258b6d7d 100644
--- a/packages/builder/package.json
+++ b/packages/builder/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/builder",
-  "version": "1.0.130-alpha.4",
+  "version": "1.0.130-alpha.5",
   "license": "GPL-3.0",
   "private": true,
   "scripts": {
@@ -65,10 +65,10 @@
     }
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.130-alpha.4",
-    "@budibase/client": "^1.0.130-alpha.4",
-    "@budibase/frontend-core": "^1.0.130-alpha.4",
-    "@budibase/string-templates": "^1.0.130-alpha.4",
+    "@budibase/bbui": "^1.0.130-alpha.5",
+    "@budibase/client": "^1.0.130-alpha.5",
+    "@budibase/frontend-core": "^1.0.130-alpha.5",
+    "@budibase/string-templates": "^1.0.130-alpha.5",
     "@sentry/browser": "5.19.1",
     "@spectrum-css/page": "^3.0.1",
     "@spectrum-css/vars": "^3.0.1",
diff --git a/packages/cli/package.json b/packages/cli/package.json
index 06ad78435c..cbaa66e55b 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/cli",
-  "version": "1.0.130-alpha.4",
+  "version": "1.0.130-alpha.5",
   "description": "Budibase CLI, for developers, self hosting and migrations.",
   "main": "src/index.js",
   "bin": {
diff --git a/packages/client/package.json b/packages/client/package.json
index 848c678bd7..b8729c80c2 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/client",
-  "version": "1.0.130-alpha.4",
+  "version": "1.0.130-alpha.5",
   "license": "MPL-2.0",
   "module": "dist/budibase-client.js",
   "main": "dist/budibase-client.js",
@@ -19,9 +19,9 @@
     "dev:builder": "rollup -cw"
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.130-alpha.4",
-    "@budibase/frontend-core": "^1.0.130-alpha.4",
-    "@budibase/string-templates": "^1.0.130-alpha.4",
+    "@budibase/bbui": "^1.0.130-alpha.5",
+    "@budibase/frontend-core": "^1.0.130-alpha.5",
+    "@budibase/string-templates": "^1.0.130-alpha.5",
     "@spectrum-css/button": "^3.0.3",
     "@spectrum-css/card": "^3.0.3",
     "@spectrum-css/divider": "^1.0.3",
diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json
index b42b0a7fb0..12586ac778 100644
--- a/packages/frontend-core/package.json
+++ b/packages/frontend-core/package.json
@@ -1,12 +1,12 @@
 {
   "name": "@budibase/frontend-core",
-  "version": "1.0.130-alpha.4",
+  "version": "1.0.130-alpha.5",
   "description": "Budibase frontend core libraries used in builder and client",
   "author": "Budibase",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "dependencies": {
-    "@budibase/bbui": "^1.0.130-alpha.4",
+    "@budibase/bbui": "^1.0.130-alpha.5",
     "lodash": "^4.17.21",
     "svelte": "^3.46.2"
   }
diff --git a/packages/server/package.json b/packages/server/package.json
index 4f26cbcc69..cd09679c21 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/server",
   "email": "hi@budibase.com",
-  "version": "1.0.130-alpha.4",
+  "version": "1.0.130-alpha.5",
   "description": "Budibase Web Server",
   "main": "src/index.ts",
   "repository": {
@@ -68,10 +68,10 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@apidevtools/swagger-parser": "^10.0.3",
-    "@budibase/backend-core": "^1.0.130-alpha.4",
-    "@budibase/client": "^1.0.130-alpha.4",
+    "@budibase/backend-core": "^1.0.130-alpha.5",
+    "@budibase/client": "^1.0.130-alpha.5",
     "@budibase/pro": "1.0.130-alpha.4",
-    "@budibase/string-templates": "^1.0.130-alpha.4",
+    "@budibase/string-templates": "^1.0.130-alpha.5",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
     "@elastic/elasticsearch": "7.10.0",
diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json
index df2437aec5..e9e5b25fbb 100644
--- a/packages/string-templates/package.json
+++ b/packages/string-templates/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/string-templates",
-  "version": "1.0.130-alpha.4",
+  "version": "1.0.130-alpha.5",
   "description": "Handlebars wrapper for Budibase templating.",
   "main": "src/index.cjs",
   "module": "dist/bundle.mjs",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index 36c6285360..d2fe2314e0 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/worker",
   "email": "hi@budibase.com",
-  "version": "1.0.130-alpha.4",
+  "version": "1.0.130-alpha.5",
   "description": "Budibase background service",
   "main": "src/index.ts",
   "repository": {
@@ -31,9 +31,9 @@
   "author": "Budibase",
   "license": "GPL-3.0",
   "dependencies": {
-    "@budibase/backend-core": "^1.0.130-alpha.4",
+    "@budibase/backend-core": "^1.0.130-alpha.5",
     "@budibase/pro": "1.0.130-alpha.4",
-    "@budibase/string-templates": "^1.0.130-alpha.4",
+    "@budibase/string-templates": "^1.0.130-alpha.5",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",
     "@techpass/passport-openidconnect": "^0.3.0",

From 6ccb09aac7753f95aef8f38f62bd6c4af9dfa67b Mon Sep 17 00:00:00 2001
From: Budibase Staging Release Bot <>
Date: Wed, 4 May 2022 11:46:36 +0000
Subject: [PATCH 077/100] Update pro version to 1.0.130-alpha.5

---
 packages/server/package.json | 2 +-
 packages/worker/package.json | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/packages/server/package.json b/packages/server/package.json
index cd09679c21..145d6b4d2d 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -70,7 +70,7 @@
     "@apidevtools/swagger-parser": "^10.0.3",
     "@budibase/backend-core": "^1.0.130-alpha.5",
     "@budibase/client": "^1.0.130-alpha.5",
-    "@budibase/pro": "1.0.130-alpha.4",
+    "@budibase/pro": "1.0.130-alpha.5",
     "@budibase/string-templates": "^1.0.130-alpha.5",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index d2fe2314e0..dd119f3b99 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -32,7 +32,7 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@budibase/backend-core": "^1.0.130-alpha.5",
-    "@budibase/pro": "1.0.130-alpha.4",
+    "@budibase/pro": "1.0.130-alpha.5",
     "@budibase/string-templates": "^1.0.130-alpha.5",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",

From e7851294465d6755cccb08f6c39d72d0e5bc5ba5 Mon Sep 17 00:00:00 2001
From: Budibase Staging Release Bot <>
Date: Wed, 4 May 2022 11:59:46 +0000
Subject: [PATCH 078/100] v1.0.130-alpha.6

---
 lerna.json                             |  2 +-
 packages/backend-core/package.json     |  2 +-
 packages/bbui/package.json             |  4 ++--
 packages/builder/package.json          | 10 +++++-----
 packages/cli/package.json              |  2 +-
 packages/client/package.json           |  8 ++++----
 packages/frontend-core/package.json    |  4 ++--
 packages/server/package.json           |  8 ++++----
 packages/string-templates/package.json |  2 +-
 packages/worker/package.json           |  6 +++---
 10 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/lerna.json b/lerna.json
index bfa8b85e58..fc5a317263 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
 {
-  "version": "1.0.130-alpha.5",
+  "version": "1.0.130-alpha.6",
   "npmClient": "yarn",
   "packages": [
     "packages/*"
diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json
index def349604f..fd77e41f91 100644
--- a/packages/backend-core/package.json
+++ b/packages/backend-core/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/backend-core",
-  "version": "1.0.130-alpha.5",
+  "version": "1.0.130-alpha.6",
   "description": "Budibase backend core libraries used in server and worker",
   "main": "src/index.js",
   "author": "Budibase",
diff --git a/packages/bbui/package.json b/packages/bbui/package.json
index a21f203093..c41e3e477d 100644
--- a/packages/bbui/package.json
+++ b/packages/bbui/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/bbui",
   "description": "A UI solution used in the different Budibase projects.",
-  "version": "1.0.130-alpha.5",
+  "version": "1.0.130-alpha.6",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "module": "dist/bbui.es.js",
@@ -38,7 +38,7 @@
   ],
   "dependencies": {
     "@adobe/spectrum-css-workflow-icons": "^1.2.1",
-    "@budibase/string-templates": "^1.0.130-alpha.5",
+    "@budibase/string-templates": "^1.0.130-alpha.6",
     "@spectrum-css/actionbutton": "^1.0.1",
     "@spectrum-css/actiongroup": "^1.0.1",
     "@spectrum-css/avatar": "^3.0.2",
diff --git a/packages/builder/package.json b/packages/builder/package.json
index c3258b6d7d..9986ba8e00 100644
--- a/packages/builder/package.json
+++ b/packages/builder/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/builder",
-  "version": "1.0.130-alpha.5",
+  "version": "1.0.130-alpha.6",
   "license": "GPL-3.0",
   "private": true,
   "scripts": {
@@ -65,10 +65,10 @@
     }
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.130-alpha.5",
-    "@budibase/client": "^1.0.130-alpha.5",
-    "@budibase/frontend-core": "^1.0.130-alpha.5",
-    "@budibase/string-templates": "^1.0.130-alpha.5",
+    "@budibase/bbui": "^1.0.130-alpha.6",
+    "@budibase/client": "^1.0.130-alpha.6",
+    "@budibase/frontend-core": "^1.0.130-alpha.6",
+    "@budibase/string-templates": "^1.0.130-alpha.6",
     "@sentry/browser": "5.19.1",
     "@spectrum-css/page": "^3.0.1",
     "@spectrum-css/vars": "^3.0.1",
diff --git a/packages/cli/package.json b/packages/cli/package.json
index cbaa66e55b..3ef8b0ab9f 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/cli",
-  "version": "1.0.130-alpha.5",
+  "version": "1.0.130-alpha.6",
   "description": "Budibase CLI, for developers, self hosting and migrations.",
   "main": "src/index.js",
   "bin": {
diff --git a/packages/client/package.json b/packages/client/package.json
index b8729c80c2..bc86e4d549 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/client",
-  "version": "1.0.130-alpha.5",
+  "version": "1.0.130-alpha.6",
   "license": "MPL-2.0",
   "module": "dist/budibase-client.js",
   "main": "dist/budibase-client.js",
@@ -19,9 +19,9 @@
     "dev:builder": "rollup -cw"
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.130-alpha.5",
-    "@budibase/frontend-core": "^1.0.130-alpha.5",
-    "@budibase/string-templates": "^1.0.130-alpha.5",
+    "@budibase/bbui": "^1.0.130-alpha.6",
+    "@budibase/frontend-core": "^1.0.130-alpha.6",
+    "@budibase/string-templates": "^1.0.130-alpha.6",
     "@spectrum-css/button": "^3.0.3",
     "@spectrum-css/card": "^3.0.3",
     "@spectrum-css/divider": "^1.0.3",
diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json
index 12586ac778..55665a9804 100644
--- a/packages/frontend-core/package.json
+++ b/packages/frontend-core/package.json
@@ -1,12 +1,12 @@
 {
   "name": "@budibase/frontend-core",
-  "version": "1.0.130-alpha.5",
+  "version": "1.0.130-alpha.6",
   "description": "Budibase frontend core libraries used in builder and client",
   "author": "Budibase",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "dependencies": {
-    "@budibase/bbui": "^1.0.130-alpha.5",
+    "@budibase/bbui": "^1.0.130-alpha.6",
     "lodash": "^4.17.21",
     "svelte": "^3.46.2"
   }
diff --git a/packages/server/package.json b/packages/server/package.json
index 145d6b4d2d..d4b6c44685 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/server",
   "email": "hi@budibase.com",
-  "version": "1.0.130-alpha.5",
+  "version": "1.0.130-alpha.6",
   "description": "Budibase Web Server",
   "main": "src/index.ts",
   "repository": {
@@ -68,10 +68,10 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@apidevtools/swagger-parser": "^10.0.3",
-    "@budibase/backend-core": "^1.0.130-alpha.5",
-    "@budibase/client": "^1.0.130-alpha.5",
+    "@budibase/backend-core": "^1.0.130-alpha.6",
+    "@budibase/client": "^1.0.130-alpha.6",
     "@budibase/pro": "1.0.130-alpha.5",
-    "@budibase/string-templates": "^1.0.130-alpha.5",
+    "@budibase/string-templates": "^1.0.130-alpha.6",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
     "@elastic/elasticsearch": "7.10.0",
diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json
index e9e5b25fbb..9a263e0d6a 100644
--- a/packages/string-templates/package.json
+++ b/packages/string-templates/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/string-templates",
-  "version": "1.0.130-alpha.5",
+  "version": "1.0.130-alpha.6",
   "description": "Handlebars wrapper for Budibase templating.",
   "main": "src/index.cjs",
   "module": "dist/bundle.mjs",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index dd119f3b99..e746eb60b1 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/worker",
   "email": "hi@budibase.com",
-  "version": "1.0.130-alpha.5",
+  "version": "1.0.130-alpha.6",
   "description": "Budibase background service",
   "main": "src/index.ts",
   "repository": {
@@ -31,9 +31,9 @@
   "author": "Budibase",
   "license": "GPL-3.0",
   "dependencies": {
-    "@budibase/backend-core": "^1.0.130-alpha.5",
+    "@budibase/backend-core": "^1.0.130-alpha.6",
     "@budibase/pro": "1.0.130-alpha.5",
-    "@budibase/string-templates": "^1.0.130-alpha.5",
+    "@budibase/string-templates": "^1.0.130-alpha.6",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",
     "@techpass/passport-openidconnect": "^0.3.0",

From d24617f478791503edfb96ce481a21140f45964b Mon Sep 17 00:00:00 2001
From: Budibase Staging Release Bot <>
Date: Wed, 4 May 2022 12:01:12 +0000
Subject: [PATCH 079/100] Update pro version to 1.0.130-alpha.6

---
 packages/server/package.json | 2 +-
 packages/worker/package.json | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/packages/server/package.json b/packages/server/package.json
index d4b6c44685..ef02ad5600 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -70,7 +70,7 @@
     "@apidevtools/swagger-parser": "^10.0.3",
     "@budibase/backend-core": "^1.0.130-alpha.6",
     "@budibase/client": "^1.0.130-alpha.6",
-    "@budibase/pro": "1.0.130-alpha.5",
+    "@budibase/pro": "1.0.130-alpha.6",
     "@budibase/string-templates": "^1.0.130-alpha.6",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index e746eb60b1..1dfbf7b43d 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -32,7 +32,7 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@budibase/backend-core": "^1.0.130-alpha.6",
-    "@budibase/pro": "1.0.130-alpha.5",
+    "@budibase/pro": "1.0.130-alpha.6",
     "@budibase/string-templates": "^1.0.130-alpha.6",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",

From be6228df53c3af04211438a095da964a51a29169 Mon Sep 17 00:00:00 2001
From: Budibase Release Bot <>
Date: Wed, 4 May 2022 12:25:09 +0000
Subject: [PATCH 080/100] v1.0.139

---
 lerna.json                             |  2 +-
 packages/backend-core/package.json     |  2 +-
 packages/bbui/package.json             |  4 ++--
 packages/builder/package.json          | 10 +++++-----
 packages/cli/package.json              |  2 +-
 packages/client/package.json           |  8 ++++----
 packages/frontend-core/package.json    |  4 ++--
 packages/server/package.json           |  8 ++++----
 packages/string-templates/package.json |  2 +-
 packages/worker/package.json           |  6 +++---
 10 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/lerna.json b/lerna.json
index 2f7203e4cf..096cc2fe9e 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
 {
-  "version": "1.0.138",
+  "version": "1.0.139",
   "npmClient": "yarn",
   "packages": [
     "packages/*"
diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json
index 9ab70185e0..e70980bacd 100644
--- a/packages/backend-core/package.json
+++ b/packages/backend-core/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/backend-core",
-  "version": "1.0.138",
+  "version": "1.0.139",
   "description": "Budibase backend core libraries used in server and worker",
   "main": "src/index.js",
   "author": "Budibase",
diff --git a/packages/bbui/package.json b/packages/bbui/package.json
index b6283ab345..996150d32f 100644
--- a/packages/bbui/package.json
+++ b/packages/bbui/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/bbui",
   "description": "A UI solution used in the different Budibase projects.",
-  "version": "1.0.138",
+  "version": "1.0.139",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "module": "dist/bbui.es.js",
@@ -38,7 +38,7 @@
   ],
   "dependencies": {
     "@adobe/spectrum-css-workflow-icons": "^1.2.1",
-    "@budibase/string-templates": "^1.0.138",
+    "@budibase/string-templates": "^1.0.139",
     "@spectrum-css/actionbutton": "^1.0.1",
     "@spectrum-css/actiongroup": "^1.0.1",
     "@spectrum-css/avatar": "^3.0.2",
diff --git a/packages/builder/package.json b/packages/builder/package.json
index 7c28ee850b..3a9874b2c4 100644
--- a/packages/builder/package.json
+++ b/packages/builder/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/builder",
-  "version": "1.0.138",
+  "version": "1.0.139",
   "license": "GPL-3.0",
   "private": true,
   "scripts": {
@@ -67,10 +67,10 @@
     }
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.138",
-    "@budibase/client": "^1.0.138",
-    "@budibase/frontend-core": "^1.0.138",
-    "@budibase/string-templates": "^1.0.138",
+    "@budibase/bbui": "^1.0.139",
+    "@budibase/client": "^1.0.139",
+    "@budibase/frontend-core": "^1.0.139",
+    "@budibase/string-templates": "^1.0.139",
     "@sentry/browser": "5.19.1",
     "@spectrum-css/page": "^3.0.1",
     "@spectrum-css/vars": "^3.0.1",
diff --git a/packages/cli/package.json b/packages/cli/package.json
index d15a2d1b14..b697117c0c 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/cli",
-  "version": "1.0.138",
+  "version": "1.0.139",
   "description": "Budibase CLI, for developers, self hosting and migrations.",
   "main": "src/index.js",
   "bin": {
diff --git a/packages/client/package.json b/packages/client/package.json
index 128c4f66a5..69aadb6e10 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/client",
-  "version": "1.0.138",
+  "version": "1.0.139",
   "license": "MPL-2.0",
   "module": "dist/budibase-client.js",
   "main": "dist/budibase-client.js",
@@ -19,9 +19,9 @@
     "dev:builder": "rollup -cw"
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.138",
-    "@budibase/frontend-core": "^1.0.138",
-    "@budibase/string-templates": "^1.0.138",
+    "@budibase/bbui": "^1.0.139",
+    "@budibase/frontend-core": "^1.0.139",
+    "@budibase/string-templates": "^1.0.139",
     "@spectrum-css/button": "^3.0.3",
     "@spectrum-css/card": "^3.0.3",
     "@spectrum-css/divider": "^1.0.3",
diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json
index 2f54e127cb..d37723d5ba 100644
--- a/packages/frontend-core/package.json
+++ b/packages/frontend-core/package.json
@@ -1,12 +1,12 @@
 {
   "name": "@budibase/frontend-core",
-  "version": "1.0.138",
+  "version": "1.0.139",
   "description": "Budibase frontend core libraries used in builder and client",
   "author": "Budibase",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "dependencies": {
-    "@budibase/bbui": "^1.0.138",
+    "@budibase/bbui": "^1.0.139",
     "lodash": "^4.17.21",
     "svelte": "^3.46.2"
   }
diff --git a/packages/server/package.json b/packages/server/package.json
index 9307a7358d..e2ae8b4464 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/server",
   "email": "hi@budibase.com",
-  "version": "1.0.138",
+  "version": "1.0.139",
   "description": "Budibase Web Server",
   "main": "src/index.ts",
   "repository": {
@@ -68,10 +68,10 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@apidevtools/swagger-parser": "^10.0.3",
-    "@budibase/backend-core": "^1.0.138",
-    "@budibase/client": "^1.0.138",
+    "@budibase/backend-core": "^1.0.139",
+    "@budibase/client": "^1.0.139",
     "@budibase/pro": "1.0.138",
-    "@budibase/string-templates": "^1.0.138",
+    "@budibase/string-templates": "^1.0.139",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
     "@elastic/elasticsearch": "7.10.0",
diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json
index 7b6071d639..d4de4e712c 100644
--- a/packages/string-templates/package.json
+++ b/packages/string-templates/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/string-templates",
-  "version": "1.0.138",
+  "version": "1.0.139",
   "description": "Handlebars wrapper for Budibase templating.",
   "main": "src/index.cjs",
   "module": "dist/bundle.mjs",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index 03282f44c0..bd42a424e0 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/worker",
   "email": "hi@budibase.com",
-  "version": "1.0.138",
+  "version": "1.0.139",
   "description": "Budibase background service",
   "main": "src/index.ts",
   "repository": {
@@ -31,9 +31,9 @@
   "author": "Budibase",
   "license": "GPL-3.0",
   "dependencies": {
-    "@budibase/backend-core": "^1.0.138",
+    "@budibase/backend-core": "^1.0.139",
     "@budibase/pro": "1.0.138",
-    "@budibase/string-templates": "^1.0.138",
+    "@budibase/string-templates": "^1.0.139",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",
     "@techpass/passport-openidconnect": "^0.3.0",

From dea5e73317036143a930624f8a530f18f6c8ec3d Mon Sep 17 00:00:00 2001
From: Peter Clement <peter@budibase.com>
Date: Wed, 4 May 2022 13:25:46 +0100
Subject: [PATCH 081/100] account for objects in failure condition

---
 packages/server/src/threads/automation.js | 22 +++++++++++++++++++---
 1 file changed, 19 insertions(+), 3 deletions(-)

diff --git a/packages/server/src/threads/automation.js b/packages/server/src/threads/automation.js
index 63a3ea8bf3..16a230e263 100644
--- a/packages/server/src/threads/automation.js
+++ b/packages/server/src/threads/automation.js
@@ -144,6 +144,7 @@ class Orchestrator {
             (loopStep.inputs.option === "String" &&
               typeof newInput.binding !== "string")
           ) {
+            console.log("hello")
             this.updateContextAndOutput(loopStepNumber, step, tempOutput, {
               status: AutomationErrors.INCORRECT_TYPE,
               success: false,
@@ -191,7 +192,6 @@ class Orchestrator {
               }
             }
           }
-
           if (
             index === parseInt(env.AUTOMATION_MAX_ITERATIONS) ||
             index === loopStep.inputs.iterations
@@ -205,10 +205,26 @@ class Orchestrator {
             break
           }
 
+          let isFailure = false
           if (
-            this._context.steps[loopStepNumber]?.currentItem ===
-            loopStep.inputs.failure
+            typeof this._context.steps[loopStepNumber]?.currentItem === "object"
           ) {
+            isFailure = Object.keys(
+              this._context.steps[loopStepNumber].currentItem
+            ).some(value => {
+              return (
+                this._context.steps[loopStepNumber].currentItem[value] ===
+                loopStep.inputs.failure
+              )
+            })
+          } else {
+            isFailure =
+              this._context.steps[loopStepNumber]?.currentItem ===
+              loopStep.inputs.failure
+          }
+          console.log(isFailure)
+
+          if (isFailure) {
             this.updateContextAndOutput(loopStepNumber, step, tempOutput, {
               status: AutomationErrors.FAILURE_CONDITION,
               success: false,

From fd46ebeaedd94c78021b49b1e33333c9c3152502 Mon Sep 17 00:00:00 2001
From: Budibase Release Bot <>
Date: Wed, 4 May 2022 12:26:31 +0000
Subject: [PATCH 082/100] Update pro version to 1.0.139

---
 packages/server/package.json | 2 +-
 packages/worker/package.json | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/packages/server/package.json b/packages/server/package.json
index e2ae8b4464..211c956543 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -70,7 +70,7 @@
     "@apidevtools/swagger-parser": "^10.0.3",
     "@budibase/backend-core": "^1.0.139",
     "@budibase/client": "^1.0.139",
-    "@budibase/pro": "1.0.138",
+    "@budibase/pro": "1.0.139",
     "@budibase/string-templates": "^1.0.139",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index bd42a424e0..db029d8850 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -32,7 +32,7 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@budibase/backend-core": "^1.0.139",
-    "@budibase/pro": "1.0.138",
+    "@budibase/pro": "1.0.139",
     "@budibase/string-templates": "^1.0.139",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",

From a2b38adac39400929d4bea376442aeee07696e9e Mon Sep 17 00:00:00 2001
From: Peter Clement <peter@budibase.com>
Date: Wed, 4 May 2022 13:30:08 +0100
Subject: [PATCH 083/100] remove log

---
 packages/server/src/threads/automation.js | 2 --
 1 file changed, 2 deletions(-)

diff --git a/packages/server/src/threads/automation.js b/packages/server/src/threads/automation.js
index 16a230e263..98c45e4af3 100644
--- a/packages/server/src/threads/automation.js
+++ b/packages/server/src/threads/automation.js
@@ -144,7 +144,6 @@ class Orchestrator {
             (loopStep.inputs.option === "String" &&
               typeof newInput.binding !== "string")
           ) {
-            console.log("hello")
             this.updateContextAndOutput(loopStepNumber, step, tempOutput, {
               status: AutomationErrors.INCORRECT_TYPE,
               success: false,
@@ -222,7 +221,6 @@ class Orchestrator {
               this._context.steps[loopStepNumber]?.currentItem ===
               loopStep.inputs.failure
           }
-          console.log(isFailure)
 
           if (isFailure) {
             this.updateContextAndOutput(loopStepNumber, step, tempOutput, {

From d1e6e7549a053b9c325e7d5fb47738997b7f736b Mon Sep 17 00:00:00 2001
From: Mel O'Hagan <mel@budibase.com>
Date: Wed, 4 May 2022 13:33:58 +0100
Subject: [PATCH 084/100] using of

---
 packages/builder/src/components/integration/QueryViewer.svelte | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/packages/builder/src/components/integration/QueryViewer.svelte b/packages/builder/src/components/integration/QueryViewer.svelte
index 81ffa29733..49b9b38d86 100644
--- a/packages/builder/src/components/integration/QueryViewer.svelte
+++ b/packages/builder/src/components/integration/QueryViewer.svelte
@@ -48,8 +48,7 @@
   $: {
     for (let i = 0; i < data.length; i++) {
       let row = data[i]
-      for (let fieldNameIndex in Object.keys(fields)) {
-        let fieldName = Object.keys(fields)[fieldNameIndex]
+      for (let fieldName of Object.keys(fields)) {
         if (fields[fieldName] === "number" && !isNaN(Number(row[fieldName]))) {
           row[fieldName] = Number(row[fieldName])
         } else {

From 008d69ab09524ec5f92a26bf746deea495e7cf23 Mon Sep 17 00:00:00 2001
From: Budibase Release Bot <>
Date: Wed, 4 May 2022 12:40:27 +0000
Subject: [PATCH 085/100] v1.0.140

---
 lerna.json                             |  2 +-
 packages/backend-core/package.json     |  2 +-
 packages/bbui/package.json             |  4 ++--
 packages/builder/package.json          | 10 +++++-----
 packages/cli/package.json              |  2 +-
 packages/client/package.json           |  8 ++++----
 packages/frontend-core/package.json    |  4 ++--
 packages/server/package.json           |  8 ++++----
 packages/string-templates/package.json |  2 +-
 packages/worker/package.json           |  6 +++---
 10 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/lerna.json b/lerna.json
index 096cc2fe9e..a6ef43f669 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
 {
-  "version": "1.0.139",
+  "version": "1.0.140",
   "npmClient": "yarn",
   "packages": [
     "packages/*"
diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json
index e70980bacd..d2b359835e 100644
--- a/packages/backend-core/package.json
+++ b/packages/backend-core/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/backend-core",
-  "version": "1.0.139",
+  "version": "1.0.140",
   "description": "Budibase backend core libraries used in server and worker",
   "main": "src/index.js",
   "author": "Budibase",
diff --git a/packages/bbui/package.json b/packages/bbui/package.json
index 996150d32f..387ae0b7d8 100644
--- a/packages/bbui/package.json
+++ b/packages/bbui/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/bbui",
   "description": "A UI solution used in the different Budibase projects.",
-  "version": "1.0.139",
+  "version": "1.0.140",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "module": "dist/bbui.es.js",
@@ -38,7 +38,7 @@
   ],
   "dependencies": {
     "@adobe/spectrum-css-workflow-icons": "^1.2.1",
-    "@budibase/string-templates": "^1.0.139",
+    "@budibase/string-templates": "^1.0.140",
     "@spectrum-css/actionbutton": "^1.0.1",
     "@spectrum-css/actiongroup": "^1.0.1",
     "@spectrum-css/avatar": "^3.0.2",
diff --git a/packages/builder/package.json b/packages/builder/package.json
index 3a9874b2c4..eb909c72fd 100644
--- a/packages/builder/package.json
+++ b/packages/builder/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/builder",
-  "version": "1.0.139",
+  "version": "1.0.140",
   "license": "GPL-3.0",
   "private": true,
   "scripts": {
@@ -67,10 +67,10 @@
     }
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.139",
-    "@budibase/client": "^1.0.139",
-    "@budibase/frontend-core": "^1.0.139",
-    "@budibase/string-templates": "^1.0.139",
+    "@budibase/bbui": "^1.0.140",
+    "@budibase/client": "^1.0.140",
+    "@budibase/frontend-core": "^1.0.140",
+    "@budibase/string-templates": "^1.0.140",
     "@sentry/browser": "5.19.1",
     "@spectrum-css/page": "^3.0.1",
     "@spectrum-css/vars": "^3.0.1",
diff --git a/packages/cli/package.json b/packages/cli/package.json
index b697117c0c..b28a3bfb1a 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/cli",
-  "version": "1.0.139",
+  "version": "1.0.140",
   "description": "Budibase CLI, for developers, self hosting and migrations.",
   "main": "src/index.js",
   "bin": {
diff --git a/packages/client/package.json b/packages/client/package.json
index 69aadb6e10..75b4c62e8e 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/client",
-  "version": "1.0.139",
+  "version": "1.0.140",
   "license": "MPL-2.0",
   "module": "dist/budibase-client.js",
   "main": "dist/budibase-client.js",
@@ -19,9 +19,9 @@
     "dev:builder": "rollup -cw"
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.139",
-    "@budibase/frontend-core": "^1.0.139",
-    "@budibase/string-templates": "^1.0.139",
+    "@budibase/bbui": "^1.0.140",
+    "@budibase/frontend-core": "^1.0.140",
+    "@budibase/string-templates": "^1.0.140",
     "@spectrum-css/button": "^3.0.3",
     "@spectrum-css/card": "^3.0.3",
     "@spectrum-css/divider": "^1.0.3",
diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json
index d37723d5ba..33d5c974f6 100644
--- a/packages/frontend-core/package.json
+++ b/packages/frontend-core/package.json
@@ -1,12 +1,12 @@
 {
   "name": "@budibase/frontend-core",
-  "version": "1.0.139",
+  "version": "1.0.140",
   "description": "Budibase frontend core libraries used in builder and client",
   "author": "Budibase",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "dependencies": {
-    "@budibase/bbui": "^1.0.139",
+    "@budibase/bbui": "^1.0.140",
     "lodash": "^4.17.21",
     "svelte": "^3.46.2"
   }
diff --git a/packages/server/package.json b/packages/server/package.json
index 211c956543..97397c4a26 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/server",
   "email": "hi@budibase.com",
-  "version": "1.0.139",
+  "version": "1.0.140",
   "description": "Budibase Web Server",
   "main": "src/index.ts",
   "repository": {
@@ -68,10 +68,10 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@apidevtools/swagger-parser": "^10.0.3",
-    "@budibase/backend-core": "^1.0.139",
-    "@budibase/client": "^1.0.139",
+    "@budibase/backend-core": "^1.0.140",
+    "@budibase/client": "^1.0.140",
     "@budibase/pro": "1.0.139",
-    "@budibase/string-templates": "^1.0.139",
+    "@budibase/string-templates": "^1.0.140",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
     "@elastic/elasticsearch": "7.10.0",
diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json
index d4de4e712c..81d4fb96b5 100644
--- a/packages/string-templates/package.json
+++ b/packages/string-templates/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/string-templates",
-  "version": "1.0.139",
+  "version": "1.0.140",
   "description": "Handlebars wrapper for Budibase templating.",
   "main": "src/index.cjs",
   "module": "dist/bundle.mjs",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index db029d8850..d6590f4970 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/worker",
   "email": "hi@budibase.com",
-  "version": "1.0.139",
+  "version": "1.0.140",
   "description": "Budibase background service",
   "main": "src/index.ts",
   "repository": {
@@ -31,9 +31,9 @@
   "author": "Budibase",
   "license": "GPL-3.0",
   "dependencies": {
-    "@budibase/backend-core": "^1.0.139",
+    "@budibase/backend-core": "^1.0.140",
     "@budibase/pro": "1.0.139",
-    "@budibase/string-templates": "^1.0.139",
+    "@budibase/string-templates": "^1.0.140",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",
     "@techpass/passport-openidconnect": "^0.3.0",

From 3073bb973a3cb2638b523f674ccf5ba6b2e90067 Mon Sep 17 00:00:00 2001
From: Budibase Release Bot <>
Date: Wed, 4 May 2022 12:41:57 +0000
Subject: [PATCH 086/100] Update pro version to 1.0.140

---
 packages/server/package.json | 2 +-
 packages/worker/package.json | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/packages/server/package.json b/packages/server/package.json
index 97397c4a26..97c745b8ba 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -70,7 +70,7 @@
     "@apidevtools/swagger-parser": "^10.0.3",
     "@budibase/backend-core": "^1.0.140",
     "@budibase/client": "^1.0.140",
-    "@budibase/pro": "1.0.139",
+    "@budibase/pro": "1.0.140",
     "@budibase/string-templates": "^1.0.140",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index d6590f4970..873ddb0786 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -32,7 +32,7 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@budibase/backend-core": "^1.0.140",
-    "@budibase/pro": "1.0.139",
+    "@budibase/pro": "1.0.140",
     "@budibase/string-templates": "^1.0.140",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",

From eaa0b8e903488618bd33ce42ef5df5bbb933d24c Mon Sep 17 00:00:00 2001
From: Budibase Release Bot <>
Date: Wed, 4 May 2022 13:14:06 +0000
Subject: [PATCH 087/100] v1.0.141

---
 lerna.json                             |  2 +-
 packages/backend-core/package.json     |  2 +-
 packages/bbui/package.json             |  4 ++--
 packages/builder/package.json          | 10 +++++-----
 packages/cli/package.json              |  2 +-
 packages/client/package.json           |  8 ++++----
 packages/frontend-core/package.json    |  4 ++--
 packages/server/package.json           |  8 ++++----
 packages/string-templates/package.json |  2 +-
 packages/worker/package.json           |  6 +++---
 10 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/lerna.json b/lerna.json
index a6ef43f669..8f5e7c824b 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
 {
-  "version": "1.0.140",
+  "version": "1.0.141",
   "npmClient": "yarn",
   "packages": [
     "packages/*"
diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json
index d2b359835e..e1e232cf2f 100644
--- a/packages/backend-core/package.json
+++ b/packages/backend-core/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/backend-core",
-  "version": "1.0.140",
+  "version": "1.0.141",
   "description": "Budibase backend core libraries used in server and worker",
   "main": "src/index.js",
   "author": "Budibase",
diff --git a/packages/bbui/package.json b/packages/bbui/package.json
index 387ae0b7d8..0f7b89d183 100644
--- a/packages/bbui/package.json
+++ b/packages/bbui/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/bbui",
   "description": "A UI solution used in the different Budibase projects.",
-  "version": "1.0.140",
+  "version": "1.0.141",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "module": "dist/bbui.es.js",
@@ -38,7 +38,7 @@
   ],
   "dependencies": {
     "@adobe/spectrum-css-workflow-icons": "^1.2.1",
-    "@budibase/string-templates": "^1.0.140",
+    "@budibase/string-templates": "^1.0.141",
     "@spectrum-css/actionbutton": "^1.0.1",
     "@spectrum-css/actiongroup": "^1.0.1",
     "@spectrum-css/avatar": "^3.0.2",
diff --git a/packages/builder/package.json b/packages/builder/package.json
index eb909c72fd..99bc6a11cf 100644
--- a/packages/builder/package.json
+++ b/packages/builder/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/builder",
-  "version": "1.0.140",
+  "version": "1.0.141",
   "license": "GPL-3.0",
   "private": true,
   "scripts": {
@@ -67,10 +67,10 @@
     }
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.140",
-    "@budibase/client": "^1.0.140",
-    "@budibase/frontend-core": "^1.0.140",
-    "@budibase/string-templates": "^1.0.140",
+    "@budibase/bbui": "^1.0.141",
+    "@budibase/client": "^1.0.141",
+    "@budibase/frontend-core": "^1.0.141",
+    "@budibase/string-templates": "^1.0.141",
     "@sentry/browser": "5.19.1",
     "@spectrum-css/page": "^3.0.1",
     "@spectrum-css/vars": "^3.0.1",
diff --git a/packages/cli/package.json b/packages/cli/package.json
index b28a3bfb1a..84aa73d183 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/cli",
-  "version": "1.0.140",
+  "version": "1.0.141",
   "description": "Budibase CLI, for developers, self hosting and migrations.",
   "main": "src/index.js",
   "bin": {
diff --git a/packages/client/package.json b/packages/client/package.json
index 75b4c62e8e..50b657e80e 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/client",
-  "version": "1.0.140",
+  "version": "1.0.141",
   "license": "MPL-2.0",
   "module": "dist/budibase-client.js",
   "main": "dist/budibase-client.js",
@@ -19,9 +19,9 @@
     "dev:builder": "rollup -cw"
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.140",
-    "@budibase/frontend-core": "^1.0.140",
-    "@budibase/string-templates": "^1.0.140",
+    "@budibase/bbui": "^1.0.141",
+    "@budibase/frontend-core": "^1.0.141",
+    "@budibase/string-templates": "^1.0.141",
     "@spectrum-css/button": "^3.0.3",
     "@spectrum-css/card": "^3.0.3",
     "@spectrum-css/divider": "^1.0.3",
diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json
index 33d5c974f6..a9ac402af0 100644
--- a/packages/frontend-core/package.json
+++ b/packages/frontend-core/package.json
@@ -1,12 +1,12 @@
 {
   "name": "@budibase/frontend-core",
-  "version": "1.0.140",
+  "version": "1.0.141",
   "description": "Budibase frontend core libraries used in builder and client",
   "author": "Budibase",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "dependencies": {
-    "@budibase/bbui": "^1.0.140",
+    "@budibase/bbui": "^1.0.141",
     "lodash": "^4.17.21",
     "svelte": "^3.46.2"
   }
diff --git a/packages/server/package.json b/packages/server/package.json
index 97c745b8ba..ee7927efe3 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/server",
   "email": "hi@budibase.com",
-  "version": "1.0.140",
+  "version": "1.0.141",
   "description": "Budibase Web Server",
   "main": "src/index.ts",
   "repository": {
@@ -68,10 +68,10 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@apidevtools/swagger-parser": "^10.0.3",
-    "@budibase/backend-core": "^1.0.140",
-    "@budibase/client": "^1.0.140",
+    "@budibase/backend-core": "^1.0.141",
+    "@budibase/client": "^1.0.141",
     "@budibase/pro": "1.0.140",
-    "@budibase/string-templates": "^1.0.140",
+    "@budibase/string-templates": "^1.0.141",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
     "@elastic/elasticsearch": "7.10.0",
diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json
index 81d4fb96b5..0415bf5bdd 100644
--- a/packages/string-templates/package.json
+++ b/packages/string-templates/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/string-templates",
-  "version": "1.0.140",
+  "version": "1.0.141",
   "description": "Handlebars wrapper for Budibase templating.",
   "main": "src/index.cjs",
   "module": "dist/bundle.mjs",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index 873ddb0786..4938a9a6a1 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/worker",
   "email": "hi@budibase.com",
-  "version": "1.0.140",
+  "version": "1.0.141",
   "description": "Budibase background service",
   "main": "src/index.ts",
   "repository": {
@@ -31,9 +31,9 @@
   "author": "Budibase",
   "license": "GPL-3.0",
   "dependencies": {
-    "@budibase/backend-core": "^1.0.140",
+    "@budibase/backend-core": "^1.0.141",
     "@budibase/pro": "1.0.140",
-    "@budibase/string-templates": "^1.0.140",
+    "@budibase/string-templates": "^1.0.141",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",
     "@techpass/passport-openidconnect": "^0.3.0",

From 1cc60bd404ecd4f095388eeae54437c76071a844 Mon Sep 17 00:00:00 2001
From: Budibase Release Bot <>
Date: Wed, 4 May 2022 13:15:23 +0000
Subject: [PATCH 088/100] Update pro version to 1.0.141

---
 packages/server/package.json | 2 +-
 packages/worker/package.json | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/packages/server/package.json b/packages/server/package.json
index ee7927efe3..df5c5c6626 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -70,7 +70,7 @@
     "@apidevtools/swagger-parser": "^10.0.3",
     "@budibase/backend-core": "^1.0.141",
     "@budibase/client": "^1.0.141",
-    "@budibase/pro": "1.0.140",
+    "@budibase/pro": "1.0.141",
     "@budibase/string-templates": "^1.0.141",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index 4938a9a6a1..bbba698248 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -32,7 +32,7 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@budibase/backend-core": "^1.0.141",
-    "@budibase/pro": "1.0.140",
+    "@budibase/pro": "1.0.141",
     "@budibase/string-templates": "^1.0.141",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",

From f1aec5256b4c664a1faa6699806dc7d22401cde4 Mon Sep 17 00:00:00 2001
From: Budibase Staging Release Bot <>
Date: Wed, 4 May 2022 13:16:44 +0000
Subject: [PATCH 089/100] v1.0.130-alpha.7

---
 lerna.json                             |  2 +-
 packages/backend-core/package.json     |  2 +-
 packages/bbui/package.json             |  4 ++--
 packages/builder/package.json          | 10 +++++-----
 packages/cli/package.json              |  2 +-
 packages/client/package.json           |  8 ++++----
 packages/frontend-core/package.json    |  4 ++--
 packages/server/package.json           |  8 ++++----
 packages/string-templates/package.json |  2 +-
 packages/worker/package.json           |  6 +++---
 10 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/lerna.json b/lerna.json
index fc5a317263..330bfb13c0 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
 {
-  "version": "1.0.130-alpha.6",
+  "version": "1.0.130-alpha.7",
   "npmClient": "yarn",
   "packages": [
     "packages/*"
diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json
index fd77e41f91..6f669493a3 100644
--- a/packages/backend-core/package.json
+++ b/packages/backend-core/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/backend-core",
-  "version": "1.0.130-alpha.6",
+  "version": "1.0.130-alpha.7",
   "description": "Budibase backend core libraries used in server and worker",
   "main": "src/index.js",
   "author": "Budibase",
diff --git a/packages/bbui/package.json b/packages/bbui/package.json
index c41e3e477d..3ea5af1169 100644
--- a/packages/bbui/package.json
+++ b/packages/bbui/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/bbui",
   "description": "A UI solution used in the different Budibase projects.",
-  "version": "1.0.130-alpha.6",
+  "version": "1.0.130-alpha.7",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "module": "dist/bbui.es.js",
@@ -38,7 +38,7 @@
   ],
   "dependencies": {
     "@adobe/spectrum-css-workflow-icons": "^1.2.1",
-    "@budibase/string-templates": "^1.0.130-alpha.6",
+    "@budibase/string-templates": "^1.0.130-alpha.7",
     "@spectrum-css/actionbutton": "^1.0.1",
     "@spectrum-css/actiongroup": "^1.0.1",
     "@spectrum-css/avatar": "^3.0.2",
diff --git a/packages/builder/package.json b/packages/builder/package.json
index 9986ba8e00..99f3314a98 100644
--- a/packages/builder/package.json
+++ b/packages/builder/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/builder",
-  "version": "1.0.130-alpha.6",
+  "version": "1.0.130-alpha.7",
   "license": "GPL-3.0",
   "private": true,
   "scripts": {
@@ -65,10 +65,10 @@
     }
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.130-alpha.6",
-    "@budibase/client": "^1.0.130-alpha.6",
-    "@budibase/frontend-core": "^1.0.130-alpha.6",
-    "@budibase/string-templates": "^1.0.130-alpha.6",
+    "@budibase/bbui": "^1.0.130-alpha.7",
+    "@budibase/client": "^1.0.130-alpha.7",
+    "@budibase/frontend-core": "^1.0.130-alpha.7",
+    "@budibase/string-templates": "^1.0.130-alpha.7",
     "@sentry/browser": "5.19.1",
     "@spectrum-css/page": "^3.0.1",
     "@spectrum-css/vars": "^3.0.1",
diff --git a/packages/cli/package.json b/packages/cli/package.json
index 3ef8b0ab9f..6a62a5f03a 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/cli",
-  "version": "1.0.130-alpha.6",
+  "version": "1.0.130-alpha.7",
   "description": "Budibase CLI, for developers, self hosting and migrations.",
   "main": "src/index.js",
   "bin": {
diff --git a/packages/client/package.json b/packages/client/package.json
index bc86e4d549..c287568a9f 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/client",
-  "version": "1.0.130-alpha.6",
+  "version": "1.0.130-alpha.7",
   "license": "MPL-2.0",
   "module": "dist/budibase-client.js",
   "main": "dist/budibase-client.js",
@@ -19,9 +19,9 @@
     "dev:builder": "rollup -cw"
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.130-alpha.6",
-    "@budibase/frontend-core": "^1.0.130-alpha.6",
-    "@budibase/string-templates": "^1.0.130-alpha.6",
+    "@budibase/bbui": "^1.0.130-alpha.7",
+    "@budibase/frontend-core": "^1.0.130-alpha.7",
+    "@budibase/string-templates": "^1.0.130-alpha.7",
     "@spectrum-css/button": "^3.0.3",
     "@spectrum-css/card": "^3.0.3",
     "@spectrum-css/divider": "^1.0.3",
diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json
index 55665a9804..91bac13fbc 100644
--- a/packages/frontend-core/package.json
+++ b/packages/frontend-core/package.json
@@ -1,12 +1,12 @@
 {
   "name": "@budibase/frontend-core",
-  "version": "1.0.130-alpha.6",
+  "version": "1.0.130-alpha.7",
   "description": "Budibase frontend core libraries used in builder and client",
   "author": "Budibase",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "dependencies": {
-    "@budibase/bbui": "^1.0.130-alpha.6",
+    "@budibase/bbui": "^1.0.130-alpha.7",
     "lodash": "^4.17.21",
     "svelte": "^3.46.2"
   }
diff --git a/packages/server/package.json b/packages/server/package.json
index ef02ad5600..9295b05800 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/server",
   "email": "hi@budibase.com",
-  "version": "1.0.130-alpha.6",
+  "version": "1.0.130-alpha.7",
   "description": "Budibase Web Server",
   "main": "src/index.ts",
   "repository": {
@@ -68,10 +68,10 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@apidevtools/swagger-parser": "^10.0.3",
-    "@budibase/backend-core": "^1.0.130-alpha.6",
-    "@budibase/client": "^1.0.130-alpha.6",
+    "@budibase/backend-core": "^1.0.130-alpha.7",
+    "@budibase/client": "^1.0.130-alpha.7",
     "@budibase/pro": "1.0.130-alpha.6",
-    "@budibase/string-templates": "^1.0.130-alpha.6",
+    "@budibase/string-templates": "^1.0.130-alpha.7",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
     "@elastic/elasticsearch": "7.10.0",
diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json
index 9a263e0d6a..9c2d57baf6 100644
--- a/packages/string-templates/package.json
+++ b/packages/string-templates/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/string-templates",
-  "version": "1.0.130-alpha.6",
+  "version": "1.0.130-alpha.7",
   "description": "Handlebars wrapper for Budibase templating.",
   "main": "src/index.cjs",
   "module": "dist/bundle.mjs",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index 1dfbf7b43d..526b0a7291 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/worker",
   "email": "hi@budibase.com",
-  "version": "1.0.130-alpha.6",
+  "version": "1.0.130-alpha.7",
   "description": "Budibase background service",
   "main": "src/index.ts",
   "repository": {
@@ -31,9 +31,9 @@
   "author": "Budibase",
   "license": "GPL-3.0",
   "dependencies": {
-    "@budibase/backend-core": "^1.0.130-alpha.6",
+    "@budibase/backend-core": "^1.0.130-alpha.7",
     "@budibase/pro": "1.0.130-alpha.6",
-    "@budibase/string-templates": "^1.0.130-alpha.6",
+    "@budibase/string-templates": "^1.0.130-alpha.7",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",
     "@techpass/passport-openidconnect": "^0.3.0",

From 1949c558e9975c43f72b566e3bf92823a5827df4 Mon Sep 17 00:00:00 2001
From: Budibase Staging Release Bot <>
Date: Wed, 4 May 2022 13:18:07 +0000
Subject: [PATCH 090/100] Update pro version to 1.0.130-alpha.7

---
 packages/server/package.json | 2 +-
 packages/worker/package.json | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/packages/server/package.json b/packages/server/package.json
index 9295b05800..8fd59cbade 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -70,7 +70,7 @@
     "@apidevtools/swagger-parser": "^10.0.3",
     "@budibase/backend-core": "^1.0.130-alpha.7",
     "@budibase/client": "^1.0.130-alpha.7",
-    "@budibase/pro": "1.0.130-alpha.6",
+    "@budibase/pro": "1.0.130-alpha.7",
     "@budibase/string-templates": "^1.0.130-alpha.7",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index 526b0a7291..2aef2c4827 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -32,7 +32,7 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@budibase/backend-core": "^1.0.130-alpha.7",
-    "@budibase/pro": "1.0.130-alpha.6",
+    "@budibase/pro": "1.0.130-alpha.7",
     "@budibase/string-templates": "^1.0.130-alpha.7",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",

From 9909776881cb5220782f5b7c1b9badc1b93d895d Mon Sep 17 00:00:00 2001
From: Budibase Staging Release Bot <>
Date: Wed, 4 May 2022 14:25:01 +0000
Subject: [PATCH 091/100] v1.0.142-alpha.0

---
 lerna.json                             |  2 +-
 packages/backend-core/package.json     |  2 +-
 packages/bbui/package.json             |  4 ++--
 packages/builder/package.json          | 10 +++++-----
 packages/cli/package.json              |  2 +-
 packages/client/package.json           |  8 ++++----
 packages/frontend-core/package.json    |  4 ++--
 packages/server/package.json           |  8 ++++----
 packages/string-templates/package.json |  2 +-
 packages/worker/package.json           |  6 +++---
 10 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/lerna.json b/lerna.json
index 8f5e7c824b..7967bee671 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
 {
-  "version": "1.0.141",
+  "version": "1.0.142-alpha.0",
   "npmClient": "yarn",
   "packages": [
     "packages/*"
diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json
index e1e232cf2f..9066bdf57e 100644
--- a/packages/backend-core/package.json
+++ b/packages/backend-core/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/backend-core",
-  "version": "1.0.141",
+  "version": "1.0.142-alpha.0",
   "description": "Budibase backend core libraries used in server and worker",
   "main": "src/index.js",
   "author": "Budibase",
diff --git a/packages/bbui/package.json b/packages/bbui/package.json
index 0f7b89d183..83d4b9d48c 100644
--- a/packages/bbui/package.json
+++ b/packages/bbui/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/bbui",
   "description": "A UI solution used in the different Budibase projects.",
-  "version": "1.0.141",
+  "version": "1.0.142-alpha.0",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "module": "dist/bbui.es.js",
@@ -38,7 +38,7 @@
   ],
   "dependencies": {
     "@adobe/spectrum-css-workflow-icons": "^1.2.1",
-    "@budibase/string-templates": "^1.0.141",
+    "@budibase/string-templates": "^1.0.142-alpha.0",
     "@spectrum-css/actionbutton": "^1.0.1",
     "@spectrum-css/actiongroup": "^1.0.1",
     "@spectrum-css/avatar": "^3.0.2",
diff --git a/packages/builder/package.json b/packages/builder/package.json
index 99bc6a11cf..9891ae4dac 100644
--- a/packages/builder/package.json
+++ b/packages/builder/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/builder",
-  "version": "1.0.141",
+  "version": "1.0.142-alpha.0",
   "license": "GPL-3.0",
   "private": true,
   "scripts": {
@@ -67,10 +67,10 @@
     }
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.141",
-    "@budibase/client": "^1.0.141",
-    "@budibase/frontend-core": "^1.0.141",
-    "@budibase/string-templates": "^1.0.141",
+    "@budibase/bbui": "^1.0.142-alpha.0",
+    "@budibase/client": "^1.0.142-alpha.0",
+    "@budibase/frontend-core": "^1.0.142-alpha.0",
+    "@budibase/string-templates": "^1.0.142-alpha.0",
     "@sentry/browser": "5.19.1",
     "@spectrum-css/page": "^3.0.1",
     "@spectrum-css/vars": "^3.0.1",
diff --git a/packages/cli/package.json b/packages/cli/package.json
index 84aa73d183..e032d3fe8f 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/cli",
-  "version": "1.0.141",
+  "version": "1.0.142-alpha.0",
   "description": "Budibase CLI, for developers, self hosting and migrations.",
   "main": "src/index.js",
   "bin": {
diff --git a/packages/client/package.json b/packages/client/package.json
index 50b657e80e..49a31e57a1 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/client",
-  "version": "1.0.141",
+  "version": "1.0.142-alpha.0",
   "license": "MPL-2.0",
   "module": "dist/budibase-client.js",
   "main": "dist/budibase-client.js",
@@ -19,9 +19,9 @@
     "dev:builder": "rollup -cw"
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.141",
-    "@budibase/frontend-core": "^1.0.141",
-    "@budibase/string-templates": "^1.0.141",
+    "@budibase/bbui": "^1.0.142-alpha.0",
+    "@budibase/frontend-core": "^1.0.142-alpha.0",
+    "@budibase/string-templates": "^1.0.142-alpha.0",
     "@spectrum-css/button": "^3.0.3",
     "@spectrum-css/card": "^3.0.3",
     "@spectrum-css/divider": "^1.0.3",
diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json
index a9ac402af0..432a684c7d 100644
--- a/packages/frontend-core/package.json
+++ b/packages/frontend-core/package.json
@@ -1,12 +1,12 @@
 {
   "name": "@budibase/frontend-core",
-  "version": "1.0.141",
+  "version": "1.0.142-alpha.0",
   "description": "Budibase frontend core libraries used in builder and client",
   "author": "Budibase",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "dependencies": {
-    "@budibase/bbui": "^1.0.141",
+    "@budibase/bbui": "^1.0.142-alpha.0",
     "lodash": "^4.17.21",
     "svelte": "^3.46.2"
   }
diff --git a/packages/server/package.json b/packages/server/package.json
index df5c5c6626..1ecb99d966 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/server",
   "email": "hi@budibase.com",
-  "version": "1.0.141",
+  "version": "1.0.142-alpha.0",
   "description": "Budibase Web Server",
   "main": "src/index.ts",
   "repository": {
@@ -68,10 +68,10 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@apidevtools/swagger-parser": "^10.0.3",
-    "@budibase/backend-core": "^1.0.141",
-    "@budibase/client": "^1.0.141",
+    "@budibase/backend-core": "^1.0.142-alpha.0",
+    "@budibase/client": "^1.0.142-alpha.0",
     "@budibase/pro": "1.0.141",
-    "@budibase/string-templates": "^1.0.141",
+    "@budibase/string-templates": "^1.0.142-alpha.0",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
     "@elastic/elasticsearch": "7.10.0",
diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json
index 0415bf5bdd..4c95141346 100644
--- a/packages/string-templates/package.json
+++ b/packages/string-templates/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/string-templates",
-  "version": "1.0.141",
+  "version": "1.0.142-alpha.0",
   "description": "Handlebars wrapper for Budibase templating.",
   "main": "src/index.cjs",
   "module": "dist/bundle.mjs",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index bbba698248..91d4cffc7f 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/worker",
   "email": "hi@budibase.com",
-  "version": "1.0.141",
+  "version": "1.0.142-alpha.0",
   "description": "Budibase background service",
   "main": "src/index.ts",
   "repository": {
@@ -31,9 +31,9 @@
   "author": "Budibase",
   "license": "GPL-3.0",
   "dependencies": {
-    "@budibase/backend-core": "^1.0.141",
+    "@budibase/backend-core": "^1.0.142-alpha.0",
     "@budibase/pro": "1.0.141",
-    "@budibase/string-templates": "^1.0.141",
+    "@budibase/string-templates": "^1.0.142-alpha.0",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",
     "@techpass/passport-openidconnect": "^0.3.0",

From 11b8d2a8e8df3ab111711c1f827a15fecf662de9 Mon Sep 17 00:00:00 2001
From: Budibase Staging Release Bot <>
Date: Wed, 4 May 2022 14:26:33 +0000
Subject: [PATCH 092/100] Update pro version to 1.0.142-alpha.0

---
 packages/server/package.json | 2 +-
 packages/worker/package.json | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/packages/server/package.json b/packages/server/package.json
index 1ecb99d966..a1f06e6a99 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -70,7 +70,7 @@
     "@apidevtools/swagger-parser": "^10.0.3",
     "@budibase/backend-core": "^1.0.142-alpha.0",
     "@budibase/client": "^1.0.142-alpha.0",
-    "@budibase/pro": "1.0.141",
+    "@budibase/pro": "1.0.142-alpha.0",
     "@budibase/string-templates": "^1.0.142-alpha.0",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index 91d4cffc7f..b7eb8209c5 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -32,7 +32,7 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@budibase/backend-core": "^1.0.142-alpha.0",
-    "@budibase/pro": "1.0.141",
+    "@budibase/pro": "1.0.142-alpha.0",
     "@budibase/string-templates": "^1.0.142-alpha.0",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",

From cafd2504e6ac863d2d5e53f2cd5b601a03681fe9 Mon Sep 17 00:00:00 2001
From: Mitch-Budibase <mitch@budibase.com>
Date: Wed, 4 May 2022 17:06:27 +0100
Subject: [PATCH 093/100] Job Application Template Test

jobApplicationTracker.spec.js
- New file and test
- Creates and publishes Job Application Tracker app. Also verifies View URL button works

commands.js
- Updated deleteApp function
---
 .../HR/jobApplicationTracker.spec.js          | 61 +++++++++++++++++++
 packages/builder/cypress/support/commands.js  | 16 ++---
 2 files changed, 70 insertions(+), 7 deletions(-)
 create mode 100644 packages/builder/cypress/integration/templates/HR/jobApplicationTracker.spec.js

diff --git a/packages/builder/cypress/integration/templates/HR/jobApplicationTracker.spec.js b/packages/builder/cypress/integration/templates/HR/jobApplicationTracker.spec.js
new file mode 100644
index 0000000000..091cf1253e
--- /dev/null
+++ b/packages/builder/cypress/integration/templates/HR/jobApplicationTracker.spec.js
@@ -0,0 +1,61 @@
+import filterTests from "../../../support/filterTests"
+
+filterTests(["all"], () => {
+  context("Job Application Functionality", () => {
+    const templateName = "Job Application Tracker"
+    const templateNameParsed = templateName.toLowerCase().replace(/\s+/g, '-')
+    
+    before(() => {
+        cy.login()
+        cy.deleteApp(templateName)
+        cy.visit(`${Cypress.config().baseUrl}/builder`, {
+            onBeforeLoad(win) {
+                cy.stub(win, 'open')
+            }
+        })
+        cy.wait(2000)
+
+        // Template navigation
+        cy.request(`${Cypress.config().baseUrl}/api/applications?status=all`)
+        .its("body")
+        .then(val => {
+            if (val.length > 0) {
+            cy.get(".spectrum-Button").contains("Templates").click({force: true})
+            }
+        })
+        })
+
+    it("should create and publish app with Job Application Tracker template", () => {
+        // Select Job Application Tracker template
+        cy.get(".template-thumbnail-text")
+            .contains(templateName).parentsUntil(".template-grid").within(() => {
+                cy.get(".spectrum-Button").contains("Use template").click({ force: true })
+            })
+
+        // Confirm URL matches template name
+        const appUrl = cy.get(".app-server")
+        appUrl.invoke('text').then(appUrlText => {
+            expect(appUrlText).to.equal(`${Cypress.config().baseUrl}/app/` + templateNameParsed)
+        })
+
+        // Create App
+        cy.get(".spectrum-Dialog-grid").within(() => {
+            cy.get(".spectrum-Button").contains("Create app").click({ force: true })
+        })
+
+        // Publish App
+        cy.wait(2000) // Wait for app to generate
+        cy.get(".toprightnav").contains("Publish").click({ force: true })
+        cy.get(".spectrum-Dialog-grid").within(() => {
+            cy.get(".spectrum-Button").contains("Publish").click({ force: true })
+        })
+
+        // Verify Published app
+        cy.wait(2000) // Wait for App to publish and modal to appear
+        cy.get(".spectrum-Dialog-grid").within(() => {
+            cy.get(".spectrum-Button").contains("View App").click({ force: true })
+            cy.window().its('open').should('be.calledOnce')
+        })
+    })
+    })
+})
diff --git a/packages/builder/cypress/support/commands.js b/packages/builder/cypress/support/commands.js
index 969486364a..4595bb73a3 100644
--- a/packages/builder/cypress/support/commands.js
+++ b/packages/builder/cypress/support/commands.js
@@ -94,19 +94,21 @@ Cypress.Commands.add("deleteApp", name => {
           cy.get(actionEleId).within(() => {
             cy.get(".spectrum-Icon").eq(0).click()
           })
-
           cy.get(".spectrum-Menu").then($menu => {
             if ($menu.text().includes("Unpublish")) {
               cy.get(".spectrum-Menu").contains("Unpublish").click()
               cy.get(".spectrum-Dialog-grid").contains("Unpublish app").click()
-            } else {
-              cy.get(".spectrum-Menu").contains("Delete").click()
-              cy.get(".spectrum-Dialog-grid").within(() => {
-                cy.get("input").type(name)
-              })
-              cy.get(".spectrum-Button--warning").click()
             }
           })
+
+          cy.get(actionEleId).within(() => {
+            cy.get(".spectrum-Icon").eq(0).click()
+          })
+          cy.get(".spectrum-Menu").contains("Delete").click()
+          cy.get(".spectrum-Dialog-grid").within(() => {
+            cy.get("input").type(name)
+          })
+          cy.get(".spectrum-Button--warning").click()
         } else {
           return
         }

From 5c04f1b31f48cb8b4719e571d968ff6af58a166b Mon Sep 17 00:00:00 2001
From: Mitch-Budibase <mitch@budibase.com>
Date: Wed, 4 May 2022 17:30:38 +0100
Subject: [PATCH 094/100] Fix PostgreSQL Smoke Build Test

Specifically with the duplicate query test
- Looks for spectrum-icon instead of icon
---
 .../builder/cypress/integration/datasources/postgreSql.spec.js  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/packages/builder/cypress/integration/datasources/postgreSql.spec.js b/packages/builder/cypress/integration/datasources/postgreSql.spec.js
index c7413bb7d1..20455a36ea 100644
--- a/packages/builder/cypress/integration/datasources/postgreSql.spec.js
+++ b/packages/builder/cypress/integration/datasources/postgreSql.spec.js
@@ -207,7 +207,7 @@ filterTests(["all"], () => {
           .contains(queryName)
           .siblings(".actions")
           .within(() => {
-            cy.get(".icon").click({ force: true })
+            cy.get(".spectrum-Icon").click({ force: true })
           })
         // Select and confirm duplication
         cy.get(".spectrum-Menu").contains("Duplicate").click()

From 81b6d4c03db882bff975e2278c5831eb9e1fba55 Mon Sep 17 00:00:00 2001
From: Martin McKeaveney <martinmckeaveney@gmail.com>
Date: Wed, 4 May 2022 17:45:46 +0100
Subject: [PATCH 095/100] make secretkey refs conditional

---
 charts/budibase/templates/app-service-deployment.yaml    | 2 ++
 charts/budibase/templates/worker-service-deployment.yaml | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/charts/budibase/templates/app-service-deployment.yaml b/charts/budibase/templates/app-service-deployment.yaml
index 8763274c50..3bbe718d73 100644
--- a/charts/budibase/templates/app-service-deployment.yaml
+++ b/charts/budibase/templates/app-service-deployment.yaml
@@ -34,6 +34,7 @@ spec:
           {{ else }}
           value: http://{{ .Release.Name }}-svc-couchdb:{{ .Values.services.couchdb.port }}
           {{ end }}
+        {{ if .Values.services.couchdb.enabled }}
         - name: COUCH_DB_USER
           valueFrom:
             secretKeyRef:
@@ -44,6 +45,7 @@ spec:
             secretKeyRef:
               name: {{ template "couchdb.fullname" . }}
               key: adminPassword
+        {{ end }}
         - name: ENABLE_ANALYTICS
           value: {{ .Values.globals.enableAnalytics | quote }}
         - name: INTERNAL_API_KEY
diff --git a/charts/budibase/templates/worker-service-deployment.yaml b/charts/budibase/templates/worker-service-deployment.yaml
index c2180aca2b..15ff05e214 100644
--- a/charts/budibase/templates/worker-service-deployment.yaml
+++ b/charts/budibase/templates/worker-service-deployment.yaml
@@ -29,6 +29,7 @@ spec:
       - env:
         - name: CLUSTER_PORT
           value: {{ .Values.services.worker.port | quote }}
+        {{ if .Values.services.couchdb.enabled }}
         - name: COUCH_DB_USER
           valueFrom:
             secretKeyRef:
@@ -39,6 +40,7 @@ spec:
             secretKeyRef:
               name: {{ template "couchdb.fullname" . }}
               key: adminPassword
+        {{ end }}
         - name: COUCH_DB_URL
           {{ if .Values.services.couchdb.url }}
           value: {{ .Values.services.couchdb.url }}

From 6204109df3faf85cacde87c3d5772494a3f24e93 Mon Sep 17 00:00:00 2001
From: Budibase Release Bot <>
Date: Wed, 4 May 2022 16:58:22 +0000
Subject: [PATCH 096/100] v1.0.142

---
 lerna.json                             |  2 +-
 packages/backend-core/package.json     |  2 +-
 packages/bbui/package.json             |  4 ++--
 packages/builder/package.json          | 10 +++++-----
 packages/cli/package.json              |  2 +-
 packages/client/package.json           |  8 ++++----
 packages/frontend-core/package.json    |  4 ++--
 packages/server/package.json           |  8 ++++----
 packages/string-templates/package.json |  2 +-
 packages/worker/package.json           |  6 +++---
 10 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/lerna.json b/lerna.json
index 8f5e7c824b..708450c773 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
 {
-  "version": "1.0.141",
+  "version": "1.0.142",
   "npmClient": "yarn",
   "packages": [
     "packages/*"
diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json
index e1e232cf2f..d13cb2f50b 100644
--- a/packages/backend-core/package.json
+++ b/packages/backend-core/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/backend-core",
-  "version": "1.0.141",
+  "version": "1.0.142",
   "description": "Budibase backend core libraries used in server and worker",
   "main": "src/index.js",
   "author": "Budibase",
diff --git a/packages/bbui/package.json b/packages/bbui/package.json
index 0f7b89d183..6dfaaf6975 100644
--- a/packages/bbui/package.json
+++ b/packages/bbui/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/bbui",
   "description": "A UI solution used in the different Budibase projects.",
-  "version": "1.0.141",
+  "version": "1.0.142",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "module": "dist/bbui.es.js",
@@ -38,7 +38,7 @@
   ],
   "dependencies": {
     "@adobe/spectrum-css-workflow-icons": "^1.2.1",
-    "@budibase/string-templates": "^1.0.141",
+    "@budibase/string-templates": "^1.0.142",
     "@spectrum-css/actionbutton": "^1.0.1",
     "@spectrum-css/actiongroup": "^1.0.1",
     "@spectrum-css/avatar": "^3.0.2",
diff --git a/packages/builder/package.json b/packages/builder/package.json
index 99bc6a11cf..32e1d978dd 100644
--- a/packages/builder/package.json
+++ b/packages/builder/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/builder",
-  "version": "1.0.141",
+  "version": "1.0.142",
   "license": "GPL-3.0",
   "private": true,
   "scripts": {
@@ -67,10 +67,10 @@
     }
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.141",
-    "@budibase/client": "^1.0.141",
-    "@budibase/frontend-core": "^1.0.141",
-    "@budibase/string-templates": "^1.0.141",
+    "@budibase/bbui": "^1.0.142",
+    "@budibase/client": "^1.0.142",
+    "@budibase/frontend-core": "^1.0.142",
+    "@budibase/string-templates": "^1.0.142",
     "@sentry/browser": "5.19.1",
     "@spectrum-css/page": "^3.0.1",
     "@spectrum-css/vars": "^3.0.1",
diff --git a/packages/cli/package.json b/packages/cli/package.json
index 84aa73d183..2d9fbadcd7 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/cli",
-  "version": "1.0.141",
+  "version": "1.0.142",
   "description": "Budibase CLI, for developers, self hosting and migrations.",
   "main": "src/index.js",
   "bin": {
diff --git a/packages/client/package.json b/packages/client/package.json
index 50b657e80e..ee8dfa93e2 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/client",
-  "version": "1.0.141",
+  "version": "1.0.142",
   "license": "MPL-2.0",
   "module": "dist/budibase-client.js",
   "main": "dist/budibase-client.js",
@@ -19,9 +19,9 @@
     "dev:builder": "rollup -cw"
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.141",
-    "@budibase/frontend-core": "^1.0.141",
-    "@budibase/string-templates": "^1.0.141",
+    "@budibase/bbui": "^1.0.142",
+    "@budibase/frontend-core": "^1.0.142",
+    "@budibase/string-templates": "^1.0.142",
     "@spectrum-css/button": "^3.0.3",
     "@spectrum-css/card": "^3.0.3",
     "@spectrum-css/divider": "^1.0.3",
diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json
index a9ac402af0..85aaa58655 100644
--- a/packages/frontend-core/package.json
+++ b/packages/frontend-core/package.json
@@ -1,12 +1,12 @@
 {
   "name": "@budibase/frontend-core",
-  "version": "1.0.141",
+  "version": "1.0.142",
   "description": "Budibase frontend core libraries used in builder and client",
   "author": "Budibase",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "dependencies": {
-    "@budibase/bbui": "^1.0.141",
+    "@budibase/bbui": "^1.0.142",
     "lodash": "^4.17.21",
     "svelte": "^3.46.2"
   }
diff --git a/packages/server/package.json b/packages/server/package.json
index df5c5c6626..66ba87a218 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/server",
   "email": "hi@budibase.com",
-  "version": "1.0.141",
+  "version": "1.0.142",
   "description": "Budibase Web Server",
   "main": "src/index.ts",
   "repository": {
@@ -68,10 +68,10 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@apidevtools/swagger-parser": "^10.0.3",
-    "@budibase/backend-core": "^1.0.141",
-    "@budibase/client": "^1.0.141",
+    "@budibase/backend-core": "^1.0.142",
+    "@budibase/client": "^1.0.142",
     "@budibase/pro": "1.0.141",
-    "@budibase/string-templates": "^1.0.141",
+    "@budibase/string-templates": "^1.0.142",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
     "@elastic/elasticsearch": "7.10.0",
diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json
index 0415bf5bdd..676c625a2c 100644
--- a/packages/string-templates/package.json
+++ b/packages/string-templates/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/string-templates",
-  "version": "1.0.141",
+  "version": "1.0.142",
   "description": "Handlebars wrapper for Budibase templating.",
   "main": "src/index.cjs",
   "module": "dist/bundle.mjs",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index bbba698248..01e6e4cae3 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/worker",
   "email": "hi@budibase.com",
-  "version": "1.0.141",
+  "version": "1.0.142",
   "description": "Budibase background service",
   "main": "src/index.ts",
   "repository": {
@@ -31,9 +31,9 @@
   "author": "Budibase",
   "license": "GPL-3.0",
   "dependencies": {
-    "@budibase/backend-core": "^1.0.141",
+    "@budibase/backend-core": "^1.0.142",
     "@budibase/pro": "1.0.141",
-    "@budibase/string-templates": "^1.0.141",
+    "@budibase/string-templates": "^1.0.142",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",
     "@techpass/passport-openidconnect": "^0.3.0",

From b8b1bb31c63b57b5b48b16a782d916a8ba67506f Mon Sep 17 00:00:00 2001
From: Budibase Release Bot <>
Date: Wed, 4 May 2022 16:59:52 +0000
Subject: [PATCH 097/100] Update pro version to 1.0.142

---
 packages/server/package.json | 2 +-
 packages/worker/package.json | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/packages/server/package.json b/packages/server/package.json
index 66ba87a218..878bf46e50 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -70,7 +70,7 @@
     "@apidevtools/swagger-parser": "^10.0.3",
     "@budibase/backend-core": "^1.0.142",
     "@budibase/client": "^1.0.142",
-    "@budibase/pro": "1.0.141",
+    "@budibase/pro": "1.0.142",
     "@budibase/string-templates": "^1.0.142",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index 01e6e4cae3..e886a707f1 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -32,7 +32,7 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@budibase/backend-core": "^1.0.142",
-    "@budibase/pro": "1.0.141",
+    "@budibase/pro": "1.0.142",
     "@budibase/string-templates": "^1.0.142",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",

From 24e901d47e539b2309e5e07a0cd5d940d0245789 Mon Sep 17 00:00:00 2001
From: Mitch-Budibase <mitch@budibase.com>
Date: Wed, 4 May 2022 18:08:09 +0100
Subject: [PATCH 098/100] Update command.js

Increasing wait for createApp function - Seems to be timing issues for the smoke build with this
---
 packages/builder/cypress/support/commands.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/packages/builder/cypress/support/commands.js b/packages/builder/cypress/support/commands.js
index 4595bb73a3..ce1fe2ec50 100644
--- a/packages/builder/cypress/support/commands.js
+++ b/packages/builder/cypress/support/commands.js
@@ -44,7 +44,7 @@ Cypress.Commands.add("createApp", (name, addDefaultTable) => {
     typeof addDefaultTable != "boolean" ? true : addDefaultTable
 
   cy.visit(`${Cypress.config().baseUrl}/builder`)
-  cy.wait(500)
+  cy.wait(1000)
   cy.get(`[data-cy="create-app-btn"]`).click({ force: true })
 
   // If apps already exist

From 4e2d3e56e0f6c608462d60433d56472438c367fe Mon Sep 17 00:00:00 2001
From: Budibase Staging Release Bot <>
Date: Wed, 4 May 2022 17:43:08 +0000
Subject: [PATCH 099/100] v1.0.142-alpha.1

---
 lerna.json                             |  2 +-
 packages/backend-core/package.json     |  2 +-
 packages/bbui/package.json             |  4 ++--
 packages/builder/package.json          | 10 +++++-----
 packages/cli/package.json              |  2 +-
 packages/client/package.json           |  8 ++++----
 packages/frontend-core/package.json    |  4 ++--
 packages/server/package.json           |  8 ++++----
 packages/string-templates/package.json |  2 +-
 packages/worker/package.json           |  6 +++---
 10 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/lerna.json b/lerna.json
index 7967bee671..9b3f883aeb 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
 {
-  "version": "1.0.142-alpha.0",
+  "version": "1.0.142-alpha.1",
   "npmClient": "yarn",
   "packages": [
     "packages/*"
diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json
index 9066bdf57e..4551dd86b1 100644
--- a/packages/backend-core/package.json
+++ b/packages/backend-core/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/backend-core",
-  "version": "1.0.142-alpha.0",
+  "version": "1.0.142-alpha.1",
   "description": "Budibase backend core libraries used in server and worker",
   "main": "src/index.js",
   "author": "Budibase",
diff --git a/packages/bbui/package.json b/packages/bbui/package.json
index 83d4b9d48c..577c4cf318 100644
--- a/packages/bbui/package.json
+++ b/packages/bbui/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/bbui",
   "description": "A UI solution used in the different Budibase projects.",
-  "version": "1.0.142-alpha.0",
+  "version": "1.0.142-alpha.1",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "module": "dist/bbui.es.js",
@@ -38,7 +38,7 @@
   ],
   "dependencies": {
     "@adobe/spectrum-css-workflow-icons": "^1.2.1",
-    "@budibase/string-templates": "^1.0.142-alpha.0",
+    "@budibase/string-templates": "^1.0.142-alpha.1",
     "@spectrum-css/actionbutton": "^1.0.1",
     "@spectrum-css/actiongroup": "^1.0.1",
     "@spectrum-css/avatar": "^3.0.2",
diff --git a/packages/builder/package.json b/packages/builder/package.json
index 9891ae4dac..a0ec37dc77 100644
--- a/packages/builder/package.json
+++ b/packages/builder/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/builder",
-  "version": "1.0.142-alpha.0",
+  "version": "1.0.142-alpha.1",
   "license": "GPL-3.0",
   "private": true,
   "scripts": {
@@ -67,10 +67,10 @@
     }
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.142-alpha.0",
-    "@budibase/client": "^1.0.142-alpha.0",
-    "@budibase/frontend-core": "^1.0.142-alpha.0",
-    "@budibase/string-templates": "^1.0.142-alpha.0",
+    "@budibase/bbui": "^1.0.142-alpha.1",
+    "@budibase/client": "^1.0.142-alpha.1",
+    "@budibase/frontend-core": "^1.0.142-alpha.1",
+    "@budibase/string-templates": "^1.0.142-alpha.1",
     "@sentry/browser": "5.19.1",
     "@spectrum-css/page": "^3.0.1",
     "@spectrum-css/vars": "^3.0.1",
diff --git a/packages/cli/package.json b/packages/cli/package.json
index e032d3fe8f..f18d24e9d5 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/cli",
-  "version": "1.0.142-alpha.0",
+  "version": "1.0.142-alpha.1",
   "description": "Budibase CLI, for developers, self hosting and migrations.",
   "main": "src/index.js",
   "bin": {
diff --git a/packages/client/package.json b/packages/client/package.json
index 49a31e57a1..aadb37a973 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/client",
-  "version": "1.0.142-alpha.0",
+  "version": "1.0.142-alpha.1",
   "license": "MPL-2.0",
   "module": "dist/budibase-client.js",
   "main": "dist/budibase-client.js",
@@ -19,9 +19,9 @@
     "dev:builder": "rollup -cw"
   },
   "dependencies": {
-    "@budibase/bbui": "^1.0.142-alpha.0",
-    "@budibase/frontend-core": "^1.0.142-alpha.0",
-    "@budibase/string-templates": "^1.0.142-alpha.0",
+    "@budibase/bbui": "^1.0.142-alpha.1",
+    "@budibase/frontend-core": "^1.0.142-alpha.1",
+    "@budibase/string-templates": "^1.0.142-alpha.1",
     "@spectrum-css/button": "^3.0.3",
     "@spectrum-css/card": "^3.0.3",
     "@spectrum-css/divider": "^1.0.3",
diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json
index 432a684c7d..5b334ad6a4 100644
--- a/packages/frontend-core/package.json
+++ b/packages/frontend-core/package.json
@@ -1,12 +1,12 @@
 {
   "name": "@budibase/frontend-core",
-  "version": "1.0.142-alpha.0",
+  "version": "1.0.142-alpha.1",
   "description": "Budibase frontend core libraries used in builder and client",
   "author": "Budibase",
   "license": "MPL-2.0",
   "svelte": "src/index.js",
   "dependencies": {
-    "@budibase/bbui": "^1.0.142-alpha.0",
+    "@budibase/bbui": "^1.0.142-alpha.1",
     "lodash": "^4.17.21",
     "svelte": "^3.46.2"
   }
diff --git a/packages/server/package.json b/packages/server/package.json
index a1f06e6a99..aad85f0759 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/server",
   "email": "hi@budibase.com",
-  "version": "1.0.142-alpha.0",
+  "version": "1.0.142-alpha.1",
   "description": "Budibase Web Server",
   "main": "src/index.ts",
   "repository": {
@@ -68,10 +68,10 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@apidevtools/swagger-parser": "^10.0.3",
-    "@budibase/backend-core": "^1.0.142-alpha.0",
-    "@budibase/client": "^1.0.142-alpha.0",
+    "@budibase/backend-core": "^1.0.142-alpha.1",
+    "@budibase/client": "^1.0.142-alpha.1",
     "@budibase/pro": "1.0.142-alpha.0",
-    "@budibase/string-templates": "^1.0.142-alpha.0",
+    "@budibase/string-templates": "^1.0.142-alpha.1",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
     "@elastic/elasticsearch": "7.10.0",
diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json
index 4c95141346..fa3b2a11ea 100644
--- a/packages/string-templates/package.json
+++ b/packages/string-templates/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@budibase/string-templates",
-  "version": "1.0.142-alpha.0",
+  "version": "1.0.142-alpha.1",
   "description": "Handlebars wrapper for Budibase templating.",
   "main": "src/index.cjs",
   "module": "dist/bundle.mjs",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index b7eb8209c5..8457dd7c47 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@budibase/worker",
   "email": "hi@budibase.com",
-  "version": "1.0.142-alpha.0",
+  "version": "1.0.142-alpha.1",
   "description": "Budibase background service",
   "main": "src/index.ts",
   "repository": {
@@ -31,9 +31,9 @@
   "author": "Budibase",
   "license": "GPL-3.0",
   "dependencies": {
-    "@budibase/backend-core": "^1.0.142-alpha.0",
+    "@budibase/backend-core": "^1.0.142-alpha.1",
     "@budibase/pro": "1.0.142-alpha.0",
-    "@budibase/string-templates": "^1.0.142-alpha.0",
+    "@budibase/string-templates": "^1.0.142-alpha.1",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",
     "@techpass/passport-openidconnect": "^0.3.0",

From a99891d77ea0d813209b08c7882f2246c4aaa7bb Mon Sep 17 00:00:00 2001
From: Budibase Staging Release Bot <>
Date: Wed, 4 May 2022 17:44:40 +0000
Subject: [PATCH 100/100] Update pro version to 1.0.142-alpha.1

---
 packages/server/package.json | 2 +-
 packages/worker/package.json | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/packages/server/package.json b/packages/server/package.json
index aad85f0759..742a172fe9 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -70,7 +70,7 @@
     "@apidevtools/swagger-parser": "^10.0.3",
     "@budibase/backend-core": "^1.0.142-alpha.1",
     "@budibase/client": "^1.0.142-alpha.1",
-    "@budibase/pro": "1.0.142-alpha.0",
+    "@budibase/pro": "1.0.142-alpha.1",
     "@budibase/string-templates": "^1.0.142-alpha.1",
     "@bull-board/api": "^3.7.0",
     "@bull-board/koa": "^3.7.0",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index 8457dd7c47..fea4d58ba8 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -32,7 +32,7 @@
   "license": "GPL-3.0",
   "dependencies": {
     "@budibase/backend-core": "^1.0.142-alpha.1",
-    "@budibase/pro": "1.0.142-alpha.0",
+    "@budibase/pro": "1.0.142-alpha.1",
     "@budibase/string-templates": "^1.0.142-alpha.1",
     "@koa/router": "^8.0.0",
     "@sentry/node": "6.17.7",