Skip to content

Commit ecc4e2e

Browse files
committed
Merge branch '1.2.0-beta' into develop
2 parents 7fe6f44 + a8e64d7 commit ecc4e2e

542 files changed

Lines changed: 2815 additions & 1818 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,58 @@
11
Changelog
22
---------
33

4+
v1.2.0-beta
5+
------
6+
<em>Release date: February 10, 2025</em><br/>
7+
8+
* [New] Added the enum PgModelerGuiPlugin::MenuSectionId that controls where the plugin actions are placed in the context menu in the model widget.
9+
* [New] Added a call to qApp::alert() when the export, import, and diff processes finish so the taskbar blinks when the window is not visible.
10+
* [New] Added the method PgModelerGuiPlugin::isSelectionValid.
11+
* [New] Indexes created by relationships can have their parent relationships opened from a specific action in the context menu of the model widget.
12+
* [New] Added support for the total number of rows in the table being handled in DataHandlingForm.
13+
* [New] Added support for setting the global settings for FK columns index type in RelationshipConfigWidget.
14+
* [New] Adding support for the creation of indexes on FK columns generated by relationships.
15+
* [New] Set the "Stack trace" tab icon in CrashHandlerForm.
16+
* [Change] Adjusted the method ModelWidget::configurePluginsActions to place actions in menu sections according to the plugins' custom menu sections.
17+
* [Change] Minor adjustment in BaseForm::setMainWidget to set the default window icon.
18+
* [Change] Adjusted the plugin API by removing the unnecessary const methods/objects usage.
19+
* [Change] Added icons for tree widgets collapse and expand actions.
20+
* [Change] Adjusted the order of types in IndexingType::types.
21+
* [Change] Minor adjustment in Relationship::setNamePattern.
22+
* [Change] Minor adjustment in ModelWidget::configurePluginsActionsMenu to enable/disable plugin actions based on the call to isSelectionValid of the plugin that owns the action.
23+
* [Change] Updates on icons-*.conf files.
24+
* [Change] Minor layout adjustment in DataGridWidget.
25+
* [Change] Updated the class RelationshipConfigWidget to include FK column index name pattern.
26+
* [Change] Adjusted the code generation of relationships to include FK column indexes.
27+
* [Change] Minor refactor in Relationship::getSourceCode.
28+
* [Change] Minor refactor in DatabaseModel::getCreationOrder.
29+
* [Change] Minor adjustment in LayersWidget to accept Enter/Return to apply settings.
30+
* [Fix] Minor fix in GlobalAttributes::setCustomPaths.
31+
* [Fix] Fixed some shortcut conflicts in the main window.
32+
* [Fix] Minor fix in ModelWidget::configurePluginsActionsMenu
33+
* [Fix] Minor fix in ModelObjectsWidget::show to run in an event loop when configured in simplified view mode.
34+
* [Fix] Minor fix in ObjectsFilterWidget.
35+
* [Fix] Minor fix in the "Open relationship" action in ModelWidget.
36+
* [Fix] Fixed the index catalog queries when using pgModeler in compatibility mode (PG 9.x).
37+
* [Fix] Minor fix in RelationshipWidget to assign FK index pattern to the relationship being handled.
38+
* [Fix] Minor fix in buttons' drop shadows in DataHandlingForm.
39+
40+
v1.1.6
41+
------
42+
<em>Release date: December 21, 2024</em><br/>
43+
44+
* [Fix] Fixed a bug in the FK relationships update routine that was causing more relationships to be deleted than what really needed to be.
45+
* [Fix] Fixed a crash when creating a many-to-many relationship where one or more columns of the involved primary keys use generated default values (GENERATED AS).
46+
* [Fix] Fixed a bug in the routine that updates relationships' generated objects that was causing the application to hang up when importing a simple hierarchy of tables.
47+
48+
v1.1.5
49+
------
50+
<em>Release date: October 28, 2024</em><br/>
51+
52+
* [New] Added support for PostgreSQL 17.
53+
* [Fix] Fixed the catalog queries of collation and domain objects for PostgreSQL 17.
54+
* [Change] Disabling objects' grids in TableWidget when the edited table is protected.
55+
456
v1.2.0-alpha1
557
------
658
<em>Release date: October 25, 2024</em><br/>

