Saturday, 6 June 2020
KDE today announces the release of KDE Frameworks 5.71.0.
KDE Frameworks are 70 addon libraries to Qt which provide a wide variety of commonly needed functionality in mature, peer reviewed and well tested libraries with friendly licensing terms. For an introduction see the KDE Frameworks release announcement.
This release is part of a series of planned monthly releases making improvements available to developers in a quick and predictable manner.
New in this version
Baloo
- Store filename terms just once
Breeze Icons
- Improve accuracy of battery percentage icons
- Fix KML mimetype icon
- Change mouse icon to have better dark theme contrast (bug 406453)
- Require in-source build (bug 421637)
- Add 48px places icons (bug 421144)
- Adds a missing LibreOffice icon shortcut
Extra CMake Modules
- [android] Use newer Qt version in example
- [android] Allow specifying APK install location
- ECMGenerateExportHeader: add generation of *_DEPRECATED_VERSION_BELATED()
- ECMGeneratePriFile: fix for ECM_MKSPECS_INSTALL_DIR being absolute
- ECMGeneratePriFile: make the pri files relocatable
- Suppress find_package_handle_standard_args package name mismatch warning
KDE Doxygen Tools
- Use logo.png file as logo as default, if present
- Change public_example_dir to public_example_dirs, to enable multiple dirs
- Drop code for Python2 support
- Adapt links to repo to invent.kde.org
- Fix link to kde.org impressum
- History pages of KDE4 got merged into general history page
- Unbreak generation with dep diagrams with Python 3 (break Py2)
- Export metalist to json file
KAuth
- Use ECMGenerateExportHeader to manage deprecated API better
KBookmarks
- Use UI marker context in more tr() calls
- [KBookmarkMenu] Assign m_actionCollection early to prevent crash (bug 420820)
KCMUtils
- Add X-KDE-KCM-Args as property, read property in module loader
- Fix crash when loading an external app KCM like yast (bug 421566)
- KSettings::Dialog: avoid duplicate entries due cascading $XDG_DATA_DIRS
KCompletion
- Wrap also API dox with KCOMPLETION_ENABLE_DEPRECATED_SINCE; use per method
- Use UI marker context in more tr() calls
KConfig
- Don't try to initialize deprecated SaveOptions enum value
- Add KStandardShortcut::findByName(const QString&) and deprecate find(const char*)
- Fix KStandardShortcut::find(const char*)
- Adjust name of internally-exported method as suggested in D29347
- KAuthorized: export method to reload restrictions
KConfigWidgets
- [KColorScheme] Remove duplicated code
- Make Header colors fallback to Window colors first
- Introduce the Header color set
KCoreAddons
- Fix Bug 422291 - Preview of XMPP URI's in KMail (bug 422291)
KCrash
- Don't invoke qstring localized stuff in critical section
KDeclarative
- Create kcmshell.openSystemSettings() and kcmshell.openInfoCenter() functions
- Port KKeySequenceItem to QQC2
- Pixel align children of GridViewInternal
KDED
- Fix blurry icons in titlebar appmenu by adding UseHighDpiPixmaps flag
- Add systemd user service file for kded
KFileMetaData
- [TaglibExtractor] Add support for Audible "Enhanced Audio" audio books
- honor the extractMetaData flag
KGlobalAccel
- Fix bug with components containing special characters (bug 407139)
KHolidays
- Update Taiwanese holidays
- holidayregion.cpp - provide translatable strings for the German regions
- holidays_de-foo - set name field for all German holiday files
- holiday-de-<foo> - where foo is a region is Germany
- Add holiday file for DE-BE (Germany/Berlin)
- holidays/plan2/holiday_gb-sct_en-gb
KImageFormats
- Add some sanity and bounds checking
KIO
- Introduce KIO::OpenUrlJob, a rewrite and replacement for KRun
- KRun: deprecate all static 'run*' methods, with full porting instructions
- KDesktopFileActions: deprecate run/runWithStartup, use OpenUrlJob instead
- Look for kded as runtime dependency
- [kio_http] Parse a FullyEncoded QUrl path with TolerantMode (bug 386406)
- [DelegateAnimationHanlder] Replace deprecated QLinkedList with QList
- RenameDialog: Warn when file sizes are not the same (bug 421557)
- [KSambaShare] Check that both smbd and testparm are available (bug 341263)
- Places: Use Solid::Device::DisplayName for DisplayRole (bug 415281)
- KDirModel: fix hasChildren() regression for trees with files shown (bug 419434)
- file_unix.cpp: when ::rename is used as condition compare its return to -1
- [KNewFileMenu] Allow creating a dir named '~' (bug 377978)
- [HostInfo] Set QHostInfo::HostNotFound when a host isn't found in the DNS cache (bug 421878)
- [DeleteJob] Report final numbers after finishing (bug 421914)
- KFileItem: localize timeString (bug 405282)
- [StatJob] Make mostLocalUrl ignore remote (ftp, http...etc) URLs (bug 420985)
- [KUrlNavigatorPlacesSelector] only update once the menu on changes (bug 393977)
- [KProcessRunner] Use only executable name for scope
- [knewfilemenu] Show inline warning when creating items with leading or trailing spaces (bug 421075)
- [KNewFileMenu] Remove redundant slot parameter
- ApplicationLauncherJob: show the Open With dialog if no service was passed
- Make sure the program exists and is executable before we inject kioexec/kdesu/etc
- Fix URL being passed as argument when launching a .desktop file (bug 421364)
- [kio_file] Handle renaming file 'A' to 'a' on FAT32 filesystems
- [CopyJob] Check if destination dir is a symlink (bug 421213)
- Fix service file specifying 'Run in terminal' giving an error code 100 (bug 421374)
- kio_trash: add support for renaming directories in the cache
- Warn if info.keepPassword isn't set
- [CopyJob] Check free space for remote urls before copying and other improvements (bug 418443)
- [kcm trash] Change kcm trash size percent to 2 decimal places
- [CopyJob] Get rid of an old TODO and use QFile::rename()
- [LauncherJobs] Emit description
Kirigami
- Add section headers in sidebar when all the actions are expandibles
- fix: Padding in overlay sheet header
- Use a better default color for Global Drawer when used as Sidebar
- Fix inaccurate comment about how GridUnit is determined
- More reliable parent tree climbing for PageRouter::pushFromObject
- PlaceholderMessage depends on Qt 5.13 even if CMakeLists.txt requires 5.12
- introduce the Header group
- Don't play close animation on close() if sheet is already closed
- Add SwipeNavigator component
- Introduce Avatar component
- Fix the shaders resource initialisation for static builds
- AboutPage: Add tooltips
- Ensure closestToWhite and closestToBlack
- AboutPage: Add buttons for email, webAddress
- Always use Window colorset for AbstractApplicationHeader (bug 421573)
- Introduce ImageColors
- Recommend better width calculation for PlaceholderMessage
- Improve PageRouter API
- Use small font for BasicListItem subtitle
- Add support for layers to PagePoolAction
- Introduce RouterWindow control
KItemViews
- Use UI marker context in more tr() calls
KNewStuff
- Don't duplicate error messages in a passive notification (bug 421425)
- Fix incorrect colours in the KNS Quick messagebox (bug 421270)
- Do not mark entry as uninstalled if uninstallation script failed (bug 420312)
- KNS: Deprecate isRemote method and handle parse error properly
- KNS: Do not mark entry as installed if install script failed
- Fix showing updates when the option is selected (bug 416762)
- Fix update auto selection (bug 419959)
- Add KPackage support to KNewStuffCore (bug 418466)
KNotification
- Implement lock-screen visibility control on Android
- Implement notification grouping on Android
- Display rich text notification messages on Android
- Implement urls using hints
- Use UI marker context in more tr() calls
- Implement support for notification urgency on Android
- Remove checks for notification service and fallback to KPassivePopup
KQuickCharts
- Simpler background rounding check
- PieChart: Render a torus segment as background when it isn't a full circle
- PieChart: Add a helper function that takes care of rounding torus segments
- PieChart: Expose fromAngle/toAngle to shader
- Always render the background of the pie chart
- Always set background color, even when toAngle != 360
- Allow start/end to be at least 2pi away from each other
- Rework PieChart implementation
- Fixup and comment sdf_torus_segment sdf function
- Don't explicitly specify smoothing amount when rendering sdfs
- Workaround lack of array function parameters in GLES2 shaders
- Handle differences between core and legacy profiles in line/pie shaders
- Fix a few validation errors
- Update the shader validation script with the new structure
- Add a separate header for GLES3 shaders
- Remove duplicate shaders for core profile, instead use preprocessor
- expose both name and shortName
- support different long/short labels (bug 421578)
- guard model behind a QPointer
- Add MapProxySource
KRunner
- Do not persist runner whitelist to config
- KRunner fix prepare/teardown signals (bug 420311)
- Detect local files and folders starting with ~
KService
- Add X-KDE-DBUS-Restricted-Interfaces to Application desktop entry fields
- Add missing compiler deprecation tag for 5-args KServiceAction constructor
KTextEditor
- Add .diff to the file-changed-diff to enable mime detection on windows
- scrollbar minimap: performance: delay update for inactive documents
- Make text always align with font base line
- Revert "Store and fetch complete view config in and from session config"
- Fix modified line marker in kate minimap
KWidgetsAddons
- Be noisy about deprecated KPageWidgetItem::setHeader(empty-non-null string)
KXMLGUI
- [KMainWindow] Invoke QIcon::setFallbackThemeName (later) (bug 402172)
KXmlRpcClient
- Mark KXmlRpcClient as porting aid
Plasma Framework
- PC3: Add separator to toolbar
- support the Header color group
- Implement scroll and drag adjustment of values for SpinBox control
- Use font: instead of font.pointSize: where possible
- kirigamiplasmastyle: Add AbstractApplicationHeader implementation
- Avoid potential disconnect of all signals in IconItem (bug 421170)
- Use small font for ExpandableListItem subtitle
- Add smallFont to Kirigami plasma style
- [Plasmoid Heading] Draw the heading only when there is an SVG in the theme
QQC2StyleBridge
- Add ToolSeparator styling
- Remove "pressed" from CheckIndicator "on" state (bug 421695)
- Support the Header group
- Implement smallFont in Kirigami plugin
Solid
- Add a QString Solid::Device::displayName, used in Fstab Device for network mounts (bug 415281)
Sonnet
- Allow overriding to disable auto language detection (bug 394347)
Syntax Highlighting
- Update Raku extensions in Markdown blocks
- Raku: fix fenced code blocks in Markdown
- Assign "Identifier" attribute to opening double quote instead of "Comment" (bug 421445)
- Bash: fix comments after escapes (bug 418876)
- LaTeX: fix folding in end{...} and in regions markers BEGIN-END (bug 419125)
Security information
The released code has been GPG-signed using the following key: pub rsa2048/58D0EE648A48B3BB 2016-09-05 David Faure <faure@kde.org> Primary key fingerprint: 53E6 B47B 45CE A3E0 D5B7 4577 58D0 EE64 8A48 B3BB
Installing binary packages
On Linux, using packages for your favorite distribution is the recommended way to get access to KDE Frameworks. Get KDE Software on Your Linux Distro wiki page
Compiling from sources
The complete source code for KDE Frameworks 5.71.0 may be freely downloaded. Instructions on compiling and installing are available from the KDE Frameworks 5.71.0 Info Page.
Building from source is possible using the basic cmake .; make; make install commands. For a single Tier 1 framework, this is often the easiest solution. People interested in contributing to frameworks or tracking progress in development of the entire set are encouraged to use kdesrc-build. Frameworks 5.71.0 requires Qt
A detailed listing of all Frameworks with API documentation is on api.kde.org.
Get Involved
Those interested in following and contributing to the development of Frameworks can check out the git repositories and follow the discussions on the KDE Frameworks Development mailing list. Policies and the current state of the project and plans are available at the Frameworks wiki. Real-time discussions take place on the #kde-devel IRC channel on Libera Chat.
Supporting KDE
KDE is a Free Software community that exists and grows only because of the help of many volunteers that donate their time and effort. KDE is always looking for new volunteers and contributions, whether it is help with coding, bug fixing or reporting, writing documentation, translations, promotion, money, etc. All contributions are gratefully appreciated and eagerly accepted. Please read through the Supporting KDE page for further information or become a KDE e.V. supporting member through our Join the Game initiative.