November/December KDE PIM summary blog post

Volker Krause vkrause at kde.org
Tue Dec 26 15:16:19 GMT 2023


Hello everyone,

it's time for the bi-monthly blog post again :)

If you have contributed in the past two months a summary of your most 
noteworthy changes would be helpful, bonus points for corresponding 
screenshots or links to already existing blog posts. If you noticed something 
noteworthy during the past two months, feel free to add that as well of 
course!

To help refresh your memories and to make sure we aren't missing anything 
important, there's two files attached here, an auto-generated detailed 
changelog (this tends to be 30-50% of the commits, using David F's changelog 
scripts for KF releases), and basic commit stats for the PIM repositories.

The last post was edited by Carl (https://kontact.kde.org/blog/
2023/2023-11-01-kde-pim-september-october-2023/), any volunteers for this one?

Those posts are usually put on kontact.kde.org meanwhile, so practically this 
is just an MR against https://invent.kde.org/websites/kontact-kde-org/.

Thanks for your help!
Volker
-------------- next part --------------
      1 Alexander Lohnau_alexander.lohnau at gmx.de
      1 Allen Winter_winter at kde.org
      1 Chris Wachira_chriskane816 at gmail.com
      1 Daniil-Viktor Ratkin_krf10 at altlinux.org
      1 David Faure_faure at kde.org
      1 Friedrich W. H. Kossebau_kossebau at kde.org
      1 Fushan Wen_qydwhotmail at gmail.com
      1 Ingo Kl��cker_kloecker at kde.org
      1 Jack Hill_jackhill3103 at gmail.com
      1 Jaka Kranjc_smgl+kdeid at lynxlynx.info
      1 Luca Weiss_luca at z3ntu.xyz
      1 Scarlett Moore_sgmoore at kde.org
      1 Tobias Fella_fella at posteo.de
      2 Eric Armbruster_eric.armbruster at tum.de
      2 Sune Vuorela_sune at vuorela.dk
      2 Tobias Fella_tobias.fella at gnupg.com
      2 Yuri Chornoivan_yurchor at ukr.net
      2 ivan tkachenko_me at ratijas.tk
      3 Marius P_nmariusp1 at gmail.com
      4 David Jarvie_djarvie at kde.org
      4 Luca Beltrame_lbeltrame at kde.org
      5 Antonio Rojas_arojas at archlinux.org
      6 Ben Cooksley_bcooksley at kde.org
      8 Daniel Vr��til_dvratil at kde.org
      9 Albert Astals Cid_aacid at kde.org
     13 Andre Heinecke_aheinecke at gnupg.org
     13 Nicolas Fella_nicolas.fella at gmx.de
     14 Alessandro Astone_ales.astone at gmail.com
     18 Carl Schwan_carl.schwan at gnupg.com
     26 Heiko Becker_heiko.becker at kde.org
     32 Ingo Kl��cker_dev at ingo-kloecker.de
     33 Jonathan Esk-Riddell_jr at jriddell.org
     41 Carl Schwan_carl at carlschwan.eu
    109 Volker Krause_vkrause at kde.org
   1104 Laurent Montel_montel at kde.org
Committer: 35
Total: 1465
-------------- next part --------------
## akonadi

* Use new qHash function with size_t and seed argument
* Fix the translation template version number (5->6)
* Revert "Fix random crash in ItemPrivate copy ctor due to QHash rehashing"
* Revert "Use [[nodiscard]] instead of Q_REQUIRED_RESULT"
* CMakeLists.txt use https://invent.kde.org/network/kaccounts-integration
* Adapt to KAccounts API change
* Use [[nodiscard]] instead of Q_REQUIRED_RESULT
* Fix random crash in ItemPrivate copy ctor due to QHash rehashing
* Reenable and fix KAccounts integration
* Port setContent method
* Const'ify
* Qt6Core5Compat is not necessary
* Adapt to new api


## kcontacts

* update version for new release
* update version for new release


## kcalendarcore

* update version for new release
* Prepare the identical check for the effects of QDateTime API deprecation
* Create UUID in the right format to begin with