RELEASENOTES.md

Lines changed: 18 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,25 @@
1-
v1.2.0-alpha1
1+
v1.2.0-beta
22
------
3-
<em>Release date: October 25, 2024</em><br/>
4-
<em>Changes since: <strong>v1.2.0-alpha</strong></em><br/>
3+
<em>Release date: February 10, 2025</em><br/>
4+
<em>Changes since: <strong>v1.2.0-alpha1</strong></em><br/>
55

6-
<em><strong>Attention:</strong> Some configuration files were changed in pgModeler 1.2.0-alpha1 causing a break in the backward compatibility with some pgModeler 1.1.x settings. This way, at the first start of the newer version, pgModeler will automatically try to migrate the older settings to the newer ones! Be advised that this is a release of a version in the early stages of development. Bugs, malfunctioning, crashes, and other problems are expected and will be resolved as soon as they are reported. Make sure to make backups of your models and databases before using this version!</em><br/><br/>
6+
<em><strong>Attention:</strong> Some configuration files were changed in pgModeler 1.2.0-beta causing a break in the backward compatibility with some pgModeler 1.1.x settings. This way, at the first start of the newer version, pgModeler will automatically try to migrate the older settings to the newer ones! Be advised that this is a release of a version in the early stages of development. Bugs, malfunctioning, crashes, and other problems are expected and will be resolved as soon as they are reported. Make sure to make backups of your models and databases before using this version!</em><br/><br/>
77

8-
It took almost 4 months but here we are glad to deliver to the community pgModeler 1.2.0-alpha1 which bundles 24 new features, 23 improvements, and 15 fixes since the release of the previous alpha. This time, some important decisions were taken to make the code base a bit less complicated to maintain, at the same time some other portions of the tool were refactored to allow the plugin development to be more flexible, and, of course, we are bringing some new features. The key improvements and fixes are described below:<br/>
8+
After almost 4 months since the release of the last development version of 1.2.0, here we are announcing its first beta! This means that 1.2.0 has reached its final shape and from now on I will work exclusively on fixing bugs and polishing the new features that will be arriving in the stable version! Below some new features and changes are detailed.
99

10-
* **Improved layers setup:** The operation to move objects to certain layers was significantly improved in this version. Now, the quick action "Quick > Set layers" opens a dialog where the user can move the selected objects to one or more existing layers or even create a layer on the fly and assign it to the selection in the design view. Additionally to that improvement, the layers configuration widget (the one that is toggled by the button "Layers" at the bottom of the design view) received an option that makes relationships follow the visibility of the linked tables. This means that if one table is moved to a layer the relationships connected to it will move to that layer too.<br/>
10+
* **Relationships' FK columns indexes:** Now, the relationships that automatically create foreign key columns, can also create indexes over that columns too. This can speed up a bit more the modeling process. The generated indexes, like relationships, are named after the specific pattern and the user has total control over the generated names in the relationship editing form or by defining a global name pattern under relationships settings.
1111

12-
* **Transactional export process:** The export process is now capable of running the commands at once inside a transaction block. This is useful if you want an atomic execution of the generated DDLs, rolling back everything if one command fails in its execution. Note that the transactional option does not affect database and tablespace creation commands, since, by design, these commands need to be executed outside a transaction. The command-line interface tool also received support for the transactional export process and it's enabled by default like in the GUI. To deactivate it during the execution of any export operation use the options -nt or --non-transactional. <br/>
12+
* **Quick create constraints, indexes, and relationships:** This feature, introduced through an exclusive plugin in the paid version of the tool, allows the creation of constraints, indexes, and relationships based on the objects selected in the design view, without the need to open a single editing form or fill lots of fields. The objects created also support name patterns, and they can be configured in the plugin's settings menu in the main window.
1313

