Субота, 13 листопада 2021
Сьогодні KDE оголошено про випуск KDE Frameworks 5.88.0.
KDE Frameworks складається з 83 додаткових бібліотек, які розширюють можливості Qt і реалізують багато широковживаних функціональних можливостей, є зрілими, належним чином рецензованими та добре перевіреними, а також надаються за дотримання розробниками достатньо дружніх щодо них умов. Вступні зауваження щодо цих бібліотек можна знайти у оголошенні щодо випуску KDE.
Цей випуск є частиною запланованої послідовності щомісячних випусків, яка надасть змогу розробникам використовувати поліпшення у бібліотеках швидко і без проблем.
Нове у поточній версії
Attica
- Add Android CI
BluezQt
- Add GATT Client functionality
- Generate pkgconfig file
Breeze Icons
- Bug 404810 add flatpak packages mimetype icon
- Bug 444452 Custom folder icons
- Use reference to a QString to avoid copying, fixing a warning
- BUG: 395569 places icon use ColorScheme colors (bug 395569 places icon use ColorScheme colors)
- Add RTL logout icons
- Missing color scheme usage at some icons
- BUG: 174203 add mail-download-now and mail-download-later icon (bug 174203 add mail-download-now and mail-download-later icon)
- BUG: 436931 update anacondainstaller icon to respect fedora logo (bug 436931 update anacondainstaller icon to respect fedora logo)
- Fix the dark install directory for installing colored icons (bug 444095)
- Install colored icons sizes into breeze-dark them as well (bug 444095)
- Make some of the 22 px places icons actually be 22 again
- Add Kongress icon fix grid alignment
- Fix color of 16px im-user-offline icon (bug 443658)
- Optimize places 16 and 22px icons
- BreezeIcon additional app icons most are for math apps
- BreezeIcons add task-process icons for kalendar app task view
- Add Joplin icon
- Add syncthing icon
- Move all of /preferences to icons, remove it from icons_dark
- Fix scalable test to check breeze for breeze-dark
- Make breeze-dark inherit from breeze
Extra CMake Modules
- Fix Wayland_DATADIR when cross-compiling
- [android] Extend NDK workaround to version 22
- msvc: Fix __cplusplus value
- Fix ECM on systems without PyQt5 on Python 2
- ECMFindQMLModule: Use QT_HOST_BINS to find qmlplugindump
- FindQtWaylandScanner: Use QT_HOST_BINS to find qtwaylandscanner
- ecm_add_test: add -DQT_FORCE_ASSERTS to compile flags by default
KDE Doxygen Tools
- Handle uppercase directory names (bug 441560)
- Remove whitespace in generic type definitions
KArchive
- Add Android CI
- This framework is now LGPL-2.0-or-later
KBookmarks
- Correct platform specification - we can be built on Android as well
KCalendarCore
- Dirty fields and update observers in Event and FreeBusy
- Dirty fields and update observers in Incidence
- Dirty updates in IncidenceBase
- Move IncidencePrivate and IncidenceBasePrivate to headers
- Simplify IncidenceBasePrivate constructors
- Rename incidence classes from Foo::Private to FooPrivate
- Copy improvements in recent changes to Event etc
- cmake: Port to using libical's cmake scripts
KCMUtils
- KPluginSelector: Make sure to check if metaData/moduleInfo is valid before accessing it
- KPluginSelector: Allow KCMs to be loaded using X-KDE-ConfigModule keyword
- Remove unused internal method in KPluginSelector
- Deprecate KCModuleInfo in favor of KPluginMetaData API
- KCMultiDialog: Use deprecation macros to wrap internal KCModuleInfo API usage
- KCModuleLoader: Deprecate overloads using KCModuleInfo
- KPluginSelector: Port internally deprecated KCModuleInfo usage
- KCModuleProxy: Deprecate KService/KCModuleInfo overloads for constructor
KCompletion
- New KCompletion::setSorterFunction() to allow custom sorting by providing function (bug 442717)
KConfig
- Exclude new enum-overload from python bindings build
- Enforce KAuthorized enums being not 0
- Create enum to to authorize common keys
- Do not try to generate python bindings for KConfigGroup::moveValuesTo
- Create utility method for moving entries from one group to another
KConfigWidgets
- Fix auto color scheme switching
- [kcolorschememodel] Expose color scheme id
- [KCommandBar] Additionally sort commands by name (bug 443731)
- [KCommandBar] Don't display an indent for an icon if no item has an icon (bug 443382)
- [KCommandBar] Skip actions with empty text (bug 443732)
- Read proper color setting on Windows (bug 443300)
- [KCommandBar] Show information about a command in a tooltip (bug 438735)
KContacts
- Adressee: use a vector instead of a QHash with ~8 elements
- VCard: Replace QMap with a vector of struct
- Addressee: deprecate insertEmail() and add a new method instead
- VCardTool::addParamter() should take by pointer
- Deprecate parameters/setParameters() from the public API
- Deprecate the unused Field class
- Replace country <-> iso code mapping with the new KI18nLocaleData
- VCardParser: less temporary allocations
- Don't use QTime::fromString() with format being a string
- Don't use QDate/QTime::fromString() with a string format arg
- Perf: Manually parse timezone offset
- VCardTool::createVCards(): split Adressee-related code to a separate method
- VCardTool::createVCards(): split Adress-related code to a separate method
KCoreAddons
- KPluginFactory: Provide more context for warning
- Add comments describing checks made before registering plugin
- Move utility method to read translated json values to dedicated header
- Improve deprecation docs of KAboutData::programIconName
- kcoreaddons_add_plugin: Avoid clash if app name and plugin namepace are the same
- K_PLUGIN_CLASS_WITH_JSON: Use name provided by kcoreaddons_add_plugin for factory
- Port internal readStringList usage
- Deprecate KPluginMetaData::readStringList in favor of value overload
- Discard KPluginMetaData::value overloads for python bindings
- KPluginMetaData: Add overload to interpret char array as string
- KPluginMetaData: Add overloads to read int and bool value
- merge the util's config.h
KCrash
- Move more Linux-specific functions under #ifdef Q_OS_LINUX
- Add CMake option to build without X11
- Use imported target for X11
KDeclarative
- GridDelegate: don't let labels overflow (bug 444707)
- Use a readonly property to control KCM margins
- [configmodule] Deprecate aboutData
- [ConfigModule] Allow creating KCMs without KAboutData
- [ConfigModule] Deprecate ctors that take KAboutData and KPluginMetaData
- Don't explicitly build shared libs
- Expose KAuthorized enum as dynamic properties to QML
- KCM GridDelegate: Display a blue line when the delegate has active focus
KDED
- Bump KF_DISABLE_DEPRECATED_BEFORE_AND_AT value
- Utilize KPluginMetaData::value overloads
KFileMetaData
- Fix wrong testcase
- [FFmpegExtractor] Remove FFmpeg 2.x/3.0 support, handle deprecations
- Fix version checks in FindFFmpeg.cmake
- [DublinCore] Also test terms namespace
- [PopplerExtractor] directly use getters provided by poppler
KGlobalAccel
- Properly split exec line args (bug 444730)
KDE GUI Addons
- Remove unneeded lambda capture, fixing a compiler warning
KHolidays
- Correct Name of last day of daylight saving time (bug 444615)
- Fixed typo on holiday_mx_es
- various holiday_* - assign explicit names for subregions
- holidays/holidays.qrc - remove trailing white-space
- Remove unneeded fstream include
- removed shabs
- added pakistan holidays
KI18n
- Don't discard non-conflicting substring matches
- Fall back to the compile-time detected iso-codes location
- Use unique_ptr instead of managing memory manually
- Load Qt translations even if some catalogs are missing
- Add KCountry[Subdivision]::operator!=
- Forward declaration needs a matching export macro on Windows
- Extend README to cover the new features
- Move the new country/country subdivision/timezone code into its on library
- Add QML API for KTimeZone
- Add QML bindings for country/country subdivision API
- Fix offset overflows for ISO 3166-2 name lookups
- Integrate the Unicode normalization and prefix matching from KContacts
- Cache iso codes cache sizes
- Implement KCountry::fromName()
- Add timezone lookup by geo coordinate, and timezone to country mapping
- Make use of the spatial index for countries and subdivisions
- Generate spatial index for timezones/countries/country subdivisions
- Implement timezone by country (subdivision) lookup
- QGIS Python scripts for generating country/timezone lookup tables
- Add country and country subdivision lookup and translation API
KIconThemes
- Add QIcon::fallbackThemeName() as fallback
- Fix @since marker
- Include a test for properly testing icon recoloring
- Also highlight charged text colors (bug 442569)
- Use KIconColors to re-color icons
- Make icon colouring a per-icon property rather than a system (bug 442533)
- Create a d-pointer for KIconEngine
- [KIconDialog] Also apply edge padding vertically
- Ensure we retrieve our dependencies on Android
KIdleTime
- Relicense framework from LGPL-2.0-only to LGPL-2.1-or-later
KInit
- Remove code for loading libkdeinit5_foo.so modules
KIO
- PasteDialog: fix data pasting in Wayland (bug 421974)
- Find LibMount when building statically
- kdeinit is gone, use KDE_SLAVE_DEBUG_WAIT in kioslave instead
- [KFilePlacesModel] Specify which data roles have actually been changed
- Deduplicate KCoreDirLister before going through them
- Use CMake to check if copy_file_range() is available
- file_unix: make the read/write loop the same as the copy_file_range one
- file_unix: let copy_file_range() manage the fd's offsets
- file_unix: emit processed size change after each copy_file_range() call
- file_unix: only update sizeProcessed once per iteration
- KDiskFreeSpaceInfo: Remove redundant deprecation #if
- Deprecate KDiskFreeSpaceInfo
- fix KTerminalLauncherJob working with exec
- file_unix: fix copying status report
- file_unix: Refactor copy()
- KMountPoint: revert to parsing /dev/disk/by-{uuid,label}/ manually (bug 442106)
- CopyJob: handle the no-op case of symlinks on FAT partitions (bug 442310)
- SkipDialog: adapt buttons to more use cases
- Port to enum values for KAuthorized::authorize
- KUrlCompletion: Disregard the trailing slash when sorting directory paths (bug 442717)
- Deprecate Scheduler::publishSlaveOnHold as well
- Remove the last use klauncher in slave.cpp
- Remove cmake option KIO_FORK_SLAVES
- KFilePropsPlugin: Allow to edit properties when setFileNameReadOnly is set (bug 441847)
- Increase KF_DISABLE_DEPRECATED_BEFORE_AND_AT version
- Add easy Invent repo search
- Add invent web search keyword
- kcm_cookies: Embed json metadata
- kcm_webshortcuts: Embed json metadata
- kcmproxy: Embed json metadata
- kcmtrash: Embed json metadata and drop X-KDE-PluginKeyword usage
- scheduler: reorder to avoid the need for fwd-decl functions
- [KUrlNavigator] Fix first button text for local paths
- kuriikwsfiltereng: Fix quitting match logic if accidentally bang syntax is used (bug 437660)
- kurifilter: Add test to check if bang syntax is preferred
- Deprecate KAutoMount/KAutoUnmount
- file_unix: Fix endless loop during xattr copy (bug 441446)
- Improve "trash is full" error message (bug 442865)
- Don't use kdoctools on Android
- KDesktopPropsPlugin: open "Advanced Options" dialog with show()
- Adjust dependencies for Android
Kirigami
- Fix missing titlebar on ApplicationWindow modals in Windows
- NavigationTabButton: Set minimum width and wrap text
- Icon: Use icon-png as the default placeholder instead of icon-x-icon (bug 444884)
- Remove the no longer existing Units.qml file from the qrc files
- Add missing AboutItem to to the qrc files
- Cleanup FormLayout
- reliably drop component pools (bug 429027)
- [GlobalDrawerActionItem] Dim when disabled
- Small improvement in Api doc
- Pass properties when creating a dialog for pushDialogLayers
- Fix context drawer being inaccessible on secondary layers in mobile mode
- [PageRow] Fix variable shadowing
- [ActionTextField] Doc: Reword nullable field to an empty list
- [Breadcrumb] Fix breadcrumb position on content change
- Improve look of FormLayout section headers
- Fix punctuation/whitespace of runtime rate-limited deprecation warnings
- Always allow sidebar handles in header by default
- remove duplicated frile
- NavigationTabBar: Support actions that have mnemonics
- Heading: Lower all sizes
- Fix issues with setting components on tablet
KItemModels
- Take into account a possible QLocale::setDefault() override
KJobWidgets
- Handle all cases in switch(KJob::Unit) expressions to fix a compiler warning
KJS
- Do no longer remove -Wsuggest-override flag
KNewStuff
- Port to enum values for KAuthorized::authorizeAction
- Make sure that we query KService with lowercase desktop names since it seems that KService stores everything lowercase (bug 417575)
KNotification
- Fix Windows build
- warn when notifybypopup has pending notifications on destruction
- Add KNotifications QML plugin
- KWindowSystem is also not required on Android - but unlike Phonon is also needed on Windows
- Phonon is not required for KNotifications on Windows or Android
KPackage Framework
- Allow KCM kpackages to use metadata of C++ plugin
- Utilize std::optional to check if we have already searched for a KPluginMetaData object
- KPackage: Copy KPluginMetaData object when copying d-ptr
KParts
- Deprecate unused & internal method
- PartLoader::createPartInstanceForMimeType: Port inlined code from hack
- Increase KF_DISABLE_DEPRECATED_BEFORE_AND_AT version
- Un-Overload KParts::BrowserExtension::selectionInfo signal
Kross
- Emit deprecation warnings for central Kross::Manager class
KRunner
- Deprecate K_EXPORT_PLASMA_RUNNER_WITH_JSON macro in favor or K_PLUGIN_CLASS_WITH_JSON
- Deprecate RunnerManager::allowedRunners method
KService
- Use KSERVICE_ENABLE_DEPRECATED_SINCE in header instead of BUILD variant
- cmake: Remove intermediate copy targets
- kservice.h: Silence deprecation warnings in inlined, deprecated code
KTextEditor
- ViMode: Dont respond to doc changes when vi mode is disabled for view
- Expand katepart metadata (bug 444714)
- Set metadata when creating katepart (bug 444714)
- TextFolding::importFoldingRanges: get rid of UB (bug 444726)
- KateFoldingTest: don't leak ViewPrivate
- Simplify DocumentCursor::setPosition
- Highlight Folding Markers
- #37 Improve the context menu for selections
- Make the regex search fast
- Improve Appearance > Borders Dialog
- KateRenderer: Check for m_view being null in more places
- Fix leaving selectionByUser state
- Do not cancel mouse selection when using the keyboard
- [KateIconBorder] Handle annotations context menu
- Enable enclose selection by default for brackets
- Dont indent the lines if line already has text + noindent
- Improve Open/Save Advanced Dialog
- Better General dialogue for text editing settings
- [KateIconBorder] Add context menu
KWayland
- Correct the eglQueryWaylandBufferWL_func prototype
KWidgetsAddons
- KTitleWidget: Lower all sizes
- KSqueezedTextLabel: Fix clipped characters (bug 442595)
- KMessageDialog: fix setButtons() being called twice
- KMessageDialog: disconnect default buttonbox signals as we emit done() manually (bug 442332)
KWindowSystem
- Fix the compiler warning by casting int to unsigned
- Link privately against XCB when building statically (bug 441266)
KXMLGUI
- Migrate "State" config entry to state config group if available
- Allow apps to opt-in storing state data in separate file (bug 397602)
- [ci] Remove unused kwindowsystem dep
ModemManagerQt
- Introduce VoiceInterface Type
- Add signals to watch for interface changes
- Fix DBus signal connection
NetworkManagerQt
- cmake: use imported targets
Plasma Framework
- Deprecate KServiceTypeTrader containment action loading
- Deprecate standardInternal*Info methods
- Avoid creating a Theme object for every icon fetch
- Introduce dismissOnHoverLeave property and toolTipVisibleChanged signal (bug 444142)
- Deprecate plugin export macros in favor or K_PLUGIN_CLASS_WITH_JSON
- PC3 SpinBox: improve visuals and behavior, remove drag to change value
- Deprecate parentApp parameter in PluginLoader::listAppletMetaData
- PC2 ScrollViewStyle: fix scrollbar sizing
- PC3 TextField: Make focus frame not delayed
- PC3 Slider: get rid of HoverFocusSvgItem
- PC3 CheckIndicator: only show focus visuals for visualFocus
- PC3 Slider: fix tickmark positions
- PC3 ScrollView: remove ability to show background in onCompleted
- PC3 private/RaisedbuttonBackground: disable shadow when disabled
- PC3 private/ButtonBackground: reduce opacity when disabled
- Breeze button: Use more realistic shadow
- PC3/Breeze progressbar: update style, improve implicit sizing
- Breeze line: removed built-in blank space, simplify
- Breeze button: Use solid backgrounds for raised button pressed graphics
- PC3/Breeze sliders: add solid background, handle shadow, fix pixel alignment, fix vertical groove height
- PC3/Breeze scrollbar: update style and behavior
- PC3/Breeze radiobutton: improve style
- PC3 Control: use better implicit size calculation
- Fix crash in WindowThumbnail::updatePaintNode() (bug 444015)
- ExpandableListItem: Finally fix expanded height calculation permanently (bug 443755)
- Properly discard window texture provider when thumbnail item shows only icon
- Have Containment::restore also call its parent's Applet::restore
- Simplify code by using KPluginMetaData::value overloads
- Prevent tooltips from being incorrectly dismissed (bug 434657)
- Split window texture provider from window texture node (bug 439681)
- Make tab/right move focus to default action button or expand button
- Heading: sync with Kirigami version
- Ensure context menu is PC2.Menu, and open it relative to the item
- Fix context menu opening
- Add keyboard navigation to ExpandableListItem
- ScrollView: Do not overlay scrollbars over contents (bug 443173)
- PC3 Button/ToolButton: use down instead of pressed for background graphics
- PC3 TabButton: Add focus underline to label
- PC3 TabButton: Use IconLabel, set padding from theme, show background when no tabbar
- PC3 TabBar: improve implicit sizing, support spacing, remove pointless background, use 0 highlightResizeDuration
- breeze: increase tab top/bottom margins
- breeze: fix wrong element IDs for north tab margin hints
- PC3 Slider: set implicit handle size, separate hover/focus from shadow
- breeze: update slider style (bug 355889)
- PC3 private/IconLabel: simplify properties, add convenience display properties
- PC3 TextField/lineedit.svg: Add focus frame for visualFocus
- breeze: update button style
- breeze: update checkbox and radiobutton style (bug 355889)
- Use onPositionChanged instead of onContainsMouseChanged in ExpandableListItem
- Corona: save after ending edit mode
- Heading: Lower all sizes
- Add scroll support to calendar component in plasma frameworks
- PC3 checkbox/radiobutton/switch: left align IconLabel
- PC3 ToolTip: ceil label size
- PC3 ToolTip: fix pressed/hovered undefined error
- PC3 ToolBar: set spacing, remove pointless contentItem
- PC3 TabButton: set spacing, remove pointless background item
- PC3 DialogButtonBox: fix property undefined error
- PC3 ComboBox: make text field use parent palette, modernize code
- PC3 ComboBox: set cursor delegate to null instead of undefined
- PC3: Use shared Icon+Label implementation
- PC3 ComboBox: account for indicator and content size better
- PlasmaCore Units: Fix sizeForLabels icon size
- PC3: improve implicit sizing
- PC3 ButtonBackground: Don't load the background we aren't using
- PC3 Button: use same check for color group as ToolButton
- PC3 button backgrounds: remove TODO for required properties
Prison
- Decrease the preferred size for PDF417 barcodes
- Add PDF417 barcode support
Purpose
- cmake: Use custom command instead of custom target for copy
- Set a title for JobDialog (bug 444205)
- Improve job window buttons (bug 444145)
- Fix whitespace punctuation in a warning
- email: Ensure we don't crash when there's no mailto preferredService (bug 443788)
- Make sharing via Telegram work again
QQC2StyleBridge
- Pane: add missing Kirigami import
- Add Pane control
- Remove some id, this should improve the performance
- Do not set the palette for every component (bug 406295)
- [TextFieldContextMenu] Fix null property accesses
- [TextFieldContextMenu] Free the action function after running it
- Only re-compute the icon when it's necessary
- Don't change MenuItem's arrow's color when selected (bug 443453)
- Use KIconColors to color icons
- Implement Spellchecking using Sonnet for TextArea
Solid
- Implement ARM specific CPU info
Sonnet
- Build examples only when BUILD_EXAMPLES is on
- Fix applying highlighter in quick document
- data/parsetrigrams.cpp: ensure the output is deterministic
- Don't crash on null textDocument if suggestions are invoked
- Add missing qmldir
- Implement QtQuick bindings for Sonnet
Syntax Highlighting
- ' is a valid identifier part
- Fix the colors of modified and saved lines
- cmake.xml: Recognize CMake provided modules and functions/macros
- Remove *.nix files from Bash syntax
- Add Nix highlighting
- debchangelog: add Jammy Jellyfish
- update refs to improved Dockerfile highlighting
- bash.xml: Add Exherbo script file extensions recognized as
bash
- dockerfile.xml: Use
bash
syntax for shell form of commands - Specify byproducts for ExternalProject_Add call
- cmake.xml: Improvements to highlighting
- Add support of YAML in Fenced Code Blocks in Markdown
- Update GNU Assmebler syntax
- merge loadhighlightingdata_p.hpp with highlightingdata_p.hpp and rename KSyntaxHighlighting::loadContextData() to HighlightingContextData::load()
- add comments and inline in the header some functions
- loading rules in 2 parts to reduce the final memory used
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.88.0 можна отримати безкоштовно. Настанови щодо збирання та встановлення доступні на інформаційній сторінці програми KDE Frameworks 5.88.0.
Бібліотеки також можна зібрати з початкових кодів за допомогою базової системи команд cmake .; make; make install. Цей спосіб є найпростішим, якщо вам потрібні лише окремі бібліотеки шару 1. Зацікавленим в удосконаленні бібліотек та стеженні за розробкою загального набору варто скористатися скриптом kdesrc-build. Для роботи Frameworks 5.88.0 потрібна версія Qt 5.15.2.
Із докладним списком усіх бібліотек Frameworks можна ознайомитися на api.kde.org.
Приєднатися до команди
Ті, кому цікаво стежити за розробкою Frameworks і взяти участь у його розробці, можуть ознайомитися із вмістом сховищ git і стежити за обговореннями у списку листування розробників KDE Frameworks. Правила і поточний стан проєкту і плани наведено у вікі Frameworks. Інтерактивні обговорення проводять на каналі IRC #kde-devel у Libera Chat.
Підтримка KDE
KDE — спільнота з розробки вільного програмного забезпечення, яка розвивається лише завдяки допомозі багатьох добровольців, які працюють у вільний від інших занять час. KDE завжди шукає нових учасників, які можуть допомогти розробці, виправленні і сповіщенні про вади, створенні документації, перекладі, просуванні, фінансуванні тощо. Будь-який внесок буде з вдячністю сприйнято спільнотою. Будь ласка, ознайомтеся зі сторінкою підтримки KDE, щоб дізнатися більше, або станьте спонсором KDE e.V. за допомогою нашої ініціативи Join the Game.