Субота, 9 січня 2021
Сьогодні KDE оголошено про випуск KDE Frameworks 5.78.0.
KDE Frameworks складається з 83 додаткових бібліотек, які розширюють можливості Qt і реалізують багато широковживаних функціональних можливостей, є зрілими, належним чином рецензованими та добре перевіреними, а також надаються за дотримання розробниками достатньо дружніх щодо них умов. Вступні зауваження щодо цих бібліотек можна знайти у оголошенні щодо випуску KDE.
Цей випуск є частиною запланованої послідовності щомісячних випусків, яка надасть змогу розробникам використовувати поліпшення у бібліотеках швидко і без проблем.
Нове у поточній версії
Attica
- Взято до уваги негайне переривання виконання завдання (виправлено ваду 429939)
Baloo
- [ExtractorProcess] Сигнал DBus пересунуто з допоміжного до основного процесу
- [timeline] Консолідовано код для побудови статистики і списку вмісту для кореневої теки
- Записи UDS допоміжних засобів введення-виведення зроблено придатними лише до читання
- Усунено помилки при запуску програм, якщо ще не було створено покажчика baloo
- [BasicIndexingJob] Реалізовано вилучення завершального символу похилої риски із записів тек (виправлено ваду 430273)
Піктограми Breeze
- Нова піктограма дії «компас»
- До теми додано піктограму image-missing
- Додано піктограму для зображень WIM
Додаткові модулі CMake
- Реалізовано зазначення для MSVC того, що кодуванням початкових файлів є UTF-8
- Додано Findepoxy.cmake
- Реалізовано враховування локальних наборів зображень
- Реалізовано використання відтворюваних архів лише з GNU tar
- Реалізовано збереження лише підмножини синтаксису форматованого тексту, підтримку якої передбачено у F-Droid
- Збільшено номер обов'язкової версії cmake для Android.cmake (виправлено ваду 424392)
- Реалізовано автоматичне виявлення залежностей додатка від бібліотек у Android
- Реалізовано перевірку існування файла перед вилученням архіву
- Реалізовано очищення теки зображень та файла архіву до отримання та створення даних
- Реалізовано збереження порядку знімків вікон з файла appstream
- Windows: виправлено QT_PLUGIN_PATH для тестів
- Усунено аварійне завершення роботи, якщо не знайдено жодних категорій
- Реалізовано створення у KDEPackageAppTemplates відтворюваних архівів
KActivitiesStats
- Вилучено помилкову можливість lastQuery, це має виправити аварійні завершення роботи у krunner
KCalendarCore
- CMakeLists.txt — збільшено мінімальну версію libical до 3.0
KCMUtils
- Реалізовано типовий індикатор підсвічування у KPluginSelector
- kcmoduleqml: усунено прив'язку ширини стовпчика до ширини панелі перегляду (виправлено ваду 428727)
KCompletion
- [KComboBox] Виправлено аварійне завершення роботи при виклику setEditable(false) із відкритим контекстним меню
KConfig
- Виправлено помилкову максимізацію вікон після запуску (виправлено ваду 426813)
- Виправлено форматування рядка максимізації вікна
- Виправлено встановлення розмірів і позиції вікна у Windows (виправлено ваду 429943)
KConfigWidgets
- KCodecAction: додано неперевантажені версії сигналів codecTriggered і encodingProberTriggered
KCoreAddons
- KJobTrackerInterface портовано на синтаксис з'єднань Qt5
- KTextToHtml: виправлено оцінку помилки виходу за межі припустимого діапазону у виклику at()
- Реалізовано використання простої ієрархії для шляхів до додатків в Android
- Перетворення desktop на JSON: реалізовано ігнорування запису «Actions=»
- Визнано застарілим KProcess::pid()
- ktexttohtml: виправлено використання KTextToHTMLHelper
KCrash
- Реалізовано використання std::unique_ptr<char[]> для запобігання витокам пам'яті
KDeclarative
- Реалізовано перехід на Findepoxy, яке надається ECM
- KCMShell: додано підтримку передавання аргументів
- Реалізовано обхідний код для уникнення аварійного завершення роботи при виявленні GL і kwin_wayland
- [KQuickAddons] Реалізовано QtQuickSettings::checkBackend() як резервний варіант програмної обробки (виправлено ваду 346519)
- [abstractkcm] Виправлено імпортовану версію у прикладі коду
- Усунено встановлення значення QSG_RENDER_LOOP, якщо це значення вже встановлено
- ConfigPropertyMap: реалізовано завантаження типового значення властивості у карті
KDocTools
- Додано замінник для акроніма MathML
- «Морський бій» було замінено на «KNavalBattle» з юридичних міркувань
KGlobalAccel
- Усунено автозапуск kglobalaccel при вимиканні (виправлено ваду 429415)
KHolidays
- Оновлено японські свята
KIconThemes
- Усунено попередження для деяких піктограм Adwaita для забезпечення зворотної сумісності
- Враховано, що QSvgRenderer::setAspectRatioMode() було впроваджено у Qt 5.15
KImageFormats
- До списку підтримуваних форматів додано AVIF
- Додано додаток для формату файлів зображень AV1 (AVIF)
KIO
- [KFileItemDelegate] Усунено витрачання місця для піктограм, яких не існує у стовпчиках, відмінних від першого
- KFilePlacesView, KDirOperator: портовано на асинхронний askUserDelete()
- Перероблено спосіб, у який CopyJob знаходить розширення JobUiDelegate
- Впроваджено AskUserActionInterface, асинхронний програмний інтерфейс для діалогових вікон перейменування або скасування дії
- RenameDialog: реалізовано виклик compareFiles() лише для файлів
- kcm/webshortcuts: виправлено кнопку «Скинути»
- KUrlNavigatorMenu: виправлено обробку клацання середньою кнопкою миші
- Вилучено запис knetattach з перегляду допоміжного засобу введення-виведення remote:// (виправлено ваду 430211)
- CopyJob: портовано на AskUserActionInterface
- Jobs: додано неперевантажений сигнал «mimeTypeFound», який замінить застарілий «mimetype»
- RenameDialog: додано пропущену ініціалізацію nullptr (виправлено ваду 430374)
- KShortUriFilter: усунено фільтрування рядків «../» та подібних рядків
- Усунено перевірку, чи передано KIO::rawErrorDetail() адресу без схеми (виправлено ваду 393496)
- KFileItemActions: виправлено умову, слід виключити лише віддалені каталоги (виправлено ваду 430293)
- KUrlNavigator: вилучено використання kurisearchfilter
- KUrlNavigator: відновлено працездатність доповнення для відносних шляхів (виправлено ваду 319700)
- KUrlNavigator: реалізовано визначення відносних шляхів до каталогів (виправлено ваду 319700)
- Вимкнено виведення попереджень через проблеми із налаштуваннями samba, якщо samba не використовується явно
- KFileWidget: уможливлено позначення файлів, назви яких починаються з «:» (виправлено ваду 322837)
- [KFileWidget] Виправлено розташування кнопки закладок на панелі інструментів
- KDirOperator: визнано застарілим mkdir(const QString &, bool)
- KFilePlacesView: уможливлено встановлення статичного розміру піктограм (виправлено ваду 182089)
- KFileItemActions: додано новий метод для вставлення дій «Відкрити за допомогою» (виправлено ваду 423765)
Kirigami
- [controls/SwipeListItem]: реалізовано безумовний показ дій на стільниці
- [overlaysheet] Реалізовано досконаліше позиціювання кнопки закриття (виправлено ваду 430581)
- [controls/avatar]: відкрито вбудований AvatarPrivate як відкритий програмний інтерфейс NameUtils
- [controls/avatar]: розкрито створений колір
- Додано компонент Hero
- [controls/Card]: вилучено анімацію у відповідь на наведення вказівника
- [controls/ListItem]: вилучено анімацію у відповідь на наведення вказівника
- Пересунуто ListItems для використання veryShortDuration для наведення, замість longDuration
- [controls/Units]: додано veryShortDuration
- Реалізовано розфарбовування піктограм ActionButton
- Реалізовано використання растрових піктограм лише достатньо великого розміру
- [controls/avatar]: удосконалено типовий вигляд
- [controls/avatar]: виправлено візуальні вади
- Створено компонент CheckableListItem
- [controls/avatar]: реалізовано масштабування рамки за розміром аватара
- Скасовано «[Аватар] Реалізовано зміну градієнта тла»
- Скасовано «[Аватар] Змінено товщину рамки до 1 пікселя, щоб товщина рамки збігалася із товщиною інших рамок»
- [controls/avatar]: реалізовано досконалішу доступність аватарів
- [controls/avatar]: збільшено фаску для резервної версії піктограми
- [controls/avatar]: реалізовано встановлення sourceSize у режимі зображення
- [controls/avatar]: скориговано встановлення розмірів тексту
- [controls/avatar]: скориговано методики, які використовуються для кругової форми
- [controls/avatar]: додано основну і вторинну дію для аватара
- Жорстко визначено запис заголовка OverlaySheet
- Збирання з qmake: додано пропущене джерел і заголовок sizegroup
- Реалізовано розфарбування піктограм, а не кнопок (виправлено ваду 429972)
- Виправлено невизначену ширину кнопок «Назад» і «Вперед» у заголовку
- [BannerImage]: виправлено вертикальне центрування заголовка у темах, відмінних від тем Плазми
KItemModels
- Додано властивість лічильника, яка уможливлює прив'язку rowCount у QML
KItemViews
- Уможливлено вмикання з KWidgetItemDelegate resetModel з KPluginSelector
KNewStuff
- Визнано застарілими методами standardAction і standardActionUpload
- Виправлено модель QtQuick, якщо є лише дані, але немає посилань на отримання даних
- Додано dptr до Cache і пересунуто таймер дроселювання для виправлення вади (виправлено ваду 429442)
- Переформатовано KNS3::Button для внутрішнього використання нового діалогового вікна
- Створено клас-обгортку для діалогового вікна QML
- Реалізовано перевірку на порожній запис версії до об'єднання у загальний запис версії
KNotification
- Удосконалено документацію до програмного інтерфейсу KNotification
KParts
- Визнано застарілим BrowserHostExtension
KQuickCharts
- Використано нетиповий макрос для повідомлень щодо застарівання у QML
- Реалізовано використання ECMGenerateExportHeader для макроса застарівання і використано його
- Враховано, що зміна інтервалу не потребує очищення журналу
- Змінено діаграму із неперервною лінією у прикладі коду журналу
- Визнано застарілим Model/ValueHistorySource
- Впроваджено HistoryProxySource як заміну Model/ValueHistorySource
- Додано категорії журналювання для діаграм і використано їх для наявних попереджень
KRunner
- [Засіб запуску за допомогою DBus] Додано підтримку нетипових растрових піктограм для результатів
- Додано ключ для перевірки, чи було перенесено дані налаштувань
- Відокремлено файли налаштувань і даних
- Новий програмний інтерфейс для запуску відповідників та для журналу
- Вимкнено збирання RunnerContextTest у Windows
KService
- KSycoca: усунено повторну побудову бази даних, якщо у XDG_CONFIG_DIRS містяться дублікати
- KSycoca: забезпечено упорядковування додаткових файлів для порівняння (виправлено ваду 429593)
KTextEditor
- «Variable:» перейменовано на «Document:Variable:»
- Розгортання змінних: виправлено пошук відповідників префікса із декількома двокрапками
- Малювання пересунуто з KateTextPreview до KateRenderer
- Забезпечено використання для малювання растру лише рядків, які є видимими
- Реалізовано використання KateTextPreview для обробки растра
- Розгортання змінних: додано підтримку %{Document:Variable:
} - Реалізовано показ перетягуваного тексту під час перетягування (виправлено ваду 398719)
- Виправлено від'єднання у TextRange::fixLookup()
- Усунено малювання тла currentLine, якщо є перекриття із позначеною ділянкою
- KateRegExpSearch: виправлено логіку при додаванні «\n» між рядками діапазону
- Запис дії перейменовано на «Swap with clipboard contents»
- Додано дію для вмикання копіювання із вставленням як одної дії
- Можливість: додано піктограму перенесення рядків тексту для динамічного перенесення рядків
- Реалізовано скасовування відступів у один крок (виправлено ваду 373009)
KWidgetsAddons
- KSelectAction: додано неперевантажені сигнали indexTriggered і textTriggered
- KFontChooserDialog: реалізовано обробку вилучення діалогового вікна батьківським віджетом під час exec()
- KMessageDialog: реалізовано виклик setFocus() на типові кнопці
- Виконано портування з QLocale::Norwegian на QLocale::NorwegianBokmal
- KToolBarPopupActionTest портовано на QToolButton::ToolButtonPopupMode
KXMLGUI
- KXmlGui: при оновленні локального файла .rc реалізовано збереження нових панелей інструментів програм
- Виправлено записування клавіші у setWindow до того, як розпочнеться захоплення (виправлено ваду 430388)
- Вилучено невикористану залежність від KWindowSystem
- Реалізовано очищення KXMLGUIClient у документі XML у пам'яті після збереження скорочень на диск
Піктограми Oxygen
- Додано upindicator
Бібліотеки Plasma
- Реалізовано розкриття даних щодо помилки для плазмоїда помилки у структурованіший спосіб
- [компоненти] Реалізовано врахування мнемоніки
- [svg] Реалізовано безумовний запуск SvgRectsCache із належного потоку обробки
- [PC3 ProgressBar] Встановлено прив'язку до ширини (виправлено ваду 430544)
- Виправлено збирання у Windows та виконано інверсію змінних
- [PlasmaComponents/TabGroup] Виправлено перевірку того, чи успадковується запис від Page
- Різноманітні компоненти портовано на veryShortDuration при наведенні вказівника миші
- Пересунуто ListItems для використання veryShortDuration для наведення, замість longDuration
- Додано veryShortDuration
- Заборонено використання від'ємних років календаря (виправлено ваду 430320)
- Виправлено помилки із визначення фонового зображення (виправлено ваду 430390)
- Ідентифікатори кешу QString замінено на версію на основі структури
- [TabGroup] Реалізовано обернену анімацію для режиму писемності справа ліворуч
- Реалізовано вилучення скорочень лише при вилученні, а не знищенні, аплету
- Реалізовано приховування вимкнених контекстних дій в ExpandableListItem
Purpose
- KFileItemActions: додано windowflag меню
- Оприлюднення за допомогою fileitemplugin: реалізовано використання як батьківського віджета меню віджета Widget (виправлено ваду 425997)
QQC2StyleBridge
- Оновлено org.kde.desktop/Dialog.qml
- Реалізовано малювання ScrollView за допомогою Frame, а не Edit (виправлено ваду 429601)
Sonnet
- Удосконалено швидкодію createOrderedModel шляхом використання QVector
- Усунено причину попередження під час виконання, якщо немає жодної пропозиції результату
Підсвічування синтаксису
- Підсвічування коду C++: QOverload та подібні конструкції
- Виправлено підсвічування для міток, які починаються з крапки у GAS
- Підсвічування коду C++: додано макрос qGuiApp
- Удосконалено тему dracula
- Виправлено #5: Bash, Zsh: ! з if, while, until ; Bash: стиль взірця для ${змінна,взірець} і ${змінна^взірець}
- Виправлено #5: Bash, Zsh: коментарі у масиві
- Реалізовано синтаксис запису можливості Cucumber
- Zsh: збільшено номер версії синтаксису
- Zsh: виправлено розгортання дужок у команді
- Додано weakDeliminator і additionalDeliminator із ключовим словом, WordDetect, Int, Float, HlCOct і HlCHex
- Засіб індексування: реалізовано скидання currentKeywords і currentContext при відкритті нового визначення
- Zsh: багато виправлень і удосконалень
- Bash: виправлено коментарі у case, вираз послідовності, та ) після ]
- Реалізовано правильну підтримку обробки імпортування кольору в основі та спеціалізацію для c/c++
- Оновлено тему Monokai
- Реалізовано перевірку коректності і наявності custom-style у темах
- Додано темну і світлу теми для GitHub
- Збільшено номер версії без зміни версії kate
- Додано умови ліцензування
- Додано темну і світлу теми Atom One
- Збільшено версію після внесення змін
- Виправлено колір оператора атрибутів & у Monokai
- Додано тему Monokai
- CMake: додано пропущені змінні 3.19 і деякі з нових, які було додано у 3.19.2
- Kotlin: виправлено декілька вад та удосконалено обробку
- Groovy: виправлено декілька вад та удосконалено обробку
- Scala: виправлено декілька вад та удосконалено обробку
- Java: виправлено декілька вад та удосконалено обробку
- Виправлено обробку && і || у підлеглому контексті та виправлено взірець назви функції
- Додано QRegularExpression::DontCaptureOption, якщо немає динамічного правила
- Bash: додано (...), ||, && у [[ ... ]] ; додано backquote у [ ... ] і [[ ... ]]
Відомості щодо безпеки
Випущений код підписано за допомогою 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.78.0 можна отримати безкоштовно. Настанови щодо збирання та встановлення доступні на інформаційній сторінці програми KDE Frameworks 5.78.0.
Бібліотеки також можна зібрати з початкових кодів за допомогою базової системи команд cmake .; make; make install. Цей спосіб є найпростішим, якщо вам потрібні лише окремі бібліотеки шару 1. Зацікавленим в удосконаленні бібліотек та стеженні за розробкою загального набору варто скористатися скриптом kdesrc-build. Для роботи Frameworks 5.78.0 потрібна версія Qt 5.14.
Із докладним списком усіх бібліотек Frameworks можна ознайомитися на api.kde.org.
Приєднатися до команди
Ті, кому цікаво стежити за розробкою Frameworks і взяти участь у його розробці, можуть ознайомитися із вмістом сховищ git і стежити за обговореннями у списку листування розробників KDE Frameworks. Правила і поточний стан проєкту і плани наведено у вікі Frameworks. Інтерактивні обговорення проводять на каналі IRC #kde-devel у Libera Chat.
Підтримка KDE
KDE — спільнота з розробки вільного програмного забезпечення, яка розвивається лише завдяки допомозі багатьох добровольців, які працюють у вільний від інших занять час. KDE завжди шукає нових учасників, які можуть допомогти розробці, виправленні і сповіщенні про вади, створенні документації, перекладі, просуванні, фінансуванні тощо. Будь-який внесок буде з вдячністю сприйнято спільнотою. Будь ласка, ознайомтеся зі сторінкою підтримки KDE, щоб дізнатися більше, або станьте спонсором KDE e.V. за допомогою нашої ініціативи Join the Game.