Субота, 4 липня 2020
Сьогодні KDE оголошено про випуск KDE Frameworks 5.72.0.
KDE Frameworks складається з 70 додаткових бібліотек, які розширюють можливості Qt і реалізують багато широковживаних функціональних можливостей, є зрілими, належним чином рецензованими та добре перевіреними, а також надаються за дотримання розробниками достатньо дружніх щодо них умов. Вступні зауваження щодо цих бібліотек можна знайти у оголошенні щодо випуску KDE.
Цей випуск є частиною запланованої послідовності щомісячних випусків, яка надасть змогу розробникам використовувати поліпшення у бібліотеках швидко і без проблем.
Нове у поточній версії
KDAV: новий модуль
Реалізація протоколу DAV за допомогою KJobs.
Реалізовано підтримку календарів та завдань за допомогою або GroupDAV, або CalDAV та контактів із використанням GroupDAV або CardDAV.
Baloo
- [Засоби індексування] Реалізовано ігнорування типів MIME на основі назв для початкових рішень щодо індексування (виправлено ваду 422085)
BluezQt
- Розкрито дані оголошення служби пристрою
Піктограми Breeze
- Виправлено прив'язку до пікселів для трьох піктограм розміру 16 пікселів application-x-... (виправлено ваду 423727)
- Додано підтримку масштабування >200% s для піктограм, які мають лишатися монохромними
- Вирізано центр window-close-symbolic
- Оновлено піктограму програми cervisia та піктограму дії
- Додано розділ README щодо вебшрифту
- Реалізовано використання grunt-webfonts замість grunt-webfont і вимкнено створення символічних поєднаних піктограм
- Додано піктограму kup зі сховища коду kup
Додаткові модулі CMake
- Вилучено підтримку png2ico
- Реалізовано обробку коду CMake Qt для внесення змін до CMAKE_SHARED_LIBRARY_SUFFIX
- Додано модуль пошуку FindTaglib
Інструменти Doxygen KDE
- Реалізовано підтримку «repo_id» у metainfo.yaml для перевизначення вгаданої назви сховища
KCalendarCore
- Реалізовано перевірку на помилку запису у save(), якщо диск переповнено (виправлено ваду 370708)
- Виправлено назви піктограм для регулярних завдань
- Виправлено перетворення на послідовну форму початкової дати регулярних завдань (виправлено ваду 345565)
KCMUtils
- Виправлено сигнал changed для засобу вибору додатків
KCodecs
- Додано декілька , інакше текст у повідомленні міг ставати надто довгим
KConfig
- Реалізовано передавання locationType до KConfigSkeleton при побудові з групи
- Текст «Перемкнути мову програми…» зроблено однорідним із іншими пунктами
KConfigWidgets
- Текст «Перемкнути мову програми…» зроблено однорідним із іншими пунктами
KCoreAddons
- KRandom::random -> QRandomGenerator::global()
- Визнано застарілим KRandom::random
KCrash
- Додано пропущене оголошення середовища, яке за інших умов було доступне лише у GNU
KDocTools
- Використано однорідний стиль для повідомлення щодо FDL (виправлено ваду 423211)
KFileMetaData
- Адаптовано kfilemetadata до «audio/x-speex+ogg», відповідно до нещодавніх змін у shared-mime-info
KI18n
- Додано лапки навколо форматованого тексту мітки <filename>
KIconThemes
- Викинуто встановлення значення у resetPalette
- Реалізовано повертання QPalette(), якщо немає нетипової палітри
- Реалізовано врахування QIcon::fallbackSearchpaths() (виправлено ваду 405522)
KIO
- [kcookiejar] Виправлено читання параметра кук «Прийняти на час сеансу» (виправлено ваду 386325)
- KDirModel: виправлено регресію hasChildren() для ієрархій із прихованими файлами, символічними посиланням, каналами та символьними пристроями (виправлено ваду 419434)
- OpenUrlJob: виправлено підтримку скриптів командної оболонки із пробілами у назві файла (виправлено ваду 423645)
- Додано вебскорочення для DeepL та ArchWiki
- [KFilePlacesModel] Реалізовано показ пристроїв AFC (Apple File Conduit)
- Реалізовано кодування символів пробілів для адрес вебскорочень (виправлено ваду 423255)
- [KDirOperator] Реалізовано справжнє типове вмикання dirHighlighting
- [KDirOperator] Реалізовано підсвічування попереднього каталогу при переході назад або вгору (виправлено ваду 422748)
- [Смітник] Реалізовано обробку помилки ENOENT при перейменуванні файлів (виправлено ваду 419069)
- Файловий допоміжний засіб введення-виведення: реалізовано встановлення часової позначки з наносекундами при копіюванні (виправлено ваду 411537)
- Скориговано адреси для надавачів послуг із пошуку Qwant (виправлено ваду 423156)
- Файловий допоміжний засіб введення-виведення: додано підтримку копіювання reflink (виправлено ваду 326880)
- Виправлено параметр типового скорочення у KCM вебскорочень (виправлено ваду 423154)
- Забезпечено придатність до читання у KCM вебскорочень встановленням мінімальної ширини (виправлено ваду 423153)
- FileSystemFreeSpaceJob: реалізовано надсилання сигналу про помилку, якщо kioslave не надав метаданих
- [Смітник] Реалізовано вилучення файлів trashinfo, що посилаються на файли або каталоги, яких не існує (виправлено ваду 422189)
- kio_http: реалізовано автономне вгадування типу MIIME, якщо сервер повертає application/octet-stream
- Визнано застарілими сигнали totalFiles і totalDirs, які не надсилалися
- Виправлено перезавантаження нових вебскорочень (виправлено ваду 391243)
- kio_http: виправлено стан перейменування, якщо увімкнено перезапис
- Усунено обробку назв як прихованих файлів або шляхів до файлів (виправлено ваду 407944)
- Усунеено показ вилучених або прихованих вебскорочень (виправлено ваду 412774)
- Усунено аварійне завершення роботи при вилученні запису (виправлено ваду 412774)
- Заборонено призначати наявні клавіатурні скорочення
- [kdiroperator] Реалізовано використання кращих підказок для дій з повернення і переходу вперед (виправлено ваду 422753)
- [BatchRenameJob] Реалізовано використання KJob::Items при звітуванні даних щодо поступу (виправлено ваду 422098)
Kirigami
- [Сторінка «Про програму»] Використано OverlaySheet для тексту ліцензійної угоди
- Виправлено піктограми режиму згортання
- Реалізовано використання світлих роздільників для DefaultListItemBackground
- Додано властивість ваги для роздільника
- [overlaysheet] Реалізовано уникання дробового значення висоти у contentLayout (виправлено ваду 422965)
- Виправлено документацію з pageStack.layers
- Повторно впроваджено підтримку шарів для Page.isCurrentPage
- Реалізовано підтримку кольору піктограми
- Реалізовано використання внутрішнього компонента MnemonicLabel
- Зменшено ліву фаску загальної панелі інструментів, якщо заголовок не використовується
- Реалізовано встановлення лише implicit{Width,Height} для роздільника
- Оновлено KF5Kirigami2Macros.cmake для використання https для сховища git для уникнення помилок при спробі доступу
- Виправлено завантаження аватарів
- PageRouterAttached#router зроблено придатним до запису
- Виправлено закриття OverlaySheet при клацанні у компонуванні (виправлено ваду 421848)
- Додано пропущений ідентифікатор до GlobalDrawerActionItem у GlobalDrawer
- Виправлено надто велику висоту OverlaySheet
- Виправлено приклад коду PlaceholderMessage
- Реалізовано показ рамки у нижній частині груп
- Реалізовано використання компонента LSH
- Додано тло до заголовків
- Удосконалено обробку згортання
- Удосконалено показ пунктів заголовків списку
- Додано властивість напівжирної ваги для BasicListItem
- Виправлено Kirigami.Units.devicePixelRatio=1.3, яке мало бути 1.0 при 96 точок на дюйм
- Реалізовано приховування елемента керування OverlayDrawer у неінтерактивному режимі
- Скориговано обчислення ActionToolbarLayoutDetails так, щоб поліпшити вживання місця на екрані
- ContextDrawerActionItem: надано перевагу текстовій властивості над підказкою
KJobWidgets
- Інтегровано KJob::Unit::Items (виправлено ваду 422098)
KJS
- Виправлено аварійне завершення роботи при використанні KJSContext::interpreter
KNewStuff
- Пояснювальний текст пересунуто із заголовка аркуша до заголовка шрифту
- Виправлено шляхи для скрипту встановлення та розпаковування
- Реалізовано приховування ShadowRectangle для незавантажених зображень попереднього перегляду (виправлено ваду 422048)
- Усунено можливість перекриття вмістом делегатів таблиці (виправлено ваду 422476)
KNotification
- Усунено використання notifybysnore.h у MSYS2
KParts
- Визнано застарілим PartSelectEvent та інше подібне
KQuickCharts
- Усунено мітку значення LegendDelegate, якщо ширини недостатньо
- Виправлено помилку «C1059: non constant expression ...»
- Реалізовано врахування товщини лінії при перевірці меж
- Усунено використання fwidth при показі ліній лінійної діаграми
- Переписано removeValueSource так, щоб не руйнувалися QObject-и
- Реалізовано використання insertValueSource у Chart::appendSource
- Належним чином ініціалізовано ModelHistorySource::{m_row,m_maximumHistory}
KRunner
- Виправлено RunnerContextTest так, щоб не припускалося існування .bashrc
- Реалізовано використання вбудованих метаданих JSON для двійкових додатків і нетипові метаданих для додатків D-Bus
- Реалізовано надсилання сигналу queryFinished, коли усі завдання для поточного запиту завершено (виправлено ваду 422579)
KTextEditor
- Реалізовано можливість переходу у «goto line» назад (виправлено ваду 411165)
- Усунено аварійне завершення при вилученні перегляду, якщо діапазони ще змінюються (виправлено ваду 422546)
Бібліотека KWallet
- Впроваджено три нових методи, які повертають усі «записи» у теці
KWidgetsAddons
- Виправлено KTimeComboBox для локалей із незвичними символами у форматах (виправлено ваду 420468)
- KPageView: вилучено невидиме растрове зображення у правій частині заголовка
- KTitleWidget: перехід з властивості QPixmap до властивості QIcon
- Визнано застарілим частину програмного інтерфейсу KMultiTabBarButton/KMultiTabBarTab з використанням QPixmap
- KMultiTabBarTab: підвищено узгодженість логіки станів параметрів стилю з QToolButton
- KMultiTabBar: усунено показ позначених кнопок у QStyle::State_Sunken
- [KCharSelect] Реалізовано початкове передавання фокусу на рядок редагування для пошуку
KWindowSystem
- [xcb] Реалізовано коректне масштабування геометрії піктограми (виправлено ваду 407458)
KXMLGUI
- Реалізовано використання kcm_users замість user_manager
- Реалізовано використання нового програмного інтерфейсу KTitleWidget::icon/iconSize
- Пункт «Перемкнути мову програми» пересунуто до меню «Параметри» (виправлено ваду 177856)
Бібліотеки Plasma
- Реалізовано показ яснішого попередження, якщо потрібний KCM не вдалося знайти
- [spinbox] Реалізовано невикористання пунктів QQC2, коли слід використовувати PlasmaComponents (виправлено ваду 423445)
- Компоненти Плазми: реалізовано відновлення втраченого керування кольором мітки TabButton
- Впроваджено PlaceholderMessage
- [календар] Зменшено розмір мітки місяця
- [ExpandableListItem] Використано однакову логіку для видимості кнопок дії і стрілки
- [Тіні вікна] Портовано на програмний інтерфейс тіней KWindowSystem (виправлено ваду 416640)
- Реалізовано символічні посилання на widgets/plasmoidheading.svgz у світлій та темній темах breeze
- Виправлено Kirigami.Units.devicePixelRatio=1.3, яке мало бути 1.0 при 96 точок на дюйм
- Додано властивість для доступу до пункту завантажувача ExpandableListItem
Prison
- Визнано застарілим AbstractBarcode::minimumSize() і для компілятора
Purpose
- Реалізовано використання явним чином одиниць Kirigami, замість неявного використання одиниць Плазми
- Діалогові вікна завдань портовано на Kirigami.PlaceholderMessage
QQC2StyleBridge
- Реалізовано встановлення selectByMouse у значення true для SpinBox
- Виправлено замиленість піктограм у меню для декількох розмірів шрифтів (виправлено ваду 423236)
- Реалізовано запобігання перекриттю делегатів та смужки гортання на контекстних панелях із спадними списками
- Виправлено implicitWidth для вертикального повзунка і цикл прив'язки
- Підказки зроблено суміснішими із стилем підказок віджетів Breeze
- Типово встановлено editable у значення true для поля лічильника
- Виправлено попередження щодо з'єднань у Menu.qml
Solid
- У FreeBSD безумовно увімкнено модуль UDisks2
Sonnet
- Виправлено причину помилки «Using QCharRef with an index pointing outside the valid range of a QString»
- Відновлено типову поведінку автоматичного визначення
- Виправлено типову мову (виправлено ваду 398245)
Синдикація
- Виправлено заголовки умов ліцензування BSD-2-Clause
Підсвічування синтаксису
- CMake: оновлено до CMake 3.18
- Додано підсвічування для мови Snort/Suricata
- Додано мову YARA
- Вилучено застарілий двійковий json. Замість нього використано cbor.
- JavaScript/TypeScript: реалізовано підсвічування теґів у шаблонах
Відомості щодо безпеки
Випущений код підписано за допомогою GPG з використанням такого ключа: pub rsa2048/58D0EE648A48B3BB 2016-09-05 David Faure <faure@kde.org> Відбиток основного ключа: 53E6 B47B 45CE A3E0 D5B7 4577 58D0 EE64 8A48 B3BB
Встановлення бінарних пакунків
У Linux рекомендованим шляхом встановлення KDE Frameworks є пакунки вашого улюбленого дистрибутива. Настанови щодо встановлення програмного забезпечення KDE у вашому дистрибутиві Linux.
Збирання з початкових кодів
Увесь початковий код програм KDE Frameworks 5.72.0 можна отримати безкоштовно. Настанови щодо збирання та встановлення доступні на інформаційній сторінці програми KDE Frameworks 5.72.0.
Бібліотеки також можна зібрати з початкових кодів за допомогою базової системи команд cmake .; make; make install. Цей спосіб є найпростішим, якщо вам потрібні лише окремі бібліотеки шару 1. Зацікавленим в удосконаленні бібліотек та стеженні за розробкою загального набору варто скористатися скриптом kdesrc-build. Для роботи Frameworks 5.72.0 потрібна версія Qt
Із докладним списком усіх бібліотек Frameworks можна ознайомитися на api.kde.org.
Приєднатися до команди
Ті, кому цікаво стежити за розробкою Frameworks і взяти участь у його розробці, можуть ознайомитися із вмістом сховищ git і стежити за обговореннями у списку листування розробників KDE Frameworks. Правила і поточний стан проєкту і плани наведено у вікі Frameworks. Інтерактивні обговорення проводять на каналі IRC #kde-devel у Libera Chat.
Підтримка KDE
KDE — спільнота з розробки вільного програмного забезпечення, яка розвивається лише завдяки допомозі багатьох добровольців, які працюють у вільний від інших занять час. KDE завжди шукає нових учасників, які можуть допомогти розробці, виправленні і сповіщенні про вади, створенні документації, перекладі, просуванні, фінансуванні тощо. Будь-який внесок буде з вдячністю сприйнято спільнотою. Будь ласка, ознайомтеся зі сторінкою підтримки KDE, щоб дізнатися більше, або станьте спонсором KDE e.V. за допомогою нашої ініціативи Join the Game.