Skip to content

Releases: DimitrisLai/LRC-Bulk-Finder

LRC Bulk Finder v3.0 Stage 1 — Candidate Comparison (ALPHA TEST)

Choose a tag to compare

@github-actions github-actions released this 24 Oct 09:22

LRC Bulk Finder v3.0 — Stage 1 Windows Test (ALPHA)

This is a preview build from a feature branch. It is NOT the final/stable v3.0.
The original v2.9.9 search engine, UI version header and existing functions remain.
Extract the ENTIRE ZIP into a new directory. Keep your working v2.9.9 folder.

What's new

  • Open Candidate Review and click Compare candidates side by side (v3 Stage 1 — read-only).
  • Candidates are grouped by song inside their album folders, not by title alone.
  • Search song/folder; browse 200 song groups per page.
  • Select candidate A and B from the SAME song.
  • Compare timed text, line counts, timing differences and exact duplicates.
  • See available duration/timestamp warnings and an honest "Unknown source".
  • Large, malformed, missing and symbolic-link candidate files show errors, not writes.
  • No provider calls or audio uploads during review.

Not yet included

Stage 1 has NO synchronized audio playback in the comparison window.
The same shared Lyrics Studio player will be integrated in Stage 2.
There is also no new candidate installation, preference history or AI feature.
Old v2.9.9 promotion and Recycle Bin actions still exist, separately, unchanged.

What to test

  1. Back up a small music folder, COPY it, and use only that copy.
  2. Extract this ZIP into a NEW application folder (do not overwrite v2.9.9).
  3. Run LRC_Control_Center.exe (never launch Worker.exe directly).
  4. Choose the copied music folder and open Candidate Review.
  5. Click the new Compare button. Find songs with 1/2/3+ candidates.
  6. Change Candidate A/B; compare Greek, Greeklish and international files.
  7. Search by filename/folder; test Next/Previous pages if you have many candidates.
  8. Try a malformed LRC in the COPY: preview should show an error but never crash.
  9. Verify original MP3s, normal LRCs and candidate sidecars are unchanged.
  10. Close comparison, then confirm existing v2.9.9 search/Studio/Candidate Review still works.

Only use the read-only comparison features for this test. Existing promotion
and Recycle Bin buttons are separate actions and may change a copied folder.

Report the first error with a screenshot and whether you used English/Greek UI.
Do not post private music files, lyrics or absolute personal paths to GitHub.

LRC Bulk Finder v2.9.9 — English / Ελληνικά (Public Beta)

Choose a tag to compare

@github-actions github-actions released this 23 Oct 19:23
f740c51

v2.9.9 — Candidate Review progress and alternative disposal

Maintenance release after v2.9.8. No changes to lyrics source selection, verified lyric matching or G2G.

Progress

Candidate Review displays a determinate 0–100% progress bar and processed / total counter. Both Promote selected primaries, Promote ALL eligible primaries, and Delete selected alternatives report live progress, including skipped/error files. Stop batch stops between files. A cancelled batch retains the actual completion percentage instead of showing 100%.

Delete selected alternatives (Recycle Bin)

Select numbered alternatives (for example .candidate.2.lrc or .candidate.3.lrc) using Ctrl/Shift or Select visible alternatives. Click Delete selected alternatives (Recycle Bin), review the exact count and example filenames, and confirm. Only those specific numbered candidates are sent to the operating-system Recycle Bin or Trash via send2trash. Primary candidates, ordinary LRCs, audio, ID3, directories and out-of-scope/symlink files are never touched. If the Recycle Bin operation fails, the file is left in place: no permanent deletion fallback. Mixed selection skips nonalternatives.

Delete does not renumber remaining numbered alternatives; the original conservative promotion and candidate-shifting behavior is unchanged. The new Recycle Bin dependency is packaged with both Windows executables.

Acceptance and safety

Automated tests use only disposable music fixtures and a mocked recycler. Validate first with copies of several alternative candidate files. Check the progress bar, inspect Windows Recycle Bin, restore one file, and confirm audio and original primary candidates remain unchanged. System policies may block recycling; those failures are reported rather than bypassed.

LRC Bulk Finder v2.9.8 — English / Ελληνικά (Public Beta)

Choose a tag to compare

@github-actions github-actions released this 23 Oct 15:54
594731c

v2.9.8 — Candidate Review Workbench

