Skip to content

Releases: mariuz/flamerobin

FlameRobin 26.6.3

06 Jun 20:12

Choose a tag to compare

FlameRobin version 26.6.3 brings major user interface modernizations and crucial Firebird 6 connection stability fixes.

Key Improvements

  • Modernized UI Icons (Google Material Icons Integration): Legacy low-resolution XPM and PNG raster icons have been completely replaced with modern, scalable, and crisp vector SVGs based on customized Google Material Icons. This updates all database schema elements and application command icons, providing a sharp and cohesive appearance on modern high-DPI and 4K monitors.
  • Firebird 6 Connection Stability Fixes: Fixed a compatibility issue with newer Firebird 6 clients and servers where empty connection parameters in AttachmentOptions would cause connection attempts to fail with isc_invalid_name. Parameters like character set, username, password, and role are now only populated in the AttachmentOptions builder if they are actually specified by the user.

Changelog

  • Modernize UI icons: Replace legacy XPMs and embedded PNGs with customized Google Material Icons SVGs (commit 2658f1d).
  • Firebird 6 Compatibility: Restrict setting empty character set, username, password, and role connection options in AttachmentOptions to resolve connection failures (isc_invalid_name) (commit e995010).
  • Version Bump & Documentation: Bounded release version definitions to 26.6.3 in src/frversion.h and vcpkg.json, and documented features in docs/fr_whatsnew.html.

FlameRobin 26.6.2

06 Jun 13:52

Choose a tag to compare

FlameRobin 26.6.2 Release Notes

We are pleased to announce the release of FlameRobin 26.6.2, which introduces critical stability fixes and resolves major issues related to user management and modern wxWidgets GUI integration.

This version resolves the regression errors found in 26.6.1 and 26.6.0.


Key Highlights

1. Fix for User Management Plugin Loading Failure

  • Issue: When using the default fbcpp database/service engine on Windows, attempting to perform user management actions (e.g. Server -> Manage Users -> list or add user) resulted in a database error:

    User management plugin is missing or failed to load

  • Cause: The Firebird client library (fbclient.dll) was being loaded from the system directory (e.g. C:\Windows\System32), which does not contain the plugins/ directory containing the Srp or Legacy_UserManager plugin DLLs.
  • Resolution: Re-enabled client library dynamic loading in the fbcpp backend (FbCppDatabase and FbCppService) using Boost.DLL. FlameRobin now explicitly loads the user-specified custom fbclient.dll path configured in the database settings. This ensures the correct relative directory is used to load native Firebird plugins (such as srp.dll).
  • Build Configuration: Added Boost::filesystem and Boost::dll components to the CMake build link targets to resolve dependencies.

2. Fix for wxWidgets Sizer Debug Alerts (Crash Fix)

  • Issue: Selecting "Database -> Test data generator" or other UI elements on modern wxWidgets builds (e.g. 3.3.x) threw a fatal wxWidgets Debug Alert sizer assertion failure dialog:

    wxALIGN_RIGHT | wxALIGN_CENTRE_HORIZONTAL | wxALIGN_BOTTOM | wxALIGN_CENTRE_VERTICAL will be ignored in this sizer: wxEXPAND overrides alignment flags in box sizers

  • Resolution: Removed conflicting sizer alignment flags when combined with the wxEXPAND flag across multiple UI dialog codebases:
    • DataGeneratorFrame.cpp (fixing the Test Data Generator assert)
    • FindDialog.cpp (Find & Replace dialog)
    • PrivilegesDialog.cpp (Grant/Revoke privileges dialog)
    • ReorderFieldsDialog.cpp (Reorder fields dialog)

Detailed Changelog & Commit Log

  • Version Bump: Incremented SemVer configuration to 26.6.2 in vcpkg.json, src/frversion.h (to 2), and docs/fr_whatsnew.html.
  • Commits:
    • Update docs/fr_whatsnew.html and vcpkg.json for release v26.6.2
    • Fix user management error by correctly resolving and dynamically loading user-specified client library in fbcpp backend
    • Fix wxWidgets sizer debug assertion failures by removing conflicting alignment flags in combination with wxEXPAND