14-
* **Improved code completion:** The code completion widget now supports the completion of names in ALTER/DROP commands. It even detects the type of objects being modified or dropped suggesting the names filtered by the specified types. <br/>
14+
* **Miscellaneous:**
1515

16-
* **Tabbed data handling:** Before this version, data manipulation was performed via a standalone dialog, which could make data handling more difficult due to the number of standalone windows open. Now, all browsed tables are reunited in a single dialog but lying in their own tabs, facilitating data visualization.
17-
18-
* **Query variables plugin:** The paid version of the tool received a new plugin that helps the developers test their queries using variables that are replaced in the command at the moment of its execution. Basically, a query that contains some variables prefixed by $ like this "SELECT $cols FROM $schema.$table WHERE $condition" has the values for each variable replaced and the parsed query executed. The variables and their values can be specified in a special widget that is toggled by the button "Variables" in the SQL execution widget. The main goal of this new feature is to accelerate the query testing mainly if you write parametrized queries based on some ORMs syntaxes. This plugin supports four variable formats: $variable, :variable, @variable, and {variable}.
19-
20-
* **Removal of the support for Qt 6.2 and 6.3:** The support for Qt versions 6.2 and 6.3 was removed since it was causing a lot of conditional compilation instructions (the famous C/C++ macros) to be used. This approach tends to make the code hard to read and maintain. So, since Qt 6.2 and 6.3 official upstream support has ended, we decided to make the code compliant with newer framework versions. To be more precise, pgModeler now builds on Qt 6.4.x and above.<br/>
21-
22-
* **Improved plugin API:** The pgModeler's plugin development interface was improved and now allows more portions of the tool to receive user-created features to increase its roll of functionalities. Unfortunately, for now, you still need a basic knowledge of C++ and Qt. But for future releases, I plan to simplify even more the plugin interface in such a way as to allow non-C++ developers to create their custom features for pgModeler.<br/>
23-
24-
* **Miscellaneous: **
25-
* Added support for PostgreSQL 17.
26-
* Added support for displaying FK's update/delete actions in the data dictionary.
27-
* The file selection dialog now starts on the user's home by default and saves that last accessed directory, using it the next time it is opened.
28-
* Minor bug fix in code generation of tablespace, database, and user mapping objects.
29-
* Minor fix in the object search feature when searching by source/referenced constraint columns.
30-
* Minor fix in objects' grids to allow sorting the "ID" column as an integer value.
31-
* Fixed a bug in function editing form that was not resetting "SETOF" flag when changing the return mode to "Table".
32-
* Fixed a malformed markdown code when a table or view had a comment.
33-
* Fixed a bug in diff process that was ignoring changes in columns.
34-
* Fixed a crash in the database import process when destroying detached inherited columns.
35-
* Fixed a bug in database import that was crashing the application while trying to retrieve user mapping comments.
36-
* Fixed a bug in the index object that was preventing the removal of included columns.
16+
* [New] When the export, import, and diff processes finish, the taskbar blinks when the window is not visible.
17+
* [New] Added support for the total number of rows in the table being handled in the data handling form.
18+
* [Change] Set new icons for tree widgets collapse and expand actions.
19+
* [Change] Updates on icons-*.conf files.
20+
* [Change] Minor layout adjustment in the data handling form.
21+
* [Change] Minor adjustment in the layers configuration widget to accept Enter/Return to apply settings.
22+
* [Fix] Fixed some shortcut conflicts in the main window.
23+
* [Fix] Minor fix in the "Open relationship" action in the design view.
24+
* [Fix] Fixed the index catalog queries when using pgModeler in compatibility mode (PG 9.x).
25+
* [Fix] Minor fix in buttons' drop shadows in data handling form.

