Субота, 8 вересня 2018
Сьогодні KDE оголошено про випуск KDE Frameworks 5.50.0.
KDE Frameworks складається з 70 додаткових бібліотек, які розширюють можливості Qt і реалізують багато широковживаних функціональних можливостей, є зрілими, належним чином рецензованими та добре перевіреними, а також надаються за дотримання розробниками достатньо дружніх щодо них умов. Вступні зауваження щодо цих бібліотек можна знайти у оголошенні щодо випуску KDE.
Цей випуск є частиною запланованої послідовності щомісячних випусків, яка надасть змогу розробникам використовувати поліпшення у бібліотеках швидко і без проблем.
Нове у поточній версії
Attica
- Додано підтримку додавання запропонованих міток у OCS 1.7
Baloo
- Виправлено друкарську помилку у виведення розміру покажчика (виправлено ваду 397843)
- Реалізовано вилучення адреси призначення, яка не збігається із джерелом, якщо нову адресу не можна індексувати
- [tags_kio] Спрощено запит щодо встановлення відповідності шляху до файла шляхом використання групи захоплення даних
- Скасовано внесок «Реалізовано пропускання нових неіндексованих файлів і негайне вилучення їх із покажчика»
- [tags_kio] Спрощено пошук шляху до файла у циклі
Піктограми Breeze
- Додано піктограму файлів проєктів LabPlot
- ScalableTest, додано масштабовану версію plasma-browser-integration (виправлено ваду 393999)
Додаткові модулі CMake
- Прив'язки: реалізовано перевірку того, чи може бути створено прив'язки для певної версії python
- Прив'язки: засіб створення зроблено сумісним із Python 3
- Вимкнено зміну QT_PLUGIN_PATH у ECM під час виконання перевірок
- Прив'язки: додано підтримку для прив'язаних до простору назв нумераторів (виправлено ваду 397154)
- Умовжливлено виявлення ECM файлів po під час налаштовування збирання
Інтеграція бібліотек
- [KStyle] Реалізовано використання dialog-question для піктограми питання
KArchive
- Реалізовано обробку кодувань, відмінних від ASCII, для назв файлів у архівах tar (виправлено ваду 266141)
- KCompressionDevice: усунено можливість виклику write після WriteError (виправлено ваду 397545)
- Додано пропущений макрос Q_OBJECT для підкласів QIODevice
- KCompressionDevice: реалізовано передавання повідомлень щодо помилок з QIODevice::close() (виправлено ваду 397545)
- Виправлено адресу головної сторінки bzip
KCMUtils
- Використано типовий віджет QScrollArea із підказкою щодо розмірів, яку не обмежено розмірами символів шрифту (виправлено ваду 389585)
KConfig
- Вилучено попередження щодо застарілої можливості kiosk, яке вже не є актуальним
- Встановлено загальносистемну типову комбінацію клавіш Ctrl+0 для дії «Справжній розмір»
KCoreAddons
- Усунено вилучення пробілу між двома адресами, якщо рядок починається з " (виправлено ваду kmail)
- KPluginLoader: використано «/» навіть у Windows, libraryPaths() повертає шляхи з «/»
- KPluginMetaData: перетворено порожній рядок на порожній список рядків
KDeclarative
- Скасовано внесок «Забезпечено надійний запис до кореневого контексту рушія»
- Долучено властивість до «delegate» (виправлено ваду 397367)
- [KCM GridDelegate] Використано ефект шарів лише для модуля OpenGL (виправлено ваду 397220)
KDocTools
- До general.entities додано скорочення «ASCII»
- Додано замінник «JSON» до general.entities
- Уможливлено докладніші повідомлення meinproc5 у автоматичній перевірці «install»
- У перевірці kdoctools_install використано абсолютні шляхи для пошуку встановлених файлів
KFileMetaData
- Додано альтернативну назву нумератора Property::Language для виправлення друкарської помилки Property::Langauge
KHolidays
- Реалізовано належний алгоритм обчислення рівнодення та сонцестояння (виправлено ваду 396750)
- src/CMakeLists.txt — реалізовано встановлення заголовків у режимі frameworks
KI18n
- Реалізовано оцінку, якщо виконується спроба використати KCatalog без QCoreApplication
- ki18n портовано з QtScript на QtQml
- Реалізовано перевірку каталогу збирання на наявність підкаталогу po/
KIconThemes
- Встановлено breeze як резервну тему піктограм
KIO
- [KSambaShareData] Реалізовано прийняття пробілів у назві вузла ACL
- [KFileItemListProperties] Використано mostLocalUrl для можливостей
- [KMountPoint] Реалізовано перевірку «smb-share» щодо того, чи є точка монтування для монтування SMB (виправлено ваду 344146)
- [KMountPoint] Визначення засобів монтування gvfsd (виправлено ваду 344146)
- [KMountPoint] Вилучено залишок supermount
- [KMountPoint] Вилучено підтримку AIX і Windows CE
- Реалізовано показ тип змонтованої файлової системи і змонтованого з полів у вікні властивостей (виправлено ваду 220976)
- Усунено випадкові аварійні завершення роботи kdirlistertest
- [KUrlComboBox] Виправлено помилку портування KIcon
- Портовано KPATH_SEPARATOR на QDir::listSeparator, доданий у Qt 5.6
- Усунено виток пам'яті у KUrlComboBox::setUrl
- [KFileItem] Усунено читання коментарів до каталогу для повільних точок монтування
- Реалізовано використання QDir::canonicalPath
- Реалізовано ігнорування прапорця приховування NTFS для кореневого тому (виправлено ваду 392913)
- До діалогового вікна «Некоректна назва каталогу» додано кнопку скасовування
- KPropertiesDialog: здійснено перехід на мітки у setFileNameReadOnly(true)
- Поліпшено текст повідомлення, якщо система не може створити теку із некоректною назвою
- Використано належну піктограму для кнопки скасовування, коли програма питає про нову назву
- Уможливлено вибір назв файлів, придатних лише для читання
- Використано великі літери для деяких написів на кнопках
- Реалізовано використання KLineEdit для назви теки, якщо у користувача є доступ на запис до теки. Інакше, буде використано QLabel.
- KCookieJar: виправлено помилкове перетворення часових поясів
Kirigami
- Реалізовано підтримку fillWidth для пунктів
- Реалізовано захист від зовнішнього вилучення сторінок
- Реалізовано неодмінний показ заголовка, якщо працюємо у режимі із можливістю згортання
- Виправлено поведінку showContentWhenCollapsed
- Виправлено «дірки» у меню у стилі Material
- Реалізовано стандартне меню дій для контекстного меню сторінки
- Реалізовано явний запит до QtQuick з Qt 5.7 щодо використання Connections.enabled
- Реалізовано використання кольору вікна замість кольору елемента у тлі
- Реалізовано закриття засобу малювання, коли створюється новий
- Експортовано separatorvisible до globaltoolbar
- Виправлено статичне створення додатків у Kirigami QRC
- Виправлено збирання у статичному режимі LTO
- Реалізовано коректну синхронізацію властивості drawerOpen (виправлено ваду 394867)
- drawer: реалізовано показ віджета вмісту під час перетягування
- Уможливлено використання даних qrc у піктограмах Actions
- Реалізовано ld на застарілих gcc (виправлено ваду 395156)
KItemViews
- Визнано застарілим KFilterProxySearchLine
KNewStuff
- Реалізовано кешування providerId
KNotification
- Реалізовано підтримку libcanberra для звукових сповіщень
KService
- KBuildSycoca: реалізовано неодмінну обробку файлів desktop програм
KTextEditor
- Нумератор Kate::ScriptType перетворено до класу enum
- Виправлено обробку помилок для QFileDevice і KCompressedDevice
- InlineNotes: усунено виведення рядкових нотаток
- Вилучено QSaveFile на користь звичайного старого збереження файлів
- InlineNotes: реалізовано повсюдне використання загальних координат на екрані
- InlineNote: реалізовано ініціалізацію позицію з Cursor::invalid()
- InlineNote: реалізовано видання даних вбудованих нотаток без розміщення у пам'яті
- Додано інтерфейс для рядкових приміток
- Реалізовано попередній перегляд тексту, лише якщо активним є головне вікно (виправлено ваду 392396)
- Усунено аварійне завершення роботи при приховуванні віджета TextPreview (виправлено ваду 397266)
- Об'єднано гілки ssh://git.kde.org/ktexteditor
- Поліпшено показ рамки піктограми при високій роздільній здатності
- Поліпшено тему кольорів vim (виправлено ваду 361127)
- Пошук: додано обхідний маневр для пропущених піктограм у темі піктограм Gnome
- Виправлено зайве малювання для _ або літер, подібних до j, в останньому рядку (виправлено ваду 390665)
- Розширено програмний інтерфейс для роботи зі скриптами для уможливлення виконання команд
- Додано скрипт встановлення відступів для R
- Виправлено аварійне завершення роботи при заміні \n навколо порожніх рядків (виправлено ваду 381080)
- Вилучено діалогове вікно отримання даних підсвічування
- Усунено створення і вилучення хешу при кожному виконанні doHighlight, достатньо його очищення
- Забезпечено обробку некоректних індексів атрибутів, які можуть бути залишками після перемикання підсвічування синтаксису для документа
- Уможливлено інтелектуальне вилучення об'єктів обробниками вказівників, менше потреби у керуванні вручну
- Вилучено карту для пошуку додаткових властивостей підсвічування
- У KTextEditor використано бібліотеку KSyntaxHighlighting для всього
- Використано кодування символів, яке надається визначеннями документа
- Об'єднано гілку «master» із гілкою syntax-highlighting
- Нежирний текст більше не показується із тонкою гарнітурою тексту (виправлено ваду 393861)
- Використано foldingEnabled
- Вилучено EncodedCharaterInsertionPolicy
- Друк: реалізовано враховування розмірів шрифту нижнього колонтитула, виправлено вертикальне розташування нижнього колонтитула, візуально звужено лінію-роздільник для верхнього і нижнього колонтитулів
- Об'єднано гілку «master» із гілкою syntax-highlighting
- Уможливлено керування усіма визначеннями з боку бібліотеки підсвічування синтаксису, оскільки тепер у сховищі є визначення «None»
- Віджет автоматичного доповнення: виправлено мінімальний розмір заголовків розділів
- Виправлення: реалізовано гортання за рядками перегляду, а не справжніми рядками для гортання, якщо використовується гортання за допомогою коліщатка миші або сенсорно панелі (виправлено ваду 256561)
- Вилучено перевірку синтаксичних конструкцій. Тепер перевірка виконується на боці самої бібліотеки syntax-highlighting.
- Налаштування KTextEditor тепер є індивідуальними для кожної з програм. Старі загальні налаштування буде імпортовано при першому ж використанні.
- Реалізовано використання KSyntaxHighlighting::CommentPosition замість KateHighlighting::CSLPos
- Використано isWordWrapDelimiter() з KSyntaxHighlighting
- isDelimiter() перейменовано на isWordDelimiter()
- Реалізовано більше можливостей пошук за допомогою прив'язки формат -> визначення
- Забезпечено неодмінне отримання коректних форматів
- Реалізовано кращий спосіб отримання назви атрибута
- Виправлено перевірку відступів у python, реалізовано безпечніший засіб доступу до наборів властивостей
- Знову додано правильні префікси визначень
- Гілку «syntax-highlighting» git://anongit.kde.org/ktexteditor об'єднано із syntax-highlighting
- Виконано спробу повернути потрібні списки для налаштовування для окремих схем
- Використано KSyntaxHighlighting::Definition::isDelimiter()
- Розбиття на рядки тепер є подібнішим на розбиття у коді
- Усунено непотрібні пов'язані списки
- Очищено код ініціалізації властивостей
- Виправлено порядок форматів, бібліотека запам'ятовує визначення у наборі підсвічування
- Реалізовано обробку некоректних форматів та форматів із нульовою довжиною
- Вилучено застарілі частини реалізації, виправлено деякі засоби доступу так, щоб вони використовували дані форматування
- Виправлено згортання на основі відступів.
- Вилучено розкриття стосу контекстів у doHighlight і виправлено ctxChanged
- Розпочато зберігання даних щодо згортання
- Вилучено зайві допоміжні засоби підсвічування
- Вилучено залежність від contextNum, додано позначку FIXME-SYNTAX до коду, який слід належним чином виправити
- Адаптовано до змін у includedDefinitions, вилучено contextForLocation, потрібні або ключові слова для місця або перевірка правопису для місця, це можна реалізувати пізніше
- Вилучено невикористовувані фрагменти коду підсвічування синтаксису
- Виправлено m_additionalData та прив'язки, має працювати для атрибутів, не для контексту
- Створено початкові атрибути, усе ще без справжніх значень атрибутів, просто список чогось
- Реалізовано виклик засобу підсвічування
- Реалізовано успадковування від абстрактного засобу підсвічування, встановлено визначення
Бібліотека KWallet
- Приклад пересунуто з techbase до власного сховища
KWayland
- Синхронізовано методи set/send/update
- Додано серійний номер та ідентифікатор EISA до інтерфейсу OutputDevice
- Реалізовано криві виправлення кольорів для пристрою виведення даних
- Виправлено керування пам'яттю у WaylandOutputManagement
- Ізольовано усі тести у WaylandOutputManagement
- Реалізовано масштабування у OutputManagement із дробовими значеннями
KWidgetsAddons
- Створено перший приклад використання KMessageBox
- Виправлено дві вади у KMessageWidget
- [KMessageBox] Реалізовано виклик стилю для піктограми
- Додано обхідний маневр для міток із розбиттям на рядки (виправлено ваду 396450)
KXMLGUI
- Забезпечено добрий вигляд Konqi на екранах із високою роздільністю
- Додано пропущені дужки
NetworkManagerQt
- Оновлено залежності до NetworkManager 1.4.0 та новіших версій
- Керування: додано підтримку читання і запису властивості GlobalDnsConfiguration
- Насправді дозволено встановлювати частоту оновлення статистичних даних щодо пристрою
Бібліотеки Plasma
- Усунено ваду із природним відтворенням і непрозорістю у полі TextField (виправлено ваду 396813)
- [Елемент піктограми] Реалізовано стеження за зміною піктограми KIconLoader при використанні QIcon (виправлено ваду 397109)
- [Елемент піктограми] Використано ItemEnabledHasChanged
- Усунено використання застарілого QWeakPointer
- Виправлено таблицю стилів для 22-22-system-suspend (виправлено ваду 397441)
- Поліпшено текстове повідомлення при вилученні і налаштовуванні віджета
Solid
- solid/udisks2: додано підтримку для категоризованого ведення журналу
- [Пристрої Windows] Реалізовано показ мітки пристрою, лише якщо таку встановлено
- Реалізовано примусове повторне обчислення предикатів, якщо інтерфейси було вилучено (виправлено ваду 394348)
Sonnet
- hunspell: уможливлено збирання з hunspell <=v1.5.0
- Реалізовано включення файлів заголовків hunspell як загальносистемні включення
Синдикація
Новий модуль
Підсвічування синтаксису
- Реалізовано підсвічування 20000 на одну перевірку
- Поліпшено відтворюваність перевірки швидкодії підсвічування
- Поліпшено пошук KeywordList і усунено отримання області пам'яті для групи неявного захоплення даних
- Вилучено захоплення Int, їх ніколи не було реалізовано
- Реалізовано детерміністичну ітерацію перевірками для поліпшення умов порівняння результатів
- Реалізовано обробку вкладених атрибутів включення
- Оновлено підсвічування для Modula-2 (виправлено ваду 397801)
- Реалізовано попереднє визначення формату атрибутів для контексту і правил
- Усунено перевірку на роздільник між словами на початку ключового слова (виправлено ваду 397719)
- Додано підсвічування синтаксичних конструкцій для мови правил SELinux ядра
- Приховано bestCandidate, яка може бути статичною функцією у файлі
- Додано певні поліпшення у kate-syntax-highlighter, які спрямовано на використання у скриптах
- Додано := як коректну частину ідентифікатора
- Реалізовано використання власних вхідних даних для перевірки швидкодії
- Реалізовано спробу виправити ваду із завершенням рядків при порівняння результатів
- Реалізовано спробу виведення тривіальної різниці у Windows
- Знову додано defData для коректності перевірки станів
- Простір StateData зменшено на понад 50% і зменшено кількість потрібних дій malloc удвічі
- Поліпшено швидкодію Rule::isWordDelimiter і KeywordListRule::doMatch
- Поліпшено обробку пропускання відступу, уможливлено пропускання усього рядка, якщо не виявлено відповідника
- Реалізовано перевірку списку символів замінників суфіксів назв
- Поліпшено підсвічування синтаксису asterisk
- Виправлено підсвічування рядків #ifdef _xxx (виправлено ваду 397766)
- Виправлено шаблони заміни у файлах
- Змінено умови ліцензування на MIT для KSyntaxHighlighting
- JavaScript: додано двійкові дані, виправлено вісімкові дані, поліпшено екранування та уможливлено використання ідентифікаторів поза ASCII (виправлено ваду 393633)
- Уможливлено вимикання фільтрів QStandardPaths
- Уможливлено встановлення файлів синтаксису замість використання їх у ресурсі
- Реалізовано обробку атрибутів перемикання контексту самих контекстів
- Реалізовано перехід від статичної бібліотеки до бібліотеки об'єктів із належним параметром pic
- Усунено отримання пам'яті у «купі» для типово побудованих Format()
- Враховано змінну cmake, пов'язану із статичними і динамічними бібліотеками, наприклад karchive
- Зміна умов ліцензування на MIT, https://phabricator.kde.org/T9455
- Вилучено застарілий скрипт add_license — у ньому більше немає потреби
- Виправлено includedDefinitions, реалізовано обробку зміни визначення при перемиканні контексту (виправлено ваду 397659)
- SQL: різноманітні поліпшення та виправлення виявлення if/case/loop/end у SQL (Oracle)
- Виправлено еталонні файли
- SCSS: оновлено синтаксис. CSS: виправлено підсвічування теґів Operator та Selector
- debchangelog: додано Bookworm
- Змінено умови ліцензування Dockerfile на MIT
- Вилучено непідтримувану частину налаштувань перевірки правопису, у якій було реалізовано лише один режим, який зараз жорстко зашито у коді
- Додано підсвічування синтаксичних конструкцій для Stan
- Знову додано засіб встановлення відступів
- Оптимізовано багато файлів підсвічування синтаксису і виправлено обробку символу «/» у SQL
- Modelines: додано позначку порядку байтів та реалізовано незначні виправлення
- Змінено умови ліцензування modelines.xml на MIT (виправлено ваду 198540)
- Додано QVector<QPair<QChar, QString>> Definition::characterEncodings() const
- Додано булеве значення Definition::foldingEnabled() const
- До сховища додано типове підсвічування «None»
- Оновлено підтримку синтаксису мови Logtalk
- Додано формати файлів Autodesk EAGLE sch та brd до категорії XML
- Підсвічування C#: реалізовано переважне використання засобу встановлення відступів у стилі C
- AppArmor: оновлено синтаксичні конструкції та реалізовано різноманітні поліпшення та виправлення
- Java: додано обробку двійкових даних, шістнадцяткових даних із рухомою крапкою, додано підтримку використання символів підкреслювання у числах (виправлено ваду 386391)
- Чищення: відступи перенесено із загального розділу до розділу мов
- Визначення: відкрито доступ до позначок команд
- Додано підсвічування для JavaScript React
- YAML: виправлено ключі, додано числа та інші поліпшення (виправлено ваду 389636)
- Додано булевий Definition::isWordWrapDelimiter(QChar)
- Визначення: isDelimiter() перейменовано на isWordDelimiter()
- Записано ідеї щодо поліпшення програмного інтерфейсу KF6, які виникли під час портування KTE
- Забезпечено чинне форматування і для порожніх рядків
- Реалізовано роботу Definition::isDelimiter() для некоректних визначень
- Визначення: відкрито доступ до булевого сталого значення isDelimiter()
- Реалізовано упорядковування повернутих Definition::formats() форматів за ідентифікатором
Відомості щодо безпеки
Випущений код підписано за допомогою 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.50.0 можна отримати безкоштовно. Настанови щодо збирання та встановлення доступні на інформаційній сторінці програми KDE Frameworks 5.50.0.
Бібліотеки також можна зібрати з початкових кодів за допомогою базової системи команд cmake .; make; make install. Цей спосіб є найпростішим, якщо вам потрібні лише окремі бібліотеки шару 1. Зацікавленим в удосконаленні бібліотек та стеженні за розробкою загального набору варто скористатися скриптом kdesrc-build. Для роботи Frameworks 5.50.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.