## kholidays

* update version for new release
* Introduce holidays observed in Kenya
* Register enum gadget types correctly with QML
* Remove custom copy ctor definition
* Remove the language code tables copied from QLocale as well
* Remove the ISO 3166-1 country code table copy
* HolidayRegion: sync territory_code_list with qlocale_data_p.h (bug 476417)
* holidays/file-format.txt - at least one category must be specified
* holiday_si_sl: updated Slovenian holidays


## syndication

* update version for new release
* update version for new release
* Unexport RSS2 and RDF format classes
* De-virtualize RDF::Node comparison operator
* content initialize member "format" in constructor
* Fix "feed.h: No such file or directory"


## kmime

* Port qHash api
* Fix the translation template version number (5->6)
* Remove the now unused extractFirstHeader() method
* Add new API for adding/removing child nodes to/from KMime::Content
* De-virtualize NonMimeParser
* Add a copy-free replacement for extractFirstHeader()
* Remove unused KMime::CRtoLF methods
* Add private header suffix to kmime_parsers.h as well
* Unexport KMime::extractHeader
* Unexport bidi methods
* Use QByteArrayView as input for CharFreq
* Unexport quoting methods
* Consistently use the _p extension for internal header files
* Revert "Remove unused KMime::Content::storageSize() method"
* Unexport header folding methods
* Remove unused ISO and RFC date/time formats
* Implement addQuotes without string conversions and regular expressions
* Simplify the addQuote implementation template a bit
* Remove the now unused time_t based date formatting API
* Remove unused KMime::Content::storageSize() method
* Implement date/time formatter with QDateTime
* Modernize KMime::ContentIndex API
* Remove unused allow 8bit argument from RFC 2047 encoder
* Remove unused charset override option
* Remove the unused RFC 2231 decoder implementation
* Remove the unused KMime::Content::lineCount method
* Remove option for RFC 2047 attachment name encoding


## kimap

* Fix the translation template version number (5->6)
* Use POSITION_INDEPENDENT_CODE for static lib


## ksmtp

* Fix the translation template version number (5->6)
* Qt6Core5Compat is not necessary


## kdav

* update version for new release
* update version for new release
* Only retry requests when there is a chance of succeeding


## kldap

* 0.14.2 was released. It has kwallet6 support
* Fix the translation template version number (5->6)
* Use default margin for ldap configure widget
* Adapt to new api


## kpimtextedit

* Fix the translation template version number (add 6 for kf6)
* Remove not necessary TextWidgets
* Qt6Core5Compat is not necessary
* Adapt to new api
* Fix cmake target in doc


## akonadi-mime

* Port deprecated QDateTime constructor
* Fix the translation template version number (5->6)
* Fix generating DBus service file from kcfg


## akonadi-contacts

* Fix the translation template version number (5->6)
* Fix 478636: kaddressbook's locale magic ruins postal addresses (bug 478636)


## akonadi-calendar

* Remove old code
* Fix the translation template version number (5->6)
* Add context object to connect()
* Don't duplicate buttons
* Fix bug. Don't duplicate buttons
* text is overwrite after in method => not necessary here
* Update message
* Add timer
* Add test apps. Need for debugging bug
* KalendarAC: add option to only notify about events we organize or attend
* akonadi-calendar: add KF6::ConfigWidgets to public interface
* Fix KalendarAc quitting immediately after initializing
*  Port to new KNotifications action API


## akonadi-notes

* Fix the translation template version number (5->6)


## akonadi-search

* Qt6Core5Compat is not necessary
* Adjust to KRunner API changes
* Adapt to new api


## libkdepim

* Fix the translation template version number (add 6 for kf6)
* Load i18n catalog
* Drop unused kconfig dependency
* Align to top


## kidentitymanagement

* Fix the translation template version number (5->6)
* Look explicitly for KI18N
* Drop unused ktextwidgets dependency
* Qt6Core5Compat is not necessary
* Adapt to new api
* Fix search include in kalarm (identitycombo.h)
* Update api doc of IdenityCombo


## pimcommon

