Skip to content

Commit

Permalink
Merge branch '0.8.2-alpha' into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
rkhaotix committed Oct 5, 2015
2 parents 5bf2f81 + 8522bcb commit 2a0bbce
Show file tree
Hide file tree
Showing 112 changed files with 1,849 additions and 1,057 deletions.
77 changes: 77 additions & 0 deletions CHANGELOG.md
@@ -1,6 +1,83 @@
Change Log
---------

v0.8.2-alpha
------
<em>Codename: <strong>Faithful Elephant</strong></em><br/>
<em>Release date: October 05, 2015</em><br/>

* [New] Added a toggle button in SQL Execution to show/hide the output pane.
* [New] Added the method Permission::isSimilarTo that returns true when a provided permission has the same semantics as the caller permission.
* [New] Added missing keywords CASE, ELSE, QUERY, ELSIF, RAISE, EXCEPTION, TG_OP to sql-highlight.conf
* [New] Columns that compose primary key and unique key are exposed as children of the constraint in the object tree at DatabaseExplorerWidget.
* [New] Foreign key objects selected in DatabaseExplorerWidget now expose, in two children items, the source and referenced tables/columns.
* [New] Added a confirmation message in DataManipulationForm to avoid lose uncommited changes before retrieve data.
* [New] NumberedTextEditor now is able to set a custom tab width.
* [New] Added a configuration option for custom tab width in GeneralConfigWidget.
* [New] Added a nl_NL (Dutch - Netherlands) UI translation.
* [New] Created a mechanism to make default values of columns in the form nextval(sequence) be transformed in a link between the sequence and the column in the import process. This will diminish the divergences raised by the diff process.
* [New] Added a readonly item delegate for attributes grid to permit user to copy contents or navigate through values using keyboard.
* [Change] Changed the initial data limit in DataManipulationForm from 100 to 1000.
* [Change] Removed the default protected status of public schema in sample models.
* [Change] The system schema public now can be protected/unprotected as well moved through the canvas area.
* [Change] Changed the method DatabaseModel::getPermissionIndex to search permissions looking into their contents and not only by their internal references.
* [Change] Improvements on diff process to avoid include already existent permissions.
* [Change] Improvement in diff process to avoid generate code for an unmodifiable object when its code doesn't differs from the same object in database.
* [Change] Added an option to DatabaseImportHelper to avoid the fk relationship updates. This will reduce the time to perform the import step in diff process.
* [Change] The diff is now capable to detect differences in functions source code and recreate them.
* [Change] Minor enhacement in DataManipulationForm to show the query time when retrieving data.
* [Change] Minor adjustments on tooltips of buttons in SQLToolWidget and DatabaseExplorerWidget.
* [Change] Minor size adjustment in ColumnWidget.
* [Change] Minor improvement on SyntaxHighlighter to optionally use the same tab size as NumberedTextEditor.
* [Change] Minor improvement on BaseObjectWidget to avoid install event filter in QPlainTextEdit and NumberedTextEditor.
* [Change] Replaced the QPlainTextEdit instance for source code input in FunctionWidget by a NumberedTextEditor instance.
* [Change] Minor message adjustments on SQLExecutionWidget.
* [Change] Minor adjustment on relationship invalidation message in ModelValidationWidget.
* [Change] Removed unused code from ModelValidationHelper.
* [Change] If a 1:1 or 1:n relationship is removed from the model the receiver table will have its fk relationships updated. This is useful to recreate fk relationships that were replaced by the removed relationship.
* [Change] Minor forms adjustments to resize command buttons depending on the size of texts.
* [Change] More improvements in the diff process when dealing with foreign keys creation.
* [Change] Changed the characters used to specify function call or any unescaped values in DataManipulationForm from <> to {}
* [Change] When using snippets in the SQL execution field the current code will not be cleaned up, instead the snippet will be appended to the current code.
* [Change] Removed the automatic view switching when saving the model.
* [Change] Minor adjustment on buttons positions at NewObjectOverlay.
* [Change] Minor message update in MainWindow::saveModel.
* [Change] pgModeler now indicates the name of unsaved models before quit.
* [Fix] Fixed a regression in trigger drop action in DatabaseExplorerWidget.
* [Fix] Fixed a severe bug that was not configuring the connection correctly when adding a new SQL input field from the current browsed database in SQL tool. The bug could cause user to manage a different database other than the one desired.
* [Fix] Fixed the "Find" button tooltip in SQLExecutionWidget
* [Fix] Minor fix when showing system objects in ModelObjectsWidget.
* [Fix] Fixed the view's SQL generation trimming the SQL that defines it to avoid differences between the model's view and the one generated after export. This will cause less divergences in when diff'ing the model and database.
* [Fix] Minor fixes in the *::getAlterDefinition() methods do avoid crashes due to null objects handling.
* [Fix] Fixed a crash when generating SQL code for recursive views.
* [Fix] Minor fix to correclty show the temporary models save progress at the bottom of main window.
* [Fix] Minor fixes in the validation process to force graphical objects updates and object's tree updates to reflect the new ids.
* [Fix] Minor fixes in the object naming. Now pgModeler will accept dollar signs in any portion of the string or even numbers as object's name but this will automatically quote the name to avoid errors.
* [Fix] Fixed the generation of DROP commands for triggers and rules.
* [Fix] Fixed a bug in Index and IndexWidget that was permiting btree index elements to have sorting attributes which is not valid according to PostgreSQL rules.
* [Fix] Fixed a bug in CodeCompletionWidget that was not retrieving objects with quoted names.
* [Fix] Minor fix in DataManipulationForm to clear the changed rows list after save the modifications.
* [Fix] Fixing the tab index in generalconfigwidget.ui.
* [Fix] Added a workaround to avoid crashes and leaks related to relationship disconnection and validation.
* [Fix] Minor fix in ModelsDiffHelper to avoid diff generation errors related to the missing 'fk-defs' attribute.
* [Fix] Fixed a crash when trying to create a new foreign key after connect two tables using a 1:1 or 1:n relationship.
* [Fix] Translated the pt_BR (Brazilian Portuguese) word found in the code.
* [Fix] Minor fix in BaseObject to permit the usage of swapObjectsIds method from ModelWidget class.
* [Fix] Fixed a bug that was duplicating some foreign key creation code in diff process.
* [Fix] Fixed a bug in the diff process that was dropping columns linked to sequences when these ones were dropped.
* [Fix] Fixed a bug when disabling table's SQL code from model widget. The FK constraints are now enabled/disabled correctly.
* [Fix] Fixed a bug in import process that was wrongly prepending schema's name in types related to tables.
* [Fix] Minor fixes in doxygen.conf.
* [Fix] Fixed the feature to convert to sequence a serial column in order to diminsh breaking references between the column's parent table and the newly created sequence.
* [Fix] Spelling fixes in es_ES (Spanish) UI translation.
* [Fix] Fixed a bug that was not setting up the object's schema correctly when creating new table or view inside a selected schema.
* [Fix] Fixed a bug in DatabaseModel::storeSpecialObjectsXML that was causing crashes when closing a model.
* [Fix] Fixed the model loading from recent list in order to expose the "fix model" message box in case of errors.
* [Fix] Minor adjustment on the generated diff code to include foreign keys definitions at the end of the script.
* [Fix] Minor adjustment on ui-style.conf to minimize the problems with dark themes.
* [Fix] Fixed a problem with validation that was trying to validate foreign keys without need.
* [Fix] Fix a bug that was preventing "deferrable" attribute for constraint triggers to be used in SQL definition.

