After one year, 98 new features, 165 changes/improvements, and 88 bug fixes here we are, with great joy, bringing a new major release of pgModeler! The journey was long, with tons of challenges, but the results are satisfying because now we have an even more optimized tool with plenty of new features that will make your database modeling and management jobs more pleasant, accurate, and faster! This version brings major changes in the database model design including the infinite canvas support allowing objects to be placed everywhere without restricting them on the origin point (0, 0). Also, the database model file loading speed was greatly improved, and models that previously were loaded in minutes now load in a few seconds. Another important change in the design view was the introduction of a simplified way to create views way more intuitive compared to previous versions. In the database management view, the code completion now retrieves names from living databases accelerating the creation of SQL commands. The UI theme management area, pgModeler now can follow the current theme defined in the OS by selecting the correct theme (light/dark) without the need for the user's intervention. Finally, the command-line tool has received the plugins' support and now the CLI version of pgModeler can receive user-defined features making it even more powerful. This post explains the mentioned features and many others in detail, don't let to read it!
The last release of 2023 is here and brings relevant patches for the tool's macOS port, which now makes pgModeler stable enough on that OS. The issue on macOS caught me by surprise and forced me to dedicate all my efforts to make the tool work again which was time-consuming, causing some minor fixes to be postponed to the development of the stable 1.1.0, which justifies the small changelog of this version. It's important to note that the application's behavior on the other operational systems was kept unchanged, working as expected and without any apparent bug or crash. More details are provided in the full post.
Almost two months after launching 1.1.0-alpha1, I'm pleased to announce 1.1.0-beta! This version is the last to receive new features in this development cycle, and from now on, until the release of the stable 1.1.0 only bug fixes will be done. That said, my main focus on this release was to work on two things that have always bothered me since the early days of pgModeler: the view creation process and the extension data types handling. Since the codebase was mature enough, it was time to change those two aspects of the tool. So now pgModeler has a simpler way to create views instead of that old clumsy interface to configure them in previous versions. The other improvement is related to extensions which can now have multiple child data types. Finally, as always, several improvements all over to tool were made as well as some bug fixes here and there. Everything is well explained in this post, so, don't skip it!
After working for four months, we are here to bring you the last alpha release of pgModeler 1.1.0. This version was mainly focused on improving performance on several parts of the tool. A lot of effort was put into refactoring lots of code which led to an amazing (almost unbelievable) result. Basically, pgModeler has improved by ~80% in the database model loading speed, validation, object searching, and other secondary operations. This release also brings some cool UI improvements and a new exclusive feature, named SQL session plugin, available on the paid version of the tool. Finally, as always, pgModeler received some patches that solved crashes and improved the existing features so the user experience could be more pleasant and the results produced could be more accurate with their needs. Everything is fully detailed in this post, don't skip this reading!
After five months of development, the first alpha release for pgModeler 1.1.0 is finally ready and brings some significant improvements compared to 1.0.x. The long-awaited code completion based on living database object names is now implemented in the tool. Also, pgModeler is now able to follow the system's color schema. Many other UI improvements were made attending to the users' requests. One of them is the ability to drag & drop .dbm files directly to the tool's main window to load models. In general settings, the database object shadows can be deactivated improving the rendering speed. The SQL execution widget and data manipulation form now support data exporting to CSV format besides the classic plain text format. In the SQL execution widget, when pasting SQL code coming from external IDEs, pgModeler will try to remove unneeded string concatenation characters in the clipboard text before inserting it in the input field. Finally, this version introduces the backup utility plugin, which implements a simple, user-friendly interface for the commands pg_dump, pg_dumpall, pg_restore, and psql. There's more to be detailed, don't let to read the full blog post!
The journey was really long, full of challenges that almost made me give up everything, but with the support from lots of people around the world, here we're, launching the long-awaited stable version of pgModeler 1.0.0! Since the early days of this project, seventeen years ago, I was anxious about this moment. This tool is the result of a dream of creating something really useful for the open-source community that I admire so much. I can't express in words how proud and joyful I'm about my hard work and the thousands of people that helped me so far. Thank you wholeheartedly to each one that reserved a bit of their time to make a contribution to this project. Your inestimable help was extremely important to keep this project alive and I hope to keep receiving all support needed to take pgModeler to levels even higher in the future! In resume, the development of pgModeler 1.0.0 took exactly, 398 days and 649 commits producing a total of 435 changes between new features, bug fixes, and improvements. In the UI, some parts were redesigned, new icons were created, and the long-requested dark theme support was added. In the code generation, the PostgreSQL 9.x support was dropped while PostgreSQL 15 was added. Also, the codebase was fully ported to Qt 6 and now pgModeler can take advantage of all improvements introduced by the framework. There were, of course, a bunch of bug fixes in practically all parts of the tool but the majority was applied to the reverse engineering and diff processes. The key changes of this version are detailed in this post, don't let to check it out!
This development iteration was mainly focused on code refactoring aiming for overall stability and code maintenance, but, as always, there were some minor fixes and changes in the user interface and in other core features. A new CSV parsing routine, improved reverse engineering, and minor adjustments in the design view are some of the changes in this release which are explained in the full post, don't miss it!
Following the path to the stable release, today I present to you pgModeler 1.0.0-beta. The main focus of this release is to remove the support for PostgreSQL 9.x which has not been maintained for over a year. This release also brings minor improvements in several parts of the tool. Now, the data dictionary displays information related to indexes, triggers, and sequences used in the tables, making the generated file much more complete from the documental point of view. Another improvement was the ability to generate SQL code split in the command line interface which allows generating SQL by objects in separate files. In the model design area, the magnifier tool has improved to allow better object interaction. As part of the continuous enhancement in the UI and usability, navigating through form fields using shortcuts and tab keys has been improved to be much more consistent and intuitive compared to previous versions. These and some other fixes and changes are detailed in the full post, don't miss it!
Since the main focus of this release was to improve even more the UI, we had to work on the refactoring of the codebase to use Qt 6 which has lots of enhancements compared to the previous major version. So, after 2 months of work, pgModeler is now completely ported to Qt 6. So, attending to some requests, pgModeler received the ability to change the icon sizes to fit different screens in a better way. Still in the responsiveness subject and using the Qt 6 improved high DPI screens support, pgModeler allows the use of custom UI scale factors which adjust the entire user-interface rendering depending on the screen that the tool is running. Another enhancement that is worth mentioning here is that the columns/constraints propagation mechanism was completely rewritten which resulted in a noticeable performance gain and now solves an old problem of columns/constraints created by identifier relationships not being added or even disappearing in certain circumstances. More details on the full post.
After four long months of working, we finally have the first alpha release of pgModeler 1.0! The main goal of this version was to boot up a series of deep improvements in the UI adding visual comfort while using the software. So that was done, this one brings redesigned UI elements and colors, a completely new icon set, and officially introduces the new project logo. As promised, pgModeler 1.0.0-alpha brings a responsive UI adapting the widget sizes and icons according to the screen's resolution. Also, we now have the support for color themes which can be toggled on-the-fly in the appearance settings. I'll explain more about what's new in the full post, don't miss it!