mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2026-02-12 03:41:38 +00:00
Prepared release v26.1.1 (#624)
Some checks failed
Build and Release / Read metadata (push) Has been cancelled
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-apple-darwin, osx-arm64, macos-latest, aarch64-apple-darwin, dmg updater) (push) Has been cancelled
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-pc-windows-msvc.exe, win-arm64, windows-latest, aarch64-pc-windows-msvc, nsis updater) (push) Has been cancelled
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-unknown-linux-gnu, linux-arm64, ubuntu-22.04-arm, aarch64-unknown-linux-gnu, appimage deb updater) (push) Has been cancelled
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-apple-darwin, osx-x64, macos-latest, x86_64-apple-darwin, dmg updater) (push) Has been cancelled
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-pc-windows-msvc.exe, win-x64, windows-latest, x86_64-pc-windows-msvc, nsis updater) (push) Has been cancelled
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-unknown-linux-gnu, linux-x64, ubuntu-22.04, x86_64-unknown-linux-gnu, appimage deb updater) (push) Has been cancelled
Build and Release / Prepare & create release (push) Has been cancelled
Build and Release / Publish release (push) Has been cancelled
Some checks failed
Build and Release / Read metadata (push) Has been cancelled
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-apple-darwin, osx-arm64, macos-latest, aarch64-apple-darwin, dmg updater) (push) Has been cancelled
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-pc-windows-msvc.exe, win-arm64, windows-latest, aarch64-pc-windows-msvc, nsis updater) (push) Has been cancelled
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-unknown-linux-gnu, linux-arm64, ubuntu-22.04-arm, aarch64-unknown-linux-gnu, appimage deb updater) (push) Has been cancelled
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-apple-darwin, osx-x64, macos-latest, x86_64-apple-darwin, dmg updater) (push) Has been cancelled
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-pc-windows-msvc.exe, win-x64, windows-latest, x86_64-pc-windows-msvc, nsis updater) (push) Has been cancelled
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-unknown-linux-gnu, linux-x64, ubuntu-22.04, x86_64-unknown-linux-gnu, appimage deb updater) (push) Has been cancelled
Build and Release / Prepare & create release (push) Has been cancelled
Build and Release / Publish release (push) Has been cancelled
This commit is contained in:
parent
529986837e
commit
ab7618097d
@ -6,7 +6,7 @@ FSL-1.1-MIT
|
|||||||
|
|
||||||
## Notice
|
## Notice
|
||||||
|
|
||||||
Copyright 2025 Thorsten Sommer
|
Copyright 2026 Thorsten Sommer
|
||||||
|
|
||||||
## Terms and Conditions
|
## Terms and Conditions
|
||||||
|
|
||||||
|
|||||||
@ -79,6 +79,7 @@ Since March 2025: We have started developing the plugin system. There will be la
|
|||||||
</h3>
|
</h3>
|
||||||
</summary>
|
</summary>
|
||||||
|
|
||||||
|
- v26.1.1: Added the option to attach files, including images, to chat templates; added support for source code file attachments in chats and document analysis; added a preview feature for recording your own voice for transcription; fixed various bugs in provider dialogs and profile selection.
|
||||||
- v0.10.0: Added support for newer models like Mistral 3 & GPT 5.2, OpenRouter as LLM and embedding provider, the possibility to use file attachments in chats, and support for images as input.
|
- v0.10.0: Added support for newer models like Mistral 3 & GPT 5.2, OpenRouter as LLM and embedding provider, the possibility to use file attachments in chats, and support for images as input.
|
||||||
- v0.9.51: Added support for [Perplexity](https://www.perplexity.ai/); citations added so that LLMs can provide source references (e.g., some OpenAI models, Perplexity); added support for OpenAI's Responses API so that all text LLMs from OpenAI now work in MindWork AI Studio, including Deep Research models; web searches are now possible (some OpenAI models, Perplexity).
|
- v0.9.51: Added support for [Perplexity](https://www.perplexity.ai/); citations added so that LLMs can provide source references (e.g., some OpenAI models, Perplexity); added support for OpenAI's Responses API so that all text LLMs from OpenAI now work in MindWork AI Studio, including Deep Research models; web searches are now possible (some OpenAI models, Perplexity).
|
||||||
- v0.9.50: Added support for self-hosted LLMs using [vLLM](https://blog.vllm.ai/2023/06/20/vllm.html).
|
- v0.9.50: Added support for self-hosted LLMs using [vLLM](https://blog.vllm.ai/2023/06/20/vllm.html).
|
||||||
@ -90,8 +91,6 @@ Since March 2025: We have started developing the plugin system. There will be la
|
|||||||
- v0.9.31: Added Helmholtz & GWDG as LLM providers. This is a huge improvement for many researchers out there who can use these providers for free. We added DeepSeek as a provider as well.
|
- v0.9.31: Added Helmholtz & GWDG as LLM providers. This is a huge improvement for many researchers out there who can use these providers for free. We added DeepSeek as a provider as well.
|
||||||
- v0.9.29: Added agents to support the RAG process (selecting the best data sources & validating retrieved data as part of the augmentation process)
|
- v0.9.29: Added agents to support the RAG process (selecting the best data sources & validating retrieved data as part of the augmentation process)
|
||||||
- v0.9.26+: Added RAG for external data sources using our [ERI interface](https://mindworkai.org/#eri---external-retrieval-interface) as a preview feature.
|
- v0.9.26+: Added RAG for external data sources using our [ERI interface](https://mindworkai.org/#eri---external-retrieval-interface) as a preview feature.
|
||||||
- v0.9.25: Added [xAI](https://x.ai/) as a new provider. xAI provides their Grok models for generating content.
|
|
||||||
- v0.9.23: Added support for OpenAI `o` models (`o1`, `o1-mini`, `o3`, etc.); added also an [ERI](https://github.com/MindWorkAI/ERI) server coding assistant as a preview feature behind the RAG feature flag. Your own ERI server can be used to gain access to, e.g., your enterprise data from within AI Studio.
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
|
|||||||
@ -4,7 +4,9 @@ public enum PrepareAction
|
|||||||
{
|
{
|
||||||
NONE,
|
NONE,
|
||||||
|
|
||||||
PATCH,
|
BUILD,
|
||||||
MINOR,
|
MONTH,
|
||||||
MAJOR,
|
YEAR,
|
||||||
|
|
||||||
|
SET,
|
||||||
}
|
}
|
||||||
@ -13,13 +13,32 @@ namespace Build.Commands;
|
|||||||
public sealed partial class UpdateMetadataCommands
|
public sealed partial class UpdateMetadataCommands
|
||||||
{
|
{
|
||||||
[Command("release", Description = "Prepare & build the next release")]
|
[Command("release", Description = "Prepare & build the next release")]
|
||||||
public async Task Release(PrepareAction action)
|
public async Task Release(
|
||||||
|
[Option("action", ['a'], Description = "The release action: patch, minor, or major")] PrepareAction action = PrepareAction.NONE,
|
||||||
|
[Option("version", ['v'], Description = "Set a specific version directly, e.g., 26.1.2")] string? version = null)
|
||||||
{
|
{
|
||||||
if(!Environment.IsWorkingDirectoryValid())
|
if(!Environment.IsWorkingDirectoryValid())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
// Validate parameters: either action or version must be specified, but not both:
|
||||||
|
if (action == PrepareAction.NONE && string.IsNullOrWhiteSpace(version))
|
||||||
|
{
|
||||||
|
Console.WriteLine("- Error: You must specify either --action (-a) or --version (-v).");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (action != PrepareAction.NONE && !string.IsNullOrWhiteSpace(version))
|
||||||
|
{
|
||||||
|
Console.WriteLine("- Error: You cannot specify both --action and --version. Please use only one.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// If version is specified, use SET action:
|
||||||
|
if (!string.IsNullOrWhiteSpace(version))
|
||||||
|
action = PrepareAction.SET;
|
||||||
|
|
||||||
// Prepare the metadata for the next release:
|
// Prepare the metadata for the next release:
|
||||||
await this.PerformPrepare(action, true);
|
await this.PerformPrepare(action, true, version);
|
||||||
|
|
||||||
// Build once to allow the Rust compiler to read the changed metadata
|
// Build once to allow the Rust compiler to read the changed metadata
|
||||||
// and to update all .NET artifacts:
|
// and to update all .NET artifacts:
|
||||||
@ -53,11 +72,30 @@ public sealed partial class UpdateMetadataCommands
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Command("prepare", Description = "Prepare the metadata for the next release")]
|
[Command("prepare", Description = "Prepare the metadata for the next release")]
|
||||||
public async Task Prepare(PrepareAction action)
|
public async Task Prepare(
|
||||||
|
[Option("action", ['a'], Description = "The release action: patch, minor, or major")] PrepareAction action = PrepareAction.NONE,
|
||||||
|
[Option("version", ['v'], Description = "Set a specific version directly, e.g., 26.1.2")] string? version = null)
|
||||||
{
|
{
|
||||||
if(!Environment.IsWorkingDirectoryValid())
|
if(!Environment.IsWorkingDirectoryValid())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
// Validate parameters: either action or version must be specified, but not both:
|
||||||
|
if (action == PrepareAction.NONE && string.IsNullOrWhiteSpace(version))
|
||||||
|
{
|
||||||
|
Console.WriteLine("- Error: You must specify either --action (-a) or --version (-v).");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (action != PrepareAction.NONE && !string.IsNullOrWhiteSpace(version))
|
||||||
|
{
|
||||||
|
Console.WriteLine("- Error: You cannot specify both --action and --version. Please use only one.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// If version is specified, use SET action:
|
||||||
|
if (!string.IsNullOrWhiteSpace(version))
|
||||||
|
action = PrepareAction.SET;
|
||||||
|
|
||||||
Console.WriteLine("==============================");
|
Console.WriteLine("==============================");
|
||||||
Console.Write("- Are you trying to prepare a new release? (y/n) ");
|
Console.Write("- Are you trying to prepare a new release? (y/n) ");
|
||||||
var userAnswer = Console.ReadLine();
|
var userAnswer = Console.ReadLine();
|
||||||
@ -67,17 +105,17 @@ public sealed partial class UpdateMetadataCommands
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
await this.PerformPrepare(action, false);
|
await this.PerformPrepare(action, false, version);
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task PerformPrepare(PrepareAction action, bool internalCall)
|
private async Task PerformPrepare(PrepareAction action, bool internalCall, string? version = null)
|
||||||
{
|
{
|
||||||
if(internalCall)
|
if(internalCall)
|
||||||
Console.WriteLine("==============================");
|
Console.WriteLine("==============================");
|
||||||
|
|
||||||
Console.WriteLine("- Prepare the metadata for the next release ...");
|
Console.WriteLine("- Prepare the metadata for the next release ...");
|
||||||
|
|
||||||
var appVersion = await this.UpdateAppVersion(action);
|
var appVersion = await this.UpdateAppVersion(action, version);
|
||||||
if (!string.IsNullOrWhiteSpace(appVersion.VersionText))
|
if (!string.IsNullOrWhiteSpace(appVersion.VersionText))
|
||||||
{
|
{
|
||||||
var buildNumber = await this.IncreaseBuildNumber();
|
var buildNumber = await this.IncreaseBuildNumber();
|
||||||
@ -239,17 +277,6 @@ public sealed partial class UpdateMetadataCommands
|
|||||||
var pathChangelogs = Path.Combine(Environment.GetAIStudioDirectory(), "wwwroot", "changelog");
|
var pathChangelogs = Path.Combine(Environment.GetAIStudioDirectory(), "wwwroot", "changelog");
|
||||||
var nextBuildNumber = currentBuildNumber + 1;
|
var nextBuildNumber = currentBuildNumber + 1;
|
||||||
|
|
||||||
//
|
|
||||||
// We assume that most of the time, there will be patch releases:
|
|
||||||
//
|
|
||||||
var nextMajor = currentAppVersion.Major;
|
|
||||||
var nextMinor = currentAppVersion.Minor;
|
|
||||||
var nextPatch = currentAppVersion.Patch + 1;
|
|
||||||
|
|
||||||
var nextAppVersion = $"{nextMajor}.{nextMinor}.{nextPatch}";
|
|
||||||
var nextChangelogFilename = $"v{nextAppVersion}.md";
|
|
||||||
var nextChangelogFilePath = Path.Combine(pathChangelogs, nextChangelogFilename);
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Regarding the next build time: We assume that the next release will take place in one week from now.
|
// Regarding the next build time: We assume that the next release will take place in one week from now.
|
||||||
// Thus, we check how many days this month has left. In the end, we want to predict the year and month
|
// Thus, we check how many days this month has left. In the end, we want to predict the year and month
|
||||||
@ -259,6 +286,19 @@ public sealed partial class UpdateMetadataCommands
|
|||||||
var nextBuildYear = (DateTime.Today + TimeSpan.FromDays(7)).Year;
|
var nextBuildYear = (DateTime.Today + TimeSpan.FromDays(7)).Year;
|
||||||
var nextBuildTimeString = $"{nextBuildYear}-{nextBuildMonth:00}-xx xx:xx UTC";
|
var nextBuildTimeString = $"{nextBuildYear}-{nextBuildMonth:00}-xx xx:xx UTC";
|
||||||
|
|
||||||
|
//
|
||||||
|
// We assume that most of the time, there will be patch releases:
|
||||||
|
//
|
||||||
|
// skipping the first 2 digits for major version
|
||||||
|
var nextBuildYearShort = nextBuildYear - 2000;
|
||||||
|
var nextMajor = nextBuildYearShort;
|
||||||
|
var nextMinor = nextBuildMonth;
|
||||||
|
var nextPatch = currentAppVersion.Major != nextBuildYearShort || currentAppVersion.Minor != nextBuildMonth ? 1 : currentAppVersion.Patch + 1;
|
||||||
|
|
||||||
|
var nextAppVersion = $"{nextMajor}.{nextMinor}.{nextPatch}";
|
||||||
|
var nextChangelogFilename = $"v{nextAppVersion}.md";
|
||||||
|
var nextChangelogFilePath = Path.Combine(pathChangelogs, nextChangelogFilename);
|
||||||
|
|
||||||
var changelogHeader = $"""
|
var changelogHeader = $"""
|
||||||
# v{nextAppVersion}, build {nextBuildNumber} ({nextBuildTimeString})
|
# v{nextAppVersion}, build {nextBuildNumber} ({nextBuildTimeString})
|
||||||
|
|
||||||
@ -355,7 +395,7 @@ public sealed partial class UpdateMetadataCommands
|
|||||||
await File.WriteAllLinesAsync(pathMetadata, lines, Environment.UTF8_NO_BOM);
|
await File.WriteAllLinesAsync(pathMetadata, lines, Environment.UTF8_NO_BOM);
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task<AppVersion> UpdateAppVersion(PrepareAction action)
|
private async Task<AppVersion> UpdateAppVersion(PrepareAction action, string? version = null)
|
||||||
{
|
{
|
||||||
const int APP_VERSION_INDEX = 0;
|
const int APP_VERSION_INDEX = 0;
|
||||||
|
|
||||||
@ -368,36 +408,56 @@ public sealed partial class UpdateMetadataCommands
|
|||||||
var pathMetadata = Environment.GetMetadataPath();
|
var pathMetadata = Environment.GetMetadataPath();
|
||||||
var lines = await File.ReadAllLinesAsync(pathMetadata, Encoding.UTF8);
|
var lines = await File.ReadAllLinesAsync(pathMetadata, Encoding.UTF8);
|
||||||
var currentAppVersionLine = lines[APP_VERSION_INDEX].Trim();
|
var currentAppVersionLine = lines[APP_VERSION_INDEX].Trim();
|
||||||
var currentAppVersion = AppVersionRegex().Match(currentAppVersionLine);
|
|
||||||
var currentPatch = int.Parse(currentAppVersion.Groups["patch"].Value);
|
|
||||||
var currentMinor = int.Parse(currentAppVersion.Groups["minor"].Value);
|
|
||||||
var currentMajor = int.Parse(currentAppVersion.Groups["major"].Value);
|
|
||||||
|
|
||||||
switch (action)
|
int newMajor, newMinor, newPatch;
|
||||||
|
if (action == PrepareAction.SET && !string.IsNullOrWhiteSpace(version))
|
||||||
{
|
{
|
||||||
case PrepareAction.PATCH:
|
// Parse the provided version string:
|
||||||
currentPatch++;
|
var versionMatch = AppVersionRegex().Match(version);
|
||||||
break;
|
if (!versionMatch.Success)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"- Error: Invalid version format '{version}'. Expected format: major.minor.patch (e.g., 26.1.2)");
|
||||||
|
return new(string.Empty, 0, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
case PrepareAction.MINOR:
|
newMajor = int.Parse(versionMatch.Groups["major"].Value);
|
||||||
currentPatch = 0;
|
newMinor = int.Parse(versionMatch.Groups["minor"].Value);
|
||||||
currentMinor++;
|
newPatch = int.Parse(versionMatch.Groups["patch"].Value);
|
||||||
break;
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Parse current version and increment based on action:
|
||||||
|
var currentAppVersion = AppVersionRegex().Match(currentAppVersionLine);
|
||||||
|
newPatch = int.Parse(currentAppVersion.Groups["patch"].Value);
|
||||||
|
newMinor = int.Parse(currentAppVersion.Groups["minor"].Value);
|
||||||
|
newMajor = int.Parse(currentAppVersion.Groups["major"].Value);
|
||||||
|
|
||||||
case PrepareAction.MAJOR:
|
switch (action)
|
||||||
currentPatch = 0;
|
{
|
||||||
currentMinor = 0;
|
case PrepareAction.BUILD:
|
||||||
currentMajor++;
|
newPatch++;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case PrepareAction.MONTH:
|
||||||
|
newPatch = 1;
|
||||||
|
newMinor++;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case PrepareAction.YEAR:
|
||||||
|
newPatch = 1;
|
||||||
|
newMinor = 1;
|
||||||
|
newMajor++;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var updatedAppVersion = $"{currentMajor}.{currentMinor}.{currentPatch}";
|
var updatedAppVersion = $"{newMajor}.{newMinor}.{newPatch}";
|
||||||
Console.WriteLine($"- Updating app version from '{currentAppVersionLine}' to '{updatedAppVersion}'.");
|
Console.WriteLine($"- Updating app version from '{currentAppVersionLine}' to '{updatedAppVersion}'.");
|
||||||
|
|
||||||
lines[APP_VERSION_INDEX] = updatedAppVersion;
|
lines[APP_VERSION_INDEX] = updatedAppVersion;
|
||||||
await File.WriteAllLinesAsync(pathMetadata, lines, Environment.UTF8_NO_BOM);
|
await File.WriteAllLinesAsync(pathMetadata, lines, Environment.UTF8_NO_BOM);
|
||||||
|
|
||||||
return new(updatedAppVersion, currentMajor, currentMinor, currentPatch);
|
return new(updatedAppVersion, newMajor, newMinor, newPatch);
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task UpdateLicenceYear(string licenceFilePath)
|
private async Task UpdateLicenceYear(string licenceFilePath)
|
||||||
|
|||||||
@ -13,6 +13,7 @@ public partial class Changelog
|
|||||||
|
|
||||||
public static readonly Log[] LOGS =
|
public static readonly Log[] LOGS =
|
||||||
[
|
[
|
||||||
|
new (231, "v26.1.1, build 231 (2026-01-11 15:53 UTC)", "v26.1.1.md"),
|
||||||
new (230, "v0.10.0, build 230 (2025-12-31 14:04 UTC)", "v0.10.0.md"),
|
new (230, "v0.10.0, build 230 (2025-12-31 14:04 UTC)", "v0.10.0.md"),
|
||||||
new (229, "v0.9.54, build 229 (2025-11-24 18:28 UTC)", "v0.9.54.md"),
|
new (229, "v0.9.54, build 229 (2025-11-24 18:28 UTC)", "v0.9.54.md"),
|
||||||
new (228, "v0.9.53, build 228 (2025-11-14 13:14 UTC)", "v0.9.53.md"),
|
new (228, "v0.9.53, build 228 (2025-11-14 13:14 UTC)", "v0.9.53.md"),
|
||||||
|
|||||||
@ -52,7 +52,7 @@
|
|||||||
<PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="9.0.11" />
|
<PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="9.0.11" />
|
||||||
<PackageReference Include="MudBlazor" Version="8.15.0" />
|
<PackageReference Include="MudBlazor" Version="8.15.0" />
|
||||||
<PackageReference Include="MudBlazor.Markdown" Version="8.11.0" />
|
<PackageReference Include="MudBlazor.Markdown" Version="8.11.0" />
|
||||||
<PackageReference Include="ReverseMarkdown" Version="4.7.1" />
|
<PackageReference Include="ReverseMarkdown" Version="5.0.0" />
|
||||||
<PackageReference Include="LuaCSharp" Version="0.5.1" />
|
<PackageReference Include="LuaCSharp" Version="0.5.1" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
|||||||
@ -190,7 +190,7 @@ public partial class Information : MSGComponentBase
|
|||||||
|
|
||||||
## Notice
|
## Notice
|
||||||
|
|
||||||
Copyright 2025 Thorsten Sommer
|
Copyright 2026 Thorsten Sommer
|
||||||
|
|
||||||
## Terms and Conditions
|
## Terms and Conditions
|
||||||
|
|
||||||
|
|||||||
@ -64,11 +64,11 @@
|
|||||||
},
|
},
|
||||||
"ReverseMarkdown": {
|
"ReverseMarkdown": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[4.7.1, )",
|
"requested": "[5.0.0, )",
|
||||||
"resolved": "4.7.1",
|
"resolved": "5.0.0",
|
||||||
"contentHash": "Tz8yJXg8J1O9xJn6fXzjeEcLTYjfwbauCGwK4f/dpxOOpo3iniXIggmRlJ7F91yHJPB0Gm4lk1/qV0Jxip4a8A==",
|
"contentHash": "Zw7ODMO/P8b4ua9qFdsmZPkPmYGCcSfwhKo8+81PCS0e6P21c9sOlYwVJ3MCEWZAGW+CXJBdF3FKtXKWZWzFTg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"HtmlAgilityPack": "1.12.1"
|
"HtmlAgilityPack": "1.12.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"BuildBundlerMinifier": {
|
"BuildBundlerMinifier": {
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
# v26.1.1, build 231 (2026-01-xx xx:xx UTC)
|
# v26.1.1, build 231 (2026-01-11 15:53 UTC)
|
||||||
- Added the option to attach files, including images, to chat templates. You can also define templates with file attachments through a configuration plugin. These file attachments aren’t copied—they’re re-read every time. That means the AI will pick up any updates you make to those files.
|
- Added the option to attach files, including images, to chat templates. You can also define templates with file attachments through a configuration plugin. These file attachments aren’t copied—they’re re-read every time. That means the AI will pick up any updates you make to those files.
|
||||||
- Added the option to use source code files in chats and document analysis. This supports software development workflows.
|
- Added the option to use source code files in chats and document analysis. This supports software development workflows.
|
||||||
- Added a preview feature that lets you record your own voice for transcription. The feature remains in development and appears only when the preview feature is enabled.
|
- Added a preview feature that lets you record your own voice for transcription. The feature remains in development and appears only when the preview feature is enabled.
|
||||||
@ -9,3 +9,4 @@
|
|||||||
- Fixed a bug in the profile selection where the "Use no profile" entry could not be localized, causing English text to appear in languages such as German. This behavior has now been fixed.
|
- Fixed a bug in the profile selection where the "Use no profile" entry could not be localized, causing English text to appear in languages such as German. This behavior has now been fixed.
|
||||||
- Fixed a bug in the provider dialogs (LLMs, embeddings, and transcriptions) when editing a provider. In cases where an error had to be displayed, a non-localized message in English was used.
|
- Fixed a bug in the provider dialogs (LLMs, embeddings, and transcriptions) when editing a provider. In cases where an error had to be displayed, a non-localized message in English was used.
|
||||||
- Fixed a very rare bug in the provider dialogs (LLMs, embeddings, and transcriptions) where a validation error appeared if the API key could not be read from the operating system, but the error did not clear after the user changed the API key.
|
- Fixed a very rare bug in the provider dialogs (LLMs, embeddings, and transcriptions) where a validation error appeared if the API key could not be read from the operating system, but the error did not clear after the user changed the API key.
|
||||||
|
- Upgraded dependencies.
|
||||||
1
app/MindWork AI Studio/wwwroot/changelog/v26.1.2.md
Normal file
1
app/MindWork AI Studio/wwwroot/changelog/v26.1.2.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
# v26.1.2, build 232 (2026-01-xx xx:xx UTC)
|
||||||
@ -1,11 +1,11 @@
|
|||||||
0.10.0
|
26.1.1
|
||||||
2025-12-31 14:04:01 UTC
|
2026-01-11 15:53:55 UTC
|
||||||
230
|
231
|
||||||
9.0.112 (commit 49aa03442a)
|
9.0.112 (commit 49aa03442a)
|
||||||
9.0.11 (commit fa7cdded37)
|
9.0.11 (commit fa7cdded37)
|
||||||
1.92.0 (commit ded5c06cf)
|
1.92.0 (commit ded5c06cf)
|
||||||
8.15.0
|
8.15.0
|
||||||
1.8.1
|
1.8.1
|
||||||
783782bad99, release
|
4cf44e91d2c, release
|
||||||
osx-arm64
|
osx-arm64
|
||||||
137.0.7215.0
|
137.0.7215.0
|
||||||
2
runtime/Cargo.lock
generated
2
runtime/Cargo.lock
generated
@ -2741,7 +2741,7 @@ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "mindwork-ai-studio"
|
name = "mindwork-ai-studio"
|
||||||
version = "0.10.0"
|
version = "26.1.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"aes",
|
"aes",
|
||||||
"arboard",
|
"arboard",
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "mindwork-ai-studio"
|
name = "mindwork-ai-studio"
|
||||||
version = "0.10.0"
|
version = "26.1.1"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
description = "MindWork AI Studio"
|
description = "MindWork AI Studio"
|
||||||
authors = ["Thorsten Sommer"]
|
authors = ["Thorsten Sommer"]
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
},
|
},
|
||||||
"package": {
|
"package": {
|
||||||
"productName": "MindWork AI Studio",
|
"productName": "MindWork AI Studio",
|
||||||
"version": "0.10.0"
|
"version": "26.1.1"
|
||||||
},
|
},
|
||||||
"tauri": {
|
"tauri": {
|
||||||
"allowlist": {
|
"allowlist": {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user