A usability and safety-focused upgrade to the Candidate Review tab, without changing lyrics providers, search logic, scoring, tiers or AI features.

New review table

  • Sortable columns: Audio, candidate filename, primary/alternative kind, status, candidate number, folder. Click column heading to change sort and click again to reverse.
  • Filter by status: All statuses, Primary eligible, Primary needs review, Alternative, Already has LRC or Missing/ambiguous audio.
  • Live text filter by filename, directory and status.
  • Counters: Total candidates, Primary (the current unnumbered candidate per audio), Alternatives (.candidate.2/.candidate.3/etc.), Eligible primary, and Blocked primary. A separate count shows visible and selected rows.
  • Multiple selection: hold Ctrl/Shift or click Select visible / Select eligible primaries; Clear selection to start again. Preview shows the focused row.

Confirmed bulk actions

  • Promote selected primaries acts on eligible primary candidates in your selection; numbered alternatives and blocked rows are not directly promoted.
  • Promote ALL eligible primaries operates on eligible primary candidates across the current chosen music folder, respecting the Include subfolders setting, not only the visible filter. Its confirmation states the exact number and shows representative filenames.
  • Both actions require affirmative confirmation; no search or background benchmark can run simultaneously. Progress is shown while the work happens in a separate thread. Stop batch interrupts between candidate files.
  • Each promotion reuses the conservative existing promotion engine: adds the visible [00:00.00] candidate marker; NEVER upgrades lyrics to verified; NEVER overwrites an existing .lrc; NEVER edits MP3/audio/ID3; numbered alternatives are advanced through the existing exclusive-write safety routine. Errors and partial writes are recorded in the final UI tally. A batch may finish partially if the user presses Stop or a filesystem operation fails.
  • If the chosen audio filename is missing or ambiguous, or a verified/existing LRC already exists, the candidate is blocked. The user can filter and inspect these cases but cannot accidentally bulk promote them.

Validation and upgrade

  • Real disposable audio/sidecar fixtures test sorting, filtering, counts, multi-selection, explicit approval, cancellation, batch STOP, exclusion of numbered alternatives, existing-LRC protection, and preservation of original audio.
  • v2.9.7 Provider Intelligence, six cumulative provider packs, Greek G2G setup and all 15 presets remain unchanged.
  • Extract the complete standalone ZIP to a NEW folder and run LRC_Control_Center.exe. Keep v2.9.7 and v2.9.6 as backups. The original candidate sidecars are only changed by an explicitly confirmed promotion action.

Note: Promoted LRC files are NOT verified for timing correctness. Listen and review before using them as final synced lyrics.

LRC Bulk Finder v2.9.7 — English / Ελληνικά (Public Beta)

Choose a tag to compare

@github-actions github-actions released this 23 Oct 15:29
35e54b1

v2.9.7 — Provider Intelligence: safe benchmark + individual source exclusions

This is the two-feature update requested after v2.9.6, not v3.0. Old v2.9.6 release files remain available.

Test My Providers (new)

Go to Provider health and click Test My Providers. Choose a small, deterministic sample of 5 / 10 / 20 metadata-valid songs from the selected library. The application asks for explicit permission because this test makes REAL ONLINE lyrics API requests, even when the selected normal search action is offline-only.

The isolated benchmark worker probes each currently enabled provider independently for every sampled song, instead of stopping after the first result. Each provider gets: attempts, resolved verified matches, unique verified matches contributed in tier order, manual review candidates, true no-match responses, timeouts, errors, skipped/unavailable responses and mean response duration. A stable deterministic shuffle samples across the library (rather than just its first alphabetically sorted songs). Use the SAME test size for Tier 1 and Tier 2 to compare fairly.

Privacy / safety: no original audio, ID3 tags, .lrc, .candidate.lrc or search checkpoints are created, edited or installed by the benchmark. It reads song metadata in memory only and saves a separate aggregate-only CSV under your own user application-data folder: AppData/LRCBulkFinder/benchmarks. The CSV does not contain song names or filenames. Existing server-required rate limits / cooldown state can still be updated to prevent accidental rate-limit bypass on subsequent runs. Press Stop benchmark to terminate its process independently of a normal lyrics search.

