Kexi/Releases/3.2.0 Changes: Difference between revisions
(17 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 | 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. | {{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. | 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) | ||
Line 21: | Line 31: | ||
***{{commit|kexi|d92b07632}} General: Welcome page: Always display the project file names in addition to captions | ***{{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|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|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|16076668c}} Table View: Fix validation of values in default input box of table view ({{bug|395225}}, {{diff|13473}}) | ||
Line 42: | Line 53: | ||
***{{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|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 | ***{{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 | **Buildsystem | ||
***{{commit|kexi|12eed3a62}} Install the application icons | ***{{commit|kexi|12eed3a62}} Install the application icons | ||
Line 52: | Line 67: | ||
***{{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|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 | ***{{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 70: | 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 83: | 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) | ||
Line 102: | Line 132: | ||
**Buildsystem | **Buildsystem | ||
***{{commit|kproperty|9ea3375}} Fix data install dir for Windows, make icons installed relative to that, make icons coinstallable | ***{{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 == | ||
Line 114: | Line 150: | ||
***{{commit|kreport|ea0119fc28}} Fix data install dir for Windows, make icons installed relative to that, make icons coinstallable | ***{{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) | ***{{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.
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.
-
Date constants in SELECT queries
-
Date constants in conditions of SELECT queries
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
- 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
- Bug fixes
- 3.2.0
- Bug fixes
- 95a59ae11 Add protection against invalid translation of widget names
- bb554ba8b Fix compilation with KIO < 5.33 (Review #19616)
- Bug fixes
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
- 386375b6 Fix crash in KDbConnection::recordCount(KDbTableSchema)
- a00f37b0 Fix loading object data for given type and ID (Bug #393705)
- 4e6d02f1 Escape column and table aliases in queries as needed
- 3b007ac8 Fix input of large unsigned int values (>0x7FFFFFFF) (Bug #395225, Review #13472)
- d1b31bd8 Fix handling ORDER BY part of queries (Bug #392753, Review #12873)
- 28aa00b6 Fix detection of .kexi file types after recent change of MIME database for SQLite type (2018-06-17) (Bug #396999)
- 5c71f57a More reliable resolving plugin MIME types - before adding metadata (Thanks to Pino Toscano)
- 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
- bc5a7bea Fix loading value: Incorrect display of large unsigned int (>0x7FFFFFFF) (Bug #394913, Review #13448)
- PostgreSQL support
- 675d51d8 CMake: find PostgreSQL 11
- 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
- New features / APIs
- 3.2.0
- Bug fixes
- d6291d60 Fix build with Qt < 5.8 (missing Qt::ISODateWithMs) (Bug #404599)
- fc971325 Port KDb to the Qt::ISODateWithMs fix (Bug #404599)
- 63085381 Port KDbUtils::stringToHackedQTime the Qt::ISODateWithMs fix (Bug #404599)
- Bug fixes
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)
- 3.2.0
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
- 3da9d355b5 Use QPageSize::name() for names of page sizes (Review #13713)
- 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)
- Improvements
- 3.2.0
- None