Releases: FiveTechSoft/HarbourBuilder
v1.4.4 - Unicode Emoji support & cPicture/Resizing fixes for Windows
Release v1.4.4 adding Unicode Emoji rendering support, cPicture image loading fixes for buttons/images, and responsive resizing layout controls on Windows.
v1.4.3 — TMemo fix for Windows (code gen + bridge)
Fixes
- TMemo code generation (Windows):
RegenerateFormCodematched deadnType == 9instead ofCT_MEMO = 24. Controls fell tootherwise→ comment placeholder. Now generates@ row,col MEMO ::oMemo VAR "" OF Self SIZE w,h. - UI_MemoNew bridge (Windows): Added
HB_FUNC( UI_MEMONEW )tohbbridge.cpp. Creates TMemo C++ object withES_MULTILINE | ES_AUTOVSCROLL | WS_VSCROLL | ES_WANTRETURN. Removedhb_retnint(0)stubs from IDE and standalone code-gen. - macOS parity:
hbbuilder_macos.prg:975already usednType == 24correctly.
Files changed
source/hbbuilder_win.prg— nType 9→24, removed UI_MEMONEW stubssource/cpp/hbbridge.cpp— New UI_MEMONEW bridge functionChangeLog.txt
v1.4.2 — Wider inspector panel (19% screen width)
- Inspector panel widened from 18% to 19% of screen width
- Version string 1.4.2 in title bar and About dialog on Mac, Windows and Linux
v1.4.1 — Fix initial Form1 position (815/357)
Fix: initial Form1 design window now opens at position 815/357 on macOS.
v1.4.0 — DeepSeek default AI backend
What's new
- DeepSeek as primary AI backend — combo now defaults to
deepseek-v4-flash/deepseek-chaton all platforms (macOS, Linux/GTK3, Windows) - Lazy Ollama install prompt — dialog to install Ollama moved from panel-open to send-time; only fires when user selects a local model and actually hits Send
- Silent Ollama probe — if Ollama is already running, installed models are appended below DeepSeek in the combo automatically
- Cleaner status hints — ready message now says
Type /key sk-... to configure DeepSeekinstead of pointing at Ollama
Setup
Set your DeepSeek API key inside the AI Assistant panel:
/key sk-your-key-here
Local models via Ollama still supported — install from https://ollama.com/download and models auto-appear in the list.
v1.3.0 — Dark mode, Report engine, DB linker fix
What's new
Features
- Dark mode (
cocoa_darkmode.m): NSAppearance-based dark/light mode support on macOS 10.14+ - Report engine (
cocoa_report.mm,cocoa_report_core.m): Report designer UI with Core Graphics rendering and newRPT_*functions - Report samples (
samples/projects/report2): 2-line and 3-line layout examples
Bug fix
- In-app project builder linker error: when
mysql-clientorlibpqare not installed via Homebrew, the builder now compilescocoa_mysql.c/cocoa_pgsql.cas no-op stubs (-DHB_NO_MYSQL/-DHB_NO_PGSQL). Previously these objects were skipped entirely, leavingEXTERNAL HBMYSQL_*/HBPGSQL_*symbols fromclasses.prgunresolved at link time.
v1.2.0 — Hungarian notation refactor
Breaking changes — property rename to Hungarian
Every public control class in source/core/classes.prg migrates from Delphi-style property names to Harbour Hungarian notation. The dual-name aliases (Glyph/Picture, Color/nClrPane, …) are dropped — code using the old names must be updated.
Renamed accessors
- TControl / TForm:
Name → cName,Left → nLeft,Top → nTop,Width → nWidth,Height → nHeight,Text → cText,Enabled → lEnabled,Color → nClrPane,Title → cTitle,AppTitle → cAppTitle,FontName → cFontName,FontSize → nFontSize,BorderStyle → nBorderStyle,Position → nPosition,Cursor → nCursor,Sizable → lSizable,AppBar → lAppBar,ToolWindow → lToolWindow,KeyPreview → lKeyPreview,ShowHint → lShowHint,Hint → cHint,AutoScroll → lAutoScroll,DoubleBuffered → lDoubleBuffered,AlphaBlend → lAlphaBlend,ClientWidth/Height → nClientWidth/nClientHeight,ModalResult → nModalResult,ControlAlign → nControlAlign - TButton / TBitBtn:
Default/Cancel/Kind/ModalResult→lDefault/lCancel/nKind/nModalResult;Glyphdropped, usecPicture - TSpeedButton:
Kind/Flat→nKind/lFlat;Glyphdropped - TImage:
Picturedropped, usecPicture - TShape / TBevel:
Shape/PenColor/PenWidth/Style→nShape/nPenColor/nPenWidth/nStyle - TEarthView / TMap:
Lat/Lon/Zoom/MapType→nLat/nLon/nZoom/nMapType - TStringGrid:
ColCount/RowCount/FixedRows/FixedColsalln-prefixed - TMaskEdit:
EditMask/MaskKind→cEditMask/nMaskKind - TCheckBox / TRadioButton:
Checked → lChecked - TTimer:
Enabled → lEnabled - TApplication:
Title → cTitle
OnXxx event setters and the semantic Value alias on TEdit/TMemo/TComboBox/TListBox are preserved.
Build pipeline catches up
include/hbbuilder.chDSL (DEFINE FORM,BUTTON,CHECKBOX,RADIOBUTTON) expands to the new setters — fixes the IDE startup crashTFORM:_FONTNAMEon theFONTclause.- Code generators in
source/hbbuilder_{win,macos,linux}.prgemit the renamed identifiers;RestoreFormFromCodeparsers recognise them.
Samples
Every project under samples/projects/ now builds with a bare harbour.exe invocation (40/40):
#include \"hbbuilder.ch\"injected where missing.dotnet/java/rust/rubyeditor strings converted toe\"…\\\"…\"extended literals.- Duplicate
MsgInfoinhelloworld/Project1.prgremoved. - Stray
----separators and out-of-orderOF/PROMPTclauses cleaned up.
macOS build script
build_mac.shnow detects mysql-client and libpq dynamically. When either is absent,cocoa_mysql.c/cocoa_pgsql.ccompile under-DHB_NO_MYSQL/-DHB_NO_PGSQLand emitHB_FUNCstubs for everyHBMYSQL_*/HBPGSQL_*entry declaredEXTERNALinclasses.prg. The IDE still links and runs;TMySQL/TPostgreSQLcalls return nil/0/empty until brew install enables them.detect_brew_prefixnow returns 0 on all paths soset -edoes not abort the build before the optional-DB logic runs.
Stress
| Test | Result |
|---|---|
| Samples × 5 iterations (Windows) | 200/200 OK, 2.81s avg |
| IDE startups × 10 (Windows) | 10/10 alive, 21 MB stable, ~3.5s |
classes.prg × 4 platform defines |
0 errors |
| macOS build (iMac 13.7.8) | OK, IDE runloop entered |
Commits
- 2e106a8 refactor: TForm/TControl/TButton/... props to Hungarian notation
- 31b0027 docs(win): update stale Delphi-style refs in hbbuilder_win.prg comments
- 5b64876 fix(samples): standalone harbour compile across all projects
- 8137118 build(mac): make mysql-client and libpq optional
- 21c97fb fix(mac build): detect_brew_prefix must not abort under set -e
HbBuilder v1.1.0 — xHarbour support
Highlights
xHarbour compiler support (Windows) — projects can now be built against xHarbour (c:\xHarbour) or xHarbour.com instead of Harbour.
What's new
- New Tools → Select Harbour Flavor... menu item picks the flavor (Harbour / xHarbour / xHarbour.com). The choice is persisted in
hbbuilder.ini([IDE]Flavor) and defaults toharbour, so existing Harbour builds are unchanged. FindHarbour()searchesc:\xHarbour/c:\xHarbour.comwith the flat xHarbour layout (bin\harbour.exe,lib\*.lib).- The build's link step uses xHarbour core lib names (
rtl/vm/codepage/lang/rdd/macro/pp/common/...) instead of Harbour'shb*-prefixed libs, across the msvc/bcc/mingw branches.
Fixes
- xHarbour SourceForge libraries are OMF (Borland) format and cannot be linked by MSVC
link.exe(LNK1136). A xHarbour flavor now prefers/auto-switches to BCC, or reports a clear error when no BCC is installed. - BCC compile commands now place
-obefore the source file (BCC ignores it otherwise), which leftstddlgs.objunbuilt. - Source compatibility:
__XHARBOUR__-guarded shim inclasses.prgfor Harbour-only RTL functions;__PLATFORM__WINDOWSnormalization;hbide.h/hbbridge.cpp/hb_db_real.cppadjusted for the xHarbour C API.
Notes
- Windows only.
c:\xHarbour.comis a source tree and must be built before it can be used as a compiler target.
Full changelog: see ChangeLog.txt (section 2026-05-16).
HbBuilder v1.0.0
First tagged release of HbBuilder — the cross-platform visual IDE for Harbour (Windows / macOS / Linux; Android & iOS targets in progress).
Downloads
| Platform | File | Notes |
|---|---|---|
| Windows (x86 + x64) | HbBuilder-1.0.0-windows.zip |
Unzip, run bin\hbbuilder_win.exe (32-bit) or bin\hbbuilder_win64.exe (64-bit). |
| Windows (ARM64, native) | HbBuilder-1.0.0-windows-arm64.zip |
Surface Pro X / 9 / 11, Snapdragon X PCs. Unzip, run bin\hbbuilder_win_arm64.exe. Keep resources\arm64\ next to the exe. |
| macOS (Intel x86_64) | HbBuilder-1.0.0-macos-x86_64.tar.gz |
tar xzf …, then xattr -dr com.apple.quarantine HbBuilder.app and run. |
| macOS (Apple Silicon arm64) | HbBuilder-1.0.0-macos-arm64.zip |
Unzip, clear quarantine as above, run HbBuilder.app. |
| Linux (x86_64) | HbBuilder-1.0.0-linux-x86_64.tar.gz |
Needs GTK 3. tar xzf …, then cd HbBuilder-1.0.0-linux/bin && chmod +x hbbuilder_linux && ./hbbuilder_linux. |
Keep the bin/ and resources/ folders side by side (the macOS .app is self-contained).
Highlights in this build (2026-05-11)
Windows IDE — startup & rendering
- Fixed a ~45-second startup stall:
TComponentPalette::SetCompIconrebuilt the entire component palette (and leaked a tooltip window per button) on every one of ~130 per-component icon overrides. It now does a single coalesced repaint. GDI+ is also initialised once for the process instead ofGdiplusStartup/GdiplusShutdownper image. Startup time: ~46 s → ~1.4 s. - Embedded an application manifest (
dpiAware+ Common-Controls v6) so the process is DPI-aware from creation — no more blurry / stretched title, menu and toolbars during the first seconds. Build scripts gained a resource-compile step (rc.exe / brcc32 / windres). - Added startup timing instrumentation (
startup_timing.log). Main IDE bar trimmed 60 px on ≥1920-wide screens.
Windows IDE — Scintilla code editor
- Fixed "Cannot load Scintilla.dll / Lexilla.dll": the IDE exe and the bundled Scintilla/Lexilla DLLs must match bitness.
resources/now shipsx86/andx64/DLL sets; the loader picks the right one from the running exe's bitness.build_win.batcopies the matching set;build_scintilla_x86.batbuilds the 32-bit DLLs fromresources/scintilla_src.
Windows IDE — build toolchain
- In-IDE "Build Project" uses the MSVC toolset whose architecture matches the installed Harbour libs (no more LNK4272 x64/x86 conflicts).
- AI Assistant no longer pops a modal dialog on panel open when no backend is configured.
macOS IDE — refreshed build (2026-05-11)
HbBuilder-1.0.0-macos-x86_64.tar.gzre-uploaded with the current Intel build of theHbBuilder.appbundle (multi-form layout: Inspector, component palette, Scintilla editor, form designer, AI Assistant panel).- Updated README screenshot (
images/macos_scintilla.png) to match the current IDE state. - Apple Silicon (
arm64) asset is unchanged in this refresh.
Windows ARM64 — new asset (2026-05-11)
- First native Windows ARM64 build:
HbBuilder-1.0.0-windows-arm64.zip(~2.2 MB). - Built on GitHub-hosted
windows-11-armrunner with MSVC ARM64 toolchain (cl.exe/link.exe /MACHINE:ARM64). - Harbour and Scintilla / Lexilla DLLs compiled from source for ARM64;
/CETCOMPAT(x86/x64-only Intel CET flag) is stripped from the Scintilla/Lexilla makefiles before nmake. - Reproducible CI:
.github/workflows/build-windows-arm64.yml(manualworkflow_dispatch).
See ChangeLog.txt for the full history.