A verified match count means the provider returned a match meeting the existing strict checks, not that the benchmark saved any lyrics. Unique counts attribute each sampled song to its first verifying source in tier priority order; they are comparisons, not evidence of global provider quality. A provider that returned no matches for this sample is not automatically broken. Actual upstream availability and latency must be confirmed on your real network; CI uses no HTTP traffic.

Individual provider exclusions (new)

In Saved searches > Individual provider exclusions, there is one checkbox for each source in the chosen provider pack. By default all selected sources are checked. Uncheck any source you prefer to skip, then save your search profile. No requests go to excluded providers during that profile's normal online stage or benchmark. At least one source must remain enabled.

The built-in Tier 1–6 lists remain unchanged and cumulative. Exclusions apply only AFTER choosing and ordering sources, and are saved per profile as a validated list. Legacy FAST/FULL profiles load exactly as before, with no exclusions. CUSTOM ordering still describes the complete underlying tier so re-enabling a provider does not destroy your saved ordering. Offline-only mode still makes no online source requests.

Status and cautions

Existing STOP, resume checkpoints, strict metadata/version/duration matching, provider cooldowns, G2G optional AI setup, and 15 saved presets are preserved. Benchmark attempts can be slow or rate limited; experiment with five songs before using the larger samples. The one-click benchmark consent is required for each run. Automated tests verify no lyric-writing functions are invoked, profile compatibility, sample privacy, CSV integrity and GUI controls. Real provider effectiveness requires a user acceptance run.

LRC Bulk Finder v2.9.6 — English / Ελληνικά (Public Beta)

Choose a tag to compare

@github-actions github-actions released this 23 Oct 12:48
a9b56ca

LRC Bulk Finder v2.9.6 — Cumulative Lyrics-Provider Packs

A maintenance release before v3.0: choose exactly how many online sources are searched, without losing existing FAST/FULL presets or user settings.

Packs are cumulative, in the selected order

Tier Added at this tier Total
1 — CORE LRCLIB, SyncLRC, Unison 3
2 — CORE + LrcAPI LrcAPI 4
3 — BROAD NetEase, Musixmatch, Megalobiz 7
4 — EXTENDED LiriQo, BetterKuGou 9
5 — MAXIMUM New BetterQQ, YouLyTTML, BetterTTML, Tencent 13
6 — EXPERIMENTAL ALL SimpMusic 14

Each tier contains all previous tiers, in their original sequence. Existing six-source and other previous presets stay as before because old profiles default to Legacy — FAST/FULL unchanged. Tier selection does NOT change your action (offline first / online / offline only), song limit, Greek mode, or local AI. OFFLINE ONLY never contacts these internet sources. Some high-tier services are rate-limited, unauthorized or unavailable and may be skipped.

Tier 5 introduces Better Lyrics QQ at its documented public /qq/getLyrics endpoint (QRC XML). The safe converter extracts line start timestamps and removes word-level timing markup. QRC has no proven resolved recording metadata in the used response, so QQ can only create review candidates, not verified auto-saved LRCs. Even if lyrics look right, the same approved candidate review applies.

Why the tiers were chosen: user diagnostics, October 23, 2026

The owner provided three local diagnostic files. None contain or transfer the user's music or file paths to GitHub. The performance summary CSV has zero totals throughout, while its associated JSONL contains 979 recorded attempts; the CSV must not be used as proof no providers were contacted.

The JSONL contains 139 attempts each for SyncLRC, Unison, YouLyTTML, LrcAPI, NetEase, Musixmatch and Megalobiz. It records no verified installs in those samples and just 1 review on SyncLRC. Recorded average attempt times: YouLyTTML ~10.9s, Unison ~9.1s, SyncLRC ~4.8s, NetEase ~4.3s, Musixmatch ~4.1s, Megalobiz ~3.9s and LrcAPI ~3.6s. LRCLIB recorded 3 errors, while BetterKuGou/BetterTTML/LiriQo had one error each. The HTTP CSV has 69 local SQLite LRCLIB lookups, not online HTTP evidence. Thus these results support selection and caution, not claiming a provider is globally down or removal without broader testing.

User experience

In Saved searches, use the Provider pack / cumulative tier dropdown. The current source count and cautionary description appear below it. Select one of the tiers, save your profile and run a small 20-song test first. Your previous settings remain unchanged until you deliberately choose a tier. For manual fine-tuning, CUSTOM order validates every name in the selected tier.

