We are quite close to the end of another amazing development cycle with this last beta release of 0.9.3! This launch brings mainly bug fixes but to make pgModeler even more complete, we've added full support to procedures and transforms. Additionally to new things, pgModeler was improved in such a way to render database models more properly in high DPI screens. There were some important changes in the code generation and exporting too. For the former, the SQL code of the database object will respect the disabled status, which wasn't happening in previous versions. pgModeler has improved the diff process mainly regarding constraints. Also, default values and functions arguments containing JSON values are now properly formatted, avoiding problems saving the model. Keep reading the full post for more details.
Here we are again bringing another round of improvements to pgModeler. This release basically enhances what has been done in 0.9.3-alpha1 plus delivers an important and experimental feature: the partial diff. After a entire month exclusively dedicated to the implementation of that feature we finally have something usable. I really hope that users like this first version of the partial diff and find it pretty useful as I think it is! Other improvements brought in this release was the database import process being capable of creating sequences automatically when the columns refer them it from their default values. Additionally, the objects filtering widget introduced in 0.9.3-alpha1 was slightly redesigned by moving options to a popup menu in order to make the widget more compact and easier to use. The command line interface received lots of improvements too, from a simple menu redesign to the support to partial diff as well. Finally, seveal bugs were fixed in this release. The majority related to crashes but there was some bugs affecting mainly the database design. In this post, I explain in details the key changes in 0.9.3-beta. Don't miss it!
After almost two months and keeping the spirit of polishing pgModeler's features during 0.9.3 development we're here to announce important fixes and some interesting new features in 0.9.3-alpha1. The first one is the capability of identifying and rendering relationships generated from foreign key constraints with the correct visual semantics. Also, pgModeler now allows the modification of objects generated by one-to-one and one-to-many relationships like columns and foreign keys constraints. Another great enhancement is the objects' filtering prior to the database reverse engineering, a handy feature if you constantly work on big databases by generating models from a subset of those databases. The tool also received support for some new PostgreSQL 12 features, now it is capable of handling generated columns while designing models, importing databases, and performing diffs. On the bug fixes side, some crashes were eliminated in different portions of the application. Also, relationships are now using correctly the provided global name patterns. Some other fixes were made on the system catalog queries and now running import and diff takes less time to complete. Don't miss the details on the full post!
After bringing some important improvements on 0.9.2 it's time to start another round of polishing all features available in pgModeler. This way, 0.9.3 development will be more focused on improvements of what already exists than the creation of new features. Of course, this will not prevent that some new functionality on the tool can be implemented, they will be just less prioritized. This release brings some requests related to database model design, which includes, bulk objects' renaming, multiselection on object finder and model objects widget and the introduction of the objects' Z-stack handling, a.k.a, "send to back" and "bring to front". Several bugs were fixed which were mainly related to reverse engineering and diff processes, but some other small bug fixes were provided over all parts of the tool. There were some important changes too, many of them related to code refactoring that the users will not notice but will improve code maintenance since it reflects on fast response on bug fixes and new features. The deployment processes were improved too, the code now compiles without problems in Qt 5.14.x as well in previous Qt versions. Additionally, the installers were almost all rewritten in order to provide a better experience for users who depend on binary packages. More details on the full post!
This is the end of a long development cycle that started still in May 2018 when the stable 0.9.1 was released. Composed by 84 new features, 134 fixes, and 146 changes in total this last development iteration was intended to be just a fine-tuning of what was constructed in alpha and beta versions including only a new relevant feature which allows one to generate data dictionaries in HTML format from database models. The mentioned feature was a request from many users that needed an extra form of documenting their databases. The data dictionary generation feature is still considered experimental despite being a relatively simple functionality. So, there is always room for improvement. Additionally, this launch marks a new advance of this project: the introduction of the first third-party plugin. I'll explain everything in the full post. Don't miss it!
The development of this new version was strongly focused on delivering the support to foreign table objects. This way pgModeler is now capable of handling all foreign objects implemented by PostgreSQL. There was other important improvements including the support to diff presets which lets the user to configure a set of options enabled/disabled for the diff operations. Due to the release of PostgreSQL 12 some patches were applied to pgModeler in order to allow the users to connect to database servers of that version. This will allow all operations that depends on connections like export, diff, import to be performed on newer versions of PostgreSQL. Finally, lots of bugs were fixed too including crashes, false-positive results on diff feature and some problems on reverse engineering that was causing some kind of objects to be imported wrongly. All key changes of the release are fully detailed in this post. Keep reading!
This release brings a few improvements as we're starting to deaccelarate the development of new features and concentrating on minor changes and bug fixes until the stable 0.9.2 is done. The main focus was to improve the data manipulation form, fix some small UI problems and bugs detected previously on 0.9.2-beta. There were fixes on the file saving procedure as well to the diff process when dealing with timestamptz columns and minor changes to a small set of feature in the design view. See details in the full post!
This release brings some important features requested long ago and several patches to improve the overall tool's usability. pgModeler now supports foreign data wrappers, foreign servers and user mappings natively. Foreign tables, for now, aren't supported but in order to provide a temporary workaround for this lacking the generic SQL objects were improved in such way to store references to another objects in the model which helps to keep track of name changes and giving a touch of dynamicity to that kind of object. Another improvement is the ability to quickly filter the result set retrieved from a SQL command in the SQL execution without the need of rewrite the SQL command to get the desired data. This release also brings some changes in the available features: the first one is the ability to search for objects in the canvas by matching other attributes not only the name. For instance, you can search items by matching a keyword against object's comments, data types, schemas and some others. A second change is the categorization of the action "New object" in order to diminish the amount of items displayed in the same menu and organizing object types hierarchically. Finally, for the bug fixes, in this version they fix mainly crashes and broken code generation as well improve the objects handling in the canvas. Read the complete post to see the details about pgModeler 0.9.2-beta!
Finally, after four months, we have a new version out of the oven! This one has A LOT of changes that range from several code refactoring and performance improvements to the introduction of new interesting features like table partitioning and canvas layers. First, let's talk about the changes and improvements. The objects drawing operations received a good set of patches making it a bit faster and less memory consuming. The overall performance of the reverse engineering was improved which, in consequence, have enhanced the diff process performance as well. In the new features side, we added scene layers which goals is to introduce a new level of visual segmentation of graphical objects. Another new feature created is the support to view columns that are deduced from the relationships between these objects and the tables. In the design view, in order to be more close to the new features introduced by PostgreSQL 10+, pgModeler is now capable of handling declarative table partitioning. Besides, tables and views can have their attributes paginated or even collapsed to minimize the area occupied by them making big objects easier to visualize. Finally, about the bug fixes, several crashes were eliminated making the tool more stable for different usages, the reverse engineering received some patches so it can import correctly user-defined types in form of arrays and many others. This post will try to explain some of these changes and new features in details. Check it out!
This release does not have an extensive change log but brings some long desired features as well important fixes. Some of the new features to highlight in this post are: the long awaited SQL execution cancelling feature, the compact view for a more friendly visualization of the database model, the ability to save and restore the majority of dialogs sizes and their positions and many others. Talking about bug fixes we have a small set of corrections that solved crashes as well the generation of malformed SQL commands in certain situations increasing the reliability of the tool. What is more important now is that, after staying a bit away from the project, I'm back to the road to introduce a series of new features that'll prepare pgModeler to its biggest release: the version 1.0. This is a slow work but we'll get there.