Субота, 12 грудня 2020
Сьогодні KDE оголошено про випуск KDE Frameworks 5.77.0.
KDE Frameworks складається з 83 додаткових бібліотек, які розширюють можливості Qt і реалізують багато широковживаних функціональних можливостей, є зрілими, належним чином рецензованими та добре перевіреними, а також надаються за дотримання розробниками достатньо дружніх щодо них умов. Вступні зауваження щодо цих бібліотек можна знайти у оголошенні щодо випуску KDE.
Цей випуск є частиною запланованої послідовності щомісячних випусків, яка надасть змогу розробникам використовувати поліпшення у бібліотеках швидко і без проблем.
Нове у поточній версії
Attica
- Усунено аварійне завершення роботи при завантаженні шляхом перевірки вказівника на відповідь до розіменовування (виправлено ваду 427974)
Baloo
- [DocumentUrlDB] Реалізовано вилучення запису дочірнього списку з бази даних, якщо він є порожнім
- Додано тип документів «Presentation» для показів слайдів та шаблонів у форматі Office OpenXML
- [MetaDataMover] Виправлено пошук ідентифікатора батьківського документа
- [DocumentUrlDB] Додано метод для тривіальних перейменувань та пересувань
- [MetaDataMover] Перейменування зроблено дією, яка виконується лише для бази даних
- [Document] Додано запис ідентифікатора батьківського документа і реалізовано його заповнення
- Безпосередній виклик syslog замінено категоризованим повідомленням журналювання
Піктограми Breeze
- Додано варіанти text-field: -frameless (-> text-field), -framed
- Додано символічну назву символічного посилання для піктограм input-*
- Додано піктограму для шрифту XML True Type
- Додано add-subtitle
- Піктограму MathML змінено так, щоб у ній використовувалася формула та вказаний тип MIME
- Додано піктограму для образів дисків QEMU та образів SquashFS
- Додано піктограму для дії edit-move
- Додано піктограму для дампів ядра
- Додано низку типів MIME для субтитрів
- Вилучено непотрібне розмиття для піктограми kontrast
Додаткові модулі CMake
- Виправлено видобування категорій з файлів desktop
- Визначено змінну каталогу встановлення для шаблонів файлів
- Додано засоби створення метаданих fastlane для збірок Android
- (Qt)WaylandScanner: реалізовано позначення файлів як SKIP_AUTOMOC належним чином
KActivitiesStats
- ResultModel: розкрито ресурс MimeType
- Додано фільтрування подій для файлів і каталогів (виправлено ваду 428085)
KCalendarCore
- Виправлено запис супровідника, ним має бути Allen :)
- Додано підтримку властивості CONFERENCE
- Додано зручний метод alarmsTo для Calendar
- Додано перевірку того, чи повторення не передують dtStart
KCMUtils
- Вилучено обхідний код, який заважав роботі багаторівневих модулів керування у режимі піктограм
KConfig
- Виправлено KConfigGroup::copyTo із KConfigBase::Notify (виправлено ваду 428771)
KCoreAddons
- Усунено аварійне завершення роботи при порожньому значенні factory (коли повертаємо помилку)
- KFormat: додано більше випадків відносної дати і часу
- Уможливлено передавання KPluginFactory KPluginMetaData додаткам
KDAV
- Вилучено код, який спричиняв надто багато помилок
KDeclarative
- Синхронізовано поля з AbstractKCM до SimpleKCM
- Вилучено текст застарілої ліцензії
- Змінено ліцензування файла на «LGPL-2.0-або-пізніша»
- Змінено ліцензування файла на «LGPL-2.0-або-пізніша»
- Змінено ліцензування файла на «LGPL-2.0-або-пізніша»
- Змінено ліцензування файла на «LGPL-2.0-або-пізніша»
- Переписано KeySequenceItem (і допоміжний код) на використання KeySequenceRecorder (виправлено ваду 427730)
KDESU
- Реалізовано належну обробку екранованих подвійних лапок
- Додано підтримку doas(1) з OpenBSD
KFileMetaData
- Усунено деякі витоки пам'яті у засобах видобування даних з документів OpenDocument та Office OpenXML
- Додано декілька підтипів для документів OpenDocument та OpenXML
KGlobalAccel
- Реалізовано завантаження статично скомпонованих додатків інтерфейсу kglobalacceld
Додатки графічного інтерфейсу KDE
- Реалізовано заборону скорочень з моменту отримання (виправлено ваду 407395)
- Усунено потенційне аварійне завершення роботи у засобі розподілу уповільнення wayland (виправлено ваду 429267)
- CMake: реалізовано пошук Qt5::GuiPrivate, якщо увімкнено підтримку Wayland
- Додано KeySequenceRecorder як основу для KKeySequenceWidget і KeySequenceItem (виправлено ваду 407395)
KHolidays
- Виправлено заокруглення подій сонячного циклу у випадках, якщо до наступної години лишилося менше 30 секунд
- Усунено подвійну обробку кожного файла свят у defaultRegionCode()
- Реалізовано обчислення астрономічних пір року лише один раз за використання
- Виправлено визначення регіонів свят за кодами ISO 3166-2
- Реалізовано можливість копіювання і пересування HolidayRegion
- Додано підтримку обчислення часу офіційного настання сутінок
KIdleTime
- Реалізовано завантаження статично скомпонованих додатків опитування щодо даних
KImageFormats
- Усунено зменшення значення глибини кольорів до 8 бітів для 16-бітових нестиснених файлів PSD
KIO
- Вікно створення файлів: зроблено прийнятним створення каталогів до запуску засобу статистичної обробки (виправлено ваду 429838)
- Усунено витік пам'яті у потоці обробки DeleteJob
- KUrlNavBtn: відновлено працездатність засобу відкриття підкаталогів зі спадного меню за допомогою клавіатури(виправлено ваду 428226)
- DropMenu: реалізовано використання перекладених скорочень
- [ExecutableFileOpenDialog] Реалізовано фокусування кнопки «Скасувати»
- Панель «Місця»: реалізовано підсвічування пункту місця, лише якщо його показано (виправлено ваду 156678)
- Додано властивість для показу пунктів дій додатків у підменю «Дії»
- Вилучено нововпроваджений метод
- KIO::iconNameForUrl: реалізовано визначення піктограми для віддалених файлів на основі назви (виправлено ваду 429530)
- [kfilewidget] Реалізовано використання нового стандартного скорочення для пункту «Створити теку»
- Переформатовано завантаження контекстного меню, контекстне меню зроблено масштабованим
- RenameDialog: уможливлено перезаписування, коли файли є старішими (виправлено ваду 236884)
- DropJob: використано нову піктограму edit-move для дії «Пересунути сюди»
- Виправлено створення moc_predefs.h, якщо увімкнено ccache за допомогою -DCMAKE_CXX_COMPILER=ccache CMAKE_CXX_COMPILER_ARG1=g++
- Зроблено обов'язковим Qt 5.13, вилучено ifdef
- KComboBox портовано на QComboBox
- Виправлено документацію за запитом Méven Car
- Переформатовано частину циклів за допомогою сучасного C++
- Виконано чищення від непотрібного коду
- Вилучено зайву перевірку того, чи існує ключ
- Спрощено код RequiredNumberOfUrls
- Вилучено частину порожніх рядків
- Спрощено код і зроблено його одноріднішим
- ioslaves: виправлено права доступу root до remote:/
- KFileItem: реалізовано використання KProtocolManager у isWritable для віддалених файлів
- Додано позначку перевантаження до дій з меню «Дії»
- Використано сучасний стиль коду
- Усунено додавання непотрібних роздільників (виправлено ваду 427830)
- Використано initializer_list у дужках замість оператора <<
- MkPathJob: переписано умовно компільованих код для удосконалення придатності до читання
Kirigami
- Реалізовано встановлення позиції ToolBars/TabBars/DialogButtonBoxes у заголовку GlobalDrawer
- Долучено властивість inViewport
- Виправлено ковзання заголовків на сенсорних екранах
- Переформатовано AbstractapplicationHeader за новою концепцією «ScrollIntention»
- На стільниці реалізовано безумовне заповнення прив'язок до батьківського об'єкта
- [controls/BasicListItem]: усунено прив'язування до записів, яких не існує
- Усунено показ тексту аватара при малому розмірі
- Вилучено # і @ у процесі видобування початкової версії аватара
- Реалізовано ініціалізацію властивості у sizeGroup
- Реалізовано використання взаємодії із мишею в isMobile для спрощення тестування
- Виправлено початкову і завершальну частину за допомогою завершальних значень для початкового поля роздільника
- [controls/BasicListItem]: додано властивості leading/trailing
- Виправлено розташування аркуша при зміні розмірів вмісту
- Реалізовано застосування попередньої поведінки у широкому режимі і усунено додавання topMargin у FormLayout
- Виправлено компонування форми на малих екранах
- Усунено використання AbstractListItem у SwipeListItem
- Виправлено помилку «Неможливо встановлювати значення [undefined] для int» в OverlaySheet
- [overlaysheet]: усунено перехід із перестрибуванням при зміні висоти вмісту
- [overlaysheet]: реалізовано анімацію зміни висоти
- Виправлено розташування аркуша-накладки
- Реалізовано безумовне встановлення індексу при клацання на сторінці
- Виправлено перетягування FAB s у режимі запису тексту справа ліворуч
- Удосконалено вигляд роздільників у списках (виправлено ваду 428739)
- Виправлено елементи керування шухлядами у режимі тексту справа ліворуч
- Виправлено показ рамок належного розміру із програмним резервом (виправлено ваду 427556)
- Усунено розташування пункту програмного резерву поза затіненими рамками пункту затіненого прямокутника
- Реалізовано використання fwidth() для згладжування у режимі низького споживання енергії (виправлено ваду 427553)
- Реалізовано показ фонового кольору у режимі низького споживання енергії
- Увімкнено обробку прозорості для текстур Shadowed(Border) у режимі низького споживання енергії
- Усунено скасування компонентів прозорості для затіненого прямокутника у режимі низького споживання енергії
- Усунено використання значення згладжування нижчих шарів при показі текстури ShadowedBorderTexture
- Вилучено кроки «вирізання» із затіненого прямокутника і пов'язаних шейдерів
- Реалізовано використання icon.name замість iconName у документації
- [Аватар] Реалізовано використання розміру піктограми, який є близьким до розміру тексту
- [Аватар] Збільшено використання місця для перших літер і удосконалено вертикальне вирівнювання
- [Аватар] Розкрито sourceSize і властивості згладжування для усіх методів, яким потрібна анімація розмірів
- [Аватар] Реалізовано встановлення розміру джерела для запобігання замиленню зображень
- [Аватар] Реалізовано одноразове встановлення кольору тексту
- [Аватар] Реалізовано зміну градієнта тла
- [Аватар] Змінено товщину рамки до 1 пікселя, щоб товщина рамки збігалася із товщиною інших рамок
- [Аватар] Забезпечено безумовну працездатність фаски, verticalPadding і horizontalPadding
- [Аватар] Додано градієнти кольорів
KItemModels
- KRearrangeColumnsProxyModel: враховано, що дочірні об'єкти має лише стовпчик 0
KMediaPlayer
- Реалізовано встановлення файлів визначень типів служб програвача і рушія за відповідністю назви файла типу
KNewStuff
- Виправлено вилучення, якщо запис не кешовано
- Реалізовано виклик перевірки оновлень, якщо очікуються оновлення (виправлено ваду 418082)
- Реалізовано повторне використання вікна QWidgets (виправлено ваду 429302)
- Блок сумісності загорнуто у KNEWSTUFFCORE_BUILD_DEPRECATED_SINCE
- Усунено запис кешу для проміжних станів
- Реалізовано використання переліків для розпакування замість рядкових значень
- Виправлення передчасне зникнення з оновлюваної сторінки запису (виправлено ваду 427801)
- Додано перелік DetailsLoadedEvent до нового сигналу
- Перероблено програмний інтерфейс адаптації (виправлено ваду 417983)
- Виправлено декілька проблем із застарілою адресою надавача даних
- Реалізовано вилучення запису з кешу до вставлення нового запису (виправлено ваду 424919)
KNotification
- Усунено передавання проміжної підказки (виправлено ваду 422042)
- Виправлено помилку у чутливості до регістру символів заголовка AppKit у macOS
- Усунено виклик некоректних дій зі сповіщення
- Виправлено роботу із пам'яттю для notifybysnore
Набір бібліотек KPackage
- Відкинуто X-KDE-PluginInfo-Depends
KParts
- Метод embed() визнано застарілим, оскільки його не використовують
- Реалізовано використання KPluginMetaData замість KAboutData у KParts
KQuickCharts
- Перероблено алгоритм згладжування ліній
- Застосування інтерполяції пересунуто до кроку остаточної обробки
- Реалізовано належне центрування точкових делегатів на лінійній діаграмі і встановлення розмірів таких делегатів за товщиною лінії
- У прикладі лінійної діаграми додано пункт «згладжування»
- Забезпечено належне очищення точкових делегатів на лінійній діаграмі
- Реалізовано додатковий показ назви у підказці до прикладу сторінки із лінійною діаграмою
- Документовано LineChartAttached і виправлено друкарську помилку у документації до LineChart
- Додано властивості name і shortName у LineChartAttached
- Докладніше документовано властивість pointDelegate
- Вилучено член previousValues і виправлено лінійні діаграми зі стосуванням
- Реалізовано використання pointDelegate у прикладі лінійної діаграми для показу значень при наведенні вказівника
- Додано підтримку «точкового делегата» для лінійних діаграм
- Лінійна діаграма: обчислення точок пересунуто з updatePaintNode до polish
KRunner
- Визнано застарілими решти пакунків KDE4
- Реалізовано підтримку нового конструктора додатків KPluginMetaData у KPluginLoader
KService
- [kapplicationtrader] Виправлено документацію до програмного інтерфейсу
- KSycoca: реалізовано повторне створення бази даних, якщо версія є меншою за очікувану
- KSycoca: реалізовано стеження за файлами ресурсів KMimeAssociation
KTextEditor
- KComboBox портовано на QComboBox
- Реалізовано використання KSyntaxHighlighting themeForPalette
- Виправлено виклик i18n, у якому було пропущено аргумент (виправлено ваду 429096)
- Удосконалено автоматичний вибір теми
KWidgetsAddons
- Усунено подвійне надсилання сигналу passwordChanged
- Додано KMessageDialog, асинхронно-центричний варіант KMessageBox
- Відновлено застарілий типовий режим контекстної панелі KActionMenu
- Портовано KActionMenu на QToolButton::ToolButtonPopupMode
KWindowSystem
- Реалізовано завантаження статично скомпонованих додатків інтеграції
- Реалізовано портування з pid() на processId()
KXMLGUI
- Впроваджено HideLibraries і визнано застарілим HideKdeVersion
- Переписано KKeySequenceWidget на використання KeySequenceRecorder (виправлено ваду 407395)
Бібліотеки Plasma
- [Representation] Реалізовано вилучення верхньої або нижньої фаски, лише якщо видимими є верхній або нижній колонтитул
- [PlasmoidHeading] Реалізовано використання методики з Representation для вставок і полів
- Додано компонент Representation
- [Стільнична тема] hint-inset-side-margin перейменовано на hint-side-inset
- [FrameSvg] insetMargin перейменовано на inset
- [PC3] Реалізовано використання смужки гортання PC3 у ScrollView
- [Breeze] Реалізовано звітування підказки щодо вставки
- [FrameSvg*] shadowMargins перейменовано на inset
- [FrameSvg] Реалізовано кешування затінених полів і враховування префіксів
- Реалізовано завершення анімації до зміни довжини підсвічування панелі поступу (виправлено ваду 428955)
- [textfield] Виправлено перекриття кнопкою очищення поля тексту (виправлено ваду 429187)
- Реалізовано показ спадного меню на правильній загальній позиції
- Реалізовано використання gzip -n для запобігання вбудованим часам збирання
- Реалізовано використання KPluginMetaData для виведення списку containmentAction
- Завантаження packageStructure портовано з KPluginTrader
- Реалізовано KPluginMetaData для показу списку DataEngine
- [TabBar] Додано підсвічування при фокусуванні за допомогою клавіатури
- [FrameSvg*] Розкрито затінені поля
- Значення MarginAreasSeparator зроблено чистішим
- [TabButton] Вирівняно піктограму і текст за центром, якщо текст розташовано поряд із піктограмою
- [SpinBox] Виправлено логічну помилку у напрямку гортання
- Виправлено мобільну смужку гортання у режимі показу тексту справа ліворуч
- [Панель інструментів PC3] Усунено вимикання рамок
- [Панель інструментів PC3] Реалізовано використання належних властивостей полів svg для фасок
- [pc3/scrollview] Вилучено pixelAligned
- Додано поля
Purpose
- [bluetooth] Виправлено оприлюднення декількох файлів одночасно (виправлено ваду 429620)
- Реалізовано читання перекладеної мітки дії додатку (виправлено ваду 429510)
QQC2StyleBridge
- Кнопка: реалізовано використання down, а не pressed для визначення стилю
- Зменшено розмір круглих кнопок на мобільних пристроях
- Виправлено мобільну смужку гортання у режимі показу тексту справа ліворуч
- Виправлено смужку поступу у режимі запису тексту справа ліворуч
- Виправлено показ у режимі тексту справа ліворуч для RangeSlider
Solid
- Включено errno.h для EBUSY/EPERM
- FstabBackend: реалізовано повернення DeviceBusy, якщо демонтування завершується помилкою при EBUSY (виправлено ваду 411772)
- Виправлено виявлення нещодавніх libplist і libimobiledevice
Підсвічування синтаксису
- Виправлено залежності створених файлів
- Засіб індексування: виправлено деякі проблеми і вимкнено два засоби перевірки (захоплення групи і ключове слово із роздільником)
- Засіб індексування: реалізовано завантаження усіх файлів XML до пам'яті для полегшення перевірки
- Підсвічування коду C++: оновлення до Qt 5.15
- Реалізовано перезапуску генераторів синтаксису, якщо внесено зміни до початкового файла
- Модуль systemd: реалізовано оновлення до systemd v247
- ILERPG: спрощення і тестування
- Zsh, Bash, Fish, Tcsh: додано truncate і tsort до ключових слів unixcommand
- Latex: деякі із математичних середовищ може бути вкладено (виправлено ваду 428947)
- Bash: багато виправлень і удосконалень
- Додано --syntax-trace=stackSize
- php.xml: виправлено відповідність endforeach
- Пересунуто bestThemeForApplicationPalette з KTextEditor
- debchangelog: додано Trixie
- alert.xml: додано «NOQA» — ще одне популярне попередження у початковому коді
- cmake.xml: основними розробниками вирішено відкласти впровадження «cmake_path» до наступного випуску
Відомості щодо безпеки
Випущений код підписано за допомогою 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.77.0 можна отримати безкоштовно. Настанови щодо збирання та встановлення доступні на інформаційній сторінці програми KDE Frameworks 5.77.0.
Бібліотеки також можна зібрати з початкових кодів за допомогою базової системи команд cmake .; make; make install. Цей спосіб є найпростішим, якщо вам потрібні лише окремі бібліотеки шару 1. Зацікавленим в удосконаленні бібліотек та стеженні за розробкою загального набору варто скористатися скриптом kdesrc-build. Для роботи Frameworks 5.77.0 потрібна версія Qt 5.13.
Із докладним списком усіх бібліотек Frameworks можна ознайомитися на api.kde.org.
Приєднатися до команди
Ті, кому цікаво стежити за розробкою Frameworks і взяти участь у його розробці, можуть ознайомитися із вмістом сховищ git і стежити за обговореннями у списку листування розробників KDE Frameworks. Правила і поточний стан проєкту і плани наведено у вікі Frameworks. Інтерактивні обговорення проводять на каналі IRC #kde-devel у Libera Chat.
Підтримка KDE
KDE — спільнота з розробки вільного програмного забезпечення, яка розвивається лише завдяки допомозі багатьох добровольців, які працюють у вільний від інших занять час. KDE завжди шукає нових учасників, які можуть допомогти розробці, виправленні і сповіщенні про вади, створенні документації, перекладі, просуванні, фінансуванні тощо. Будь-який внесок буде з вдячністю сприйнято спільнотою. Будь ласка, ознайомтеся зі сторінкою підтримки KDE, щоб дізнатися більше, або станьте спонсором KDE e.V. за допомогою нашої ініціативи Join the Game.