We recommend all users upgrade to FlameRobin 26.6.2 for a more stable and robust database administration experience. If you find any issues, please report them to our bug tracker at mariuz/flamerobin issues.

FlameRobin 26.6.1

06 Jun 10:16

Choose a tag to compare

FlameRobin 26.6.1 Release Notes

We are pleased to announce the release of FlameRobin 26.6.1, which introduces key bug fixes, stability improvements, and modernizations, particularly targeting service-level actions and database administration robustness.

This release continues our progression toward a modern, high-performance database management tool for Firebird RDBMS, resolving some critical issues found in version 26.6.0.


Key Highlights

1. Robust Service Connections & Credential Prompting

  • Issue: When triggering server/service-level actions—such as Manage Users or checking the Server Version—on a server where credentials (e.g., SYSDBA username and password) were not cached, the application would fail silently without giving any indication or error message.
  • Resolution: FlameRobin now detects if credentials are missing or uncached for service connections and properly prompts the user to input their database credentials, preventing silent action failures and ensuring a smoother user experience.

2. Native User Management in fb-cpp Backend

  • Issue: In the transition from the legacy IBPP database library to the new C++20 fb-cpp database library, user management functions were not yet implemented in the fb-cpp service layer, meaning User Manager features did not work natively.
  • Resolution: Replaced the legacy dependency by implementing native user management (getUsers, addUser, modifyUser, removeUser) directly in FbCppService.cpp using the native Firebird Services API (Service Parameter Blocks).
  • Impact: Provides fully native, secure, and modern User Manager features (listing users, adding new users, modifying details, and removing users) without relying on the legacy IBPP library (which is targeted for removal in future releases).

3. Safety Fix for "Generate Rebuild Script" (Crash Fix)

  • Issue: Since version 0.9.14, selecting "Generate rebuild script" under Table Properties for a whole table would trigger a fatal application crash instead of generating a rebuild DDL script.
  • Cause: The crash was caused by a null pointer dereference in Relation::getRebuildSql because the function assumed it was always rebuilding a specific column. When rebuilding the entire table, the column parameter was empty, causing findColumn to return nullptr, which was then accessed unsafely.
  • Resolution: Wrapped the column-recreation DDL generator in strict safety checks (!forColumn.IsEmpty() && col).
  • Impact: Eliminates the fatal crash and restores the full functionality of generating table-level rebuild scripts.

Detailed Changelog & Commit Log

  • Version Bump: Incremented SemVer configuration to 26.6.1 in vcpkg.json, src/frversion.h, and docs/fr_whatsnew.html.
  • Commits:
    • Update docs/fr_whatsnew.html and vcpkg.json for release v26.6.1
    • commit new release with fixes (bumped FR_VERSION_RLS to 1 in src/frversion.h)
    • Fix null pointer dereference in Relation::getRebuildSql when generating rebuild script for table
    • Implement native user management in FbCppService using Firebird Service API
    • Prompt for credentials when retrieving service if not cached in User Manager and Server Version actions

We encourage all users to upgrade to FlameRobin 26.6.1 for a more stable and robust database administration experience. If you find any issues, please report them to our bug tracker at mariuz/flamerobin issues.

FlameRobin 26.6.0

05 Jun 06:29

Choose a tag to compare

FlameRobin 26.6.0 Release Notes

We are excited to announce the release of FlameRobin 26.6.0, which brings major enhancements to FlameRobin's HTML rendering, modernizes UI components with SVG graphics and material icons, improves cross-platform build/runtime compatibility, and resolves critical bugs.


Key Highlights

🌐 Modern HTML Rendering via wxWebView

  • Modern Renderer: Replaced the legacy wxHtmlWindow with the feature-rich wxWebView component to display printable HTML content and table info pages. This enables modern CSS layouts, responsive tables, and richer interactive UI elements.
  • Graceful Fallback: Implemented automatic fallback to wxHtmlWindow on systems or sandboxed environments (such as specific Flatpak or Snap packages) where the wxWebView backend is unavailable.
  • Developer Tools (Inspector): Unconditionally enabled developer tools (Inspector) for the HTML panel in all build configurations, allowing administrators and developers to inspect styling and DOM elements.

