Субота, 14 грудня 2019
Сьогодні KDE оголошено про випуск KDE Frameworks 5.65.0.
KDE Frameworks складається з 70 додаткових бібліотек, які розширюють можливості Qt і реалізують багато широковживаних функціональних можливостей, є зрілими, належним чином рецензованими та добре перевіреними, а також надаються за дотримання розробниками достатньо дружніх щодо них умов. Вступні зауваження щодо цих бібліотек можна знайти у оголошенні щодо випуску KDE.
Цей випуск є частиною запланованої послідовності щомісячних випусків, яка надасть змогу розробникам використовувати поліпшення у бібліотеках швидко і без проблем.
Нове у поточній версії
Новий модуль: KQuickCharts — модуль QtQuick, який надає доступ до високошвидкісних діаграм.
Піктограми Breeze
- Реалізовано вирівнювання піпетки за пікселями
- Додано нові піктограми baloo
- Додано нові піктограми налаштовування пошуку
- Реалізовано використання зображення піпетки для піктограм піпетки кольорів (виправлено ваду 403924)
- Додано піктограму категорії «усі програми»
Додаткові модулі CMake
- Код extra-cmake-modules очищено від посилань без шифрування
- ECMGenerateExportHeader: додано прапорець NO_BUILD_SET_DEPRECATED_WARNINGS_SINCE
- Реалізовано явне використання lib для каталогів systemd
- Додано каталог встановлення для модулів systemd
- KDEFrameworkCompilerSettings: увімкнено усі попередження щодо застарівання у Qt і KF
Інтеграція бібліотек
- Реалізовано умовне встановлення SH_ScrollBar_LeftClickAbsolutePosition на основі параметра kdeglobals (виправлено ваду 379498)
- Реалізовано встановлення назви і версії програми для інструмента knshandler
Інструменти Doxygen KDE
- Виправлено імпортування модулів при використанні Python3
KAuth
- Реалізовано встановлення файла .pri для KAuthCore
KBookmarks
- Визнано застарілими KonqBookmarkMenu і KonqBookmarkContextMenu
- Реалізовано пересування класів, які використовуються разом із KonqBookmarkMenu, до самого класу
KCalendarCore
- Реалізовано використання загальносистемного часового поясу при створення календаря, якщо часовий пояс вказано некоректно
- Календар пам'ятних дат: усунено дублювання коду
- Реалізовано використання QDate як ключа у mIncidencesForDate у MemoryCalendar
- Реалізовано обробку дат зустрічей у різних часових поясах у MemoryCalendar
KCMUtils
- [KCMultiDialog] Вилучено обробку найспецифічніших полів; ця обробка тепер виконується у KPageDialog
- KPluginSelector: використано новий KAboutPluginDialog
- Додано запобіжник для випадку, коли немає kirigami (виправлено ваду 405023)
- Реалізовано вимикання кнопки відновлення типових значень, якщо вимикання цієї кнопки вимагає модуль
- Реалізовано обробку типового стану у KCModuleProxy
- Реалізовано сумісність KCModuleQml із сигналом defaulted()
KCompletion
- Реорганізовано KHistoryComboBox::insertItems
KConfig
- Додано параметр засобів сповіщення щодо документів
- Реалізовано створення налаштувань сеансу, лише якщо дійсно відбувається відновлення сеансу
- kwriteconfig: додано варіант вилучення
- Додано KPropertySkeletonItem
- Приготовано KConfigSkeletonItem до уможливлення успадковування його закритого класу
KConfigWidgets
- [KColorScheme] Змінено порядок кольорів декорацій відповідно до переліку DecorationRole
- [KColorScheme] Виправлено помилку у коментарі до NShadeRoles
- [KColorScheme/KStatefulBrush] Змінено вбудовані до коду номери для пунктів переліку
- [KColorScheme] До переліків ColorSet та Role додано пункти для загальної кількості записів
- Реалізовано реєстрацію KKeySequenceWidget у KConfigDialogManager
- Скориговано код KCModule з метою передавання відомостей щодо типових значень
KCoreAddons
- Визнано застарілим KAboutData::fromPluginMetaData, оскільки тепер маємо KAboutPluginDialog
- Додано описове попередження для випадку повернення inotify_add_watch значення ENOSPC (виправлено ваду 387663)
- Додано перевірку для вади «bug-414360»; ця вада не є вадою ktexttohtml (виправлено ваду 414360)
KDBusAddons
- Включено програмний інтерфейс для загальної реалізації аргументів --replace
KDeclarative
- Код kdeclarative очищено від посилань на ресурси із протоколом без шифрування
- Синхронізовано зі змінами у KConfigCompiler
- Уможливлено показ верхнього і нижнього колонтитулів, якщо вони є непорожніми
- Реалізовано підтримку qqmlfileselectors
- Уможливлено вимикання автоматичного збереження у ConfigPropertyMap
KDED
- Вилучено залежність kded від kdeinit
Підтримка KDELibs 4
- Вилучено невикористану kgesturemap з kaction
KDocTools
- Додано пропущені переклади замінників каталонською
KI18n
- Скасовано визнання застарілим I18N_NOOP2
KIconThemes
- Визнано застарілим метод верхнього рівня UserIcon; він більше не використовується
KIO
- Додано новий протокол для архівів 7z
- [CopyJob] При компонуванні реалізовано варіант використання https для піктограми text-html
- [KFileWidget] Усунено можливість виклику slotOk одразу після зміни адреси (виправлено ваду 412737)
- [kfilewidget] Реалізовано завантаження піктограм за назвами
- KRun: усунено перевизначення вказаної користувачем програми при відкритті локальних файлів *.*html (виправлено ваду 399020)
- Виправлено опитування щодо проксі FTP/HTTP у випадку, якщо проксі-сервера немає
- Допоміжний засіб введення-виведення FTP: виправлено передавання параметра ProxyUrls
- [KPropertiesDialog] Реалізовано спосіб показу запису, на який посилається символічне посилання (виправлено ваду 413002)
- [Засіб введення-виведення remote] Додано Display Name для remote:/ (виправлено ваду 414345)
- Виправлено обробку параметрів проксі-сервера HTTP (виправлено ваду 414346)
- [KDirOperator] Клавішу Backspace пов'язано із дією «Назад»
- Реалізовано спробу використання $PATH, якщо kioslave5 не було знайдено у місцях, що визначаються libexec
- [Samba] Удосконалено попередження щодо назви netbios
- [DeleteJob] Реалізовано використання окремого потоку обробки для виконання дії із введення-виведення (виправлено ваду 390748)
- [KPropertiesDialog] Уможливлено позначення за допомогою вказівника миші рядка дати створення (виправлено ваду 413902)
Застарівання:
- Визнано застарілими класи KTcpSocket і KSsl*
- Вилучено останні сліди KSslError з TCPSlaveBase
- Портовано метадані ssl_cert_errors з KSslError на QSslError
- Визнано застарілим перевантаження KTcpSocket конструктора KSslErrorUiData
- [Допоміжний засіб KIO http] Реалізовано використання QSslSocket замість KTcpSocket (застарілого)
- [TcpSlaveBase] Портовано з KTcpSocket (застарілого) до QSslSocket
Kirigami
- Виправлено поля у ToolBarHeader
- Усунено аварійне завершення роботи, якщо джерело піктограми є порожнім
- MenuIcon: усунено причину попереджень щодо неініціалізованої висувної панелі
- Реалізовано враховування мнемонічної мітки для повернення до ""
- Виправлено помилку, пов'язану із тим, що дії InlineMessage завжди потрапляли до перекривного меню
- Виправлено типове тло картки (виправлено ваду 414329)
- Icon: виправлено проблему із потоками обробки, коли джерелом є адреса http
- Виправлення у навігації за допомогою клавіатури
- i18n: реалізовано видобування повідомлень для перекладу із файлів C++
- Виправлено розташування команди project cmake
- Реалізовано створення одного екземпляра QmlComponentsPool на рушій (виправлено ваду 414003)
- ToolBarPageHeader перемкнуто на використання поведінки згортання піктограм з ActionToolBar
- ActionToolBar: реалізовано автоматичне перемикання на режим показу лише піктограм для пунктів дій, які позначено як KeepVisible
- До Action додано властивість displayHint
- До статичної версії додано інтерфейс D-Bus
- Скасовано внесок «Реалізовано врахування швидкості перетягування при завершенні блимання»
- FormLayout: виправлено висоту мітки, якщо вимкнено «широкий» режим
- Усунено типовий показ елемента керування у немодальному режимі
- Скасовано внесок «Забезпечено перебування GlobalDrawer topContent на верхівці списку»
- Реалізовано використання RowLayout для компонування ToolBarPageHeader
- Реалізовано вертикальне центрування для решти пунктів дій у ActionTextField (виправлено ваду 413769)
- Відновлено динамічний перегляд у режимі планшета
- Замінено SwipeListItem
- Реалізовано підтримку властивості actionsVisible
- Розпочато портування SwipeListItem на SwipeDelegate
KItemModels
- Визнано застарілим KRecursiveFilterProxyModel
- KNumberModel: реалізовано належну обробку значення 0 для stepSize
- Розкрито KNumberModel для QML
- Додано новий клас KNumberModel, який є моделлю чисел між двома вказаними значеннями
- Відкрито доступ до KDescendantsProxyModel з QML
- Додано імпортування QML для KItemModels
KNewStuff
- Додано зручні посилання на ресурси для повідомлення про вади
- Виправлено синтаксис i18n з метою запобігання помилок під час роботи (виправлено ваду 414498)
- KNewStuffQuick::CommentsModel перетворено на SortFilterProxy для відгуків
- Реалізовано належне визначення аргументів i18n в один прохід (виправлено ваду 414060)
- Вказано, що функції впроваджено у 5.65, а не 5.64
- До засобів запису з екрана додано OBS (виправлено ваду 412320)
- Виправлено декілька некоректних посилань, оновлено посилання на https://kde.org/applications/
- Виправлено переклади $GenericName
- Реалізовано показ індикатора зайнятості «Завантажуємо ще…» при завантаженні даних перегляду
- Реалізовано показ точніших відомостей у NewStuff::Page, доки завантажується рушій (виправлено ваду 413439)
- Додано компонент-накладку для показу обробки пунктів (виправлено ваду 413441)
- Реалізовано показ DownloadItemsSheet, лише якщо є декілька пунктів отримання даних (виправлено ваду 413437)
- Реалізовано показ вказівника-руки для делегатів, призначених для одинарного клацання (виправлено ваду 413435)
- Виправлено компонування заголовків для компонентів EntryDetails і Page (виправлено ваду 413440)
KNotification
- Документовано пріоритетність використання setIconName над setPixmap
- Реалізовано шлях до файла налаштувань документа у Android
KParts
- Властивість BrowserRun::simpleSave позначено як застарілу належним чином
- BrowserOpenOrSaveQuestion: перелік AskEmbedOrSaveFlags пересунуто із BrowserRun
KPeople
- Уможливлено вмикання упорядковування з коду QML
kquickcharts
Новий модуль. У модулі Quick Charts реалізовано набір діаграм, якими можна скористатися у програмах QtQuick. Бібліотеки призначено для використання для простого показу даних, а також для неперервного показу великих об'ємів даних (на які часто посилаються як на засоби креслення). Діаграми використовують далекі поля для системних викликів для пришвидшеної обробки, яка надає можливість використовувати графічний процесор для показу двовимірних форм без втрати якості.
KTextEditor
- KateModeManager::updateFileType(): реалізовано перевірку режимів і перезавантаження меню смужки стану
- Реалізовано перевірку режимів доступу до файла налаштувань сеансу
- Використано LGPLv2+ після підтвердження збоку Святослава Кузьмича
- Відновлено попереднє форматування файлів
KTextWidgets
- Визнано застарілим kregexpeditorinterface
- [kfinddialog] Вилучено використання системи додатків kregexpeditor
KWayland
- [сервер] Усунено власну реалізацію dmabuf
- [сервер] Реалізовано подвійну буферизацію властивостей у xdg-shell
KWidgetsAddons
- [KSqueezedTextLabel] Додано піктограму для дії «Копіювати увесь текст»
- Уніфіковано обробку полів у KPageDialog із самим KPageDialog (виправлено ваду 413181)
KWindowSystem
- Скориговано лічбу після додавання _GTK_FRAME_EXTENTS
- Додано підтримку _GTK_FRAME_EXTENTS
KXMLGUI
- Викинуто невикористану непрацездатну підтримку KGesture
- Додано KAboutPluginDialog для використання у KPluginMetaData
- Реалізовано можливість запуску логіки відновлення сеансу при запуску програми вручну (виправлено ваду 413564)
- Додано пропущену властивість у KKeySequenceWidget
Піктограми Oxygen
- Піктограму microphone зроблено символічним посиланням на audio-input-microphone для усіх розмірів (виправлено ваду 398160)
Бібліотеки Plasma
- Керування backgroundhints пересунуто до аплету
- Реалізовано використання засобу вибору файлів у засобі перехоплення
- Реалізовано ширше використання ColorScope
- Реалізовано стеження за змінами у вікні
- Реалізовано підтримку вилучення тла користувачем і автоматичного визначення тіні
- Реалізовано підтримку засобів вибору файлів
- Реалізовано підтримку засобів вибору файлів QML
- Вилучено залишки qgraphicsview
- Усунено вилучення і повторне створення wallpaperinterface, якщо у цьому немає потреби
- Реалізовано перевірку у MobileTextActionsToolBar того, чи є controlRoot невизначеним, до його використання
- До PlasmaComponents.Dialog додано hideOnWindowDeactivate
Purpose
- Включено команду cmake, яку ми збираємося використати
QQC2StyleBridge
- [Панель вкладок] Реалізовано використання кольорів вікна, замість кольорів кнопки (виправлено ваду 413311)
- Увімкнені властивості пов'язано із увімкненою панеллю перегляду
- [Підказки] Реалізовано базове значення часу очікування для довжини тексту
- [Спадний список] Усунено притлумлення контекстної панелі
- [Спадний список] Усунено індикацію фокусування, якщо відкрито контекстну панель
- [Спадний список] Реалізовано сумісність із focusPolicy
Solid
- [udisks2] Виправлено алгоритм виявлення зміни носія для зовнішніх оптичних дисків (виправлено ваду 394348)
Sonnet
- Реалізовано вимикання модуля ispell для mingw
- Реалізовано модуль ISpellChecker для Windows >= 8
- Реалізовано базову підтримку кроскомпіляції для обробника триграм
- Реалізовано вбудовування trigrams.map до бібліотеки спільного використання
Синдикація
- Виправлено видобування адреси подачі із даних каналу на youtube (виправлено ваду 383381)
- Реалізовано видобування коду для виправлення обробки коду (виправлено ваду 383381)
- Реалізовано підтримку піктограм для atom (уможливлено використання специфічних піктограм у Akregator)
- Виконано перетворення тестів на справжні програми qtest
Підсвічування синтаксису
- Реалізовано оновлення з остаточного випуску CMake 3.16
- reStructuredText: виправлено підсвічування рядкових літералів перед символами
- rst: додано підтримку відокремлених гіперпосилань
- JavaScript: пересунуто ключові слова з TypeScript, інші удосконалення
- JavaScript/TypeScript React: перейменовано визначення синтаксичних конструкцій
- LaTeX: виправлено обробку обмежувача у форматі зворотної похилої риски у деяких ключових словах (виправлено ваду 413493)
ThreadWeaver
- Використано адресу із шифруванням даних
Відомості щодо безпеки
Випущений код підписано за допомогою 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.65.0 можна отримати безкоштовно. Настанови щодо збирання та встановлення доступні на інформаційній сторінці програми KDE Frameworks 5.65.0.
Бібліотеки також можна зібрати з початкових кодів за допомогою базової системи команд cmake .; make; make install. Цей спосіб є найпростішим, якщо вам потрібні лише окремі бібліотеки шару 1. Зацікавленим в удосконаленні бібліотек та стеженні за розробкою загального набору варто скористатися скриптом kdesrc-build. Для роботи Frameworks 5.65.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.