diff --git a/CHANGELOG.md b/CHANGELOG.md
index b2b0532523..f29d2b8d67 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,12 @@
# Changelog
+## [0.89.12](https://github.com/kurtosis-tech/kurtosis/compare/0.89.11...0.89.12) (2024-05-28)
+
+
+### Features
+
+* adding the `BrowserRecommendator` component in Kurtosis cloud ([#2462](https://github.com/kurtosis-tech/kurtosis/issues/2462)) ([747538f](https://github.com/kurtosis-tech/kurtosis/commit/747538fa945b2358e24a71bcd320e338c00212df))
+
## [0.89.11](https://github.com/kurtosis-tech/kurtosis/compare/0.89.10...0.89.11) (2024-05-22)
diff --git a/LICENSE.md b/LICENSE.md
index f1f1eab950..25ac795be1 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -3,7 +3,7 @@ Business Source License 1.1
Parameters
Licensor: Kurtosis Technologies, Inc.
-Licensed Work: Kurtosis 0.89.11
+Licensed Work: Kurtosis 0.89.12
The Licensed Work is (c) 2024 Kurtosis Technologies, Inc.
Additional Use Grant: You may make use of the Licensed Work, provided that
you may not use the Licensed Work for an Environment Orchestration Service.
@@ -12,7 +12,7 @@ you may not use the Licensed Work for an Environment Orchestration Service.
allows third parties (other than your employees and
contractors) to create distributed system environments.
-Change Date: 2028-05-22
+Change Date: 2028-05-28
Change License: Apache 2.0 (Apache License, Version 2.0)
diff --git a/api/golang/kurtosis_version/kurtosis_version.go b/api/golang/kurtosis_version/kurtosis_version.go
index 8f75e2080f..9e85f48340 100644
--- a/api/golang/kurtosis_version/kurtosis_version.go
+++ b/api/golang/kurtosis_version/kurtosis_version.go
@@ -9,6 +9,6 @@ const (
// !!!!!!!!!!! DO NOT UPDATE! WILL BE MANUALLY UPDATED DURING THE RELEASE PROCESS !!!!!!!!!!!!!!!!!!!!!!
// This is necessary so that Kurt Core consumers will know if they're compatible with the currently-running
// API container
- KurtosisVersion = "0.89.11"
+ KurtosisVersion = "0.89.12"
// !!!!!!!!!!! DO NOT UPDATE! WILL BE MANUALLY UPDATED DURING THE RELEASE PROCESS !!!!!!!!!!!!!!!!!!!!!!
)
diff --git a/api/rust/Cargo.toml b/api/rust/Cargo.toml
index 5e7f20a7b6..2161e2332b 100644
--- a/api/rust/Cargo.toml
+++ b/api/rust/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "kurtosis-sdk"
-version = "0.89.11"
+version = "0.89.12"
license = "BUSL-1.1"
description = "Rust SDK for Kurtosis"
edition = "2021"
diff --git a/api/typescript/package.json b/api/typescript/package.json
index bba6cb8323..a57d28ecde 100644
--- a/api/typescript/package.json
+++ b/api/typescript/package.json
@@ -1,7 +1,7 @@
{
"name": "kurtosis-sdk",
"//": "NOTE: DO NOT UPDATE THIS VERSION MANUALLY - IT WILL BE UPDATED DURING THE RELEASE PROCESS!",
- "version": "0.89.11",
+ "version": "0.89.12",
"main": "./build/index",
"description": "This repo contains a Typescript client for communicating with the Kurtosis Engine server, which is responsible for creating, managing and destroying Kurtosis Enclaves.",
"types": "./build/index",
diff --git a/api/typescript/src/kurtosis_version/kurtosis_version.ts b/api/typescript/src/kurtosis_version/kurtosis_version.ts
index ac096abc24..4825175b83 100644
--- a/api/typescript/src/kurtosis_version/kurtosis_version.ts
+++ b/api/typescript/src/kurtosis_version/kurtosis_version.ts
@@ -1,5 +1,5 @@
// !!!!!!!!!!! DO NOT UPDATE! WILL BE MANUALLY UPDATED DURING THE RELEASE PROCESS !!!!!!!!!!!!!!!!!!!!!!
// This is necessary so that Kurt Core consumers (e.g. modules) will know if they're compatible with the currently-running
// API container
-export const KURTOSIS_VERSION: string = "0.89.11"
+export const KURTOSIS_VERSION: string = "0.89.12"
// !!!!!!!!!!! DO NOT UPDATE! WILL BE MANUALLY UPDATED DURING THE RELEASE PROCESS !!!!!!!!!!!!!!!!!!!!!!
diff --git a/enclave-manager/web/lerna.json b/enclave-manager/web/lerna.json
index 4a8f9ecf98..31c321a621 100644
--- a/enclave-manager/web/lerna.json
+++ b/enclave-manager/web/lerna.json
@@ -1,6 +1,6 @@
{
"packages": ["packages/*"],
- "version": "0.89.11",
+ "version": "0.89.12",
"npmClient": "yarn",
"$schema": "node_modules/lerna/schemas/lerna-schema.json",
"useNx": false,
diff --git a/enclave-manager/web/package.json b/enclave-manager/web/package.json
index 4e49e0a5b3..ae9f7ed5d3 100644
--- a/enclave-manager/web/package.json
+++ b/enclave-manager/web/package.json
@@ -10,6 +10,7 @@
"lodash": "^4.17.21",
"luxon": "^3.4.3",
"react": "^18.2.0",
+ "react-device-detect": "^2.2.3",
"react-dom": "^18.2.0",
"react-icons": "^4.11.0",
"true-myth": "^7.1.0"
diff --git a/enclave-manager/web/packages/app/package.json b/enclave-manager/web/packages/app/package.json
index 64441eb2ba..3866c16100 100644
--- a/enclave-manager/web/packages/app/package.json
+++ b/enclave-manager/web/packages/app/package.json
@@ -1,6 +1,6 @@
{
"name": "@kurtosis/emui-app",
- "version": "0.89.11",
+ "version": "0.89.12",
"private": true,
"homepage": ".",
"dependencies": {
@@ -10,7 +10,7 @@
"html-react-parser": "^4.2.2",
"js-cookie": "^3.0.5",
"kurtosis-cloud-indexer-sdk": "^0.0.31",
- "kurtosis-ui-components": "0.89.11",
+ "kurtosis-ui-components": "0.89.12",
"react-error-boundary": "^4.0.11",
"react-hook-form": "^7.47.0",
"react-mentions": "^4.4.10",
diff --git a/enclave-manager/web/packages/app/src/emui/catalog/Catalog.tsx b/enclave-manager/web/packages/app/src/emui/catalog/Catalog.tsx
index b62e6a4503..20995c07a3 100644
--- a/enclave-manager/web/packages/app/src/emui/catalog/Catalog.tsx
+++ b/enclave-manager/web/packages/app/src/emui/catalog/Catalog.tsx
@@ -40,6 +40,7 @@ import { HiStar } from "react-icons/hi";
import { IoFilterSharp, IoPlay } from "react-icons/io5";
import { MdBookmarkAdded } from "react-icons/md";
import { useSearchParams } from "react-router-dom";
+import { BrowserRecommendator } from "../enclaves/components/BrowserRecommendator";
import { CreateOrConfigureEnclaveDrawer } from "../enclaves/components/configuration/drawer/CreateOrConfigureEnclaveDrawer";
import { EnclavesContextProvider } from "../enclaves/EnclavesContext";
import { useCatalogContext } from "./CatalogContext";
@@ -325,6 +326,7 @@ const CatalogDefaultView = ({ catalog, onPackageRunClicked, onSearchStateChanged
return (
<>
+
{savedPackages.length > 0 && (
diff --git a/enclave-manager/web/packages/app/src/emui/enclaves/EnclaveList.tsx b/enclave-manager/web/packages/app/src/emui/enclaves/EnclaveList.tsx
index eb594e2758..f32f281b18 100644
--- a/enclave-manager/web/packages/app/src/emui/enclaves/EnclaveList.tsx
+++ b/enclave-manager/web/packages/app/src/emui/enclaves/EnclaveList.tsx
@@ -2,6 +2,7 @@ import { Button, ButtonGroup, Flex } from "@chakra-ui/react";
import { AppPageLayout, KurtosisAlert, PageTitle } from "kurtosis-ui-components";
import { useEffect, useMemo, useState } from "react";
import { useExperiments } from "../experiments/ExperimentsContext";
+import { BrowserRecommendator } from "./components/BrowserRecommendator";
import { KurtosisUpgrader } from "./components/KurtosisUpgrader";
import { EnclavesTable } from "./components/tables/EnclavesTable";
import { CreateEnclaveButton } from "./components/widgets/CreateEnclaveButton";
@@ -48,6 +49,7 @@ export const EnclaveList = () => {
{experiments.enableCloudVersionUpgrade && }
+
{enclaves.isOk && (
{
+ if (isChrome) {
+ return null;
+ }
+
+ return (
+
+
+
+
+ We suggest you use Kurtosis Cloud with Google Chrome otherwise your experience may be degraded.
+
+
+
+ );
+};
diff --git a/enclave-manager/web/packages/components/package.json b/enclave-manager/web/packages/components/package.json
index 45097f2fd3..10d174447b 100644
--- a/enclave-manager/web/packages/components/package.json
+++ b/enclave-manager/web/packages/components/package.json
@@ -1,6 +1,6 @@
{
"name": "kurtosis-ui-components",
- "version": "0.89.11",
+ "version": "0.89.12",
"private": false,
"main": "build/index",
"description": "This repo contains components used by Kurtosis UI applications.",
diff --git a/enclave-manager/web/yarn.lock b/enclave-manager/web/yarn.lock
index ebf64e85ca..50eaa5ad46 100644
--- a/enclave-manager/web/yarn.lock
+++ b/enclave-manager/web/yarn.lock
@@ -13000,6 +13000,13 @@ react-dev-utils@^12.0.1:
strip-ansi "^6.0.1"
text-table "^0.2.0"
+react-device-detect@^2.2.3:
+ version "2.2.3"
+ resolved "https://registry.yarnpkg.com/react-device-detect/-/react-device-detect-2.2.3.tgz#97a7ae767cdd004e7c3578260f48cf70c036e7ca"
+ integrity sha512-buYY3qrCnQVlIFHrC5UcUoAj7iANs/+srdkwsnNjI7anr3Tt7UY6MqNxtMLlr0tMBied0O49UZVK8XKs3ZIiPw==
+ dependencies:
+ ua-parser-js "^1.0.33"
+
react-dom@^18.2.0:
version "18.2.0"
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d"
@@ -15004,6 +15011,11 @@ typedarray@^0.0.6:
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a"
integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==
+ua-parser-js@^1.0.33:
+ version "1.0.37"
+ resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.37.tgz#b5dc7b163a5c1f0c510b08446aed4da92c46373f"
+ integrity sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==
+
uglify-js@^3.1.4:
version "3.17.4"
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.4.tgz#61678cf5fa3f5b7eb789bb345df29afb8257c22c"
diff --git a/version.txt b/version.txt
index 706f965e94..417cae76a4 100644
--- a/version.txt
+++ b/version.txt
@@ -1 +1 @@
-0.89.11
+0.89.12