github nullptrlabs/pgmodeler v2.0.0-alpha

pre-release3 months ago

Changes since: v1.2.x

Attention: pgModeler 2.0.0-alpha introduces configuration changes that may affect compatibility with 1.x settings. On the first launch, pgModeler will automatically attempt to migrate your existing settings. Please note that this is an early development release where stability issues may occur. It is recommended that all models and databases be backed up before use. Please report any bugs found for prompt resolution. The mentioned migration process helps transition to improved configurations while minimizing disruption to your workflow.

Summary: After five months of work on the first development iteration of the next major release, I proudly present to you pgModeler 2.0.0-alpha. The goal of this release was exclusively to improve the overall user experience by adjusting several UI components in the hope of making usage more comfortable and pleasant. Of course, this version does not include all the intended changes, as they will be slowly introduced during the development process of 2.0 until the stable release is reached. But great things are coming to pgModeler, not only UI changes but also some cool features that have been awaited for a long time! Below are some of the detailed changes in this version; for more detailed/technical information about them, please refer to the CHANGELOG.md file.

Build system changes: Since its early days, pgModeler has relied on qmake, Qt's build system, for the compilation process. Due to some particularities of the pgModeler project itself and some limitations in qmake, it was often necessary to create workarounds to facilitate the compilation of the tool on all three main OSes. This was increasing the complexity of the build scripts, making them difficult to maintain. So, the first step taken when starting the pgModeler 2.0 development was the complete migration from qmake to CMake. CMake is another build system widely used across the open-source world, with a great feature set that makes it the right choice for projects that are constantly growing, like pgModeler. This migration to CMake is not backward compatible with qmake, which means that pgModeler can no longer be compiled using qmake.

Major UI change: As in the previous major release (1.x), this one brings a refreshed UI. Despite still being a work-in-progress that will be finished by the stable 2.0 release, this first iteration of UI adjustments includes a small redesign of the project logo and UI icon colors. The idea is to create something flatter and more colorful. Another change in this alpha release is the integration of the configuration form, as well as the tool forms (diff, import, export, and fix), into the main window for a more fluid experience, reducing the number of modal dialogs in the tool, which could be very frustrating in several usage scenarios. The next UI adjustments will include the redesign of model object editing forms and many other elements.

Improved diff tool: In addition to the UI adjustments, the diff tool received a new comparison mode: model-to-model comparison. This mode allows users to perform offline comparisons between two loaded database models and generate the corresponding SQL diff code for later application on a database server. This feature will serve as a bridge to a more enhanced version of the diff tool, which will be capable of creating, deleting, and updating objects in the right-side model based on the comparison results. Future releases will provide a preview of this functionality. Another improvement added to the diff tool is the ability to select any loaded model from a combo box for use in the diff process. In previous versions, due to the modality of the diff tool dialog, only the currently focused model in the design view could be used as the input model. Now, users are free to select any loaded model as the input and/or comparison model.

Improved import and export tools: Like the diff tool, the import and export tools have undergone UI adjustments that involved removing some components and relocating others to enhance the user experience. One of the key changes is the ability to freely select the models on which these operations will be performed. This differs from previous versions, which only allowed the currently focused model to be handled.

Don't miss a new pgmodeler release

NewReleases is sending notifications on new releases.