Greek/English labels describe the same stable tier keys. Searches report the selected source list and include the new QQ provider in provider health, full CSV reports and saved performance history. Existing source-specific Retry-After/backoff, restart protection, STOP and strict recording-duration/version verification remain.

Limitations

Many sources expose only search-only text or incomplete metadata, and so will only produce human-review candidates. More sources do not necessarily mean more verified LRCs. Unison's long response time or TTML's access restrictions are reasons to move them into cautious choices, not unilaterally declare them dead. BetterQQ requires real-world acceptance on each user's network; experimental API availability can change. No external provider was load-tested during this release QA.

LRC Bulk Finder v2.9.5 — English / Ελληνικά (Public Beta)

Choose a tag to compare

@github-actions github-actions released this 23 Oct 08:27
423360c

LRC Bulk Finder v2.9.5 — Modern Interface Refresh

This version changes the appearance only. It does not change the underlying lyric providers, matching rules, saved search profiles, G2G setup, the local LRCLIB database, audio/ID3 files or verified lyric-writing safety.

What is new

  • A clean, modern-looking Tkinter interface with more whitespace, Segoe UI typography, an attractive header, flatter buttons and better tab contrast.
  • Light and Dark modes, selected from the top of Control Center. Changes apply immediately, without restarting the app or interrupting work.
  • Choice is saved per user, together with the existing English/Greek language preference. Switching interface language never resets the theme.
  • Clear primary action for Start Search, distinct red STOP button, larger metrics and redesigned status/tables.
  • The long Saved searches screen is scrollable: setup and the Start Search button remain reachable even on smaller displays.
  • Compatible with all eight original top-level tabs, all five nested Studio tabs, existing 15 presets, Greek G2G optional installation and both language options.
  • Designed without heavyweight external UI frameworks or new web dependencies, so the standalone EXE can continue to ship normally.

Safety and compatibility

  • Original music, tags, existing LRCs, stored profiles and imported dictionaries are untouched.
  • The theme preferences live in the standard ui_settings.json and use atomic writes. Unknown/broken values revert safely to Light.
  • Automated QA covers light/dark contrast ratios, persistence, bilingual switching, selected-tab retention, search state and log preservation, plus the usual full Windows/Linux regression matrix.
  • The two EXEs still operate separately: Control Center handles visuals; the frozen worker performs the unchanged search.

Upgrade

Extract the entire v2.9.5 standalone ZIP into a fresh folder, keeping the prior v2.9.4 folder as backup. Start LRC_Control_Center.exe, then select Appearance → Light / Dark at the top-right. In the Greek interface, select Εμφάνιση → Φωτεινό / Σκοτεινό.

Users with lower-resolution screens can scroll the Saved searches form. Every control is still present and the bottom Start Search button is part of the scrollable form.

Test caution

The refreshed visuals are verified with automatic GUI tests and frozen-EXE startup tests, but minor OS-specific cosmetic differences (Windows scaling, fonts, high contrast preferences) should still be checked on real hardware. The third-party Greek G2G model is separately installed only on request, and its first full download remains a hardware acceptance test independent of this appearance update.

LRC Bulk Finder v2.9.4 — English / Ελληνικά (Public Beta)

Choose a tag to compare

@github-actions github-actions released this 23 Oct 07:58
d6c4279

v2.9.4 — One-click Greek G2G AI setup for Windows

Why the checkbox was disabled

The standalone app does not bundle AUEB's 1.2 GB Greeklish-to-Greek model, Python, PyTorch, or other heavy dependencies. In v2.9.3 the GUI protected users from selecting an AI mode that would inevitably fail. v2.9.4 adds a dedicated, optional installer and runtime companion.

New behavior

  • Click Install / verify Greek G2G AI (one click) inside Saved searches → Downloads & local setup.
  • Read/accept the download confirmation. No command-prompt navigation, manual folders or hand editing of PATH are required.
  • When necessary, the installer searches for Python 3.10–3.13 and can use Windows winget to install official Python 3.11. Windows/winget may request separate permissions.
  • Creates an isolated environment under Local AppData/LRCBulkFinder/G2G, installs CPU-oriented PyTorch and the upstream gr-nlp-toolkit==0.3.0, downloads the full G2G model and runs an actual conversion test.
  • A verified marker is written only after the self-test succeeds. Then the AI checkbox and Greek Local AI FULL preset become available in the standalone GUI. Failure or interruption keeps the option disabled; dictionary-only Greek search still works.
  • A persistent local Python companion handles AI conversions in the search worker without loading the large model repeatedly; inference is CPU-based so modest 4 GB GPUs are not required. Once installed, search-time model loading uses offline HF settings.
  • The progress window shows installer output; the app refuses to begin a music search while installing.

