Неділя, 13 серпня 2017
Сьогодні KDE оголошено про випуск KDE Frameworks 5.37.0.
KDE Frameworks складається з 70 додаткових бібліотек, які розширюють можливості Qt і реалізують багато широковживаних функціональних можливостей, є зрілими, належним чином рецензованими та добре перевіреними, а також надаються за дотримання розробниками достатньо дружніх щодо них умов. Вступні зауваження щодо цих бібліотек можна знайти у оголошенні щодо випуску KDE.
Цей випуск є частиною запланованої послідовності щомісячних випусків, яка надасть змогу розробникам використовувати поліпшення у бібліотеках швидко і без проблем.
Нове у поточній версії
Нова бібліотека: kirigami — набір додатків QtQuick для побудови інтерфейсів на основі принципів побудови графічних інтерфейсів KDE
Піктограми Breeze
- Оновлено кольори для .h і .h++ (виправлено ваду 376680)
- Вилучено малу монохромну піктограму ktorrent (виправлено ваду 381370)
- Виправлення помилки, пов'язаної із тим, що створення закладки є піктограмою дії, а не піктограмою теки (виправлено ваду 381383)
- Оновлено піктограму utilities-system-monitor (виправлено ваду 381420)
Додаткові модулі CMake
- Додано параметр --gradle до androiddeployqt
- Виправлено встановлення для цілі apk
- Виправлено використання query_qmake: реалізовано відмінності у викликах з qmake і без
- Додано документацію щодо програмного інтерфейсу KDE_INSTALL_USE_QT_SYS_PATHS KDEInstallDirs
- Додано metainfo.yaml для створення із ECM бібліотеки належного формату
- Android: реалізовано пошук файлів qml у каталозі початкового коду, а не у каталозі встановлення
KActivities
- Реалізовано надсилання runningActivityListChanged під час створення простору дій
Інструменти Doxygen KDE
- Реалізовано екранування коду HTML у запиті щодо пошуку
KArchive
- Додано файли Conan; перший експеримент щодо підтримки Conan
KConfig
- Уможливлено збирання KConfig без Qt5Gui
- Стандартні скорочення: використання Ctrl+PageUp/PageDown для пересування між вкладками
KCoreAddons
- Вилучено невикористане оголошення init() з K_PLUGIN_FACTORY_DECLARATION_WITH_BASEFACTORY_SKEL
- Реалізовано новий програмний інтерфейс spdx для KAboutLicense з метою отримання виразів ліцензування SPDX
- kdirwatch: усунено потенційне аварійне завершення роботи, якщо d-вказівник знищується до KDirWatch (виправлено ваду 381583)
- Виправлено показ formatDuration з округленням (виправлено ваду 382069)
KDeclarative
- Виправлено скасування визначення QSG_RENDER_LOOP у plasmashell
Підтримка KDELibs 4
- Виправлено ваду «Застаріла вказівка для KUrl::path() є помилковою у Windows» (виправлено ваду 382242)
- Оновлено kdelibs4support для використання підтримки на основі цілей, яка надається kdewin
- Позначено застарілі конструктори
- Синхронізовано KDE4Defaults.cmake з kdelibs
KDesignerPlugin
- Додано підтримку нового віджета kpasswordlineedit
KHTML
- Реалізовано підтримку SVG (виправлено ваду 355872)
KI18n
- Уможливлено завантаження каталогів i18n з довільних місць
- Забезпечено створення мети tsfiles
KIdleTime
- Реалізовано використання Qt5X11Extras, лише якщо це справді потрібно
KInit
- Реалізовано використання належного прапорця можливості для включення kill(2)
KIO
- Додано новий метод urlSelectionRequested до KUrlNavigator
- KUrlNavigator: відкрито доступ до KUrlNavigatorButton, який отримує подію зі скидання
- Реалізовано стосування без запитів до користувача контекстних вікон копіювання і скасовування
- Забезпечено оновлення KDirLister записів, чиї адреси призначення було змінено (виправлено ваду 382341)
- Додаткові пункти діалогового вікна відкриття за допомогою сторонньої програми зроблено придатним до згортання та типово прихованими (виправлено ваду 359233)
KNewStuff
- Додано батьківський запис до меню KMoreToolsMenuFactory
- Реалізовано сповіщення про усі записи загалом під час обробки запитів щодо кешу
Набір бібліотек KPackage
- Уможливлено виведення kpackagetool даних appstream до файла
- Реалізовано підтримку нового KAboutLicense::spdx
KParts
- Реалізовано скидання адреси у closeUrl()
- Додано шаблон для простої програми на основі kpart
- Відкинуто використання KDE_DEFAULT_WINDOWFLAGS
KTextEditor
- Реалізовано обробку події точного прокручування коліщатка миші під час зміни масштабу
- Додано шаблон для додатка ktexteditor
- Реалізовано копіювання прав доступу з початкового файла до збереженої копії (виправлено ваду 377373)
- Можливо, усунено аварійне завершення у stringbuild (виправлено ваду 339627)
- Виправлено проблему, пов'язану із додаванням * до рядків поза коментарями (виправлено ваду 360456)
- Виправлено збереження копій, оскільки раніше заборонявся перезапис файла призначення (виправлено ваду 368145)
- Команда «set-highlight»: реалізовано об'єднання аргументів пробілом
- Виправлено аварійне завершення через невизначене вилучення об'єктів при знищенні панелі перегляду
- Реалізовано надсилання сигналів з бічної панелі піктограм, якщо жодної позначки не натиснуто
- Виправлено аварійне завершення у режимі введення vi (послідовність: "o" "Esc" "O" "Esc" ".") (виправлено ваду 377852)
- Використано взаємно виключну групу у типовому типі позначок
KUnitConversion
- Реалізовано позначення МПа та Псі як звичайних одиниць виміру
Бібліотека KWallet
- Використано CMAKE_INSTALL_BINDIR для створення служби D-Bus
KWayland
- Реалізовано знищення усіх об'єктів kwayland, створених реєстром, коли реєстр знищується
- Реалізовано надсилання сигналу connectionDied, якщо знищується QPA
- [клієнт] Реалізовано стеження за усіма створеними ConnectionThread і додано програмний інтерфейс для доступу до них
- [сервер] Реалізовано надсилання сигналу полишення поля введення тексту, якщо відв'язується фокусована поверхня
- [сервер] Реалізовано надсилання вказівника полишення, якщо фокусовану поверхню відв'язано
- [клієнт] Реалізовано належне стеження за enteredSurface у Keyboard
- [сервер] Реалізовано надсилання сигналу полишення клавіатури, якщо клієнт знищує фокусовану поверхню (виправлено ваду 382280)
- Реалізовано перевірку чинності Buffer (виправлено ваду 381953)
KWidgetsAddons
- Реалізовано видобування з віджета пароля lineedit => новий клас KPasswordLineEdit
- Виправлено аварійне завершення роботи під час виконання пошуку, якщо увімкнено підтримку доступності (виправлено ваду 374933)
- [KPageListViewDelegate] Реалізовано передавання віджета до drawPrimitive у drawFocus
KWindowSystem
- Вилучено прив'язку заголовка до QWidget
KXMLGUI
- Відкинуто використання KDE_DEFAULT_WINDOWFLAGS
NetworkManagerQt
- Додано підтримку ipv*.route-metric
- Виправлено невизначені переліки NM_SETTING_WIRELESS_POWERSAVE_FOO (виправлено ваду 382051)
Бібліотеки Plasma
- [Інтерфейс контейнерів] Реалізовано обов'язкове надсилання contextualActionsAboutToShow для контейнера
- Реалізовано обробку міток Button/ToolButton як звичайного тексту
- Реалізовано невикористання специфічних для wayland виправлень, якщо працюємо у X (виправлено ваду 381130)
- Додано KF5WindowSystem до інтерфейсу посилання
- Реалізовано оголошення AppManager.js як бібліотеки pragma
- [PlasmaComponents] Вилучено Config.js
- Реалізовано типовий звичайний текст для міток
- Реалізовано завантаження перекладів з файлів KPackage, якщо запаковано (виправлено ваду 374825)
- [Меню PlasmaComponents] Усунено аварійне завершення роботи у відповідь на порожню дію
- [Діалогове вікно Плазми] Виправлено умови прапорців
- Оновлено піктограму системного лотка для akregator (виправлено ваду 379861)
- [Інтерфейс контейнера] Реалізовано збереження контейнера у RequiresAttentionStatus, доки відкрито контекстне меню (виправлено ваду 351823)
- Виправлено обробку пунктів у компонуванні панелі вкладок у випадку писемностей справа ліворуч (виправлено ваду 379894)
Sonnet
- Уможливлено збирання Sonnet без Qt5Widgets
- cmake: переписано FindHUNSPELL.cmake для використання pkg-config
Підсвічування синтаксису
- Уможливлено збирання KSyntaxHighlighter без Qt5Gui
- Додано підтримку перехресної компіляції для засобу індексування підсвічування
- Теми: вилучено усі невикористовувані метадані (ліцензійні умови, дані щодо автора, дані лише для читання)
- Тема: вилучено поля умов ліцензування та автора
- Тема: реалізовано успадковування прапорця «лише читання» з файла на диску
- Додано правила підсвічування синтаксичних конструкцій для мови моделювання даних YANG
- PHP: додано ключові слова PHP 7 (виправлено ваду 356383)
- PHP: очищено дані щодо PHP 5
- Виправлено gnuplot, початкові/кінцеві пробіли тепер є критичними
- Виправлено виявлення «else if», додано потрібне перемикання контексту, додано додаткове правило
- Додано перевірки у засобі індексування для початкових/кінцевих пробілів у підсвічуванні синтаксичних конструкцій XML
- Doxygen: додано підсвічування конструкцій Doxyfile
- Додано пропущені стандартні типи до підсвічування C та оновлено до C11 (виправлено ваду 367798)
- Q_PI D => Q_PID
- PHP: поліпшено підсвічування змінних у фігурних дужках у подвійних лапках (виправлено ваду 382527)
- Додано правила підсвічування коду PowerShell
- Haskell: додано суфікс назв файлів .hs-boot (модуль bootstrap) (виправлено ваду 354629)
- Виправлено replaceCaptures() так, щоб функція працювала із понад 9 захопленнями
- Ruby: реалізовано використання WordDetect замість StringDetect для встановлення відповідності цілих слів
- Виправлено помилкове підсвічування для BEGIN і END у словах, подібних до «EXTENDED» (виправлено ваду 350709)
- PHP: зі списку застарілих функцій вилучено mime_content_type() (виправлено ваду 371973)
- XML: Додано розширення/тип MIME XBEL для підсвічування коду XML (виправлено ваду 374573)
- Bash: виправлено помилкове підсвічування для параметрів команди (виправлено ваду 375245)
- Perl: виправлено підсвічування heredoc із початковими пробілами у роздільнику (виправлено ваду 379298)
- Оновлено файл синтаксичних правил для SQL (Oracle) (виправлено ваду 368755)
- C++: виправлено те, що «-» не є частиною рядка UDL (виправлено ваду 380408)
- C++: специфікатори формату printf: додано «n» і «p», вилучити «P» (виправлено ваду 380409)
- C++: виправлено те, що символьне значення мало колір у рядках (виправлено ваду 380489)
- VHDL: виправлено помилку підсвічування, якщо використовуються дужки і атрибути (виправлено ваду 368897)
- Підсвічування zsh: виправлено підсвічування математичних формул у виразах підрядків (виправлено ваду 380229)
- Підсвічування JavaScript: додано підтримку розширення XML E4X (виправлено ваду 373713)
- Вилучено правил для суфіксів «*.conf»
- Додано синтаксичні конструкції Pug/Jade
ThreadWeaver
- Додано пропущене експортування до QueueSignals
Відомості щодо безпеки
Випущений код підписано за допомогою 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.37.0 можна отримати безкоштовно. Настанови щодо збирання та встановлення доступні на інформаційній сторінці програми KDE Frameworks 5.37.0.
Бібліотеки також можна зібрати з початкових кодів за допомогою базової системи команд cmake .; make; make install. Цей спосіб є найпростішим, якщо вам потрібні лише окремі бібліотеки шару 1. Зацікавленим в удосконаленні бібліотек та стеженні за розробкою загального набору варто скористатися скриптом kdesrc-build. Для роботи Frameworks 5.37.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.