gitzette / @mariuz / Jun 15 – Jun 21 W25
← W24 W25 W26 →
gitzette.online — open-source digest Jun 15 – Jun 21, 2026
the dispatch
@mariuz
memcpy: the universal solvent for alignment faults
50 commits 0 PRs merged 6 releases 1 repos Six releases in four days. One of them fixed a crash that only happened when you summed a million rows on Linux. The other five exist because that's how debugging works.
RELEASE

GCC generated aligned instructions for data that wasn't — flamerobin stops crashing on aggregates

A packed union at offset 20 met SSE instructions that expect offset 16. Millions of rows later: segfault.

flamerobin

Running SUM() over a few million NUMERIC(18,4) rows on Linux would crash flamerobin with a segmentation fault. The culprit: GCC emitted movaps instructions for 128-bit integer operations inside a packed struct where the i128 field sat at offset 20 instead of a 16-byte boundary. The v26.6.17 release replaces direct operations on the unaligned union member with std::memcpy and safe 64-bit arithmetic on the high/low halves. The CPU no longer faults; the accountants no longer panic.

v26.6.18Sat, Jun 20v26.6.17Fri, Jun 19v26.6.16Fri, Jun 19v26.6.15Fri, Jun 19
RELEASE

an uninitialized integer convinced flamerobin every Firebird 3 database was secretly version 4

Garbage memory in odsM meant querying columns that didn't exist yet.

Connecting to Firebird 3.x databases would intermittently fail with SQL metadata errors. The odsM variable in DatabaseInfo wasn't initialized, so it occasionally held garbage values of 13 or higher — high enough for flamerobin to assume Firebird 4+ and query rdb$sql_security, a column that doesn't exist in 3.x. The fix in v26.6.17 initializes all primitive members inline to safe defaults. The lesson: uninitialized integers are optimistic about your database's version.

v26.6.18Sat, Jun 20v26.6.17Fri, Jun 19v26.6.16Fri, Jun 19v26.6.15Fri, Jun 19
RELEASE

disconnect with active transactions, receive std::terminate — not anymore

Closing a connection while editors still had open transactions caused memory access violations.

Disconnecting from a database while SQL Editor frames held active transactions would crash flamerobin with std::terminate or access violations. The v26.6.15 release adds connection status checks in doCanClose() and explicit rollback handling before the connection tears down. As a bonus, Google Crashpad now captures minidumps locally — so when flamerobin does crash, at least there's evidence.

v26.6.18Sat, Jun 20v26.6.17Fri, Jun 19v26.6.16Fri, Jun 19v26.6.15Fri, Jun 19
RELEASE

wxWebView optional, wxHtmlWindow mandatory — the build that works without a browser engine

Headless Linux builds no longer choke on missing WebKit headers.

Compiling flamerobin on minimal Linux setups failed when wxWidgets lacked wxUSE_WEBVIEW. The v26.6.18 release wraps WebView usage in preprocessor guards and falls back to wxHtmlWindow automatically. For users who do want the full rendering stack, the Debian package now pulls in libwebkit2gtk-4.1-0 so SVG icons actually render. Two paths to the same dialog — one just weighs less.

v26.6.18Sat, Jun 20v26.6.17Fri, Jun 19v26.6.16Fri, Jun 19v26.6.15Fri, Jun 19
RELEASE

Firebird 2.5 users get a transaction parameter block that speaks their dialect

ODS versions below 12 need TPB version 1 — flamerobin now checks before assuming.

Connecting to Firebird 2.5 databases threw invalid format for transaction parameter block because flamerobin assumed modern TPB versions universally. The v26.6.14 release checks the attachment's ODS version at runtime and falls back to isc_tpb_version1 for older servers. Legacy databases: still out there, still deserving of working tooling.

v26.6.18Sat, Jun 20v26.6.17Fri, Jun 19v26.6.16Fri, Jun 19v26.6.15Fri, Jun 19
RELEASE

the Schema Visualizer's JavaScript crashed because browsers distrust local files

CORS blocks and missing JSX runtimes turned diagrams into blank screens.

The Schema Visualizer loaded a blank screen because browser security blocked module scripts from file:// URIs and Babel couldn't resolve react/jsx-runtime. The v26.6.14 release removes the module type attribute and registers a custom react-classic Babel preset that compiles JSX to React.createElement calls. Now the diagrams render — even when the browser is suspicious.