* These libs were moved in ktextaddons
* USe static QRegularExpression
* USe KLineEditEventHandler::catchReturnKey
* Fix i18n
* Set position as KMessageWidget::Header
* Improve test
* Use PimCommon::NeedUpdateVersionUtils::checkVersion() + hide widget
* Add test apps
* Start to create test apps
* Install NeedUpdateVersionUtils
* Prepare util class
* Add disable check button
* Prepare a widget which informs that version is obsolete
* Improve configure plugin widget with new breeze theme
* Adapt to new api


## libkgapi

* Use libkgapi6_qt
* Fix the translation template version number (add 6 for kf6)
* Port deprecated QDateTime api


## kmailtransport

* Fix the translation template version number (5->6)
* Adapt to new api


## libkleo

* Fix the translation template version number (add 6 for kf6)
* Fix unity build
* Use not deprecated QDateTime api
* Avoid i18n warning
* Improve KeyResovler::Solution api doc
* Remove the dependency on Qt5Compat
* Port KeySelectionDialog away from QRegExp
* Port isChecksumFile away from QRegExp
* Port getVersionFromString away from QRegExp
* Remove Gpg4win specific about data code
* Bump library version
* Deprecate Gpg4win class and add gpgvVerify instead
* Use old-style connects if new-style connects fail
* Don't treat canceled key generation as success or error
* Use sign-only mode if no recipients are given on command line
* Select the generated key in all combo boxes showing "Generate Key" item
* Always remove the custom "Keys are loaded" item when listing is done
* Remove KPim6TextEdit info
* Use QuickJob instead of DefaultKeyGenerationJob for generating key
* Deprecate DefaultKeyGenerationJob
* Add debug logs to Formatting::errorAsString
* Require and link to libgpg-error
* Remove signals that are no longer used by kleopatra (or anybody else)
* Emit model reset signals only once when updating the model
* This isn't needed anymore
* ChecksumDefinition: Encode filenames as Utf8
* Add setting to disable p7m without extension behavior
* Identity p7m without any second extension as mime file
* Adapt to new api
* Bump library version
* Add two overloads for selecting public certificates with specific usage
* Remove unused forward declaration
* Bump library version
* Add support for certificate groups to icon provider
* Indicate validity of groups with bad certificates with error icon


## grantleetheme

* Adapt to new api


## kcalutils

* Fix the translation template version number (5->6)
* Port to QTimeZone::utc


## kmbox

* Qt6Core5Compat is not necessary


## libgravatar

* Use size_t in qhash function


## ktextaddons

* Drop unused kxmlgui dependency
* const'ify variable
* As we exclude emojis we need to remove it from list and not exclude it
* Fix include
* Use proxymodel when exclude emoticons were updated
* Add 1.5.3
* Allow to exclude some specific emoticons (Need for ruqola)
* We need MultimediaWidgets only in textspeechtotext lib
* Return true if we have engine
* Add available method
* Fix cmake path
* Search vosk lib + add config file
* Add find cmake module
* Use [[nodiscard]]
* Remove todo
* Adapt to new api
* Add debug operator
* Fix lib name
* Add warning
* Uncomment some codes
* Reactivate code
* Add comment
* Use debug category


## mimetreeparser

* Expose toolbar of messageviewerdialog
* Add api to get email status
* Workaround qml compiler error
* Fix url
* Port to Qt 6: explicit signal handlers, new FileDialog etc
* Set WrapMode on TextArea component
* Fix display name regression when using openPGP
* Pretty print user name for smime message
* Handle no decryption recipients not available
* Make error message not closable
* Remove code duplication for printing list of recipients
* Fix openpgp-inline-signed.mbox
* Open attachments on double click
* Fix cleanup of temporary opened files
* Fix finding Kleopatra on Windows
* Handle click on error KMessageWidget
* Improve error handling
* Adapt to breeze frameless view
* Auto delete files on windows
* Allow to directily pass KMime::Message to MessageViewerDialog
* Stop leaking gpgme job
* Fix mbox version
* Fix edge case where file give is "mbox"
* Remove more than 2 consecutive blank lines
* Fix extension of the save file dialog on Windows
* Prefer eml extension over mbox
* Wrap email text at window boundaries