apps/pgmodeler-ch/src/crashhandlerform.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
# PostgreSQL Database Modeler (pgModeler)
33
#
4-
# Copyright 2006-2024 - Raphael Araújo e Silva <raphael@pgmodeler.io>
4+
# Copyright 2006-2025 - Raphael Araújo e Silva <raphael@pgmodeler.io>
55
#
66
# This program is free software: you can redistribute it and/or modify
77
# it under the terms of the GNU General Public License as published by
@@ -43,7 +43,7 @@ CrashHandlerForm::CrashHandlerForm(bool analysis_mode, QWidget *parent, Qt::Wind
4343
wgt->setLayout(layout);
4444

4545
logo_lbl->setPixmap(QPixmap(":/images/images/crashhandler.png"));
46-
report_twg->addTab(wgt, tr("Stack trace"));
46+
report_twg->addTab(wgt, QIcon(GuiUtilsNs::getIconPath("alert")), tr("Stack trace"));
4747

4848
//Open for reading the stack trace file generated on the last crash
4949
input.setFileName(GlobalAttributes::getTemporaryFilePath(GlobalAttributes::StacktraceFile));

apps/pgmodeler-ch/src/crashhandlerform.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
# PostgreSQL Database Modeler (pgModeler)
33
#
4-
# Copyright 2006-2024 - Raphael Araújo e Silva <raphael@pgmodeler.io>
4+
# Copyright 2006-2025 - Raphael Araújo e Silva <raphael@pgmodeler.io>
55
#
66
# This program is free software: you can redistribute it and/or modify
77
# it under the terms of the GNU General Public License as published by

apps/pgmodeler-ch/src/main.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
# PostgreSQL Database Modeler (pgModeler)
33
#
4-
# Copyright 2006-2024 - Raphael Araújo e Silva <raphael@pgmodeler.io>
4+
# Copyright 2006-2025 - Raphael Araújo e Silva <raphael@pgmodeler.io>
55
#
66
# This program is free software: you can redistribute it and/or modify
77
# it under the terms of the GNU General Public License as published by

apps/pgmodeler-cli/src/main.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
# PostgreSQL Database Modeler (pgModeler)
33
#
4-
# Copyright 2006-2024 - Raphael Araújo e Silva <raphael@pgmodeler.io>
4+
# Copyright 2006-2025 - Raphael Araújo e Silva <raphael@pgmodeler.io>
55
#
66
# This program is free software: you can redistribute it and/or modify
77
# it under the terms of the GNU General Public License as published by

apps/pgmodeler-se/src/aboutsewidget.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
# PostgreSQL Database Modeler (pgModeler)
33
#
4-
# Copyright 2006-2024 - Raphael Araújo e Silva <raphael@pgmodeler.io>
4+
# Copyright 2006-2025 - Raphael Araújo e Silva <raphael@pgmodeler.io>
55
#
66
# This program is free software: you can redistribute it and/or modify
77
# it under the terms of the GNU General Public License as published by

apps/pgmodeler-se/src/aboutsewidget.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
# PostgreSQL Database Modeler (pgModeler)
33
#
4-
# Copyright 2006-2024 - Raphael Araújo e Silva <raphael@pgmodeler.io>
4+
# Copyright 2006-2025 - Raphael Araújo e Silva <raphael@pgmodeler.io>
55
#
66
# This program is free software: you can redistribute it and/or modify
77
# it under the terms of the GNU General Public License as published by

apps/pgmodeler-se/src/main.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
# PostgreSQL Database Modeler (pgModeler)
33
#
4-
# Copyright 2006-2024 - Raphael Araújo e Silva <raphael@pgmodeler.io>
4+
# Copyright 2006-2025 - Raphael Araújo e Silva <raphael@pgmodeler.io>
55
#
66
# This program is free software: you can redistribute it and/or modify
77
# it under the terms of the GNU General Public License as published by

apps/pgmodeler-se/src/schemaeditorform.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
# PostgreSQL Database Modeler (pgModeler)
33
#
4-
# Copyright 2006-2024 - Raphael Araújo e Silva <raphael@pgmodeler.io>
4+
# Copyright 2006-2025 - Raphael Araújo e Silva <raphael@pgmodeler.io>
55
#
66
# This program is free software: you can redistribute it and/or modify
77
# it under the terms of the GNU General Public License as published by

0 commit comments

Comments
 (0)