v0.8.1
------
<em>Codename: <strong>Faithful Elephant</strong></em><br/>
Expand Down
70 changes: 46 additions & 24 deletions RELEASENOTES.md
@@ -1,26 +1,48 @@
v0.8.1
v0.8.2-alpha
------
<em>Codename: <strong>Faithful Elephant</strong></em>
<em>Release date: July 30, 2015</em>
<em>Changes since: <strong>v0.8.0</strong></em><br/>

<strong>Summary:</strong> after five months working to enhance the last major release we finally have the 0.8.1! This version brings a lot of improvements and fixes in a total of 30 new features, 68 changes, 72 bug fixes.<br/>
The previous release introduced important new features and this one brings more improvements to them.<br/>
Obviously, not all new features or changes will be noted by the user because they were created to help in bug fixes but what matters is that pgModeler is continously being enhanced.<br/>
Below the key features of this new release are described. Please, refer to CHANGELOG.md to see the complete list of features and fixes.<br/>

* <strong>Faster design:</strong> now it is possible to create dependency objects from within their related selectors in editing forms. For instance, inside the table's editing form you can create a new schema and assign to the table on the fly just by popping up the schema's selector dialog and right click the item "Schemas (n)" and then selecting "New schema". This action is valid in almost all selectors in editing forms. Surely this will shorten up the time spent to create objects in the model.<br/>

