Prepared release v0.9.28 (#279)

This commit is contained in:
Thorsten Sommer authored and GitHub committed 2025-02-09 18:06:24 +01:00
1 parent c0b7016c3a
commit c9474c55b7
11 files changed
+132 -52

No files matched your search

@@ -13,6 +13,7 @@ public partial class Changelog
public static readonly Log[] LOGS = 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 (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 (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"), new (200, "v0.9.25, build 200 (2025-01-04 18:33 UTC)", "v0.9.25.md"),
@@ -47,8 +47,8 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="CodeBeam.MudBlazor.Extensions" Version="7.1.0" /> <PackageReference Include="CodeBeam.MudBlazor.Extensions" Version="7.1.0" />
<PackageReference Include="HtmlAgilityPack" Version="1.11.72" /> <PackageReference Include="HtmlAgilityPack" Version="1.11.72" />
<PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="9.0.0" /> <PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="9.0.1" />
<PackageReference Include="MudBlazor" Version="7.15.0" /> <PackageReference Include="MudBlazor" Version="7.16.0" />
<PackageReference Include="MudBlazor.Markdown" Version="7.14.0" /> <PackageReference Include="MudBlazor.Markdown" Version="7.14.0" />
<PackageReference Include="ReverseMarkdown" Version="4.6.0" /> <PackageReference Include="ReverseMarkdown" Version="4.6.0" />
</ItemGroup> </ItemGroup>
+17 -17
View File
@@ -2,11 +2,11 @@
def main [] {} 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 $"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 "Usage: nu build.nu [action]"
print "" print ""
print "Optional Actions:" print "Optional Actions:"
@@ -26,7 +26,7 @@ def "main help" []: nothing -> nothing {
print "" print ""
} }
def "main prepare" [action: string]: string -> nothing { def "main prepare" [action: string] {
if (update_app_version $action) { if (update_app_version $action) {
main fix_web_assets main fix_web_assets
inc_build_number 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_dotnet_version
update_rust_version update_rust_version
update_mudblazor_version update_mudblazor_version
@@ -46,7 +46,7 @@ def "main metadata" []: nothing -> nothing {
update_license_year "Pages/About.razor.cs" 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: # Get the matching RIDs for the current OS:
let rids = get_rids 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 main metadata
@@ -139,7 +139,7 @@ def "main publish" []: nothing -> nothing {
print "Building done." 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: # 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"] let rids = ["win-x64", "win-arm64", "linux-x64", "linux-arm64", "osx-arm64", "osx-x64"]
@@ -163,7 +163,7 @@ def get_rids []: nothing -> list {
$rids $rids
} }
def get_os []: nothing -> string { def get_os [] {
let os = (sys host).name | str downcase let os = (sys host).name | str downcase
if $os =~ "linux" { if $os =~ "linux" {
return "linux" return "linux"
@@ -171,7 +171,7 @@ def get_os []: nothing -> string {
$os $os
} }
def update_build_time []: nothing -> nothing { def update_build_time [] {
mut meta_lines = open --raw ../../metadata.txt | lines mut meta_lines = open --raw ../../metadata.txt | lines
mut build_time = $meta_lines.1 mut build_time = $meta_lines.1
@@ -183,7 +183,7 @@ def update_build_time []: nothing -> nothing {
$meta_lines | save --raw --force ../../metadata.txt $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 meta_lines = open --raw ../../metadata.txt | lines
mut build_number = $meta_lines.2 | into int 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 $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 meta_lines = open --raw ../../metadata.txt | lines
mut dotnet_sdk_version = $meta_lines.3 mut dotnet_sdk_version = $meta_lines.3
mut dotnet_version = $meta_lines.4 mut dotnet_version = $meta_lines.4
@@ -215,7 +215,7 @@ def update_dotnet_version []: nothing -> nothing {
$meta_lines | save --raw --force ../../metadata.txt $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 meta_lines = open --raw ../../metadata.txt | lines
mut rust_version = $meta_lines.5 mut rust_version = $meta_lines.5
@@ -229,7 +229,7 @@ def update_rust_version []: nothing -> nothing {
$meta_lines | save --raw --force ../../metadata.txt $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 meta_lines = open --raw ../../metadata.txt | lines
mut mudblazor_version = $meta_lines.6 mut mudblazor_version = $meta_lines.6
@@ -242,7 +242,7 @@ def update_mudblazor_version []: nothing -> nothing {
$meta_lines | save --raw --force ../../metadata.txt $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 meta_lines = open --raw ../../metadata.txt | lines
mut tauri_version = $meta_lines.7 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 $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 meta_lines = open --raw ../../metadata.txt | lines
mut app_version = $meta_lines.0 mut app_version = $meta_lines.0
@@ -321,7 +321,7 @@ def update_app_version [action: string]: string -> bool {
return true return true
} }
def update_project_commit_hash []: nothing -> nothing { def update_project_commit_hash [] {
mut meta_lines = open --raw ../../metadata.txt | lines mut meta_lines = open --raw ../../metadata.txt | lines
mut commit_hash = $meta_lines.8 mut commit_hash = $meta_lines.8
@@ -356,7 +356,7 @@ def update_project_commit_hash []: nothing -> nothing {
$meta_lines | save --raw --force ../../metadata.txt $meta_lines | save --raw --force ../../metadata.txt
} }
def update_changelog []: nothing -> nothing { def update_changelog [] {
# Get all changelog files: # Get all changelog files:
let all_changelog_files = glob wwwroot/changelog/*.md let all_changelog_files = glob wwwroot/changelog/*.md
+12 -15
View File
@@ -24,11 +24,11 @@
}, },
"Microsoft.Extensions.FileProviders.Embedded": { "Microsoft.Extensions.FileProviders.Embedded": {
"type": "Direct", "type": "Direct",
"requested": "[9.0.0, )", "requested": "[9.0.1, )",
"resolved": "9.0.0", "resolved": "9.0.1",
"contentHash": "6Ev1goLIvggLF6uCs6oZvdr9JM+2b1Zj+4FLdBWNW5iw3tm2BymVIb0yMsjnQTBWL7YUmqVWH3u45hSqOfvuqg==", "contentHash": "Pnw9plviwRguhVxHjthooumWH8yUxfF54tuu/+VoVBOuqBmzu6VUnn4NGf3eVkEO1k5q2nihOIAQL/7UMemSmQ==",
"dependencies": { "dependencies": {
"Microsoft.Extensions.FileProviders.Abstractions": "9.0.0" "Microsoft.Extensions.FileProviders.Abstractions": "9.0.1"
} }
}, },
"Microsoft.NET.ILLink.Tasks": { "Microsoft.NET.ILLink.Tasks": {
@@ -39,9 +39,9 @@
}, },
"MudBlazor": { "MudBlazor": {
"type": "Direct", "type": "Direct",
"requested": "[7.15.0, )", "requested": "[7.16.0, )",
"resolved": "7.15.0", "resolved": "7.16.0",
"contentHash": "b2+hO7ZTGwsGhu9SoowuNe2ETeF1GzExpg/hIYR++rSh+vy4v/QD0iOsrATWv3LdFJXSgk3d1+XIr5srW3jBiA==", "contentHash": "68bEFn7MLCyOB4yYxtvZG+AA+bZbxBDcIOhnSVFrHrAg8LLXVw1LxHCp9EyRktlREpnoAO1JxINp+5WeHc9Z4w==",
"dependencies": { "dependencies": {
"Microsoft.AspNetCore.Components": "8.0.8", "Microsoft.AspNetCore.Components": "8.0.8",
"Microsoft.AspNetCore.Components.Web": "8.0.8", "Microsoft.AspNetCore.Components.Web": "8.0.8",
@@ -147,10 +147,10 @@
}, },
"Microsoft.Extensions.FileProviders.Abstractions": { "Microsoft.Extensions.FileProviders.Abstractions": {
"type": "Transitive", "type": "Transitive",
"resolved": "9.0.0", "resolved": "9.0.1",
"contentHash": "uK439QzYR0q2emLVtYzwyK3x+T5bTY4yWsd/k/ZUS9LR6Sflp8MIdhGXW8kQCd86dQD4tLqvcbLkku8qHY263Q==", "contentHash": "DguZYt1DWL05+8QKWL3b6bW7A2pC5kYFMY5iXM6W2M23jhvcNa8v6AU8PvVJBcysxHwr9/jax0agnwoBumsSwg==",
"dependencies": { "dependencies": {
"Microsoft.Extensions.Primitives": "9.0.0" "Microsoft.Extensions.Primitives": "9.0.1"
} }
}, },
"Microsoft.Extensions.Localization": { "Microsoft.Extensions.Localization": {
@@ -188,8 +188,8 @@
}, },
"Microsoft.Extensions.Primitives": { "Microsoft.Extensions.Primitives": {
"type": "Transitive", "type": "Transitive",
"resolved": "9.0.0", "resolved": "9.0.1",
"contentHash": "N3qEBzmLMYiASUlKxxFIISP4AiwuPTHF5uCh+2CWSwwzAJiIYx0kBJsS30cp1nvhSySFAVi30jecD307jV+8Kg==" "contentHash": "bHtTesA4lrSGD1ZUaMIx6frU3wyy0vYtTa/hM6gGQu5QNrydObv8T5COiGUWsisflAfmsaFOe9Xvw5NSO99z0g=="
}, },
"Microsoft.JSInterop": { "Microsoft.JSInterop": {
"type": "Transitive", "type": "Transitive",
@@ -205,9 +205,6 @@
"type": "Transitive", "type": "Transitive",
"resolved": "0.16.9", "resolved": "0.16.9",
"contentHash": "7WaVMHklpT3Ye2ragqRIwlFRsb6kOk63BOGADV0fan3ulVfGLUYkDi5yNUsZS/7FVNkWbtHAlDLmu4WnHGfqvQ==" "contentHash": "7WaVMHklpT3Ye2ragqRIwlFRsb6kOk63BOGADV0fan3ulVfGLUYkDi5yNUsZS/7FVNkWbtHAlDLmu4WnHGfqvQ=="
},
"ericlientv1": {
"type": "Project"
} }
}, },
"net8.0/osx-arm64": {} "net8.0/osx-arm64": {}
@@ -1,4 +1,4 @@
# 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 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 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 the option to select the default app provider in the assistant settings under provider selection. Thank you, Peer (`peerschuett`), for reporting the issue.
@@ -6,3 +6,4 @@
- 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. - 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 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. - 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.
+8 -8
View File
@@ -1,9 +1,9 @@
0.9.27 0.9.28
2025-01-21 18:24:04 UTC 2025-02-09 16:33:40 UTC
202 203
8.0.111 (commit f3835a7fb4) 8.0.112 (commit f7cd007b9d)
8.0.11 (commit 9cb3b725e3) 8.0.12 (commit 89ef51c5d8)
1.84.0 (commit 9fc6b4312) 1.84.1 (commit e71f9a9a9)
7.15.0 7.16.0
1.8.1 1.8.1
940459ca467, release 6da4cf1425f, release
+84 -3
View File
@@ -1310,6 +1310,18 @@ dependencies = [
"wasi 0.11.0+wasi-snapshot-preview1", "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]] [[package]]
name = "gimli" name = "gimli"
version = "0.29.0" version = "0.29.0"
@@ -2319,7 +2331,7 @@ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
[[package]] [[package]]
name = "mindwork-ai-studio" name = "mindwork-ai-studio"
version = "0.9.27" version = "0.9.28"
dependencies = [ dependencies = [
"aes", "aes",
"arboard", "arboard",
@@ -2333,8 +2345,8 @@ dependencies = [
"once_cell", "once_cell",
"openssl", "openssl",
"pbkdf2", "pbkdf2",
"rand 0.8.5", "rand 0.9.0",
"rand_chacha 0.3.1", "rand_chacha 0.9.0",
"rcgen", "rcgen",
"reqwest 0.12.4", "reqwest 0.12.4",
"rocket", "rocket",
@@ -3238,6 +3250,17 @@ dependencies = [
"rand_core 0.6.4", "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]] [[package]]
name = "rand_chacha" name = "rand_chacha"
version = "0.2.2" version = "0.2.2"
@@ -3258,6 +3281,16 @@ dependencies = [
"rand_core 0.6.4", "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]] [[package]]
name = "rand_core" name = "rand_core"
version = "0.5.1" version = "0.5.1"
@@ -3276,6 +3309,16 @@ dependencies = [
"getrandom 0.2.15", "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]] [[package]]
name = "rand_hc" name = "rand_hc"
version = "0.2.0" 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" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" 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]] [[package]]
name = "wasm-bindgen" name = "wasm-bindgen"
version = "0.2.92" version = "0.2.92"
@@ -5625,6 +5677,15 @@ dependencies = [
"windows-sys 0.48.0", "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]] [[package]]
name = "write16" name = "write16"
version = "1.0.0" version = "1.0.0"
@@ -5766,6 +5827,26 @@ dependencies = [
"synstructure", "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]] [[package]]
name = "zerofrom" name = "zerofrom"
version = "0.1.5" version = "0.1.5"
+3 -3
View File
@@ -1,6 +1,6 @@
[package] [package]
name = "mindwork-ai-studio" name = "mindwork-ai-studio"
version = "0.9.27" version = "0.9.28"
edition = "2021" edition = "2021"
description = "MindWork AI Studio" description = "MindWork AI Studio"
authors = ["Thorsten Sommer"] authors = ["Thorsten Sommer"]
@@ -20,8 +20,8 @@ flexi_logger = "0.29.8"
log = { version = "0.4", features = ["kv"] } log = { version = "0.4", features = ["kv"] }
once_cell = "1.20" once_cell = "1.20"
rocket = { version = "0.5.1", features = ["json", "tls"] } rocket = { version = "0.5.1", features = ["json", "tls"] }
rand = "0.8" rand = "0.9"
rand_chacha = "0.3.1" rand_chacha = "0.9"
base64 = "0.22.1" base64 = "0.22.1"
cipher = { version = "0.4.4", features = ["std"] } cipher = { version = "0.4.4", features = ["std"] }
aes = "0.8.4" aes = "0.8.4"
+1 -1
View File
@@ -8,7 +8,7 @@ use rocket::request::FromRequest;
/// The API token used to authenticate requests. /// The API token used to authenticate requests.
pub static API_TOKEN: Lazy<APIToken> = Lazy::new(|| { pub static API_TOKEN: Lazy<APIToken> = Lazy::new(|| {
let mut token = [0u8; 32]; 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); rng.fill_bytes(&mut token);
let token = APIToken::from_bytes(token.to_vec()); let token = APIToken::from_bytes(token.to_vec());
+1 -1
View File
@@ -32,7 +32,7 @@ pub static ENCRYPTION: Lazy<Encryption> = Lazy::new(|| {
// We use a cryptographically secure pseudo-random number generator // We use a cryptographically secure pseudo-random number generator
// to generate the secret password & salt. ChaCha20Rng is the algorithm // to generate the secret password & salt. ChaCha20Rng is the algorithm
// of our choice: // 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: // Fill the secret key & salt with random bytes:
rng.fill_bytes(&mut secret_key); rng.fill_bytes(&mut secret_key);
+1 -1
View File
@@ -6,7 +6,7 @@
}, },
"package": { "package": {
"productName": "MindWork AI Studio", "productName": "MindWork AI Studio",
"version": "0.9.27" "version": "0.9.28"
}, },
"tauri": { "tauri": {
"allowlist": { "allowlist": {