After four months of intensive work, we are pleased to announce the first development version of pgModeler 2.0.0. This release marks a new phase for the project, bringing deep changes to the technological foundation, visual and functional improvements, and long-awaited new features. The primary focus of this stage was to enhance the user experience and lay the groundwork for the development cycle leading to the stable 2.0 release.
Migration to CMake
One of the most significant transformations in this release is the migration of the build system from qmake to CMake. Since its early days, pgModeler has relied on qmake, but its limitations required various workarounds to ensure compilation across different platforms. This made build scripts complex and difficult to maintain. With CMake adoption, the process becomes cleaner, standardized, and better prepared for the future growth of pgModeler. However, this change breaks compatibility with qmake, meaning the project can now only be compiled using CMake.
Interface enhancements
pgModeler 2.0 starts to reveal its new visual identity. The logo has been redesigned, icons now use a flatter and more colorful palette, and both the light and dark themes have been refined for greater visual consistency. The splash screen and application icons were harmonized to match the new style.
Beyond aesthetics, interaction has also evolved. The configurations form, diff, import, export, and fix tools are now integrated directly into the main window, reducing the number of modal dialogs and making the workflow smoother. Additionally, several button semantics were improved, and general enhancements were applied to many other visual components throughout the tool. These small but important refinements improve overall usability.
Diff tool improvements
The diff tool received significant attention in this release. Users can now compare two loaded models without requiring a database connection, generating the corresponding SQL diff code for later usage. This new mode expands the tool's usability.
Previously, when comparing a model and a database, only the active model could be used as input. That leads to the development of a new model/database selector widget, allowing users to select any loaded model or database in a more intuitive component. The interface has also been reorganized: the Partial diff tab was removed and its controls integrated into the main tab, removing redundant elements and simplifying interactions.
Comparison presets have been improved with a more reliable save/load system. These changes lay the groundwork for future updates, where the diff tool will be able to compare and apply changes directly to a database model, too, not only to a living database like it has been since the creation of the diff feature.
 
Import and export tools enhancements
Following the same approach as the diff tool, the import and export tools received substantial improvements. Users can now freely choose any loaded model to perform operations, no longer limited to the active model. The model export widget was reorganized to include the new model/database selector, while mode selection buttons were replaced with more practical and consistent tool buttons. During export and import operations, the involved models are locked to prevent accidental modifications.
Miscellaneous improvements
Other notable changes in pgModeler 2.0.0-alpha are listed below. The full list of changes in this release is available in the file CHANGELOG.md.
- Added initial support for PostgreSQL 18.
- Added support for hiding empty object groups in database object trees in DatabaseExplorerWidget and DatabaseImportWidget. The hidden status is persisted in general.conffile.
- Added a button in ModelFixWidget to generate the output filename based on the input filename.
- Added support for grid duplication in the data grid widget via button  ( (Ctrl+Shift+D).
- Refactored the result set handling, minimizing the risk of memory leaks.
- Redesigned the themes system, now the color palette can be changed via theme.conffile in each theme folder.
- The new themes system now loads user-created themes that are present in the themes folder.
- Improved English grammar in internationalization strings across the UI.
- Added missing SQL keywords to sql-highlight.conf.
- Fixed a bug in the connection configuration that was creating an invalid connection string when other parameters were manually specified.
- Fixed a bug that was causing collations assigned to columns not to be reflected in SQL and XML codes.
- Fixed a bug that was causing collations to be saved always as deterministic, even when the user unchecked the option in the editing form.
- Fixed the PostgreSQL version detection so pgModeler would use the default internal server version as a fallback when a major server version is not yet recognized by the tool.
- Fixed a bug in the XML parsing that was not configuring the DTD file path correctly, causing errors during the loading of some configuration files on Windows.
- Fixed a bug in the canvas in design view that was causing value overflow when aligning points to the grid in some cases.
- Fixed a bug that was causing columns that were part of PKs not to be removed by user interaction.
Future roadmap
The started UI adjustments will continue over the database objects' editing forms, until all the user interface is completely redesigned. The future releases of 2.0 will introduce those changes little by little.
Looking ahead, pgModeler Plus is set to receive, until the stable 2.0, a new plugin that will allow users to create reusable model objects. These objects can be stored and leveraged across multiple modeling tasks, streamlining repetitive workflows and enhancing productivity when designing complex database structures. Another plugin is being planned, and will bring integration with git so users can make proper version control over database model files.
Additionally, a third plugin will be developed aimed at reverse engineering SQL files. This feature will automatically generate pgModeler-compatible models from existing SQL scripts, simplifying the process of migrating or documenting legacy databases and enabling users to quickly integrate external database designs (in SQL format) into their pgModeler projects.
The upcoming enhancements reflect pgModeler’s ongoing commitment to flexibility, efficiency, and a more powerful modeling experience, ensuring that users have robust tools for both forward and reverse engineering tasks.
Let's support pgModeler?
If you like the work being done to create a quality database design tool, please become our sponsor on GitHub. Any open-source project needs financial support to keep the development alive, which is not different from pgModeler. Go ahead, be a supporter in one of the offered sponsor tiers, and receive rewards for being a friend of an open-source project! :D
The pgModeler 2.0.0-alpha release is just the first step towards the stable 2.0 version. Even in its initial stage, it demonstrates a clear direction: a tool that is more modern, flexible, and user-friendly. I invite everyone to explore the new features, test the improvements, and share feedback to help shape the next generation of pgModeler.
See you! ;)
 
 
 
 
 
 
 
 
Add new comment