## messagelib

* Fix the translation template version number (add 6 for kf6)
* fix qhash api
* Port templateparser away from KMime::addContent
* Port nodehelpertest away from KMime's automatic multipart transformations
* Port messagecomposer away from deprecated KMime::addContent()
* Fix codec error checks
* Fix bug 478352:  Status bar has "white box" UI artifact (bug 478352)
* Use [[nodiscard]]
* Iterate over headers without copying/modifying the source data
* Remove comment
* Remove the last traces of Qt5Compat
* Add missing [[nodiscard]]
* Load on demand mScamDetectionWarning
* Load on demand MDNWarningWidget
* Prepare to load mMdnWarning on demand too
* Remove spacing here
* Create on demand widget
* Use setPosition
* Port the override codec handling away from QTextCodec
* Search next kleopatra next to the kmail binary
* Fix Kleopatra on Windows too
* Port template parser away from QTextCodec
* Fix isGoodSignature
* Remove the last QTextCodec uses from the composer library
* Port MessageFactory away from QTextCodec
* Don't include QTextCodec in a public header
* Remove the option to use RFC 2047 attachment name encoding
* USe forward declaration
* Don't store unused pointer
* Don't create kmime element if not necessary
* Fix warning about missing arg
* Adapt SearchLinesStatus to new Breeze style
* Use breeze like sidebar in the brower
* Unbreak build with Qt6.7
* Create as static qregularexpression


## mailimporter

* Fix the translation template version number (add 6 for kf6)


## mailcommon

* Remove old code
* Use const static QRegularExpression
* Remove meanwhile unused Qt5Compat dependency
* Implement frameless view in the folder tree view
* Adapt to new api


## calendarsupport

* Fix the translation template version number (add 6 for kf6)
* Adapt to new api


## kontactinterface

* Fix the translation template version number (5->6)


## eventviews

* Fix the translation template version number (add 6 for kf6)
* used renamed kgantt
* Port [=](...)
* Adapt to new api


## incidenceeditor

* Fix the translation template version number (add 6 for kf6)
* use renamed kdiagram lib
* Look for KF6TextWidgets explicitly
* Adapt to new api


## libksieve

* Fix the translation template version number (add 6 for kf6)
* Use more "KLineEditEventHandler::catchReturnKey"
* Remove extra margins
* Remove margins
* Fix BUG: 477755  rule:[<name>] as opposed to 'SCRIPTNAME: <name>' (bug 477755)
* Use KMessageWidget::Header
* Port [=](...)
* Qt6Core5Compat is not necessary
* Remove unused pointer
* Fix show code. itemActivated depends if system use simple/double click for selecting item. Use clicked here
* Add "edit description" menu entry
* Fix bug 476456: No scrollbar in simple editing mode (bug 476456)
* Add scrollarea (bug 476456)
* Rename variables
* Fix update button when we click on clear
* regexpeditorlineeditplugin doesn't exist now


## kpkpass

* Cache pass image assets internally
* Expose the QImage accessors to QML as well
* Remove no longer necessary QVariantList conversion for QML


## kitinerary

* Use the timezone lookup cache in one more place
* Make the datatype implementation macros externally usable
* Fix equality comparison between schema.org data types with Qt6
* Cache QTimeZone by IANA id when deserializing
* appdata.xml appdata validation summary summary-has-dot-suffix
* Extract order numbers from DB Next PDF tickets
* Make the Accor extractor more robust against HTML structure variations
* Add CCC pass identifier to the Pretix filter pattern
* Fix parsing RCT2 arrival times across the end-of-year boundary
* Fix static OpenSSL build
* Use release versions rather than branches/master for dependencies
* Use built-in ISO 3166 code caches
* Switch to OpenSSL 3
* Port static build to Qt6/KF6
* Update build options to newer Poppler
* Build without Qt::Network
* Fix Motel One checkin time when running in a different timezone
* Add Motel One pkpass extractor script
* Port setTimeSpec deprecated method
* Add stand-alone filter condition for SAS itinerary PDFs
* Handle another Flixbus Unicode station icon variant
* Extract ERA FCB price information
* Ignore ERA FCB UIC station codes in Germany
* Use the entire UIC 918.3 station object, not just the identifier
* Fix ERA FCB arrival time parsing
* Support Dutch-language Eurostar (Thalys) tickets
* Increase the maximum document size thresholds
* Add price extraction for 12go
* Add basic support for 12go.asia PDFs
* Specify an encoding for libxml2 when reading from byte array data as well
* Work around broken date/time values in booking.com mails without times
* Make Uic9183Header externally usable
* Adapt DB online import parser to also handle DB Next API replies
* Adapt online ticket dumping tool to DB Next API changes