v26.6.18Sat, Jun 20v26.6.17Fri, Jun 19v26.6.16Fri, Jun 19v26.6.15Fri, Jun 19
FEATURE

flamerobin now speaks MCP — AI assistants can query your Firebird databases

A built-in Model Context Protocol server lets Claude and friends run read-only SQL safely.

The v26.6.12 release includes a full MCP server in C++ that exposes list_databases, get_schema, execute_query, and get_metadata_ddl tools over stdin/stdout. Run with --mcp and your AI coding assistant can enumerate registered databases and run queries without touching the GUI. The exit path now returns status 0 on EOF, because even protocol servers deserve clean shutdowns.

v26.6.18Sat, Jun 20v26.6.17Fri, Jun 19v26.6.16Fri, Jun 19v26.6.15Fri, Jun 19
RELEASE

Inno Setup out, WiX v7 in — the installer joins the SDK era

Native 64-bit MSI packaging with proper firewall prompts.

Windows installers now use WiX Toolset v7 instead of Inno Setup. The v26.6.12 release packages 64-bit binaries natively with proper shortcuts and prompts users for firewall exceptions during install. It's still an installer — but now it's an installer that follows modern Windows security guidelines.

v26.6.18Sat, Jun 20v26.6.17Fri, Jun 19v26.6.16Fri, Jun 19v26.6.15Fri, Jun 19
50
commits
0
pull requests
6
releases
commits by repo
REPO COMMITS flamerobin 50
github stars
flamerobin ★★★★★★★★★★ 250
continued2026-W25
the dispatch
RELEASE

Firebird 2.5 users get a transaction parameter block that speaks their dialect

ODS versions below 12 need TPB version 1 — flamerobin now checks before assuming.

Connecting to Firebird 2.5 databases threw invalid format for transaction parameter block because flamerobin assumed modern TPB versions universally. The v26.6.14 release checks the attachment's ODS version at runtime and falls back to isc_tpb_version1 for older servers. Legacy databases: still out there, still deserving of working tooling.

v26.6.18Sat, Jun 20v26.6.17Fri, Jun 19v26.6.16Fri, Jun 19v26.6.15Fri, Jun 19
RELEASE

the Schema Visualizer's JavaScript crashed because browsers distrust local files

CORS blocks and missing JSX runtimes turned diagrams into blank screens.

The Schema Visualizer loaded a blank screen because browser security blocked module scripts from file:// URIs and Babel couldn't resolve react/jsx-runtime. The v26.6.14 release removes the module type attribute and registers a custom react-classic Babel preset that compiles JSX to React.createElement calls. Now the diagrams render — even when the browser is suspicious.

v26.6.18Sat, Jun 20v26.6.17Fri, Jun 19v26.6.16Fri, Jun 19v26.6.15Fri, Jun 19
FEATURE

flamerobin now speaks MCP — AI assistants can query your Firebird databases

A built-in Model Context Protocol server lets Claude and friends run read-only SQL safely.

The v26.6.12 release includes a full MCP server in C++ that exposes list_databases, get_schema, execute_query, and get_metadata_ddl tools over stdin/stdout. Run with --mcp and your AI coding assistant can enumerate registered databases and run queries without touching the GUI. The exit path now returns status 0 on EOF, because even protocol servers deserve clean shutdowns.

v26.6.18Sat, Jun 20v26.6.17Fri, Jun 19v26.6.16Fri, Jun 19v26.6.15Fri, Jun 19
RELEASE

Inno Setup out, WiX v7 in — the installer joins the SDK era

Native 64-bit MSI packaging with proper firewall prompts.

Windows installers now use WiX Toolset v7 instead of Inno Setup. The v26.6.12 release packages 64-bit binaries natively with proper shortcuts and prompts users for firewall exceptions during install. It's still an installer — but now it's an installer that follows modern Windows security guidelines.

v26.6.18Sat, Jun 20v26.6.17Fri, Jun 19v26.6.16Fri, Jun 19v26.6.15Fri, Jun 19
50
commits
0
pull requests
6
releases
commits by repo
REPO COMMITS flamerobin 50
github stars
flamerobin ★★★★★★★★★★ 250
gitzette @mariuz on gitzette @mariuz on GitHub
share: post on X share on LinkedIn

Your GitHub week, turned into something worth reading.

Generate your dispatch →
gitzette.online  ·  2026 © AISlopMedia, Inc.