П'ятниця, 13 серпня 2021
Сьогодні KDE оголошено про випуск KDE Frameworks 5.85.0.
KDE Frameworks складається з 83 додаткових бібліотек, які розширюють можливості Qt і реалізують багато широковживаних функціональних можливостей, є зрілими, належним чином рецензованими та добре перевіреними, а також надаються за дотримання розробниками достатньо дружніх щодо них умов. Вступні зауваження щодо цих бібліотек можна знайти у оголошенні щодо випуску KDE.
Цей випуск є частиною запланованої послідовності щомісячних випусків, яка надасть змогу розробникам використовувати поліпшення у бібліотеках швидко і без проблем.
Нове у поточній версії
Attica
- Implement a getter for Provider's icon data
Breeze Icons
- React to Telegram's new ID and show the Breeze icon
- React to Inkscape's new ID and show the Breeze icon (bug 440498)
- also add zoom-fit-page symlink for 32px
- align look of 22 px zoom-fit-{width,height} icons with others
- add zoom-fit-page symlink for 22px
- Symlink draw-cuboid to shape-cuboid
- Add temperature icons
Extra CMake Modules
- [ecmcheckoutboundlicense] Ensure that last source file is always processed
- Handle case where zero must be kept
- ecm_setup_version: deal with 0-prefixed version values in PROJECT mode
- modules/ECMGenerateHeaders.cmake - avoid uninitialized warning
- suppress tar errors
- FindGperf: support version check
- Define NOMINMAX on Windows
- KDECompilerSettings: properly use KDE_QT_MODERNCODE_DEFINITIONS_LEVEL
- Add Find7z & Findgzip
- Don't install logging categories files on Android
- Handle case where ECM_GLOBAL_FIND_VERSION is undefined
- Enable the usage of -Bsymbolic-functions
- KDECompilerSettings: add KDE_COMPILERSETTINGS_LEVEL & more settings
KDE Doxygen Tools
- do not download KDE accounts file automatically
- require Python 3 in CMake
- Preprocessing: use tree-walk speedup
- Preprocessing: document how to speed up tree-walk a little
- Utils: document what causes repopath-lookup failures
- Fancyname: look for CMake project() command preceded only by spaces
- Accept multi-line 'project(..)' in 'CMakeLists.txt'
- Add more dependencies to requirements.txt
KArchive
- Only pkg_check_modules() if PkgConfig is found
- Add support for static builds
- Use official gzip MIME/Media type application/gzip
- Report KArchive_HAVE_ZSTD in CMake Config file to consumers
- Deprecate remaining KFilterDev API in favour of KCompressionDevice
KCalendarCore
- Fixup include dir into pkgconfig file
- Hide fields, to enforce uniform use of setFieldDirty()
- Fix formating in apidoc for free busy
- Add ownerChanged signal
- Add metadata properties to calendar
- Add base class for calendar plugins
- More completion field consistency and dirtyness checks
- Mark mCompleted as dirty if it changes, and also reset status
KCMUtils
- Officially specify X-DocPath in the KCModule desktop file definition
- Deprecate KCModuleProxy::aboutData
- Add overload to pass in args in KCMultiDialog::addModule
- Deprecate X-KDE-FactoryName and KCModuleInfo::handle
- Deprecate KCMultiDialog::configCommitted(QByteArray) signal
- Deprecate KSettings and KCModuleInfo based methods
- help:/ urls are already handled by KUrlHandler from KGuiAddons
KCodecs
- Unbreak build with gperf < 3.1
KConfig
- KConfig: fix deletion of an entry that is also in kdeglobals
- Do not create a vector and a QByteArray just to discard it immediately
- Only query for existing config file when it's necessary
- Use specific API to compare QByteArrays
- Cache global config files
KConfigWidgets
- [KCModule] Deprecate ctor that takes KAboutData
- Make sure commandbar has unique actions
- add icons for all zoom standard actions
- KCommandBar update
- Show fuzzy matches in command bar
- enable auto-switching color scheme for Windows apps when Default color scheme is active
- Fix crash when calling KHamburgerMenu::setMenuBar(nullptr)
KCoreAddons
- New class KNetworkMounts: network mounts performance optimizations
- PluginMetaData::supportsMimeType(): check for exact matches first
- KPluginMetaData: warn if library metadata can't be loaded
- Introduce KFileUtils::findAllUniqueFiles method
- KTextToHTML: support also irc & ircs URLs
- Expose KAboutComponent::version as a property
- Deprecate JSON parameter in kcoreaddons_add_plugin
- Deprecate KPluginLoader::pluginVersion
KCrash
- Support static builds
- fix lifetime of MetadataINIWriter
KDBusAddons
- KDBusService: Pass the activation token upon activation
- Add compile time guards round QX11Info usage
- Fix DesktopStartup ID handling
KDeclarative
- Implement aspect ratio correction for Lanczos effect
- Introduce Lanczos filter element
KDELibs 4 Support
- Port metainfo KIO slave to JSON metadata
- Update translatable timezone list
KDocTools
- Add a max width to the content
KHolidays
- Update holiday_kz_kk
- Update holiday_kz_ru
- Update Mexican holidays
- Create mu_fr_catholic
- Update mu_en, mu_en_islamic
KIconThemes
- Introduce KIconLoader::hasCustomPalette
- [KIconDialog] Revamp UI (bug 401408)
KImageFormats
- exr: Repair compability with openexr2
- exr: Override the actual function signature
KInit
- Fixes crash in KLauncher::idleTimeout() caused by unblockable destruction of IdleSlave objects (bug 426387)
KIO
- Fix OOB read in LegacyCodec::decodeFileNameUTF8() if not zero-terminated
- KMountPoint: add missing resolving of symlinks when using libmount
- Message dialogs: wrap the text (bug 440545)
- Explicitly link against KF5::CoreAddons for KPluginFactory
- KProcessRunner: Use systemsettings desktop name if it's started
- Fix creating thumbnails for items under desktop:/ (bug 438691)
- Split KCMs into separate plugins
- Fixing allowing caching logic
- KPropertiesDialog: consider the "recursive" setting when applying permissions
- KPropertiesDialog: fix applying permissions recursively (bug 225658)
- kcoredirlister: refactor code to work better with std::set
- xdgactivation: Use the provided service instance
- [KFilePlacesItem] Don't show capacity bar for iso9660 mounts
- KMountPoint: fetch mount options from the mount-flags
- KProtocolInfo: don't call KProtocolInfo::archiveMimetypes() on an empty string
- Do not translate default names
- Fix selecting binaries from component chooser KCM
- KMountPoint: use libraries from util-linux in the Linux code path
- KUrlNavigator: do not hardcode supported archive formats
- Introduce KIO_NO_PUBLIC_QTCONCURRENT option
Kirigami
- [InlineMessage] Correct spacing between close button and action buttons (bug 440604)
- [ScrollView] Don't scroll with arrow keys if the view isn't scrollable (bug 439459)
- SearchField: Disable predictive text
- Introduce hasPlatformMenuBar
- Allow to add additional content to the about page
- Ensure that icon sizes are consistent for mobile before 5.23
- [OverlaySheet] Add title property
- Add "Get Involved" URL button to the About Page
- SwipeDelegate: Only set the parent as the flickable when the parent is a Flickable
- Add dialog-close to list of icons to bundle
- Show KAboutComponents in the AboutPage
- Add method to push page as a new window on the desktop
- Use iconSizes for floating action button
- Adjust sidebar item size to account for mobile
- Adjust floating action button sizes to account for mobile
- Remove x1.5 mobile icon sizing
- [apptemplate] Increase Qt and KF5 min versions
- Make MnemonicAttached active property writable
- Pagepool item and url accessors
- Show author/credits task (bug 438442)
- Show the app name in the about page title
- PageRow can take ownership of a drawer's contents
KNewStuff
- Rework UploadDialog, add QML version, and a new ProvidersModel
- Simplify lookup of knsrc files using KFileUtils::findAllUniqueFiles method
- Forward Attica provider icons to KNSCore::Provider
- Handle payload-only entries during update operations
KNotification
- Add placeholders for window title and application display name
KPackage Framework
- Deprecate kpackage_install_bundled_package cmake function
- Reduce severity of warnings about appstream generations
- Deprecate implicitly defining X-KDE-ParentApp by parent structure
- Introduce new KPackageStructure property to identify plugins & packages
- Include a warning when setting the path without a structure
KPeople
- Install private personmanager header
KRunner
- Deprecate RunnerManager::runnerMetaDataList(QString parentApp) method
- Deprecate TryExec property for runners
- Use KFileUtils::findAllUniqueFiles to locate DBus runners
KTextEditor
- Network mounts performance optimizations
- KateView: speed up large view jumps
- ensure close button on top for replace
- move close button to right for bottom widgets
KUnitConversion
- Make currency conversion table fetching explicit
KWallet Framework
- Don't use gpgme.h
KWayland
- Fix check for mmap failure (bug 421868)
KWidgetsAddons
- Update some widget pictures
- kmimetypeeditor: display an error message if keditfiletype couldn't be started (bug 437701)
- Wrapp unisged int getter for rating in KWIDGETSADDONS_BUILD_DEPRECATED_SINCE
- Deprecate KRatingWidget::ratingChanged(unsigned int) signal
KWindowSystem
- Support static builds
KXMLGUI
- commandbar: collect actions using the guiFactory (bug 439526)
- Fix KShortcutsDialog build
- KShortcutsDialog: add another, simpler, constructor
ModemManagerQt
- Add find_dependency for QtDBus
- Make dependency on QtXml private
NetworkManagerQt
- Feature: add assigned-mac-address
- Expose mDNS configuration used by NM plugins
Oxygen Icons
- new color version for notification icon
- improved icons from yesterday+ missing resolutions
- preferences-desktop-notification-bell icon
- kdf icon
Plasma Framework
- Don't pointlessly create new KPluginMetaData
- Fix Units::roundToIconSize() returning incorrect sizes with non-Qt scaling (bug 381794)
- Turn WindowThumbnail into a texture provider
- Handle huge icons in Units::roundToIconSize() (bug 356446)
- Deprecate plasma/version.h header & contained methods
- Add a bit more contrast to event indicator in calendar (bug 437203)
- Improve the code of the actions in the plasmoid heading
- Theme::currentThemeHasImage should not return true if parent themes match (bug 439847)
- Remove x1.5 mobile icon sizing
- PlasmoidHeader: re-add backgroundMetrics
- PlasmoidHeader: Make it based on T.ToolBar, deprecate location
Prison
- Support binary content in QR codes
- Constrain rendering by the minimum size, not the preferred size
Purpose
- [JobView] Show error when configuration fails to load
- Replace xdg-mime invokation with KApplicationTrader
- Make sure empty list placeholder has some space around it
QQC2StyleBridge
- Introduce MenuBar implementation
- Use flat instead of raised for flat buttons and toolbuttons (bug 438525)
- DialogButtonBox: remove unnecessary lines
- DialogButtonBox: Set standard icons for standard buttons
Solid
- Remove the HAL backend; HAL is long gone
- Udev client: replace a warning message with a debug one (bug 425178)
- Enable bsdisks_extensions from FreeBSD on OpenBSD
- Enable OpenBSD UDisk2 support
- Port framework away from LGPL-2.0-only
Sonnet
- Fix language not being correctly guessed when sentence ends in a dot
Syntax Highlighting
- toml.xml: forbid 0_digits in integers
- toml.xml: support single-quoted keys
- Python: Fix r"\" and derivatives (bug 440412)
- Python: Make unescaped single quote (' or ") strings non-multiline
- make update_kate_editor_org bsd compatible
- Python: Fix single quote bytes literals (b"") (bug 440089)
- cmake.xml: Drop version related
find_package()
vars - cmake.xml: Update variables for
find_package()
interface - cmake.xml: Add CMake 3.21 features
- XML: add Attribute Separator style (= in
) - XSLT: Enhance highlighter colors (like XML) + region for tag
- Ini: value as int, float or keyword only if it represents the full value
- Agda: update keyword list to Agda 2.6.2
- XML: fix <!DOCTYPE detection and reordered rules for faster reading (+20%)
- Python: }} in a f-string as an escape character and add !a flag
- systemd unit: update to systemd v249
- systemd unit: fix highlighting of unit name
- Mark katehighlightingindexer as a non-GUI executable
- Disable using QtXMLPatterns with sanitizer build
- Indexer: suggest LineContinue instead of RegExpr
- move coroutine keywords in controlflow and replace some keyword rule with WordDetect
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
Встановлення бінарних пакунків
У Linux рекомендованим шляхом встановлення KDE Frameworks є пакунки вашого улюбленого дистрибутива. Настанови щодо встановлення програмного забезпечення KDE у вашому дистрибутиві Linux.
Збирання з початкових кодів
Увесь початковий код програм KDE Frameworks 5.85.0 можна отримати безкоштовно. Настанови щодо збирання та встановлення доступні на інформаційній сторінці програми KDE Frameworks 5.85.0.
Бібліотеки також можна зібрати з початкових кодів за допомогою базової системи команд cmake .; make; make install. Цей спосіб є найпростішим, якщо вам потрібні лише окремі бібліотеки шару 1. Зацікавленим в удосконаленні бібліотек та стеженні за розробкою загального набору варто скористатися скриптом kdesrc-build. Для роботи Frameworks 5.85.0 потрібна версія Qt 5.15.
Із докладним списком усіх бібліотек Frameworks можна ознайомитися на api.kde.org.
Приєднатися до команди
Ті, кому цікаво стежити за розробкою Frameworks і взяти участь у його розробці, можуть ознайомитися із вмістом сховищ git і стежити за обговореннями у списку листування розробників KDE Frameworks. Правила і поточний стан проєкту і плани наведено у вікі Frameworks. Інтерактивні обговорення проводять на каналі IRC #kde-devel у Libera Chat.
Підтримка KDE
KDE — спільнота з розробки вільного програмного забезпечення, яка розвивається лише завдяки допомозі багатьох добровольців, які працюють у вільний від інших занять час. KDE завжди шукає нових учасників, які можуть допомогти розробці, виправленні і сповіщенні про вади, створенні документації, перекладі, просуванні, фінансуванні тощо. Будь-який внесок буде з вдячністю сприйнято спільнотою. Будь ласка, ознайомтеся зі сторінкою підтримки KDE, щоб дізнатися більше, або станьте спонсором KDE e.V. за допомогою нашої ініціативи Join the Game.