What's New in FWH 26.10

Highlights of FiveWin for Harbour/xHarbour version 26.10 (October 2026). See also whatsnew.txt in the FWH root for the full day-by-day log.

QR code reading in pure Harbour

New sample samples\misc\qrread.prg decodes QR codes with no C code and no FWH dependency: it is the counterpart of qrcode.prg, which generates them.

Each function returns NIL or a hash with the text, version, error correction level and mask. Numeric, alphanumeric, byte and kanji modes are supported, and damaged codes are repaired with Reed-Solomon error correction. The optional @aCorners parameter receives the position of the decoded symbol: { TL, TR, BR, BL }, each { x, y } in image pixels (outer corners, without quiet zone), so apps can draw a frame around the code. User programs need #include "FiveWin.ch".

TOpenCode: local "opencode serve" backend with conversation history

TOpenCode (source/classes/topencode.prg) can now run against a local opencode serve server (o:SetServer( "http://127.0.0.1:4096" )): a persistent session with memory of the whole conversation, any provider/model configured in opencode (cProviderID + cModel), automatic session recovery when the server loses the session and session cleanup on End(). Basic auth is supported (cServerUser/cServerPass). This backend follows the approach of Charly 9000's TOpenCode class (MIT license).

Send() now carries the conversation in aMessages (lHistory, default .T.; ClearMessages() starts a new conversation) and the request timeout is configurable (nTimeout / SetTimeout()).

On the OpenCode Zen free tier (best effort): the default model is now mimo-v2.6-flash-free and the fallback list was refreshed to the models still alive. SSL certificates are now verified in every request (opt out with o:lVerifySSL := .F.), and IsRunning() no longer stays .T. forever when an async request fails without leaving a result. See TOpenCode.

Win64 fixes: SetTimer, AppendMenu and IsHIcon

TFolder: inherited backgrounds and page geometry fixed

Folder pages created without an explicit color now inherit the folder background correctly, both themed and classic, and explicit per-page colors survive Save()/cToChar()/CreateFromCode() (legacy .ffm files keep their saved colors). Resize() now adjusts the page area, so pages no longer leave a wrong strip at the bottom (source\classes\folder.prg). See TFolder.

VisualFW designer: palettes, build and form round-trip fixed

PrinterKeepSetup

New: PrinterKeepSetup( lOn ) keeps the printer chosen in PrinterSetup() or PageSetup() for the following print jobs of the application (by default every job starts with the Windows default printer, as always). If the kept printer is no longer available, FWH silently falls back to the default printer. Cancelling the setup dialog changes nothing, and PrinterResetSetup() forgets the kept printer. See TPrinter.

More fixes

New and enhanced samples

Documentation

The TWebView2 documentation (EN/ES/PT) now lists every class method with its signature and return, and every bOn* callback with its arguments, including bOnConsole JSON payloads and the limits of browsing-data cleanup, host objects and context-menu filtering. Library behavior is unchanged.