🎨 HTML Template Modernization & Google Material Icons

  • Vector Graphics: Replaced legacy raster PNG icons (ok.png, redx.png, view.png) in HTML templates with clean, scalable vector SVGs for crisp presentation on HiDPI and 4K displays.
  • Material Icons Integration: Integrated the Google Fonts Material Icons system. The template rendering engine dynamically converts SVG image tags to Google Material Icons (<span> tags with .material-icons class).
  • Responsive Layouts: Injected a modern, responsive CSS stylesheet dynamically into the rendered pages to ensure text, tables, and icons adjust gracefully to varying window and screen sizes.

🛡️ Local Resource Access & Security Compliance

  • Same-Origin Policy Compliance: Resolved Chromium/WebView2 same-origin policy violations (which block access to local file:// resources from different origins) by dynamically writing temporary rendered pages directly inside the HTML templates directory.
  • Path Resolution Fix: Fixed a bug causing double prefixing (file:///file:///) of local image assets during URI resolution on Windows.
  • Base URL Handling: Fixed local image loading in wxWebView by correctly converting file paths to URIs and setting the appropriate base URL.

🛠️ Build System, GCC, & Platform Compatibility

  • Windows MSVC Static Build Fixes: Resolved a static linking error (LNK1104: cannot open file 'WebView2LoaderStatic.lib') on MSVC by extracting and adding the library directories of the resolved WebView2Loader static library to CMake's link search directories (link_directories).
  • Linux GUI & Wayland Tweaks: Built GUI dependencies dynamically on Linux to prevent webview runtime crashes. Restricted Wayland-specific GTK3 dependencies strictly to Linux, FreeBSD, and OpenBSD platforms.
  • GCC 13+ Compatibility: Added missing <cstdint> header inclusion in fb-cpp to resolve compilation errors under newer GCC toolchains on Linux (e.g., Flatpak GNOME 46 SDK).
  • wxWidgets 3.2 Compatibility: Wrapped newer ShowDevTools() API calls in preprocessor version guards to preserve backward compatibility with wxWidgets 3.2.
  • Sync/fb-cpp Updates: Restored StatusWrapper forward declarations, getPlan/getLegacyPlan nullptr wrapping, and safeString metadata crash protection in sync-fbcpp.sh and its patch.

Detailed Commit Log

Here is the list of commits included in this release:

  • 758f130: Update whatsnew and vcpkg version to v26.6.0
  • 9744419: release new version
  • 9ebfc82: Fix WebView2LoaderStatic linking error for static Windows builds in CMake by configuration-specifically extracting its resolved path directory
  • f208116: Add vcpkg manual-link search directories to link_directories in CMake to resolve raw WebView2LoaderStatic.lib dependencies
  • f9f803b: Restore StatusWrapper forward declaration in Transaction.h inside sync-fbcpp.sh and patch
  • 0111207: Restore getPlan and getLegacyPlan nullptr wrapping in sync-fbcpp.sh and patch
  • b15a2b4: Restore safeString metadata crash protection in sync-fbcpp.sh and regenerated patch
  • 265d849: Fix WebView2LoaderStatic linking error for static Windows builds in CMake
  • 5696cb2: Fix fb-cpp compilation under GCC 13+ in Flatpak GNOME 46 SDK by adding missing cstdint include
  • 4966393: Restrict gtk3 dependency with wayland feature to Linux/FreeBSD/OpenBSD platforms
  • e9efed6: Support compiling PrintableHtmlWindow on wxWidgets 3.2 by wrapping ShowDevTools inside version checks
  • 8afbd84: Build GUI dependencies dynamically on Linux to fix webview runtime crash
  • 17ec7d5: Generate temp HTML files inside the templates directory to satisfy file:// same-origin security policies
  • 04e42f8: Inject Google Fonts Material Icons link and dynamically convert template SVG img tags to span material-icons tags
  • 95b3840: Convert templates to SVG icons and inject modern responsive CSS styling
  • 11ebe3f: Use temporary files to load html page source in wxWebView, allowing local images and resources to load
  • 253da85: Fix file:/// double prefixing when loading local resource images in wxWebView
  • 170407d: Enable Developer Tools for wxWebView in all build modes
  • fd98b2c: Enable Developer Tools menu for wxWebView in debug mode
  • 0f44323: Require wxWebView for PrintableHtmlWindow and solve build dependencies in Flatpak and Snap
  • 3630237: Make wxWebView component optional to support fallback to wxHtmlWindow in Flatpak and Snap environments
  • 9d407f1: Fix local image loading in wxWebView by converting file paths to URIs and setting proper base URL
  • 442a7d4: Replace PrintableHtmlWindow (wxHtmlWindow) with wxWebView widget and enable webview component in builds

FlameRobin 26.5.23

04 Jun 07:57

Choose a tag to compare

FlameRobin 26.5.23

Bug Fixes

  • Tree View / Sorting: Fixed a bug where some registered servers (such as localhost_4_0 and localhost_5_0) disappeared from the main tree view when "Sort server entries alphabetically" was checked. (Fixes issue #599)

Windows & MSVC Build System Improvements

  • Runtime Linkage Configuration: Dynamically configure CMAKE_MSVC_RUNTIME_LIBRARY based on static/dynamic vcpkg triplet check to prevent Visual Studio LNK2038 runtime library mismatch errors.
  • Warning Cleanups: Prevent MSVC warning D9002 by ensuring the -g3 debug compiler flag is only applied to non-MSVC compilers.

CI/CD / GitHub Actions

  • Workflow Optimizations: Streamlined the windows-build and release workflows by building only the flamerobin target, avoiding compiling and linking test binaries.

FlameRobin 26.5.22

03 Jun 16:02

Choose a tag to compare

🪶 FlameRobin 26.5.22

FlameRobin version 26.5.22 is a maintenance release addressing critical runtime stability fixes, compiler compatibility with modern Visual Studio (2025/2026), dependency build fixes, database-level user management improvements, and security documentation.

Bug Fixes & Stability Improvements

• Firebird 5 Client Crash Resolution: Fixed an Access Violation (0xC0000005) when preparing/executing statements without execution plans (such as DDL statements) due to std::string construction from nullptr values returned by the Firebird client.
• Metadata Access Violation Fix: Safely handled cases where DDL metadata checks returned null pointers.
• Corrected Bug Link: Updated the fatal error reporting links to point to the correct GitHub issue creation form.

Build, Tooling & Dependency Updates

• Visual Studio 2025/2026 Support: Configured MSBuild detection and platform toolset fallback handling ( v143 ) for the modern Visual Studio compiler environment.
• Fixed fb-cpp Overlay Port: Resolved overlay patch corruption and configured fb-cpp to compile as a static library on Windows.
• Updated Dependencies: Bumped version to 26.5.22 in vcpkg.json .

User Management & Security

• User Management Templates: Fixed database-level user management templates and data loading.
• Security Roadmap: Added SECURITY_ROADMAP.md documenting security compliance checklists and guidelines.

FlameRobin 26.5.21

19 May 09:24

Choose a tag to compare

FlameRobin 26.5.21 Pre-release
Pre-release

FlameRobin 26.5.21 Release Notes

This release introduces the highly requested database-level Users node, allowing for better user management in modern Firebird versions.

New Features:

  • Users Node: Added a new 'Users' node for each database (Firebird 3.0+). You can now view, create, and manage users directly under the database tree node. This resolves issue #149.

Improvements and Fixes:

  • Version: Updated version to 26.5.21.
  • UI: Full integration of User/Users metadata into the tree view and context menus.

Change Log:

FlameRobin 26.5.20

19 May 07:58

Choose a tag to compare

FlameRobin 26.5.20 Release Notes

This release fixes a critical UI issue introduced in the previous versions where saved databases were not displayed under the localhost node upon startup.

Improvements and Fixes:

  • Version: Incremented version to 26.5.20 in source code.
  • UI: Fixed an issue where previously saved databases were not showing in the localhost node until a new database was created.
  • Security: Excluded vcpkg submodules from CodeQL analysis to reduce noise in security scans.

Change Log:

  • 5b708f5 increment version
  • ad6671c Fix database display issue on startup
  • d7710ef Ignore vcpkg folder in CodeQL scans

v26.5.19

19 May 07:09

Choose a tag to compare

v26.5.19 Pre-release
Pre-release
FlameRobin 26.5.19

v26.5.17

18 May 21:12

Choose a tag to compare

FlameRobin 26.5.17