diff --git a/app/MindWork AI Studio/Components/Changelog.Logs.cs b/app/MindWork AI Studio/Components/Changelog.Logs.cs
index 8d95f65..5d700c8 100644
--- a/app/MindWork AI Studio/Components/Changelog.Logs.cs
+++ b/app/MindWork AI Studio/Components/Changelog.Logs.cs
@@ -13,6 +13,7 @@ public partial class Changelog
public static readonly Log[] LOGS =
[
+ new (203, "v0.9.28, build 203 (2025-02-09 16:33 UTC)", "v0.9.28.md"),
new (202, "v0.9.27, build 202 (2025-01-21 18:24 UTC)", "v0.9.27.md"),
new (201, "v0.9.26, build 201 (2025-01-13 19:11 UTC)", "v0.9.26.md"),
new (200, "v0.9.25, build 200 (2025-01-04 18:33 UTC)", "v0.9.25.md"),
diff --git a/app/MindWork AI Studio/MindWork AI Studio.csproj b/app/MindWork AI Studio/MindWork AI Studio.csproj
index 0d6fc28..4caca35 100644
--- a/app/MindWork AI Studio/MindWork AI Studio.csproj
+++ b/app/MindWork AI Studio/MindWork AI Studio.csproj
@@ -47,8 +47,8 @@
-
-
+
+
diff --git a/app/MindWork AI Studio/build.nu b/app/MindWork AI Studio/build.nu
index d2819e7..cf69e3e 100755
--- a/app/MindWork AI Studio/build.nu
+++ b/app/MindWork AI Studio/build.nu
@@ -2,11 +2,11 @@
def main [] {}
-def are_assets_exist [rid: string]: string -> bool {
+def are_assets_exist [rid: string] {
$"bin/release/net8.0/($rid)/publish/wwwroot/_content/MudBlazor/MudBlazor.min.css" | path exists
}
-def "main help" []: nothing -> nothing {
+def "main help" [] {
print "Usage: nu build.nu [action]"
print ""
print "Optional Actions:"
@@ -26,7 +26,7 @@ def "main help" []: nothing -> nothing {
print ""
}
-def "main prepare" [action: string]: string -> nothing {
+def "main prepare" [action: string] {
if (update_app_version $action) {
main fix_web_assets
inc_build_number
@@ -36,7 +36,7 @@ def "main prepare" [action: string]: string -> nothing {
}
}
-def "main metadata" []: nothing -> nothing {
+def "main metadata" [] {
update_dotnet_version
update_rust_version
update_mudblazor_version
@@ -46,7 +46,7 @@ def "main metadata" []: nothing -> nothing {
update_license_year "Pages/About.razor.cs"
}
-def "main fix_web_assets" []: nothing -> nothing {
+def "main fix_web_assets" [] {
# Get the matching RIDs for the current OS:
let rids = get_rids
@@ -70,7 +70,7 @@ def "main fix_web_assets" []: nothing -> nothing {
}
}
-def "main publish" []: nothing -> nothing {
+def "main publish" [] {
main metadata
@@ -139,7 +139,7 @@ def "main publish" []: nothing -> nothing {
print "Building done."
}
-def get_rids []: nothing -> list {
+def get_rids [] {
# Define the list of RIDs to build for, cf. https://learn.microsoft.com/en-us/dotnet/core/rid-catalog:
let rids = ["win-x64", "win-arm64", "linux-x64", "linux-arm64", "osx-arm64", "osx-x64"]
@@ -163,7 +163,7 @@ def get_rids []: nothing -> list {
$rids
}
-def get_os []: nothing -> string {
+def get_os [] {
let os = (sys host).name | str downcase
if $os =~ "linux" {
return "linux"
@@ -171,7 +171,7 @@ def get_os []: nothing -> string {
$os
}
-def update_build_time []: nothing -> nothing {
+def update_build_time [] {
mut meta_lines = open --raw ../../metadata.txt | lines
mut build_time = $meta_lines.1
@@ -183,7 +183,7 @@ def update_build_time []: nothing -> nothing {
$meta_lines | save --raw --force ../../metadata.txt
}
-def inc_build_number []: nothing -> nothing {
+def inc_build_number [] {
mut meta_lines = open --raw ../../metadata.txt | lines
mut build_number = $meta_lines.2 | into int
@@ -195,7 +195,7 @@ def inc_build_number []: nothing -> nothing {
$meta_lines | save --raw --force ../../metadata.txt
}
-def update_dotnet_version []: nothing -> nothing {
+def update_dotnet_version [] {
mut meta_lines = open --raw ../../metadata.txt | lines
mut dotnet_sdk_version = $meta_lines.3
mut dotnet_version = $meta_lines.4
@@ -215,7 +215,7 @@ def update_dotnet_version []: nothing -> nothing {
$meta_lines | save --raw --force ../../metadata.txt
}
-def update_rust_version []: nothing -> nothing {
+def update_rust_version [] {
mut meta_lines = open --raw ../../metadata.txt | lines
mut rust_version = $meta_lines.5
@@ -229,7 +229,7 @@ def update_rust_version []: nothing -> nothing {
$meta_lines | save --raw --force ../../metadata.txt
}
-def update_mudblazor_version []: nothing -> nothing {
+def update_mudblazor_version [] {
mut meta_lines = open --raw ../../metadata.txt | lines
mut mudblazor_version = $meta_lines.6
@@ -242,7 +242,7 @@ def update_mudblazor_version []: nothing -> nothing {
$meta_lines | save --raw --force ../../metadata.txt
}
-def update_tauri_version []: nothing -> nothing {
+def update_tauri_version [] {
mut meta_lines = open --raw ../../metadata.txt | lines
mut tauri_version = $meta_lines.7
@@ -276,7 +276,7 @@ def update_license_year [licence_file: string] {
$updated_license_text | save --raw --force $licence_file
}
-def update_app_version [action: string]: string -> bool {
+def update_app_version [action: string] {
mut meta_lines = open --raw ../../metadata.txt | lines
mut app_version = $meta_lines.0
@@ -321,7 +321,7 @@ def update_app_version [action: string]: string -> bool {
return true
}
-def update_project_commit_hash []: nothing -> nothing {
+def update_project_commit_hash [] {
mut meta_lines = open --raw ../../metadata.txt | lines
mut commit_hash = $meta_lines.8
@@ -356,7 +356,7 @@ def update_project_commit_hash []: nothing -> nothing {
$meta_lines | save --raw --force ../../metadata.txt
}
-def update_changelog []: nothing -> nothing {
+def update_changelog [] {
# Get all changelog files:
let all_changelog_files = glob wwwroot/changelog/*.md
diff --git a/app/MindWork AI Studio/packages.lock.json b/app/MindWork AI Studio/packages.lock.json
index 2941da3..d070220 100644
--- a/app/MindWork AI Studio/packages.lock.json
+++ b/app/MindWork AI Studio/packages.lock.json
@@ -24,11 +24,11 @@
},
"Microsoft.Extensions.FileProviders.Embedded": {
"type": "Direct",
- "requested": "[9.0.0, )",
- "resolved": "9.0.0",
- "contentHash": "6Ev1goLIvggLF6uCs6oZvdr9JM+2b1Zj+4FLdBWNW5iw3tm2BymVIb0yMsjnQTBWL7YUmqVWH3u45hSqOfvuqg==",
+ "requested": "[9.0.1, )",
+ "resolved": "9.0.1",
+ "contentHash": "Pnw9plviwRguhVxHjthooumWH8yUxfF54tuu/+VoVBOuqBmzu6VUnn4NGf3eVkEO1k5q2nihOIAQL/7UMemSmQ==",
"dependencies": {
- "Microsoft.Extensions.FileProviders.Abstractions": "9.0.0"
+ "Microsoft.Extensions.FileProviders.Abstractions": "9.0.1"
}
},
"Microsoft.NET.ILLink.Tasks": {
@@ -39,9 +39,9 @@
},
"MudBlazor": {
"type": "Direct",
- "requested": "[7.15.0, )",
- "resolved": "7.15.0",
- "contentHash": "b2+hO7ZTGwsGhu9SoowuNe2ETeF1GzExpg/hIYR++rSh+vy4v/QD0iOsrATWv3LdFJXSgk3d1+XIr5srW3jBiA==",
+ "requested": "[7.16.0, )",
+ "resolved": "7.16.0",
+ "contentHash": "68bEFn7MLCyOB4yYxtvZG+AA+bZbxBDcIOhnSVFrHrAg8LLXVw1LxHCp9EyRktlREpnoAO1JxINp+5WeHc9Z4w==",
"dependencies": {
"Microsoft.AspNetCore.Components": "8.0.8",
"Microsoft.AspNetCore.Components.Web": "8.0.8",
@@ -147,10 +147,10 @@
},
"Microsoft.Extensions.FileProviders.Abstractions": {
"type": "Transitive",
- "resolved": "9.0.0",
- "contentHash": "uK439QzYR0q2emLVtYzwyK3x+T5bTY4yWsd/k/ZUS9LR6Sflp8MIdhGXW8kQCd86dQD4tLqvcbLkku8qHY263Q==",
+ "resolved": "9.0.1",
+ "contentHash": "DguZYt1DWL05+8QKWL3b6bW7A2pC5kYFMY5iXM6W2M23jhvcNa8v6AU8PvVJBcysxHwr9/jax0agnwoBumsSwg==",
"dependencies": {
- "Microsoft.Extensions.Primitives": "9.0.0"
+ "Microsoft.Extensions.Primitives": "9.0.1"
}
},
"Microsoft.Extensions.Localization": {
@@ -188,8 +188,8 @@
},
"Microsoft.Extensions.Primitives": {
"type": "Transitive",
- "resolved": "9.0.0",
- "contentHash": "N3qEBzmLMYiASUlKxxFIISP4AiwuPTHF5uCh+2CWSwwzAJiIYx0kBJsS30cp1nvhSySFAVi30jecD307jV+8Kg=="
+ "resolved": "9.0.1",
+ "contentHash": "bHtTesA4lrSGD1ZUaMIx6frU3wyy0vYtTa/hM6gGQu5QNrydObv8T5COiGUWsisflAfmsaFOe9Xvw5NSO99z0g=="
},
"Microsoft.JSInterop": {
"type": "Transitive",
@@ -205,9 +205,6 @@
"type": "Transitive",
"resolved": "0.16.9",
"contentHash": "7WaVMHklpT3Ye2ragqRIwlFRsb6kOk63BOGADV0fan3ulVfGLUYkDi5yNUsZS/7FVNkWbtHAlDLmu4WnHGfqvQ=="
- },
- "ericlientv1": {
- "type": "Project"
}
},
"net8.0/osx-arm64": {}
diff --git a/app/MindWork AI Studio/wwwroot/changelog/v0.9.28.md b/app/MindWork AI Studio/wwwroot/changelog/v0.9.28.md
index 83ad9cd..62e2a05 100644
--- a/app/MindWork AI Studio/wwwroot/changelog/v0.9.28.md
+++ b/app/MindWork AI Studio/wwwroot/changelog/v0.9.28.md
@@ -1,8 +1,9 @@
-# v0.9.28, build 203 (2025-0x-xx xx:xx UTC)
+# v0.9.28, build 203 (2025-02-09 16:33 UTC)
- Added an information view to all data sources to the data source configuration page. The data source configuration is a preview feature behind the RAG feature flag.
- Added a ERI ((E)xternal (R)etrieval (I)nterface) client for communication with any ERI server.
- Added the option to select the default app provider in the assistant settings under provider selection. Thank you, Peer (`peerschuett`), for reporting the issue.
- Added `donework` as financial supporter. Thank you, Dominic!
- Added content contributors to the supporter page. We thank Luc (`DevNullx64`) for his build script contribution as well as Kerstin (`KeSah001`) for creating the Wiki pages.
- Improved the resource handling when loading models.
-- Improved the build script to support Arch Linux and other Linux distributions, along with Rust nightly environments. Thanks `SolsticeSpectrum` for the contribution.
\ No newline at end of file
+- Improved the build script to support Arch Linux and other Linux distributions, along with Rust nightly environments. Thanks `SolsticeSpectrum` for the contribution.
+- Upgraded the dependencies Rust, .NET, OpenSSL, MudBlazor, `rand`, `rand_chacha`, and others to the latest usable versions.
\ No newline at end of file
diff --git a/metadata.txt b/metadata.txt
index 4f94d54..c185547 100644
--- a/metadata.txt
+++ b/metadata.txt
@@ -1,9 +1,9 @@
-0.9.27
-2025-01-21 18:24:04 UTC
-202
-8.0.111 (commit f3835a7fb4)
-8.0.11 (commit 9cb3b725e3)
-1.84.0 (commit 9fc6b4312)
-7.15.0
+0.9.28
+2025-02-09 16:33:40 UTC
+203
+8.0.112 (commit f7cd007b9d)
+8.0.12 (commit 89ef51c5d8)
+1.84.1 (commit e71f9a9a9)
+7.16.0
1.8.1
-940459ca467, release
+6da4cf1425f, release
diff --git a/runtime/Cargo.lock b/runtime/Cargo.lock
index 268ab7d..eb8863a 100644
--- a/runtime/Cargo.lock
+++ b/runtime/Cargo.lock
@@ -1310,6 +1310,18 @@ dependencies = [
"wasi 0.11.0+wasi-snapshot-preview1",
]
+[[package]]
+name = "getrandom"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "wasi 0.13.3+wasi-0.2.2",
+ "windows-targets 0.52.6",
+]
+
[[package]]
name = "gimli"
version = "0.29.0"
@@ -2319,7 +2331,7 @@ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
[[package]]
name = "mindwork-ai-studio"
-version = "0.9.27"
+version = "0.9.28"
dependencies = [
"aes",
"arboard",
@@ -2333,8 +2345,8 @@ dependencies = [
"once_cell",
"openssl",
"pbkdf2",
- "rand 0.8.5",
- "rand_chacha 0.3.1",
+ "rand 0.9.0",
+ "rand_chacha 0.9.0",
"rcgen",
"reqwest 0.12.4",
"rocket",
@@ -3238,6 +3250,17 @@ dependencies = [
"rand_core 0.6.4",
]
+[[package]]
+name = "rand"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94"
+dependencies = [
+ "rand_chacha 0.9.0",
+ "rand_core 0.9.0",
+ "zerocopy",
+]
+
[[package]]
name = "rand_chacha"
version = "0.2.2"
@@ -3258,6 +3281,16 @@ dependencies = [
"rand_core 0.6.4",
]
+[[package]]
+name = "rand_chacha"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb"
+dependencies = [
+ "ppv-lite86",
+ "rand_core 0.9.0",
+]
+
[[package]]
name = "rand_core"
version = "0.5.1"
@@ -3276,6 +3309,16 @@ dependencies = [
"getrandom 0.2.15",
]
+[[package]]
+name = "rand_core"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b08f3c9802962f7e1b25113931d94f43ed9725bebc59db9d0c3e9a23b67e15ff"
+dependencies = [
+ "getrandom 0.3.1",
+ "zerocopy",
+]
+
[[package]]
name = "rand_hc"
version = "0.2.0"
@@ -5025,6 +5068,15 @@ version = "0.11.0+wasi-snapshot-preview1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+[[package]]
+name = "wasi"
+version = "0.13.3+wasi-0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2"
+dependencies = [
+ "wit-bindgen-rt",
+]
+
[[package]]
name = "wasm-bindgen"
version = "0.2.92"
@@ -5625,6 +5677,15 @@ dependencies = [
"windows-sys 0.48.0",
]
+[[package]]
+name = "wit-bindgen-rt"
+version = "0.33.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c"
+dependencies = [
+ "bitflags 2.6.0",
+]
+
[[package]]
name = "write16"
version = "1.0.0"
@@ -5766,6 +5827,26 @@ dependencies = [
"synstructure",
]
+[[package]]
+name = "zerocopy"
+version = "0.8.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aa91407dacce3a68c56de03abe2760159582b846c6a4acd2f456618087f12713"
+dependencies = [
+ "zerocopy-derive",
+]
+
+[[package]]
+name = "zerocopy-derive"
+version = "0.8.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06718a168365cad3d5ff0bb133aad346959a2074bd4a85c121255a11304a8626"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.93",
+]
+
[[package]]
name = "zerofrom"
version = "0.1.5"
diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml
index 47a4e34..2dbacbd 100644
--- a/runtime/Cargo.toml
+++ b/runtime/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "mindwork-ai-studio"
-version = "0.9.27"
+version = "0.9.28"
edition = "2021"
description = "MindWork AI Studio"
authors = ["Thorsten Sommer"]
@@ -20,8 +20,8 @@ flexi_logger = "0.29.8"
log = { version = "0.4", features = ["kv"] }
once_cell = "1.20"
rocket = { version = "0.5.1", features = ["json", "tls"] }
-rand = "0.8"
-rand_chacha = "0.3.1"
+rand = "0.9"
+rand_chacha = "0.9"
base64 = "0.22.1"
cipher = { version = "0.4.4", features = ["std"] }
aes = "0.8.4"
diff --git a/runtime/src/api_token.rs b/runtime/src/api_token.rs
index 3fe1f18..3175918 100644
--- a/runtime/src/api_token.rs
+++ b/runtime/src/api_token.rs
@@ -8,7 +8,7 @@ use rocket::request::FromRequest;
/// The API token used to authenticate requests.
pub static API_TOKEN: Lazy = Lazy::new(|| {
let mut token = [0u8; 32];
- let mut rng = rand_chacha::ChaChaRng::from_entropy();
+ let mut rng = rand_chacha::ChaChaRng::from_os_rng();
rng.fill_bytes(&mut token);
let token = APIToken::from_bytes(token.to_vec());
diff --git a/runtime/src/encryption.rs b/runtime/src/encryption.rs
index d28dbf2..632915d 100644
--- a/runtime/src/encryption.rs
+++ b/runtime/src/encryption.rs
@@ -32,7 +32,7 @@ pub static ENCRYPTION: Lazy = Lazy::new(|| {
// We use a cryptographically secure pseudo-random number generator
// to generate the secret password & salt. ChaCha20Rng is the algorithm
// of our choice:
- let mut rng = rand_chacha::ChaChaRng::from_entropy();
+ let mut rng = rand_chacha::ChaChaRng::from_os_rng();
// Fill the secret key & salt with random bytes:
rng.fill_bytes(&mut secret_key);
diff --git a/runtime/tauri.conf.json b/runtime/tauri.conf.json
index c015ff1..66f35bf 100644
--- a/runtime/tauri.conf.json
+++ b/runtime/tauri.conf.json
@@ -6,7 +6,7 @@
},
"package": {
"productName": "MindWork AI Studio",
- "version": "0.9.27"
+ "version": "0.9.28"
},
"tauri": {
"allowlist": {