* <strong>Automatic keyword quotating:</strong> introducing an automatic name quoting mechanism. This feature will add quotes to objects' names if they refer to PostgreSQL's reserved keywords. The automatic quoting will happen whenever the SQL code needs to be generated, this will avoid export or validation errors related to objects' names. <strong>NOTE:</strong> this feature is experimental and may fail in some cases.</br>

* <strong>Improved object finder:</strong> the object finder is a handy tool when working with big models. In previous releases the only action over results was to open the editing form of the selected object in the results grid. Now the user can access the complete menu (the same one in the canvas area) by right click any item in the result grid. <strong>NOTE:</strong> the items available in the menu may vary depending upon the selected object.<br/>

* <strong>Advanced code preview:</strong> the source code visualization now is able to generate code related to the object and its dependecies or children for test purposes. Also, there is the possibility to save the code in that dialog to a file for later usage.<br/>

* <strong>Multiple database management:</strong> in previous versions the user was able to manage only a database at a time. Now it's possible to manage several databases at once using different connections without the need to close the ones currently being managed.<br/>

* <strong>Patched diff process:</strong> the experimental diff feature was quite appreciated by the users and attending to some requests this feature received several fixes and a few new options like the one to preserve database names. This option will avoid attempts to rename a database when the model's name differs from the database's name.<br/>

* <strong>Improved import process:</strong> the reverse engineering process is now able to import a set of objects to an existing model. This is useful when the user needs to reuse objects from another database in the model currently being designed.<br/>

* <strong>Miscelaneous:</strong> fixed some crashes related to thread hang ups when validating or diff'ing large models; the CLI received important patches and the model fix process generates more reliable models; pgModeler received a numbered source code editor in its most relevant portions to facilitate the source code reading and editing; Added a "Contributors" section in the about dialog to list the persons who contributed with patches and features and much more.<br/>
<em>Release date: October 05, 2015</em>
<em>Changes since: <strong>v0.8.1</strong></em><br/>

<strong>Summary:</strong> this is the first release of the last version that will close the 0.8.x series. This one brings a few new features and important bug fixes mainly related to diff and import processes.<br/>

Below the key features and fixes of this new release are described. Please, refer to CHANGELOG.md to see the complete list of features and fixes.<br/>

<strong>Reverse engineering:</strong> <br/>
* [New] Created a mechanism to make default values of columns in the form nextval(sequence) be transformed in a link between the sequence and the column in the import process. This will diminish the divergences raised by the diff process.
* [Fix] Fixed a bug in import process that was wrongly prepending schema's name in types related to tables.

<strong>Diff process:</strong> </br>
* [Change] Improvements on diff process to avoid include already existent permissions.
* [Change] Improvement in diff process to avoid generate code for an unmodifiable object when its code doesn't differs from the same object in database.
* [Fix] Minor fix in ModelsDiffHelper to avoid diff generation errors related to the missing 'fk-defs' attribute.
* [Fix] Fixed a bug that was duplicating some foreign key creation code in diff process.
* [Fix] Fixed a bug in the diff process that was dropping columns linked to sequences when these ones were dropped.

<strong>Validation process:</strong> </br>
* [Fix] Minor fixes in the validation process to force graphical objects updates and object's tree updates to reflect the new ids.
* [Fix] Fixed a problem with validation that was trying to validate foreign keys without need.

