Jump to content

Kexi/Releases/3.2.0 Changes: Difference between revisions

From KDE Community Wiki
Jstaniek (talk | contribs)
Jstaniek (talk | contribs)
 
(21 intermediate revisions by the same user not shown)
Line 1: Line 1:
'''General highlight:''' focus of the 3.2 release has been put on improving stability of KEXI and KEXI frameworks, [[KDb]], [[KProperty]], [[KReport]]. API of these frameworks is backward compatible with the 3.1.0 version. It is also is guaranteed to be stable until the 4.0.0 release.
'''General highlight:''' focus of the 3.2 release has been put on improving stability of KEXI and KEXI frameworks, [[KDb]], [[KProperty]], [[KReport]]. API of these frameworks is backward compatible with the 3.1.0 version. It is also is guaranteed to be stable until the 4.0.0 release.


Since the 3.1.0 release KEXI and the frameworks received over ?????????? improvements and bug fixes.
Since version 3.1.0 KEXI and the frameworks received about 80 improvements and bug fixes.


Documentation of the frameworks has also improved and is available at [https://api.kde.org/extragear-api/libs-apidocs/ api.kde.org], although tutorials and reference have to be added in coming releases. KEXI user's manual is outdated as it covers older versions 2.x. We're sorry for the inconvenience.
Documentation of the frameworks has also improved and is available at [https://api.kde.org/extragear-api/libs-apidocs/ api.kde.org], although tutorials and reference have to be added in coming releases. KEXI user's manual is outdated as it covers older versions 2.x. We're sorry for the inconvenience and invite volunteers to help out.


{{Note|KEXI 3.2.x depends on the KEXI frameworks in version 3.2.x or newer. It may or may not work with older versions. Just like the KDE Frameworks, we recommend to upgrade all the KEXI frameworks to the same version.}}
{{Note|KEXI 3.2.x depends on the KEXI frameworks in version 3.2.x or newer. There is no guarantee that it works with older frameworks. Just like the KDE Frameworks, we recommend to upgrade all the KEXI frameworks to the same version as KEXI.}}


== Changes in KEXI ==
== Changes in KEXI ==
[[KEXI]] is a visual database apps builder, developed since 2002.


'''Highlight:'''  
'''Highlight:'''  


Date, Date/Time and Time type support has improved. TODO
Universal snapshots of this and future KEXI versions are also automatically built for Linux (Flatpak) and for Windows (Craft) every night. See [[Kexi/Snapshots]].
 
Date, Date/Time and Time type support has greatly improved in KEXI. Users requested to have clear way to enter date/time constants. It is now possible in a clear way without need to use text strings. Documentation of the format is currently accessible at [https://community.kde.org/Kexi/Plugins/Queries/SQL_Constants here].
In the future date/time related SQL functions would be added as well as planned [https://community.kde.org/Kexi/Plugins/Queries/SQL_Functions#Date_And_Time_Scalar_Functions here].
 
<gallery mode="packed">
File:Kexi-3.2-date-constants.png|Date constants in SELECT queries
File:Kexi-3.2-date-constants-2.png|Date constants in conditions of SELECT queries
</gallery>
Apart from the above notation improvements, data entry for dates are more reliably supported on computers that default default to two-digit years. KEXI switches itself to four-digit years by default (it can be switched off) to address the fact that for example date 19-01-21 can mean both 1919-01-21 and 2019-01-21.


* 3.2.0 Beta 1 (3.1.91)
* 3.2.0 Beta 1 (3.1.91)
**General
**New features
**Bug fixes
**Bug fixes
**Optimizations
***{{commit|kexi|178f1f667}} Startup: Improve display of tried locations for resources lookup and lookup algorithm ({{bug|391810}})
***{{commit|kexi|360036d47}} Startup: Add missing translations for "Could not open icon resource file" messages
***{{commit|kexi|d194b984a}} General: Make certain views work in User mode ({{bug|396875}}, {{diff|14402}})
***{{commit|kexi|db0df7fc6}} General: Add "All files" filter to file widgets for non-Plasma systems
***{{commit|kexi|d92b07632}} General: Welcome page: Always display the project file names in addition to captions
***{{commit|kexi|6e41c5c03}} General: Welcome page: Add long localized last opening date to project tool tips
***{{commit|kexi|166ec49aa}} {{commit|kexi|f0f2d52dc}} General: Welcome page: Show recent project files that start with "." / hidden files
***{{commit|kexi|941cdfa75}} Table View: Make zero values displayed for integer columns ({{bug|395189}}, {{diff|13451}})
***{{commit|kexi|16076668c}} Table View: Fix validation of values in default input box of table view ({{bug|395225}}, {{diff|13473}})
***{{commit|kexi|b37727d3f}} Table and Form View: Fix two-digit year formats issue: do not allow by default ({{bug|378481}}, {{diff|18035}}).
****Years are 4 digits now in tables and forms. On the output INFO message says as explained at https://bugs.kde.org/show_bug.cgi?id=378481#c5. Data entry works based on this new year format. Changes are properly saved to db. Display output e.g. in queries and reports follow this format too.
****Set AllowTwoDigitYearFormats=true in kexirc, [General] section to force using 2 digits.
***{{commit|kexi|a2ccf1e6a}} Queries: Fix crash on failed opening of query in Design view ({{task|10134}}, {{diff|17847}})
***{{commit|kexi|96c30982d}} Forms: Fix crash when right-clicking in form data view on widget such as text box ({{bug|402923}})
***{{commit|kexi|90c3ed325}} Reports: Fix crash in data fetching and aggregation scripts in reports ({{bug|392753}}, {{diff|12868}})
***{{commit|kexi|719ee0c4e}} Reports: Support params in report queries. KEXI now prompts for parameters in queries that use them. ({{diff|15438}}) ({{bug|379694}})
***{{commit|kexi|5616004f9}} Import: Fix translation issue in the Database Importing Assistant ({{bug|399296}})
***{{commit|kexi|bcebf0787}} Import: Skip table name if physical table is non-existing, use the new tableNames API in migration ({{bug|392112}}, {{diff|11549}})
***{{commit|kexi|08ac1466f}} MS Access import
****Fix crash on importing zero-length memo data (long text)
****Fix not being able to handle binary objects larger than 16 MiB. Limit is now 256 MiB.
****Fix possible crash when importing MDB file having non-latin characters in column names of unexpected length ({{bug|396984}})
***{{commit|kexi|a6d385767}} Export: Fix crash on exporting tabular data to clipboard (introduced in 3.1.0) ({{bug|394519}})
***{{commit|kexi|861b4bceb}} Export: Fix filename selection for export dialogs and allow to pre-select filename in file dialogs
**Improvements
**Improvements
**Documentation and examples
***{{commit|kexi|fceff4e57}} Assistants: properly focus input boxes after moving to other page, make Alt+arrows work for Back/Next, make Enter accept page if applicable
***{{commit|kexi|fbc39fd7a}} Project type selection in the new project assistant: do not assume user clicked the type button but just focused it
***{{commit|kexi|8c4d2dd8d}} Improve display of Finish buttons of CSV export/import dialogs
***New / Import project assistants
****{{commit|kexi|0f751061c}} Destination file requester is now of Save type
****{{commit|kexi|a5d194d5a}} Use Documents location if there are no recent dirs known yet
****{{commit|kexi|c08416889}} Better preserve path while updating filename based on project caption
**Buildsystem
***{{commit|kexi|12eed3a62}} Install the application icons
***{{commit|kexi|f4c9aa0da}} Create (and install) rcc files with kexi icons in co-installable dirs
***{{commit|kexi|1578fcb4a}} Fix build with Qt 5.11 (missing headers) ({{diff|11503}})
***{{commit|kexi|14dada252}} Fix build with Qt 5.6 ({{diff|11544}})
***{{commit|kexi|b1a9f6f68}} Fix data install dir for Windows, make icons installed relative to that
***{{commit|kexi|7c1e67632}} Make appdata.xml, app icons and kexi.desktop co-installable
***{{commit|kexi|519c4f1c3}} Make KEXI compile for MOBILE productset ({{diff|10996}})
***{{commit|kexi|d9c7ab2b2}} Win/Mac: still install copied KEXI files but add the original ones to the binary because the copied ones do not exist yet before ecm_add_app_icon() gets called
***{{commit|kexi|54b2bcfb2}} CMake: find PostgreSQL 11
 
* 3.2.0
**Bug fixes
***{{commit|kexi|95a59ae11}} Add protection against invalid translation of widget names
***{{commit|kexi|bb554ba8b}} Fix compilation with KIO < 5.33 ({{diff|19616}})


== Changes in KDb ==
== Changes in KDb ==
''[[KDb]] is a database connectivity and creation framework for various database vendors.''
''[[KDb]] is a database connectivity and creation framework for various database vendors.''


'''Highlight:'''  
'''Highlight:''' As a top framework on which KEXI depends, KDb 3.2 received numerous date/time improvements.


* 3.2.0 Beta 1 (3.1.91)
* 3.2.0 Beta 1 (3.1.91)
Line 38: Line 90:
***{{commit|kdb|3b007ac8}} Fix input of large unsigned int values (>0x7FFFFFFF) ({{bug|395225}}, {{diff|13472}})
***{{commit|kdb|3b007ac8}} Fix input of large unsigned int values (>0x7FFFFFFF) ({{bug|395225}}, {{diff|13472}})
***{{commit|kdb|d1b31bd8}} Fix handling ORDER BY part of queries ({{bug|392753}}, {{diff|12873}})
***{{commit|kdb|d1b31bd8}} Fix handling ORDER BY part of queries ({{bug|392753}}, {{diff|12873}})
***{{commit|kdb|28aa00b6}} Fix detection of .kexi file types after recent change of MIME database for SQLite type (2018-06-17) ({{bug|396999}})
****{{commit|kdb|5c71f57a}} More reliable resolving plugin MIME types - before adding metadata (Thanks to Pino Toscano)
**Improvements
**Improvements
***{{commit|kdb|d141d8a5}} Add quotes when escaping identifiers only when string is not empty, invalid identifier or KDBSQL keyword
***{{commit|kdb|d141d8a5}} Add quotes when escaping identifiers only when string is not empty, invalid identifier or KDBSQL keyword
Line 51: Line 105:
***{{commit|kdb|4867d51e}} HeadersTest: Use install_manifest.txt to obtain list of files, this improves accuracy, no need for blacklisting
***{{commit|kdb|4867d51e}} HeadersTest: Use install_manifest.txt to obtain list of files, this improves accuracy, no need for blacklisting
***{{commit|kdb|f8116d03}} KDbTestUtils: add convenience APIs for connecting and using db, support connection options
***{{commit|kdb|f8116d03}} KDbTestUtils: add convenience APIs for connecting and using db, support connection options
***{{commit|kdb|c2b0c4bd}} Add autotests for checking detection of every mime type that should be supported
***{{commit|kdb|81ad5897}} {{commit|kdb|c2fcf8a6}} Add autotests for the new Date/Time related features
**Buildsystem
**Buildsystem
***{{commit|kdb|8bcde5e6}} Copy new FindICU.cmake from cmake and port to it
***{{commit|kdb|8bcde5e6}} Copy new FindICU.cmake from cmake and port to it
***{{commit|kdb|33392735}} ICU is required so do not check for it again in the sqlite driver's build
***{{commit|kdb|33392735}} ICU is required so do not check for it again in the sqlite driver's build
* 3.2.0
**Bug fixes
***{{commit|kdb|d6291d60}} Fix build with Qt < 5.8 (missing Qt::ISODateWithMs) ({{bug|404599}})
***{{commit|kdb|fc971325}} Port KDb to the Qt::ISODateWithMs fix ({{bug|404599}})
***{{commit|kdb|63085381}} Port KDbUtils::stringToHackedQTime the Qt::ISODateWithMs fix ({{bug|404599}})


== Changes in KProperty ==
== Changes in KProperty ==
''[[KProperty]] is a property editing framework with editor widget similar to what is known from Qt Designer.''
''[[KProperty]] is a property editing framework with editor widget similar to what is known from Qt Designer.''


'''Highlight:'''  
'''Highlight:''' Developers can now plug own handler for file/url selection to the Url type. Also, relative URLs can be now used. KPropertyExample example application has been updated to demonstrate these features.


* 3.2.0 Beta 1 (3.1.91)
* 3.2.0 Beta 1 (3.1.91)
**New features / APIs
**New features / APIs
***{{commit|kproperty|f4cc272}} Allow to override behavior of URL editors
****added KPropertyEditorItemEvent and KPropertyEditorView::handlePropertyEditorItemEvent()
***{{commit|kproperty|cd04f74}} Add support for relative URL types and classes KPropertyComposedUrl, KPropertyComposedUrlEditor
****Added ComposedUrl type
**Bug fixes
**Bug fixes
***{{commit|kproperty|95f521f}} Remove infinite loop while resizing double spin box editor
**Buildsystem
***{{commit|kproperty|9ea3375}} Fix data install dir for Windows, make icons installed relative to that, make icons coinstallable
* 3.2.0
**Bug fixes
***{{commit|kproperty|c481044}} Bool editor: do not display None for 2-state mode
***{{commit|kproperty|f5ff8b5}} Adjust size hint of the property name column to fix bold text
**Improvements
***{{commit|kproperty|8a89673}} Update docs for 3State option


== Changes in KReport ==
== Changes in KReport ==
''[[KReport]] is a framework for the creation and generation of reports in multiple formats.''
''[[KReport]] is a framework for the creation and generation of reports in multiple formats.''


'''Highlight:'''  
'''Highlight:''' No new features in the 3.2 release, just stabilizations.


* 3.2.0 Beta 1 (3.1.91)
* 3.2.0 Beta 1 (3.1.91)
**New features / APIs
**Improvements
**Bug fixes
***{{commit|kreport|3da9d355b5}} Use QPageSize::name() for names of page sizes ({{diff|13713}})
**Buildsystem
***{{commit|kreport|ea0119fc28}} Fix data install dir for Windows, make icons installed relative to that, make icons coinstallable
***{{commit|kreport|04cb1e9368}} Make sure we don't try to build maps on Windows, even if Marble is around (it has Unix requirements)
* 3.2.0
** None

Latest revision as of 21:04, 2 December 2024

General highlight: focus of the 3.2 release has been put on improving stability of KEXI and KEXI frameworks, KDb, KProperty, KReport. API of these frameworks is backward compatible with the 3.1.0 version. It is also is guaranteed to be stable until the 4.0.0 release.

Since version 3.1.0 KEXI and the frameworks received about 80 improvements and bug fixes.

Documentation of the frameworks has also improved and is available at api.kde.org, although tutorials and reference have to be added in coming releases. KEXI user's manual is outdated as it covers older versions 2.x. We're sorry for the inconvenience and invite volunteers to help out.

Note

KEXI 3.2.x depends on the KEXI frameworks in version 3.2.x or newer. There is no guarantee that it works with older frameworks. Just like the KDE Frameworks, we recommend to upgrade all the KEXI frameworks to the same version as KEXI.


Changes in KEXI

KEXI is a visual database apps builder, developed since 2002.

Highlight:

Universal snapshots of this and future KEXI versions are also automatically built for Linux (Flatpak) and for Windows (Craft) every night. See Kexi/Snapshots.

Date, Date/Time and Time type support has greatly improved in KEXI. Users requested to have clear way to enter date/time constants. It is now possible in a clear way without need to use text strings. Documentation of the format is currently accessible at here. In the future date/time related SQL functions would be added as well as planned here.

Apart from the above notation improvements, data entry for dates are more reliably supported on computers that default default to two-digit years. KEXI switches itself to four-digit years by default (it can be switched off) to address the fact that for example date 19-01-21 can mean both 1919-01-21 and 2019-01-21.

  • 3.2.0 Beta 1 (3.1.91)
    • Bug fixes
      • 178f1f667 Startup: Improve display of tried locations for resources lookup and lookup algorithm (Bug #391810)
      • 360036d47 Startup: Add missing translations for "Could not open icon resource file" messages
      • d194b984a General: Make certain views work in User mode (Bug #396875, Review #14402)
      • db0df7fc6 General: Add "All files" filter to file widgets for non-Plasma systems
      • d92b07632 General: Welcome page: Always display the project file names in addition to captions
      • 6e41c5c03 General: Welcome page: Add long localized last opening date to project tool tips
      • 166ec49aa f0f2d52dc General: Welcome page: Show recent project files that start with "." / hidden files
      • 941cdfa75 Table View: Make zero values displayed for integer columns (Bug #395189, Review #13451)
      • 16076668c Table View: Fix validation of values in default input box of table view (Bug #395225, Review #13473)
      • b37727d3f Table and Form View: Fix two-digit year formats issue: do not allow by default (Bug #378481, Review #18035).
        • Years are 4 digits now in tables and forms. On the output INFO message says as explained at https://bugs.kde.org/show_bug.cgi?id=378481#c5. Data entry works based on this new year format. Changes are properly saved to db. Display output e.g. in queries and reports follow this format too.
        • Set AllowTwoDigitYearFormats=true in kexirc, [General] section to force using 2 digits.
      • a2ccf1e6a Queries: Fix crash on failed opening of query in Design view (Task #10134, Review #17847)
      • 96c30982d Forms: Fix crash when right-clicking in form data view on widget such as text box (Bug #402923)
      • 90c3ed325 Reports: Fix crash in data fetching and aggregation scripts in reports (Bug #392753, Review #12868)
      • 719ee0c4e Reports: Support params in report queries. KEXI now prompts for parameters in queries that use them. (Review #15438) (Bug #379694)
      • 5616004f9 Import: Fix translation issue in the Database Importing Assistant (Bug #399296)
      • bcebf0787 Import: Skip table name if physical table is non-existing, use the new tableNames API in migration (Bug #392112, Review #11549)
      • 08ac1466f MS Access import
        • Fix crash on importing zero-length memo data (long text)
        • Fix not being able to handle binary objects larger than 16 MiB. Limit is now 256 MiB.
        • Fix possible crash when importing MDB file having non-latin characters in column names of unexpected length (Bug #396984)
      • a6d385767 Export: Fix crash on exporting tabular data to clipboard (introduced in 3.1.0) (Bug #394519)
      • 861b4bceb Export: Fix filename selection for export dialogs and allow to pre-select filename in file dialogs
    • Improvements
      • fceff4e57 Assistants: properly focus input boxes after moving to other page, make Alt+arrows work for Back/Next, make Enter accept page if applicable
      • fbc39fd7a Project type selection in the new project assistant: do not assume user clicked the type button but just focused it
      • 8c4d2dd8d Improve display of Finish buttons of CSV export/import dialogs
      • New / Import project assistants
        • 0f751061c Destination file requester is now of Save type
        • a5d194d5a Use Documents location if there are no recent dirs known yet
        • c08416889 Better preserve path while updating filename based on project caption
    • Buildsystem
      • 12eed3a62 Install the application icons
      • f4c9aa0da Create (and install) rcc files with kexi icons in co-installable dirs
      • 1578fcb4a Fix build with Qt 5.11 (missing headers) (Review #11503)
      • 14dada252 Fix build with Qt 5.6 (Review #11544)
      • b1a9f6f68 Fix data install dir for Windows, make icons installed relative to that
      • 7c1e67632 Make appdata.xml, app icons and kexi.desktop co-installable
      • 519c4f1c3 Make KEXI compile for MOBILE productset (Review #10996)
      • d9c7ab2b2 Win/Mac: still install copied KEXI files but add the original ones to the binary because the copied ones do not exist yet before ecm_add_app_icon() gets called
      • 54b2bcfb2 CMake: find PostgreSQL 11

Changes in KDb

KDb is a database connectivity and creation framework for various database vendors.

Highlight: As a top framework on which KEXI depends, KDb 3.2 received numerous date/time improvements.

  • 3.2.0 Beta 1 (3.1.91)
    • New features / APIs
      • eef6b7c9 Add Date/Time classes for precise type support (Bug #393094)
      • 5b700dfd Add support for the Date/Time constants in the SQL parser (Bug #393094)
      • e5c3a99d Add KDbConnection::drv_getTableNames for low level list of table names, make tableNames() skip names with non-existing physical tables (Bug #392112)
      • d1c526ca Rework KDbConnection::drv_getTableNames API so error information is passed
    • Bug fixes
    • Improvements
      • d141d8a5 Add quotes when escaping identifiers only when string is not empty, invalid identifier or KDBSQL keyword
      • eac0f7b7 KDbUtils::stringToFileName(): Prepend '_' to recent project filenames that start with "." so files are not hidden
      • 4fdf53a5 Improve transliteration features by switching to unidecode
    • MySQL / MariaDB support
      • 94675801 Improve MariaDB detection on Windows builds, separately from MySQL
    • SQLite support
    • PostgreSQL support
    • Tests
      • 4867d51e HeadersTest: Use install_manifest.txt to obtain list of files, this improves accuracy, no need for blacklisting
      • f8116d03 KDbTestUtils: add convenience APIs for connecting and using db, support connection options
      • c2b0c4bd Add autotests for checking detection of every mime type that should be supported
      • 81ad5897 c2fcf8a6 Add autotests for the new Date/Time related features
    • Buildsystem
      • 8bcde5e6 Copy new FindICU.cmake from cmake and port to it
      • 33392735 ICU is required so do not check for it again in the sqlite driver's build

Changes in KProperty

KProperty is a property editing framework with editor widget similar to what is known from Qt Designer.

Highlight: Developers can now plug own handler for file/url selection to the Url type. Also, relative URLs can be now used. KPropertyExample example application has been updated to demonstrate these features.

  • 3.2.0 Beta 1 (3.1.91)
    • New features / APIs
      • f4cc272 Allow to override behavior of URL editors
        • added KPropertyEditorItemEvent and KPropertyEditorView::handlePropertyEditorItemEvent()
      • cd04f74 Add support for relative URL types and classes KPropertyComposedUrl, KPropertyComposedUrlEditor
        • Added ComposedUrl type
    • Bug fixes
      • 95f521f Remove infinite loop while resizing double spin box editor
    • Buildsystem
      • 9ea3375 Fix data install dir for Windows, make icons installed relative to that, make icons coinstallable
  • 3.2.0
    • Bug fixes
      • c481044 Bool editor: do not display None for 2-state mode
      • f5ff8b5 Adjust size hint of the property name column to fix bold text
    • Improvements
      • 8a89673 Update docs for 3State option

Changes in KReport

KReport is a framework for the creation and generation of reports in multiple formats.

Highlight: No new features in the 3.2 release, just stabilizations.

  • 3.2.0 Beta 1 (3.1.91)
    • Improvements
    • Buildsystem
      • ea0119fc28 Fix data install dir for Windows, make icons installed relative to that, make icons coinstallable
      • 04cb1e9368 Make sure we don't try to build maps on Windows, even if Marble is around (it has Unix requirements)
  • 3.2.0
    • None