Skip to content

Releases: FiveTechSoft/HarbourBuilder

v1.4.4 - Unicode Emoji support & cPicture/Resizing fixes for Windows

31 May 08:48

Choose a tag to compare

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)

31 May 04:03

Choose a tag to compare

Fixes

  • TMemo code generation (Windows): RegenerateFormCode matched dead nType == 9 instead of CT_MEMO = 24. Controls fell to otherwise → comment placeholder. Now generates @ row,col MEMO ::oMemo VAR "" OF Self SIZE w,h.
  • UI_MemoNew bridge (Windows): Added HB_FUNC( UI_MEMONEW ) to hbbridge.cpp. Creates TMemo C++ object with ES_MULTILINE | ES_AUTOVSCROLL | WS_VSCROLL | ES_WANTRETURN. Removed hb_retnint(0) stubs from IDE and standalone code-gen.
  • macOS parity: hbbuilder_macos.prg:975 already used nType == 24 correctly.

Files changed

  • source/hbbuilder_win.prg — nType 9→24, removed UI_MEMONEW stubs
  • source/cpp/hbbridge.cpp — New UI_MEMONEW bridge function
  • ChangeLog.txt

v1.4.2 — Wider inspector panel (19% screen width)

28 May 09:42

Choose a tag to compare

  • 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)

28 May 09:36

Choose a tag to compare

Fix: initial Form1 design window now opens at position 815/357 on macOS.

v1.4.0 — DeepSeek default AI backend

28 May 09:05

Choose a tag to compare

What's new

  • DeepSeek as primary AI backend — combo now defaults to deepseek-v4-flash / deepseek-chat on 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 DeepSeek instead 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

27 May 19:56

Choose a tag to compare

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 new RPT_* functions
  • Report samples (samples/projects/report2): 2-line and 3-line layout examples

Bug fix

  • In-app project builder linker error: when mysql-client or libpq are not installed via Homebrew, the builder now compiles cocoa_mysql.c/cocoa_pgsql.c as no-op stubs (-DHB_NO_MYSQL/-DHB_NO_PGSQL). Previously these objects were skipped entirely, leaving EXTERNAL HBMYSQL_*/HBPGSQL_* symbols from classes.prg unresolved at link time.

v1.2.0 — Hungarian notation refactor

27 May 17:06

Choose a tag to compare

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/ModalResultlDefault/lCancel/nKind/nModalResult; Glyph dropped, use cPicture
  • TSpeedButton: Kind/FlatnKind/lFlat; Glyph dropped
  • TImage: Picture dropped, use cPicture
  • TShape / TBevel: Shape/PenColor/PenWidth/StylenShape/nPenColor/nPenWidth/nStyle
  • TEarthView / TMap: Lat/Lon/Zoom/MapTypenLat/nLon/nZoom/nMapType
  • TStringGrid: ColCount/RowCount/FixedRows/FixedCols all n-prefixed
  • TMaskEdit: EditMask/MaskKindcEditMask/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.ch DSL (DEFINE FORM, BUTTON, CHECKBOX, RADIOBUTTON) expands to the new setters — fixes the IDE startup crash TFORM:_FONTNAME on the FONT clause.
  • Code generators in source/hbbuilder_{win,macos,linux}.prg emit the renamed identifiers; RestoreFormFromCode parsers 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/ruby editor strings converted to e\"…\\\"…\" extended literals.
  • Duplicate MsgInfo in helloworld/Project1.prg removed.
  • Stray ---- separators and out-of-order OF/PROMPT clauses cleaned up.

macOS build script

  • build_mac.sh now detects mysql-client and libpq dynamically. When either is absent, cocoa_mysql.c / cocoa_pgsql.c compile under -DHB_NO_MYSQL / -DHB_NO_PGSQL and emit HB_FUNC stubs for every HBMYSQL_* / HBPGSQL_* entry declared EXTERNAL in classes.prg. The IDE still links and runs; TMySQL / TPostgreSQL calls return nil/0/empty until brew install enables them.
  • detect_brew_prefix now returns 0 on all paths so set -e does 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

16 May 10:26

Choose a tag to compare

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 to harbour, so existing Harbour builds are unchanged.
  • FindHarbour() searches c:\xHarbour / c:\xHarbour.com with 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's hb*-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 -o before the source file (BCC ignores it otherwise), which left stddlgs.obj unbuilt.
  • Source compatibility: __XHARBOUR__-guarded shim in classes.prg for Harbour-only RTL functions; __PLATFORM__WINDOWS normalization; hbide.h / hbbridge.cpp / hb_db_real.cpp adjusted for the xHarbour C API.

Notes

  • Windows only. c:\xHarbour.com is 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

11 May 08:23

Choose a tag to compare

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::SetCompIcon rebuilt 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 of GdiplusStartup/GdiplusShutdown per 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 ships x86/ and x64/ DLL sets; the loader picks the right one from the running exe's bitness. build_win.bat copies the matching set; build_scintilla_x86.bat builds the 32-bit DLLs from resources/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.gz re-uploaded with the current Intel build of the HbBuilder.app bundle (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-arm runner 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 (manual workflow_dispatch).

See ChangeLog.txt for the full history.