<strong>Database explorer:</strong> <br/>
* [New] Columns that compose primary key and unique key are exposed as children of the constraint in the object tree at DatabaseExplorerWidget.
* [New] Foreign key objects selected in DatabaseExplorerWidget now expose, in two children items, the source and referenced tables/columns.

<strong>Solved leaks and crashes:</strong> <br/>
* [Fix] Added a workaround to avoid crashes and leaks related to relationship disconnection and validation.
* [Fix] Fixed a crash when trying to create a new foreign key after connect two tables using a 1:1 or 1:n relationship.
* [Fix] Fixed a crash when generating SQL code for recursive views.

<strong>Miscelaneous:</strong> <br/>
* [New] Added a toggle button in SQL Execution to show/hide the output pane.
* [New] NumberedTextEditor now is able to set a custom tab width.
* [Change] The system schema public now can be protected/unprotected as well moved through the canvas area.
* [Change] When using snippets in the SQL execution field the current code will not be cleaned up, instead the snippet will be appended to the current code.
* [Change] Removed the automatic view switching when saving the model.
* [Change] pgModeler now indicates the name of unsaved models before quit.
* [Fix] Fixed a severe bug that was not configuring the connection correctly when adding a new SQL input field from the current browsed database in SQL tool. The bug could cause user to manage a different database other than the one desired.
* [Fix] Minor fixes in the object naming. Now pgModeler will accept dollar signs in any portion of the string or even numbers as object's name but this will automatically quote the name to avoid errors.
* [Fix] Fixed the generation of DROP commands for triggers and rules.
* [Fix] Fixed a bug that was not setting up the object's schema correctly when creating new table or view inside a selected schema.
* [Fix] Minor adjustment on ui-style.conf to minimize the problems with dark themes.
* [Fix] Fix a bug that was preventing "deferrable" attribute for constraint triggers to be used in SQL definition.
* [Fix] Fixed the view's SQL generation trimming the SQL that defines it to avoid differences between the model's view and the one generated after export. This will cause less divergences in when diff'ing the model and database.
1 change: 1 addition & 0 deletions conf/defaults/pgmodeler.conf
Expand Up @@ -16,6 +16,7 @@
hide-ext-attribs="false"
code-font="DejaVu Sans Mono"
code-font-size="10"
code-tab-width="4"
canvas-corner-move="true"
invert-panning-rangesel="false"
check-update="true"
Expand Down
1 change: 1 addition & 0 deletions conf/dtd/pgmodeler.dtd
Expand Up @@ -33,6 +33,7 @@
<!ATTLIST configuration line-numbers-color CDATA #IMPLIED>
<!ATTLIST configuration line-numbers-bg-color CDATA #IMPLIED>
<!ATTLIST configuration line-highlight-color CDATA #IMPLIED>
<!ATTLIST configuration code-tab-width CDATA #IMPLIED>

<!ELEMENT session (file+)>
<!ELEMENT recent-models (file+)>
Expand Down
1 change: 1 addition & 0 deletions conf/pgmodeler.conf
Expand Up @@ -16,6 +16,7 @@
hide-ext-attribs="false"
code-font="DejaVu Sans Mono"
code-font-size="10"
code-tab-width="4"
canvas-corner-move="true"
invert-panning-rangesel="false"
check-update="true"
Expand Down
1 change: 1 addition & 0 deletions conf/schemas/pgmodeler.sch
Expand Up @@ -25,6 +25,7 @@ $sp [<configuration op-list-size="] {op-list-size} ["] $br
[ hide-table-tags="] %if {hide-table-tags} %then true %else false %end ["] $br
[ code-font="] {code-font} ["] $br
[ code-font-size="] {code-font-size} ["] $br
[ code-tab-width="] {code-tab-width} ["] $br
[ canvas-corner-move="] %if {canvas-corner-move} %then true %else false %end ["] $br
[ invert-panning-rangesel="] %if {invert-panning-rangesel} %then true %else false %end ["] $br
[ check-update="] %if {check-update} %then true %else false %end ["] $br
Expand Down

0 comments on commit 2a0bbce

Please sign in to comment.