## ktnef

* Fix the translation template version number (5->6)


## akonadi-import-wizard

* 0.14.2 was released. It has kwallet6 support




## kaddressbook

* Prepare to avoid to close apps in console when we edit it
* Remove spacing
* Use NeedUpdateVersionWidget
* snapcraft: Bump content pack
* Add forgotten bits during the port to KF6 KUserFeedback
* Port to KF6-ized KUserFeedback
* Not necessary to create dialog as pointer here
* Adapt to new api
* Update to reflect move of KUserFeedback to Frameworks
* Add colorfull avatar placeholder


## akregator

* Use NeedUpdateVersionWidget
* Remove extra margins
* Remove extra margins
* Port to KF6::UserFeedbackWidgets
* Port setContent method
* Update to reflect move of KUserFeedback to Frameworks



## kalarm

* Fix api here too
* Fix qHash api
* Adapt settings dialog spacing with new kf6 change
* Update change log
* show correct calendar names when deleting
* Add search TextWidgets
* Update change log
* Drop unused dependencies
* Use standard icons from Breeze and Oxygen
* Avoid QLatin1String conversions
* Adapt to KFileWidget API change
* Port to new KNotifications action API


## kdepim-addons

* Use KLineEditEventHandler
* Remove unused qtcreator-template
* Prepare kllm plugins
* Prepare for the future plugin which use IA local
* Adapt to message view override codec API changes
* Qt6Core5Compat is not necessary
* Remove frame from korganizer date config dialog


## kdepim-runtime

* 0.14.2 was released. It has kwallet6 support
* Use KLineEditEventHandler::catchReturnKey
* Add Q_ASSERT
* call Q_ASSERT before to use it... otherwise it will crash before checking it with Q_ASSERT
* Add default ews base url
* Add default ews base url
* Port [=](...)
* Correctly reload configuration (bug 473897)
* Don't destroy save password job before closing the save dialog
* Do not read google password from wallet when account is not configured
* Use multi arg QString
* google resource: Change unconfigured account name to Not configure
* Drop outdated akonadi docs
* Use setNeedsSave here
* Port to new KNotifications action API
* don't show "clear all"  if text is empty


## kleopatra

* Remove extra margins
* Use pragma once
* qt-cxx20-compat.h is not necessary now we depend against qt6.5
* We can't depend against qt5/kf5
* It's utf8 by default
* Add support for statusline and uidcomment
* Change threading / blocking when loading aboutdata
* Fix updatenotification to build without gpg4win
* Fix application icon on wayland
* Remove code that was removed in kf5 branch
* Rework custom about data handling
* Require libkleo 5.24.51 for gpgvVerify
* Enable "Load Certificates" if we don't get any of the card certificates
* Cleanup KMime includes to match what's actually used here
* Remove date from extra secop filenames
* Put calls to Kleo::backendVersionInfo in a thread; it can be slow
* Let the key list models manage themselves
* Preserve selected keys and current key on model changes
* Listen to model changes instead of key cache changes
* VerifyChecksumsController: Decode filenames from Utf8
* Add "treat p7m files without extension as emails"
* Adapt to new api
* Also use SignEncryptWidget::isComplete for the notepad
* Report incomplete input if invalid certificates are selected
* Disable Sign button of Notepad if invalid signing cert is selected
* Ensure proper icon for valid certs with invalid signing subkey
* Ensure proper icon for valid certs with invalid encryption subkey
* Use icon provider for status icon
* Disable Encrypt button of Notepad if invalid recipients are selected
* Fix high contrast mode handling
* Instantiate KColorSchemeManager
* Improve darkmode handling
* Add some tool tips
* Don't use animation to show advanced options initially
* Store the visibility of the advanced options


