Субота, 10 жовтня 2020
Сьогодні KDE оголошено про випуск KDE Frameworks 5.75.0.
KDE Frameworks складається з 70 додаткових бібліотек, які розширюють можливості Qt і реалізують багато широковживаних функціональних можливостей, є зрілими, належним чином рецензованими та добре перевіреними, а також надаються за дотримання розробниками достатньо дружніх щодо них умов. Вступні зауваження щодо цих бібліотек можна знайти у оголошенні щодо випуску KDE.
Цей випуск є частиною запланованої послідовності щомісячних випусків, яка надасть змогу розробникам використовувати поліпшення у бібліотеках швидко і без проблем.
Нове у поточній версії
Baloo
- [AdvancedQueryParser] Оптимізовано обробку кінців рядків із дужками
- [AdvancedQueryParser] Оптимізовано обробку кінців рядків із символами порівняння
- [AdvancedQueryParser] Виправлено вихід за межі доступу, якщо останнім символом є символ порівняння
- [Term] Конструктор Term::Private замінено типовими значеннями
- [BasicIndexingJob] Реалізовано скорочене отримання XAttr для файлів без атрибутів
- [засіб видобування] Виправлено тип документів у результатах видобування даних
- Змінено ліцензування файла на «LGPL-2.0-або-пізніша»
BluezQt
- Додано властивість rfkill до засобу керування
- Додано властивість стану до rfkill
- Зареєстровано Rfkill для QML
- Експортовано Rfkill
- Реалізовано підтримку надання значення даних служб для оголошень LE
Піктограми Breeze
- Додано нову загальну піктограму «behavior»
- Реалізовано залежність перевірки піктограм від створення піктограм, лише якщо увімкнено
- Скрипт Bash для піктограм у 24 пікселів замінено на скрипт python
- Використано графіку у стилі прапорців для view-calendar-holiday
- Додано логотип Плазми Нано
- Додано application-x-kmymoney
- Додано піктограму KMyMoney
Додаткові модулі CMake
- Виправлено fetch-translations для адрес з invent
- Включено FeatureSummary та модулі пошуку
- Впроваджено перевірку правдоподібності для вихідного ліцензування
- Додано CheckAtomic.cmake
- Виправлено налаштовування з pthread на 32-бітовому Android
- Додано параметр RENAME для ecm_generate_dbus_service_file
- Виправлено find_library для Android з NDK < 22
- Явним чином упорядковано списки версій Android
- Реалізовано зберігання Android {min,target,compile}Sdk у змінних
Інструменти Doxygen KDE
- Удосконалення ліцензування
- Виправлено api.kde.org на мобільних пристроях
- Реалізовано api.kde.org для PWA
KArchive
- Змінено ліцензування файла на «LGPL-2.0-або-пізніша»
KAuth
- Використано нову змінну для встановлення (виправлено ваду 415938)
- Позначено David Edmundson як супровідника KAuth
KCalendarCore
- Змінено ліцензування файла на «LGPL-2.0-або-пізніша»
KCMUtils
- Вилучено обробку внутрішніх подій для вкладок (виправлено ваду 423080)
KCompletion
- Змінено ліцензування файлів на «LGPL-2.0-або-пізніша»
KConfig
- CMake: реалізовано також встановлення SKIP_AUTOUIC для створених файлів
- Використано зворотний порядок у KDesktopFile::locateLocal для ітерації загальними шляхами для налаштовування
KConfigWidgets
- Виправлено помилку у isDefault, яка спричиняла проблеми із оновленням типового стану у KCModule
- [kcolorscheme]: Додано isColorSetSupported для перевірки того, чи схема кольорів містить заданий набір кольорів
- [kcolorscheme] Реалізовано належне читання нетипових неактивних кольорів для тла
KContacts
- Вилучено застарілий файл ліцензування для «лише-LGPL-2.0»
- Змінено ліцензування файлів на «LGPL-2.0-або-пізніша»
KCoreAddons
- KJob: реалізовано надсилання result() і finished() не більше одного разу
- Додано захищений засіб отримання даних KJob::isFinished()
- Визнано застарілим KRandomSequence на користь QRandomGenerator
- Реалізовано ініціалізацію змінної у класі заголовка та додано const для змінної і вказівника
- Удосконалено засновані на повідомлення перевірки щодо середовища (виправлено ваду 387006)
- Спрощено перевірку спостереження qrc (виправлено ваду 387006)
- Реалізовано облік посилань та вилучення екземплярів KDirWatchPrivate (виправлено ваду 423928)
- Визнано застарілим KBackup::backupFile() через втрату функціональності
- Визнано застарілим KBackup::rcsBackupFile(...) через невикористаність
KDBusAddons
- Змінено ліцензування файлів на «LGPL-2.0-або-пізніша»
KDeclarative
- QML для I18n додано у KF 5.17
- Змінено ліцензування файлів на «LGPL-2.0-або-пізніша»
- Реалізовано блокування скорочень при записі послідовностей натискання клавіш (виправлено ваду 425979)
- Додано SettingHighlighter як задану вручну версію підсвічування, що виконується SettingStateBinding
Підтримка KDELibs 4
- KStandardDirs: реалізовано безумовне розгортання символічних посилань для файлів налаштувань
KHolidays
- Вилучено коментування з полів опису для файлів свят mt_*
- Додано національні свята для Мальти англійською (en-gb) та мальтійською (mt)
KI18n
- Змінено ліцензування файла на «LGPL-2.0-або-пізніша»
KIO
- KUrlNavigator: реалізовано безумовне використання «desktop:/» замість «desktop:»
- Реалізовано синтаксис команд DuckDuckGo у вебскороченнях (виправлено ваду 374637)
- KNewFileMenu: враховано те, що KIO::mostLocalUrl є корисним лише з протоколами :local
- Визнано застарілим KIO::pixmapForUrl
- kio_trash: вилучено надмірно строгу перевірку прав доступу (виправлено ваду 76380)
- OpenUrlJob: реалізовано однорідну обробку усіх текстових скриптів (виправлено ваду 425177)
- KProcessRunner: розширено обробку метаданих systemd
- KDirOperator: усунено виклик setCurrentItem для порожніх адрес (виправлено ваду 425163)
- KNewFileMenu: виправлено створення каталогів із назвами, які починаються з «:» (виправлено ваду 425396)
- StatJob: роз'яснено, що mostLocalUrl працює лише з протоколами :local
- Документовано спосіб додавання нових ролей «random» у kfileplacesmodel.h
- Вилучено застарілий обхідний код kio_fonts у KCoreDirLister, там некоректно вилучалася назва вузла
- KUrlCompletion: пристосовано протоколи «:local», у яких в адресі використано назву вузла
- Код методу addServiceActionsTo розділено між меншими методами
- [kio] Уможливлено використання подвійних лапок у діалоговому вікні відкриття-збереження (виправлено ваду 185433)
- StatJob: реалізовано скасовування завдання, якщо адреса є некоректною (виправлено ваду 426367)
- Реалізовано явне з'єднання слотів замість використання автоматичного з'єднання
- Програмний інтерфейс filesharingpage зроблено працездатним
Kirigami
- AbstractApplicationHeader: використано anchors.fill замість залежної від позиції прив'язки
- Удосконалено вигляд і однорідність GlobalDrawerActionItem
- Вилучено відступи у формі для вузьких компонувань
- Скасовано внесок «Уможливлено налаштовування кольорів заголовків»
- Уможливлено налаштовування кольорів заголовків
- Додано пропущене @since для властивостей зафарбованої області
- Впроваджено властивості paintedWidth/paintedHeight стилю зображення QtQuick
- До піктограми додано властивість зображення-замінника (у стилі резервної версії)
- Вилучено нетипову поведінку implicitWidth/implicitHeight піктограми
- Захищено потенційно нульовий вказівник (виявляється, така поведінка є доволі поширеною)
- Додано protected до setStatus
- Впроваджено властивість status
- Реалізовано підтримку засобів надання типів зображень ImageResponse і Texture у Kirigami::Icon
- Реалізовано попередження щодо невикористання ScrollView у ScrollablePage
- Скасовано внесок «Безумовний показ роздільника»
- Реалізовано підтримку нетипових делегатів заголовків для мобільного режиму
- Реалізовано приховування рядка-роздільника послідовної навігації, якщо компонування кнопок є видимим, але має ширину 0 (виправлено ваду 426738)
- [піктограма] Реалізовано обробку піктограми як некоректної, якщо джерелом є порожня адреса
- Реалізовано врахування у Units.fontMetrics FontMetrics
- Додано властивість Kirigami.FormData.labelAlignment
- Реалізовано безумовний показ роздільника
- Реалізовано використання кольорів заголовка для стилю стільничного середовища AbstractApplicationHeader
- Реалізовано використання контексту компонента при створенні делегатів для ToolBarLayout
- Реалізовано переривання та вилучення інкубаторів при вилученні ToolBarLayoutDelegate
- Реалізовано вилучення дій і делегатів з ToolBarLayout при їхньому знищенні (виправлено ваду 425670)
- Замінено використання виклику вказівника у стилі C у sizegroup
- Реалізовано двійкові сталі у форматі розширення C++14
- sizegroup: виправлено причину попереджень щодо переліку без обробки
- sizegroup: виправлено з'єднання із 3 аргументами
- sizegroup: до сигналу додано CONSTANT
- Виправлено декілька випадків використання циклів із діапазонами для контейнерів Qt, які не є сталими
- Реалізовано обмеження щодо висоти кнопки на загальній панелі інструментів
- Реалізовано показ роздільникам між елементами послідовної навігації та піктограмами ліворуч
- Використано KDE_INSTALL_TARGETS_DEFAULT_ARGS
- Реалізовано встановлення розміру ApplicationHeaders з використанням SizeGroup
- Впроваджено SizeGroup
- Виправлення: реалізовано показ індикатора оновлення над заголовками списків
- Реалізовано розташовування overlaysheets над висувними панелями
KItemModels
- Реалізовано ігнорування sourceDataChanged при некоректних індексах
- Реалізовано підтримку KDescendantProxyModel для «згорнутих» вузлів
KNewStuff
- Реалізовано стеження вручну за життєвим циклом наших нутрощів засобу запуску kpackage
- Оновлено версії для «фіктивних» оновлень kpackage (виправлено ваду 427201)
- Усунено непотрібне використання типового параметра
- Усунено аварійне завершення роботи при встановленні kpackage (виправлено ваду 426732)
- Реалізовано виявлення змін у кеші та відповідне реагування
- Виправлено оновлення запису, якщо номер версії є порожнім (виправлено ваду 417510)
- Додано const до вказівника та ініціалізовано змінну у файлі заголовків
- Змінено ліцензування файла на «LGPL-2.0-або-пізніша»
- Реалізовано прийняття пропозиції перехоплення супроводу
KNotification
- Знижено рівень додатка Android, аж доки не буде доступним новий Gradle
- Реалізовано використання версій SDK Android з ECM
- Визнано застарілим конструктор KNotification, який приймає параметр віджета
Набір бібліотек KPackage
- Виправлено сповіщення DBus при встановленні або оновленні
- Змінено ліцензування файла на «LGPL-2.0-або-пізніша»
KParts
- Реалізовано встановлення файлів визначення типів служб krop і krwp за відповідним назві файла типом
KQuickCharts
- Усунено циклічну прив'язку у Legend
- Вилучено перевірку для GLES3 у SDFShader (виправлено ваду 426458)
KRunner
- Додано властивість matchRegex для запобігання непотрібному виклику потоку обробки
- Уможливлено встановлення дій у QueryMatch
- Уможливлено визначення окремих дій для відповідників засобів запуску D-Bus
- Змінено ліцензування файлів на «LGPL-2.0-або-пізніша»
- Додано властивість мінімальної кількості літер
- Реалізовано врахування змінної середовища XDG_DATA_HOME для каталогів встановлення шаблонів
- Удосконалено повідомлення про помилки для засобів запуску D-Bus
- Започатковано надсилання попереджень щодо портування метаданих під час роботи
KService
- Повернуто disableAutoRebuild з brink (виправлено ваду 423931)
KTextEditor
- [kateprinter] Портовано із застарілих методів QPrinter
- Усунено створення тимчасового буфера для виявлення типу MIME для збереженого локального файла
- Усунено зависання через завантаження словника та триграм при початковому введенні
- [Vimode] Реалізовано безумовний показ буферів a-z літерами нижнього регістру
- [KateFadeEffect] Реалізовано надсилання hideAnimationFinished() при згасанні, яке перервано відновленням яскравості
- Забезпечено ідеальну рамку за пікселями навіть для масштабованого показу
- Забезпечено малювання роздільника рамки над усіма іншими елементами, зокрема підсвічуваннями згортання
- Роздільник пересунуто з простору між рамкою піктограми і номерами рядків до простору між рискою і текстом
- [Vimode] Виправлено поведінку нумерованих регістрів
- [Vimode] Реалізовано розташовування вилученого тексту у належному регістрі
- Відновлено поведінку пошуку позначено, якщо нічого не позначено
- Усунено подальше використання «лише-LGPL-2.1» або «лише-LGPL-3.0»
- Змінено умови ліцензування файлів до LGPL-2.0 або новіших версій
- Усунено використання непотрібного методу встановлення для деяких кольорів теми
- Колись 5.75 стане несумісним, тому встановлено типове значення «Автоматичний вибір теми кольорів» для тем
- Змінено тему схеми =>у коді для уникнення проблем
- Скорочено пропонований заголовок ліцензування до поточного стану
- Забезпечено безумовне використання певної коректної теми
- Удосконалено вікно «Копіювати…»
- Додаткове виправлення для зміни «створити» на «копіювати»
- Додано KMessageWidget, який вказує на придатні лише для читання теми для їхнього копіювання, перейменовано «створити» на «копіювати»
- Вимкнено редагування придатних лише для читання тем
- Реалізовано збереження лише різниць при збереженні
- Спрощено створення атрибутів, тепер прозорі кольори належним чином оброблено у Format
- Реалізовано спробу обмежити експортування змінених атрибутів
- Реалізовано початкове обчислення «справжніх» типових значень на основі поточної теми і форматів без перевизначення стилю для підсвічування
- Виправлено дію зі скидання
- Реалізовано збереження специфічних для синтаксису перевизначень. У поточній версії зберігаються усі дані, які завантажено до ієрархічного перегляду.
- Розпочато роботу над специфічними для синтаксичного підсвічування перевизначення. У поточній версії буде показано лише стилі, які насправді містяться у записі підсвічування.
- Уможливлено зберігання змін у типовому стилі
- Уможливлено зберігання змін у кольорах
- Реалізовано експортування тем: просте копіювання файлів
- Усунено специфічне імпортування та експортування для підсвічувань — у ньому немає сенсу при використанні нового формату .theme
- Реалізовано імпортування файлів .theme
- Реалізовано копіювання поточної теми як початкового пункту для створення теми
- Реалізовано безумовне використання кольорів теми
- Вилучено застарілий код схем на користь KSyntaxHighlighting::Theme
- Початкова реалізація використання кольорів, які встановлюються темою без власної логіки навколо обробки
- Ініціалізовано m_pasteSelection і збільшено номер версії файла UI
- Додано клавіатурне скорочення для вставлення позначеного за допомогою миші
- Усунено setTheme — тему можна передавати за допомогою допоміжних функцій
- Виправлено підказку — ця дія лише скидає тему до типової
- Реалізовано експортування налаштувань типових стилів до теми у форматі json
- Розпочато роботу над експортуванням json, яке активується використанням суфікса назви .theme у діалоговому вікні експортування
- Перейменовано пункт «Використовувати типові кольори KDE» на «Використовувати типові кольори», оскільки саме цю дію і буде виконано
- Усунено використання типової порожньої теми «KDE»
- Реалізовано підтримку автоматичного вибору належної теми для поточної теми кольорів Qt/KDE
- Застарілі назви тем перетворено на нові, використано новий файл налаштувань, усунено повторне передавання даних
- Налаштування шрифтів пересунуто до розділу вигляду, перейменовано «схему» на «тему кольорів»
- Вилучено жорстке визначення назви типової теми, використано засоби доступу KSyntaxHighlighting
- Реалізовано завантаження резервних кольорів з теми
- Безумовно усунено додавання до пакунка вбудованих кольорів
- Реалізовано використання належної функції для пошуку теми
- Реалізовано використання кольорів редактора з теми
- Використано перелік KSyntaxHighlighting::Theme::EditorColorRole
- Реалізовано перехід Normal => Default
- Перший крок: реалізовано завантаження списку тем з KSyntaxHighlighting, у новій версії ми вже маємо ці записи як відомі схеми у KTextEditor
KUnitConversion
- Реалізовано показ верхнім регістром для паливної економічності
KWayland
- Усунено кешування ітератора QList::end(), якщо використано erase()
KWidgetsAddons
- kviewstateserializer.cpp — реалізовано захист від аварій у restoreScrollBarState()
KWindowSystem
- Змінено ліцензування файлів для сумісності із LGPL-2.1
KXMLGUI
- [kmainwindow] Усунено вилучення записів з некоректної kconfiggroup (виправлено ваду 427236)
- Усунено перекриття основних вікон при відкритті додаткових екземплярів (виправлено ваду 426725)
- [kmainwindow] Усунено створення природних вікон для вікон, які не є вікнами верхнього рівня (виправлено ваду 424024)
- KAboutApplicationDialog: усунено появу порожньої вкладки «Бібліотеки», якщо встановлено HideKdeVersion
- Реалізовано показ коду мови додатково до (перекладеної) назви мови у діалоговому вікні перемикання мови програми
- Визнано застарілим KShortcutsEditor::undoChanges() на користь нової undo()
- Реалізовано обробку подвійного закриття у головному вікні (виправлено ваду 416728)
Бібліотеки Plasma
- Виправлено помилкову адресу встановлення plasmoidheading.svgz (виправлено ваду 426537)
- Реалізовано надання значення lastModified у ThemeTest
- Реалізовано виявлення пошуку порожнього елемента і відповідне скасовування пошуку
- Реалізовано використання у підказках PlasmaComponents3 типового стилю підказок (виправлено ваду 424506)
- Реалізовано використання кольорів Header у заголовках PlasmoidHeading
- Тип показу анімації пересування підсвічування у PC2 TabBar змінено на OutCubic
- Додано підтримку набору кольорів Tooltip
- Виправлено встановлення належного кольору для піктограм PC3 Button/ToolButton (виправлено ваду 426556)
- Забезпечено використання у FrameSvg часової позначки lastModified при використанні кешування (виправлено ваду 426674)
- Забезпечено безумовну коректність часової позначки lastModified під час виклику setImagePath
- Визнано застарілою часову позначку lastModified зі значенням 0 у Theme::findInCache (виправлено ваду 426674)
- Імпортування QQC2 адаптовано до нової схеми визначення версій
- [windowthumbnail] Реалізовано перевірку наявності відповідного GLContext, а не будь-якого
- Додано пропущене імпортування PlasmaCore у ButtonRow.qml
- Виправлено ще декілька помилок із посиланнями у PlasmaExtras.ListItem
- Виправлено помилку щодо implicitBackgroundWidth у PlasmaExtras.ListItem
- Режим редагування названо «Режимом редагування»
- Виправлено TypeError у QueryDialog.qml
- Виправлено ReferenceError щодо PlasmaCore у Button.qml
QQC2StyleBridge
- Реалізовано використання кольору підсвічування тексту, якщо підсвічено checkDelegate (виправлено ваду 427022)
- Реалізовано врахування клацання на смужці гортання при переході до позиції (виправлено ваду 412685)
- Усунено типове успадкування кольорів у стилі панелі інструментів стільниці
- Змінено ліцензування файла на «LGPL-2.0-або-пізніша»
- Реалізовано використання кольорів заголовка лише для панелей інструментів заголовка
- Оголошення набору кольорів пересунуто до місця, де його можна перевизначити
- Реалізовано використання кольорів заголовка для панелей інструментів у стилі стільничного середовища
- Додано пропущену властивість isItem, яка потрібна для ієрархій
Sonnet
- Знижено версію виведення триграм
Підсвічування синтаксису
- AppArmor: виправлено формальний вираз для виявлення шляхів
- AppArmor: оновлено підсвічування для AppArmor 3.0
- Реалізовано кешування кольорів для перетворень з rgb до ansi256colors (пришвидшує завантаження розмітки)
- SELinux: реалізовано використання ключових слів include
- Субтитри SubRip та Logcat: незначні удосконалення
- Створено породжувач даних для doxygenlua.xml
- Виправлено формули LaTeX у doxygen (виправлено ваду 426466)
- Реалізовано використання Q_ASSERT, як у решті бібліотеки; виправлено оцінки
- --format-trace перейменовано на --syntax-trace
- Реалізовано застосування стилю до областей
- Реалізовано трасування контекстів і областей
- Реалізовано типове використання кольору тла редактора
- Реалізовано підсвічування ANSI
- Додано повідомлення щодо авторських прав та оновлено колір роздільника у темі «Radical»
- Оновлено колір роздільника у темах «Solarized»
- Удосконалено колір роздільника та рамку піктограм для тем «Ayu», «Nord» та «Темна Vim»
- Колір роздільника зроблено менш контрастним
- Імпортовано схему Kate до перетворювача тем, Juraj Oravec
- Реалізовано помітніший розділ щодо ліцензування, надано посилання на нашу копію MIT.txt
- Перший шаблон для породжувача base16, https://github.com/chriskempson/base16
- Додано належні дані щодо ліцензування до всіх тем
- Додано тему кольорів «Radical»
- Додано тему кольорів «Nord»
- Удосконалено показ тем — більше стилів
- Додано світлу і темну теми «gruvbox», умови ліцензування — MIT
- Додано тему кольорів «ayu» (у варіантах «світла», «темна» і «міраж»)
- Додано альтернативу POSIX для простого надання змінним значень
- Додано інструменти для створення графу на основі файла синтаксису
- Виправлено автоматичне перетворення невстановленого кольору QRgb == 0 на «чорний» замість «прозорого»
- Додано журнал змін Debian і файли контрольних прикладів
- Додано тему кольорів «Dracula»
Відомості щодо безпеки
Випущений код підписано за допомогою 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.75.0 можна отримати безкоштовно. Настанови щодо збирання та встановлення доступні на інформаційній сторінці програми KDE Frameworks 5.75.0.
Бібліотеки також можна зібрати з початкових кодів за допомогою базової системи команд cmake .; make; make install. Цей спосіб є найпростішим, якщо вам потрібні лише окремі бібліотеки шару 1. Зацікавленим в удосконаленні бібліотек та стеженні за розробкою загального набору варто скористатися скриптом kdesrc-build. Для роботи Frameworks 5.75.0 потрібна версія Qt 5.12.
Із докладним списком усіх бібліотек Frameworks можна ознайомитися на api.kde.org.
Приєднатися до команди
Ті, кому цікаво стежити за розробкою Frameworks і взяти участь у його розробці, можуть ознайомитися із вмістом сховищ git і стежити за обговореннями у списку листування розробників KDE Frameworks. Правила і поточний стан проєкту і плани наведено у вікі Frameworks. Інтерактивні обговорення проводять на каналі IRC #kde-devel у Libera Chat.
Підтримка KDE
KDE — спільнота з розробки вільного програмного забезпечення, яка розвивається лише завдяки допомозі багатьох добровольців, які працюють у вільний від інших занять час. KDE завжди шукає нових учасників, які можуть допомогти розробці, виправленні і сповіщенні про вади, створенні документації, перекладі, просуванні, фінансуванні тощо. Будь-який внесок буде з вдячністю сприйнято спільнотою. Будь ласка, ознайомтеся зі сторінкою підтримки KDE, щоб дізнатися більше, або станьте спонсором KDE e.V. за допомогою нашої ініціативи Join the Game.