Monday, 12 December 2016
KDE today announces the release of KDE Frameworks 5.29.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
New framework
This release includes Prison, a new framework for barcode generation (including QR codes).
General
FreeBSD was added to metainfo.yaml in all frameworks tested to work on FreeBSD.
Baloo
- Performance improvements when writing (4 * speedup for writing out data)
Breeze Icons
- Make BINARY_ICONS_RESOURCE ON by default
- add vnd.rar mime for shared-mime-info 1.7 (bug 372461)
- add claws icon (bug 371914)
- add gdrive icon instead of a generic cloud icon (bug 372111)
- fix bug "list-remove-symbolic use wrong image" (bug 372119)
- other additions and improvements
Extra CMake Modules
- Skip Python bindings test if PyQt isn't installed
- Only add the test if python is found
- Reduce the CMake minimum required
- Add ecm_win_resolve_symlinks module
Framework Integration
- find QDBus, needed by appstream kpackage handler
- Let KPackage have dependencies from packagekit & appstream
KActivitiesStats
- Properly sending the resource linked event
KDE Doxygen Tools
- Adapt to quickgit -> cgit change
- Fix bug if group name is not defined. Can still break under bad conditions
KArchive
- Add errorString() method to provide error info
KAuth
- Add timeout property (bug 363200)
KConfig
- kconfig_compiler - generate code with overrides
- Properly parse function keywords (bug 371562)
KConfigWidgets
- Ensure menu actions get the intended MenuRole
KCoreAddons
- KTextToHtml: fix bug "[1] added at the end of a hyperlink" (bug 343275)
- KUser: Only search for an avatar if loginName isn't empty
KCrash
- Align with KInit and don't use DISPLAY on Mac
- Don't close all file descriptors on OS X
KDesignerPlugin
- src/kgendesignerplugin.cpp - add overrides to generated code
KDESU
- Unsets XDG_RUNTIME_DIR in processes run with kdesu
KFileMetaData
- Actually find FFMpeg's libpostproc
KHTML
- java: apply the names to the right buttons
- java: set names in permission dialog
KI18n
- Check properly pointer inequality from dngettext (bug 372681)
KIconThemes
- Allow showing icons from all categories (bug 216653)
KInit
- Set environment variables from KLaunchRequest when starting new process
KIO
- Ported to categorized logging
- Fix compilation against WinXP SDK
- Allow uppercase checksums matching in Checksums tab (bug 372518)
- Never stretch the last (=date) column in the file dialog (bug 312747)
- Import and update kcontrol docbooks for code in kio from kde-runtime master
- [OS X] make KDE's trash use the OS X trash
- SlaveBase: add documentation about event loops and notifications and kded modules
KNewStuff
- Add new archive management option (subdir) to knsrc
- Consume the new error signals (set job errors)
- Handle oddity regarding files disappearing when just created
- Actually install the core headers, with CamelCases
KNotification
- [KStatusNotifierItem] Save / restore widget position during hide / restore it window (bug 356523)
- [KNotification] Allow annotating notifications with URLs
KPackage Framework
- keep installing metadata.desktop (bug 372594)
- manually load metadata if absolute path is passed
- Fix potential failure if package is not appstream compatible
- Let KPackage know about X-Plasma-RootPath
- Fix generating the metadata.json file
KPty
- More utempter path searching (including /usr/lib/utempter/)
- Add library path so utempter binary is found in Ubuntu 16.10
KTextEditor
- Prevent Qt warnings about an unsupported clipboard mode on Mac
- Use syntax definitions from KF5::SyntaxHighlighting
KTextWidgets
- Don't replace window icons with the result of a failed lookup
KWayland
- [client] Fix nullptr dereference in ConfinedPointer and LockedPointer
- [client] Install pointerconstraints.h
- [server] Fix regression in SeatInterface::end/cancelPointerPinchGesture
- Implementation of PointerConstraints protocol
- [server] Reduce overhead of pointersForSurface
- Return SurfaceInterface::size in global compositor space
- [tools/generator] Generate enum FooInterfaceVersion on server side
- [tools/generator] Wrap wl_fixed request args in wl_fixed_from_double
- [tools/generator] Generate implementation of client side requests
- [tools/generator] Generate client side resource factories
- [tools/generator] Generate callbacks and listener on client side
- [tools/generator] Pass this as q pointer to Client::Resource::Private
- [tools/generator] Generate Private::setup(wl_foo *arg) on client side
- Implementation of PointerGestures protocol
KWidgetsAddons
- Prevent crashing on Mac
- Don't replace icons with the result of a failed lookup
- KMessageWidget: fix layout when wordWrap is enabled without actions
- KCollapsibleGroupBox: don't hide widgets, override focus policy instead
KWindowSystem
- [KWindowInfo] Add pid() and desktopFileName()
Oxygen Icons
- Add application-vnd.rar icon (bug 372461)
Plasma Framework
- Check for metadata validity in settingsFileChanged (bug 372651)
- Don't flip tabbar layout if vertical
- Remove radialGradient4857 (bug 372383)
- [AppletInterface] Never pull focus away from fullRepresentation (bug 372476)
- Fix SVG icon ID prefix (bug 369622)
Solid
- winutils_p.h: Restore compatibility with WinXP SDK
Sonnet
- Also search for hunspell-1.5
Syntax Highlighting
- Normalize XML license attribute values
- Sync syntax definitions from ktexteditor
- Fix folding region merging
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
You can discuss and share ideas on this release in the comments section of the dot article.
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.29.0 may be freely downloaded. Instructions on compiling and installing are available from the KDE Frameworks 5.29.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.29.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.