## kmail

* 0.14.2 was released. It has kwallet6 support
* Use appendContent
* Fix casing issue in mRichTextEditorWidget
* Intercept signal from term
* Remove debug
* Fix update menu when we remove email
* Debug--
* Don't create it if not necessary
* Use NeedUpdateVersionWidget
* Remove commented cmake code
* Add include moc
* Fix bug about applying filter in folder
* Add test apps (bug still here)
* Create mini apps for testing dbus
* Try to fix apply filters
* improve test apps (bug is still here)
* Add dbus interface
* continue to implement test apps
* Remove unused file
* Continue to implement mailagentdbus_gui
* Add mailagentdbus_gui
* Prepare mailfilteragentdbus test
* Move in own directory
* Assign boolean when we load settings
* Remove extra margins
* Adapt to new api
* Add icon
* Fix truncate text when it is too big
* Add more KMessageWidget::Header
* Use KMessageWidget::Header enum position
* Use directly HistoryClosedReaderMenu
* Avoid to add more than 10 elements
* Port [=](...)
* Don't show menu when list is empty
* Adapt to renamed KUserFeedback
* Implement frameless breeze style
* Allow to open KeySelectionDialog from kmail composer (bug 388619)
* continue to implement menu
* Continue to implement menu
* Add i18n context
* Add updateMenu + clear method
* continue to implement menu
* Port the remaining QTextCodec uses
* Prepare to create menu
* Remove the option to use RFC 2047 encoding for attachment names
* Export symbol
* Debug--
* Use more std::move
* USe std::move
*  Revert "use renamed kf6 kuserfeedback"
* use renamed kf6 kuserfeedback
* const'ify
* Remove unused static method
* Fix lastInfo
* Implement removeItem
* Remove comment
* Add setters
* Use directly commandlineinfo.h
* Add unused include
* Extract code
* don't call code when list is empty
* Emit signal when it's necessary
* Add support for email removed in historyclosedreader
* Enable/disable action
* Restore it
* Prepare to re-open closed viewer
* Add action for restoring closed viewer
* Remove unused code
* Assign directly
* Not necessary to create subject/date/from element if it's not in message
* Fix logic + doesn't create subject if not necessary
* Update to reflect move of KUserFeedback to Frameworks
* Port to new KNotifications action API
* Remove unused forward declaration



## knotes

* Remove old code
* Remove extra margins


## kontact

* Intercept SIGINT/SIGTERM
* Fix homepage
* Use NeedUpdateVersionWidget


## korganizer

* Remove QT_VERSION_CHECK check
* Use new NeedUpdateVersionWidget
* Remove spacing/margins
* Fix infinite loop in mEventViewer->setIncidence due to invalid date
* Port [=](...)
* Port to KF6 KUserFeedback
* Remove some frames from the settings dialog
* Make the search date range limit optional (bug 394967)
* Add configuration option to only notify about our own events
* Update to reflect move of KUserFeedback to Frameworks



## pim-data-exporter

* Don't allow to close when we are in progress
* Avoid to kill apps during import/export
* Remove spacing
* Remove extra margin
* Use NeedUpdateVersionWidget
* Port to KF6::UserFeedbackWidgets
* Update to reflect move of KUserFeedback to Frameworks


## pim-sieve-editor

* 0.14.2 was released. It has kwallet6 support
* Avoid to lose data when we close apps from console
* Remove spacing
* Use PimCommon::NeedUpdateVersionWidget
* Remove margins
* Use setPosition(KMessageWidget::Header) here too
* Port to KF6 KUserFeedback
* Update to reflect move of KUserFeedback to Frameworks



-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-pim/attachments/20231226/1af48625/attachment.sig>


More information about the kde-pim mailing list