In the past 15 years, I was working hard on bringing one quality and reliable tool that could attend to the users' needs. Due to the amazing engagement of the community around pgModeler all this time, and believing that I have reached my main goal ahead of this project, it's time to give another important step: move onto the major version 1.0. In this post, I'll talk about some of my plans involving the development of the most important pgModeler ever, my current difficulties, and what to expect for the future of this project.
This version took a bit more to be released than I expected, but it's finally here. As with any other beta version, this one brings few new features since it is more focused on polishing all that made on alpha stages in preparation for the stable version (to be released later this year). One new feature brought in 0.9.4-beta is the ability to generate GRANT and REVOKE commands to set up new role memberships through the diff process. Another addition is the support for included columns, also known as non-key columns on indexes. This release also brings several improvements in the database design process and in the SQL tool improving the overall experience on that modules. I'll explain in this post everything about this release and the next steps in the development process, so don't miss it!
After two months of intense work, we finally made it! The last alpha release of 0.9.4 is ready bringing some important fixes, changes, and interesting new features. This version introduces the ability to export the database model in split SQL scripts either in GUI or CLI. Due to the introduction of a new syntax highlighting configuration, pgModeler now creates missing configuration files at startup avoiding breaking its execution, mainly when upgrading from an older release. The user is now able to drop databases quickly from the databases listing in the SQL tool without the need to browse them before performing the exclusion. Besides, a lot of changes were made in the files structure in preparation for pgModeler 1.0 that I'll start to develop right after 0.9.4. In this post I'll detail some key features of pgModeler 0.9.4-alpha1, so don't miss it!
It took almost half-year to conclude the first alpha release of 0.9.4 due to several problems I was facing. Anyway, I kept working on pgModeler at a slower pace and releasing snapshot buildings until we had reached an acceptable state of maturity for an alpha release. The main improvement of this version is the support for multiple layers as well as custom colors for these entities. Additionally, we have added the ability to change the colors of the canvas elements: grid lines, background color, and page delimiter colors. Functions and procedures can now use custom configuration parameters and transform types. Finally, there were important fixes too, which include the fix to the malformed SQL code related to triggers and functions, several patches in the database importing feature, the correct loading of changelog entries registered in a database model file, and much more. In this post I'll describe some of the improvements in detail, so don't let to read it!
This was a long year of challenges, struggles, and concerns. Inevitably, the happenings during 2020 affected the development of pgModeler 0.9.3 but, fortunately, I've managed to deliver the stable release still in 2020 as I have promised months ago. This last release, as usual, brings only fixes for what was developed during the alpha and beta stages with minor new features. The whole set of changes of this release (considering the alpha and beta stages) has 242 entries being 61 new features, 102 changes/improvements, and 79 bug fixes. Finally, with this launching, we finished another development cycle and now I'm starting to plan the next move for this project. Details in the full post.
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 to some new PostgreSQL 12 features, now it is capable of handling generated columns while designing models, importing databases and performing diffs. In 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!
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!