chore: prepare 0.5.0 Linux and Windows release

This commit is contained in:
2026-10-25 23:00:45 +03:00
parent a65867fc39
commit d2d9fcd09e
7 changed files with 86 additions and 23 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
# Desktop builds and releases
For this fork’s Linux and Windows 0.4.0 release on Gitea, see [Gitea releases](gitea-release.md).
For this fork’s Linux and Windows 0.5.0 release on Gitea, see [Gitea releases](gitea-release.md).
The three-platform GitHub process below documents the upstream reference.
## Platforms
+17 -16
View File
@@ -2,7 +2,7 @@
The release destination is
https://server2.sorokin-oleg-edu.xyz/replicated/learnharness.
Version **0.4.0 targets Linux x64 and Windows x64**, with each platform built
Version **0.5.0 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,19 @@ 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.4.0 has these attachments:
The Linux portion of 0.5.0 has these attachments:
- `LearnHarness-0.4.0-x86_64.AppImage`
- `LearnHarness-0.4.0-amd64.deb`
- `LearnHarness-0.5.0-x86_64.AppImage`
- `LearnHarness-0.5.0-amd64.deb`
- `latest-linux.yml`
- `SHA256SUMS`
## Preparing Windows packages
Use a clean checkout of the same `v0.4.0` tag on Windows x64 with Node 26 and Git
for Windows. Keep build tools and logs outside the checkout. The local Windows
checkout used for this release is `~/Documents/Gitea/learnharness`.
Use a clean checkout of the same `v0.5.0` 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.0`, linked to the
existing repository in `~/Documents/Gitea/learnharness`.
In PowerShell, stop after any failed command:
@@ -84,13 +85,13 @@ node scripts/smoke-demo-runtime.mjs --standalone dist/win-unpacked/resources/ser
Windows contributes three attachments:
- `LearnHarness-0.4.0-x64-setup.exe`
- `LearnHarness-0.4.0-x64-setup.exe.blockmap`
- `LearnHarness-0.5.0-x64-setup.exe`
- `LearnHarness-0.5.0-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.4.0`, and matches the installer's actual
installer exactly, reports version `0.5.0`, 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
@@ -101,8 +102,8 @@ configuration.
Commit and push the release source, then push its exact annotated tag:
```sh
git tag -a v0.4.0 -m 'LearnHarness 0.4.0'
git push gitea main v0.4.0
git tag -a v0.5.0 -m 'LearnHarness 0.5.0'
git push gitea main v0.5.0
```
Supply `GITEA_TOKEN` only to the upload command. A token file may remain outside
@@ -116,10 +117,10 @@ 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.4.0.md`.
visibility. Release notes come from `docs/release-0.5.0.md`.
This uploader and its remote verifier enforce a **Linux-only** inventory. They
will refuse a combined Linux/Windows draft. For the combined 0.4.0 release, add
will refuse a combined Linux/Windows draft. For the combined 0.5.0 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
@@ -141,12 +142,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.4.0 was prepared, so its packages are built locally. A tag push
registered when 0.5.0 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.4.0 draft was assembled from local native builds.
Linux-only; the combined 0.5.0 draft was assembled from local native builds.
Windows has its own standalone payload and smoke checks, as described above.
+62
View File
@@ -0,0 +1,62 @@
# LearnHarness 0.5.0
## English
This release adds ChatGPT Fast mode and improves the language controls and
Russian settings layout introduced in 0.4.0.
- Interface-language and speech-recognition selectors in **Settings → General**,
plus the quick selector beside the microphone, now use the app's styled menus.
The menus include selected-item checkmarks and keyboard navigation; Escape
closes the menu and restores focus to its trigger. Language preferences stay
independent, and STT selection remains locked while recording.
- **Quizzing** keeps its full Russian labels. The label and segmented control
share a row when space permits. Narrower panels stack the control beneath the
hint with matching left alignment and enough height for wrapped text.
- **Settings → Agent** now has a **⚡ Fast** toggle for each Strong, Cheap, and
Vision model tier. Fast mode is **off by default** and initially available only
for **ChatGPT** connections. It requests priority processing and may consume
more ChatGPT plan allowance; availability depends on the model and account.
- Fast preferences take effect on the **next request**, including existing
ChatGPT conversations and newly started background work in the corresponding
tier. The selected model and reasoning effort are preserved. Selecting another
provider turns Fast off for that tier; other providers show it as unavailable.
- Unsupported Fast requests produce actionable, localized errors. Connections
keep their existing account, background-consent, and no-API-key-fallback rules.
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 upstream.
## Русский
В этом выпуске добавлен быстрый режим ChatGPT и улучшены языковые настройки
и их отображение на русском языке, появившиеся в версии 0.4.0.
- Выбор языка интерфейса и распознавания речи в разделе **Настройки → Общие**,
а также быстрый выбор языка рядом с микрофоном теперь используют меню в стиле
приложения. Выбранный пункт отмечен галочкой, поддерживается управление
клавиатурой. Escape закрывает меню и возвращает фокус на кнопку. Языковые
настройки остаются независимыми; язык распознавания нельзя менять во время
записи.
- В разделе **Проверка понимания** сохранены полные русские подписи. Если места
достаточно, заголовок и переключатель расположены в одной строке. В узких
панелях переключатель размещается под пояснением с выравниванием по левому
краю; высота кнопок учитывает перенос текста.
- В разделе **Настройки → Агент** появился переключатель **⚡ Быстро** для каждого
уровня моделей: основной, экономичной и с поддержкой изображений. Быстрый
режим **отключён по умолчанию** и пока доступен только для подключений
**ChatGPT**. Он запрашивает приоритетную обработку и может быстрее расходовать
лимит ChatGPT. Доступность зависит от модели и учётной записи.
- Настройка применяется к **следующему запросу**, в том числе в существующих
занятиях с ChatGPT и в новых фоновых задачах соответствующего уровня.
Выбранная модель и уровень рассуждений сохраняются. При выборе другого
провайдера быстрый режим для этого уровня отключается; для остальных
провайдеров переключатель недоступен.
- Если быстрый режим не поддерживается, приложение показывает понятную ошибку
на выбранном языке. Сохраняются выбранная учётная запись, разрешения на
фоновую работу и запрет автоматического перехода на API-ключ.
Пакеты: AppImage и Debian для **Linux x64**, установщик для **Windows x64**.
Обе версии используют публичные выпуски этого форка в Gitea для автоматических
обновлений. Установщик Windows не подписан, как и в исходном проекте.