Skip to content

FlameRobin 26.6.5

Choose a tag to compare

@mariuz mariuz released this 08 Jun 12:48
· 0 commits to 3734ab2cf3cae6c7c417626641761bc14d898252 since this release

FlameRobin 26.6.5

FlameRobin is a graphical database administration tool for Firebird DBMS. Version 26.6.5 is a focused quality-of-life and robustness release, delivering reliable window placement persistence across sessions, a much friendlier error experience when Firebird user-management plugins are missing, an up-to-date copyright notice in the About box, and a critical build fix for a missing AdvancedSearchFrame::getName() implementation.


What's New in 26.6.5

🖥️ Window Placement Persistence & UX Polish

FlameRobin now reliably remembers and restores the size, position, and maximized state of every open window across sessions — including SQL editors, property panels, and the main frame.

Key improvements

  • BaseFrame::saveAllFrameSettings() — A new static method iterates all registered BaseFrame instances and calls writeConfigSettings() on each, wrapping everything in a single SubjectLocker to batch all config writes into one flush. This ensures the config file is never written in a half-saved state.
  • Correct exit orderingsaveAllFrameSettings() is called as the very first action in MainFrame::doBeforeDestroy(), before any database connection is torn down or any frame is destroyed. Previously, the order of frame destruction could cause some windows' geometries to be lost if they were destroyed before their settings were written.
  • FrameStorage default fix — The FrameStorage option ("Remember window positions and sizes") defaulted to false inside writeConfigSettings() but true inside readConfigSettings(). This mismatch meant a window could be restored from a saved position but then silently fail to save its updated position on the next exit. The default is now consistently true in both paths.

🔌 User Management Plugin Error Handling (Fix #601)

When FlameRobin is pointed at a portable or stripped-down Firebird installation that is missing its authentication plugins (Srp.dll / Legacy_UserManager.dll), Firebird raises an error indicating the user management plugin is missing or failed to load.

Previously, the catch block in Server::getUsers() did not recognise this specific error code/message pattern and re-threw the raw Firebird exception, resulting in an opaque "Unhandled Error" dialog with no guidance for the user.

The fix adds a dedicated pattern check for the 'User management plugin' / 'failed to load' message and throws a std::runtime_error with a clear, actionable message that tells the user exactly which plugin DLLs are expected and where they should be located inside the Firebird installation directory. No more cryptic crash dialogs for this common deployment scenario.


©️ Copyright & Branding (Fix #604)

  • The About box copyright text has been updated from 2004-2024 to 2004-2026, correcting the displayed year across all dialog code paths where it appeared.

🔧 Build Fix: Unresolved External Symbol in AdvancedSearchFrame

AdvancedSearchFrame declared virtual const wxString getName() const in its header but never provided an implementation in the .cpp file. This caused an LNK2001 unresolved external symbol linker error on MSVC:

unresolved external symbol "protected: virtual class wxString const __cdecl
AdvancedSearchFrame::getName(void)const"

The fix adds the missing definition:

const wxString AdvancedSearchFrame::getName() const
{
    return "AdvancedSearchFrame";
}

This return value is used by BaseFrame::getStorageName() to key the config section for saving/restoring the window's position and size — the feature added earlier in this release that exposed the latent bug.


Full Changelog

Commit Description
b55091c8 Fix linker error: add missing AdvancedSearchFrame::getName() implementation
f905addc Save all window sizes and placements at application exit
f5b4df99 Fix copyright year in About box (2004-2026) — PR #604
e4b008c7 Fix #601: handle missing Firebird user management plugin gracefully

Upgrade Notes

  • This release contains no breaking changes and no database schema migrations.
  • Drop-in replacement for FlameRobin 26.6.4.
  • Requires Firebird 3.0 or later (Firebird 4.0 / 5.0 / 6.0 recommended).
  • Prebuilt binaries for Windows (x64) are provided as release assets via the CI pipeline.

Links