Safety

No installation begins without clicking the button and explicitly approving the network/download notice. No audio files, existing LRCs or ID3 metadata are changed by installation. The AI generates text SEARCH SUGGESTIONS and does not verify song/lyrics matches. A separate user environment avoids altering system-wide Python. Upstream downloads and optional winget/Python setup require internet and disk space and are subject to their own licenses and platforms.

Limitations and QA

  • The full model is ~1.2 GB plus potentially multiple GB of dependencies and may use substantial CPU/RAM. It is not included in the ZIP.
  • Windows PowerShell/winget availability and antivirus settings vary; the GUI reports real failures rather than claiming setup success.
  • GitHub offline tests mock installers/models and verify readiness/fallback. Frozen-EXE tests validate entrypoints, worker status and packaging. The first real model download/inference still requires acceptance testing on a user's Windows computer.
  • This is a beta. Existing v2.9.3 Windows release remains intact, and all previous Greek dictionaries, 15 search presets, UTF-8 fixes, STOP protection and no-overwrite logic are retained.

LRC Bulk Finder v2.9.3 — English / Ελληνικά (Public Beta)

Choose a tag to compare

@github-actions github-actions released this 23 Oct 07:07
f96fe28

LRC Bulk Finder v2.9.3 — Unicode Search Stability, Greek Vocabulary & Presets

This is a focused maintenance and vocabulary release. It fixes two real errors
reported from the Windows v2.9.2 standalone EXE
and brings the expanded
Greek source-linked dictionaries and international presets into the actual
Windows standalone package.

Fix 1 — Unicode filenames no longer crash long searches

The user's 5,150-song run stopped after track 15 with:
PROFILE ERROR: 'charmap' codec can't encode character '\\u2010'.
The worker now configures UTF-8 output before printing filenames and search
progress; the GUI also explicitly requests UTF-8 for the child worker. Windows
CP1252 cannot encode the Unicode hyphen U+2010, but UTF-8 can. All 5,135
unfinished songs are incomplete due to the crash, not proven lyrics misses.
Previously saved verified lyrics and review candidates stay where they were.

Fix 2 — No unsupported Local AI preset in standalone

The standalone EXE does not bundle the external G2G transformer model or
Python dependencies. It now hides/disables the Local AI preset, toggle and
installer button. Old saved profiles that request Local AI transparently
continue with conservative Greek dictionary matching. The worker also
handles independently launched old saved AI profiles without editing
profiles.json. The full Python build can still use an separately installed
compatible G2G model.

Named preset consistency and better failure reporting

If a named built-in preset, such as International FAST — 20 Songs, has been
saved with different action/scope settings (e.g. Offline First and ALL),
Control Center asks whether to restore the actual built-in settings, or
cancel and save custom settings under a different name. Worker failures are
labelled as failures, not as successful completion.

More Greek vocabulary

  • 730 Greek singer aliases, including 113 owner-approved, source-audited.
  • 92 additional unverified word suggestions from 105 Greek Wikipedia
    song-title pages across 15 categories. These are words from titles only,
    never copyrighted full lyrics. Romanizations are conservative and
    may require review; preexisting curated spellings always take precedence.
  • New Greek_Words_Wikipedia.csv and independently built
    Greek_Lexicon.sqlite3 are shipped with the standalone application.

Better preset list

15 presets, all Greek grouped together, followed by international/foreign
options; broadest provider coverage before lighter/faster/smaller scans. The
six old preset names remain compatible. All new GUI entries have English and
Greek descriptions.

QA and release discipline

Four-cell Windows/Linux Python 3.10/3.13 regression matrix, frozen two-EXE
smoke, Windows title and Unicode tests, 10k-file search/STOP protections,
PDF manual verification, two inspected ZIPs and independent published SHA256
verification are release gates. Source music/ID3/existing LRC are not changed
by upgrades; candidate lyrics remain unverified until reviewed. A successful
CI scan cannot guarantee external provider availability, user PC playback or
private collection performance. SignPath signing remains pending until verified.

