v0.9.3
------

<em>Release date: December 30, 2020</em><br/>
<em>Changes since: <strong>v0.9.3-beta1</strong></em><br/>

<strong>Summary:</strong> 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.<br/>

This last release of 0.9.3, as usual, brings only fixes for what was developed during the alpha and beta stages with minor new features. <br/>

The minor features introduced by this version is the inclusion of tables' check constraints in the data dictionaries generated by the exporting process. Another new functionality is the ability to select multiple relationships connected to a table by simply right clicking it and activating the "Select relationships" action. <br/>

The object finder was improved in such a way to allow to search objects in the database model using additional searching fields. Now it's possible to search relationships by the involved tables and foreign keys that represent them and constraints by their related columns. <br/>

The diff feature was properly patched and now can produce more precise results during partial diffs done from the database model's changelog. <br/>

There were other important fixes in several parts of the software. Some of them are related to crashes during the importing process or during object selection in database designing. <br/>

The data dictionary generation was also fixed in such a way to include default values of columns associated with sequences. <br/>

The command-line interface was not working properly in 0.9.3-beta1 by rejecting a certain combination of valid parameters. The bug was fixed and now it is running as expected. <br/>

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. Below, all the changes since 0.9.3-beta1, for the complete list of changes on the entire development timeline, please, take a look into the CHANGELOG.md. <br/>

* [New] Added support to deterministic and provider attributes in collations.
* [New] Added missing check constraints in the data dictionary.
* [New] Added support to selecting all relationships of a table at once via right-click on a table > select relationships.
* [New] Added extra search fields in ObjectFinderWidget. Now it's possible to search relationships by the involved tables (source and destination table), constraints by their columns (source and referenced columns), and relationships by the foreign keys related to them.
* [Change] The warning message about the unchecked option related to drop missing objects now pops up only when there are partial diff filters configured.
* [Change] Improved the extended fade in/out options for tables/views/foreign tables.
* [Change] The partial diff filters generated from changelog will ignore table children objects in order to avoid the wrong generation of diff code.
* [Change] Minor refactoring in DatabaseModel::addChangelogEntry in order to use new attributes to define changelog operations.
* [Fix] Fixed a crash when trying to select children objects of a schema that has no rectangle defined.
* [Fix] Fixed a crash during the importing of domain objects.
* [Fix] Fixed a crash during the importing of objects into the current model in very specific cases when the model had some tables/views referencing columns added by relationship.
* [Fix] Fixed the full diff switching when there are no filtered objects in ModelDatabaseDiffForm.
* [Fix] Fixed a bug in DatabaseModel::addChangelogEntry that was causing the registration of empty signature for some objects.
* [Fix] Fixed a bug in CLI that was not accepting the use of --list-conns parameter
* [Fix] Fixed the data dictionary generation in such a way to include nextval(sequence) calls in the "default value" column.
* [Fix] Fixed a bug when configuring spatial data types during reverse engineering/diff.
* [Fix] Fixed a bug in Catalog::parseDefaultValues that was causing ARRAY[] values to be wrongly split.
* [Fix] Fixed a bug that was causing infinite validation of imported sequences.
