chore: prepare 0.5.2 Linux and Windows release

This commit is contained in:
2026-10-26 02:14:27 +03:00
parent ce28d95bcf
commit 168cad7470
6 changed files with 83 additions and 24 deletions
+2 -2
View File
@@ -1,12 +1,12 @@
name: Linux desktop release
# Manual until a native Linux runner is registered. The current 0.5.1
# Manual until a native Linux runner is registered. The current 0.5.2
# packages are built locally using the identical gates documented below.
on:
workflow_dispatch:
inputs:
tag:
description: Existing stable version tag to package (for example v0.5.1)
description: Existing stable version tag to package (for example v0.5.2)
required: true
type: string
+1 -1
View File
@@ -1,6 +1,6 @@
# Desktop builds and releases
For this fork’s Linux and Windows 0.5.1 release on Gitea, see [Gitea releases](gitea-release.md).
For this fork’s Linux and Windows 0.5.2 release on Gitea, see [Gitea releases](gitea-release.md).
The three-platform GitHub process below documents the upstream reference.
## Platforms
+21 -18
View File
@@ -2,7 +2,7 @@
The release destination is
https://server2.sorokin-oleg-edu.xyz/replicated/learnharness.
Version **0.5.1 targets Linux x64 and Windows x64**, with each platform built
Version **0.5.2 targets Linux x64 and Windows x64**, with each platform built
and verified on its native operating system. The upstream GitHub workflow and three-platform packaging
configuration remain available as reference in `.github/workflows/release.yml`
and `electron-builder.yml`.
@@ -48,18 +48,18 @@ node scripts/smoke-provider-runtime.mjs --standalone dist/linux-unpacked/resourc
xvfb-run -a node scripts/smoke-demo-runtime.mjs --standalone dist/linux-unpacked/resources/server/standalone --runtime dist/linux-unpacked/learnharness --browser
```
The Linux portion of 0.5.1 has these attachments:
The Linux portion of 0.5.2 has these attachments:
- `LearnHarness-0.5.1-x86_64.AppImage`
- `LearnHarness-0.5.1-amd64.deb`
- `LearnHarness-0.5.2-x86_64.AppImage`
- `LearnHarness-0.5.2-amd64.deb`
- `latest-linux.yml`
- `SHA256SUMS`
## Preparing Windows packages
Use a clean checkout of the same `v0.5.1` tag on Windows x64 with Node 26 and Git
Use a clean checkout of the same `v0.5.2` tag on Windows x64 with Node 26 and Git
for Windows. Keep build tools and logs outside the checkout. The Windows
release checkout is `~/Documents/Gitea/learnharness-release-0.5.1`, linked to the
release checkout is `~/Documents/Gitea/learnharness-release-0.5.2`, linked to the
existing repository in `~/Documents/Gitea/learnharness`.
In PowerShell, stop after any failed command:
@@ -85,13 +85,13 @@ node scripts/smoke-demo-runtime.mjs --standalone dist/win-unpacked/resources/ser
Windows contributes three attachments:
- `LearnHarness-0.5.1-x64-setup.exe`
- `LearnHarness-0.5.1-x64-setup.exe.blockmap`
- `LearnHarness-0.5.2-x64-setup.exe`
- `LearnHarness-0.5.2-x64-setup.exe.blockmap`
- `latest.yml`
The combined release has **seven attachments**, including one `SHA256SUMS`
covering all six other files. Verify that `latest.yml` names the Windows
installer exactly, reports version `0.5.1`, and matches the installer's actual
installer exactly, reports version `0.5.2`, and matches the installer's actual
size and SHA-512. Its gzip blockmap must cover the installer and match every
block checksum. Confirm the packaged `resources/app-update.yml` uses the Gitea
generic provider. Windows builds follow upstream's unsigned, per-user installer
@@ -102,8 +102,8 @@ configuration.
Commit and push the release source, then push its exact annotated tag:
```sh
git tag -a v0.5.1 -m 'LearnHarness 0.5.1'
git push gitea main v0.5.1
git tag -a v0.5.2 -m 'LearnHarness 0.5.2'
git push gitea main v0.5.2
```
Supply `GITEA_TOKEN` only to the upload command. A token file may remain outside
@@ -117,15 +117,18 @@ The tool requires the tag to exist in Gitea, creates or reuses one draft at that
tag, uploads missing assets, and downloads every attachment to verify its actual
SHA-256 against the local verified build. Existing mismatched attachments and
published releases are refused. It never publishes or changes repository
visibility. Release notes come from `docs/release-0.5.1.md`.
visibility. Release notes come from `docs/release-0.5.2.md`.
This uploader and its remote verifier enforce a **Linux-only** inventory. They
will refuse a combined Linux/Windows draft. For the combined 0.5.1 release, add
will refuse a combined Linux/Windows draft. For the combined 0.5.2 release, add
the verified Windows attachments to the existing draft and replace `SHA256SUMS`
with the combined manifest. Keep the Linux installers and feed unchanged. Check
all seven attachment names, sizes, and actual downloaded hashes against the
verified local builds; update the bilingual release notes to include Windows.
Do not publish until both platforms' checks pass.
all seven attachment names and sizes against the verified local builds. For
the owner-approved 0.5.2 release, local installer/feed/blockmap validation and
the combined checksum manifest are completed before upload. Confirm successful
upload responses and publish immediately afterward; do not download attachments
again or run post-upload hash checks. Do not publish until both platforms'
local checks pass.
A separate verification can be repeated without changing the draft:
@@ -142,12 +145,12 @@ public `latest` feed and in-app automatic updates expose this version.
workflow with an existing release tag as input. It requires a native Linux x64
runner labeled `ubuntu-24.04`, the label used by upstream's Linux release job,
plus the native Electron dependencies and `xvfb-run`. There were no runners
registered when 0.5.1 was prepared, so its packages are built locally. A tag push
registered when 0.5.2 was prepared, so its packages are built locally. A tag push
does not queue a job that cannot run.
The workflow uses the repository's ephemeral `GITEA_TOKEN` with release-write
permission only in the final upload step. It checks out the requested tag without
persisting credentials and leaves the result as a verified draft. Public pull
requests cannot trigger this publishing workflow. This workflow remains
Linux-only; the combined 0.5.1 draft was assembled from local native builds.
Linux-only; the combined 0.5.2 draft was assembled from local native builds.
Windows has its own standalone payload and smoke checks, as described above.
+56
View File
@@ -0,0 +1,56 @@
# LearnHarness 0.5.2
## English
This release adds preferred speech-recognition languages and fixes the model
settings layout.
- **Settings → General → Preferred languages** offers **English** and **Русский**
checkboxes below the label and explanation. Select both with **Multilingual**
to guide recognition toward Russian and English in the same recording.
Preferred languages are hints, so other supported languages may still be
recognized. Leaving both unchecked keeps automatic detection.
- Preferences are saved independently of interface language and STT mode.
They remain saved when a single-language mode is selected, but are sent only
with Multilingual. The controls lock while saving or recording, and a failed
save preserves the previous choice and shows a localized error.
- Each recording keeps its language and preferred-language hints through any
reconnects. Later preference changes apply to the next recording.
- **Settings → Agent** now gives model-tier descriptions a flexible text column.
Model, reasoning, and Fast controls stay together and align across tiers.
Narrow panels place the complete control group below the description,
aligned left. Long model names keep their existing ellipsis, and background-use
permission buttons occupy a separate line.
Packages: **Linux x64** AppImage and Debian, and a **Windows x64** installer.
Both platforms use this fork's public Gitea releases for automatic updates.
Windows packaging remains unsigned, matching previous releases.
## Русский
В этом выпуске добавлен выбор предпочитаемых языков распознавания речи
и исправлено расположение элементов в настройках моделей.
- В разделе **Настройки → Общие → Предпочитаемые языки** появились флажки
**English** и **Русский**, расположенные под заголовком и пояснением.
Выберите оба в режиме **Несколько языков**, чтобы отдавать приоритет русскому
и английскому в одной записи. Это подсказки для распознавания: другие
поддерживаемые языки тоже могут быть распознаны. Если оба флажка сняты,
используется автоматическое определение языка.
- Предпочтения сохраняются независимо от языка интерфейса и режима распознавания.
При выборе одного языка они сохраняются, но отправляются только в режиме
«Несколько языков». Флажки заблокированы во время сохранения и записи.
Если сохранить настройку не удалось, прежний выбор сохраняется, а приложение
показывает ошибку на выбранном языке.
- Язык и подсказки фиксируются на время записи, включая повторные подключения.
Последующие изменения применяются к следующей записи.
- В разделе **Настройки → Агент** описания уровней моделей занимают гибкую
текстовую колонку. Выбор модели, уровня рассуждения и быстрый режим остаются
вместе и выровнены между уровнями. В узких панелях вся группа располагается
под описанием с выравниванием по левому краю. Длинные названия моделей
по-прежнему сокращаются многоточием, а кнопки разрешения фоновой работы
размещаются на отдельной строке.
Пакеты: AppImage и Debian для **Linux x64**, установщик для **Windows x64**.
Обе версии используют публичные выпуски этого форка в Gitea для автоматических
обновлений. Установщик Windows не подписан, как и в предыдущих выпусках.
+2 -2
View File
@@ -1,12 +1,12 @@
{
"name": "learnharness",
"version": "0.5.1",
"version": "0.5.2",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "learnharness",
"version": "0.5.1",
"version": "0.5.2",
"license": "AGPL-3.0-only",
"dependencies": {
"@earendil-works/pi-agent-core": "1.4.0",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "learnharness",
"version": "0.5.1",
"version": "0.5.2",
"license": "AGPL-3.0-only",
"author": {
"name": "Amos Blomqvist",