How to upgrade

  1. Close the old app. Extract the entire new v2.9.3 standalone ZIP into a
    separate folder. Keep both EXEs, CSVs and SQLite together.
  2. Run LAUNCH_LRC_BULK_FINDER_WINDOWS.cmd (or
    LRC_Control_Center.exe), never the worker directly.
  3. Select your music folder and optional LRCLIB database. For a foreign test,
    Apply preset International FAST — 20 Songs, then start the search.
  4. If you formerly stored that built-in name with custom all-song settings,
    choose to restore the built-in values, or save your custom configuration
    under a different name. All existing lyric files and MP3s are preserved.

LRC Bulk Finder v2.9.2 — English / Ελληνικά (Public Beta)

Choose a tag to compare

@github-actions github-actions released this 22 Oct 21:21
bd68874

v2.9.2 — Greek Preflight & Progress Stability

Fixes a real report: after finding 3,183 tracks, a 20-track Greek search spent several minutes reading all music metadata before showing progress. Now the worker enumerates filenames and existing LRCs first (periodic PREFLIGHT DISCOVERY output), asks for the limit, reads metadata only until the requested number of non-LIVE eligible tracks is selected (PREFLIGHT METADATA output), and builds incremental metadata cache for selected search files. The LIVE title-tag exclusion is retained, preflight is cancellable, all original audio, ID3 and existing LRC files remain untouched. Full Smart Library audits retain full-library capabilities. All older features (search/provider cooldown, STOP, safe candidates, karaoke, SQLite QC, Greek/English UI) remain. The three privately uploaded actual Greek MP3s were inspected for correct durations/ID3, with synthetic metadata-only public regression fixtures; audio is never shipped in source or release. Users must still validate actual Windows PC, live provider requests and physical library speeds. No native G2G AI bundled.

LRC Bulk Finder v2.9.1 — English / Ελληνικά (Public Beta)

Choose a tag to compare

@github-actions github-actions released this 22 Oct 17:37
9a86874

LRC Bulk Finder v2.9.1 — Windows Startup & Version Display Stability Patch

This is a narrowly scoped stability update for the full-day pre-v3.0 test. All Smart Library, Lyrics Studio, Karaoke Edition, provider safety, music and LRC no-overwrite guarantees from v2.9.0 are retained.

Fixed

  • Actual version display: v2.9.0 opened with its correct title, then its language-refresh code silently changed the title to v2.7.0. Title generation now uses the same single current-version constant as the update checker and is checked on GUI startup plus every English/Greek switch.
  • Honest update version: a version constant inherited from older GUI utilities was stuck at v2.7.0 even though the engine was v2.9.0. All version sources now identify v2.9.1 consistently.
  • Direct worker invocation: double-clicking LRC_Bulk_Finder_Worker.exe is not a way to launch the application. It requires a selected profile sent by Control Center. The error now explicitly directs the user to LRC_Control_Center.exe while preserving command-line validation and return codes.
  • Friendlier Windows launch: new LAUNCH_LRC_BULK_FINDER_WINDOWS.cmd included in the Windows standalone ZIP. Double-click it to start the GUI and get clear guidance if either EXE was not extracted.
  • The actual packaged Windows GUI is now smoke-tested for its visible window title, not merely that its executable stays running. This closes the previous QA gap.

How to start

  1. Download v2.9.1 Windows Standalone GUI ZIP.
  2. Extract the entire ZIP into one folder (don't run anything inside the compressed ZIP).
  3. Double-click LAUNCH_LRC_BULK_FINDER_WINDOWS.cmd or LRC_Control_Center.exe. Both start the same graphical application.
  4. Do NOT double-click LRC_Bulk_Finder_Worker.exe; it is an invisible-to-the-user search process controlled by the GUI and will print a profile-argument error when manually launched.
  5. Confirm the GUI title shows LRC Bulk Finder v2.9.1 — Control Center in both English and Greek.

No original audio, tags or lyrics are changed by these startup fixes. The two Windows EXEs must remain together with the ZIP's supporting files. SignPath signing still requires external approval, and Windows SmartScreen may continue to warn.

The purpose of v2.9.1 is to provide a reliable build for the planned one-day acceptance trial before the final v3.0 release in 2026.