From c9474c55b7ad0982b33eb50e1a8bd0c1a1967f49 Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Sun, 9 Feb 2025 18:06:24 +0100 Subject: [PATCH] Prepared release v0.9.28 (#279) --- .../Components/Changelog.Logs.cs | 1 + .../MindWork AI Studio.csproj | 4 +- app/MindWork AI Studio/build.nu | 34 ++++---- app/MindWork AI Studio/packages.lock.json | 27 +++--- .../wwwroot/changelog/v0.9.28.md | 5 +- metadata.txt | 16 ++-- runtime/Cargo.lock | 87 ++++++++++++++++++- runtime/Cargo.toml | 6 +- runtime/src/api_token.rs | 2 +- runtime/src/encryption.rs | 2 +- runtime/tauri.conf.json | 2 +- 11 files changed, 133 insertions(+), 53 deletions(-) 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": {