Субота, 9 березня 2019
Сьогодні KDE оголошено про випуск KDE Frameworks 5.56.0.
KDE Frameworks складається з 70 додаткових бібліотек, які розширюють можливості Qt і реалізують багато широковживаних функціональних можливостей, є зрілими, належним чином рецензованими та добре перевіреними, а також надаються за дотримання розробниками достатньо дружніх щодо них умов. Вступні зауваження щодо цих бібліотек можна знайти у оголошенні щодо випуску KDE.
Цей випуск є частиною запланованої послідовності щомісячних випусків, яка надасть змогу розробникам використовувати поліпшення у бібліотеках швидко і без проблем.
Нове у поточній версії
Baloo
- Замінено декілька Q_ASSERT на належні перевірки
- Реалізовано перевірку довжини рядка для уникнення аварійного завершення для адрес «tags:/»
- [tags_kio] Виправлено встановлення міток для локального файла перевіркою адрес tag: лише на подвійні похилі риски
- Реалізовано жорстке визначення залишку інтервалу оновлення
- Виправлено регресію встановлення відповідності явним чином включеним текам
- Очищено ідемпотентні записи у таблиці прив'язки типів MIME
- [baloo/KInotify] Реалізовано сповіщення, якщо теку було пересунуто з місця без спостереження (виправлено ваду 342224)
- Реалізовано належну обробку відповідних підрядків включених або виключених тек
- [balooctl] Реалізовано нормалізацію шляхів включення або виключення до використання їх для налаштувань
- Оптимізовано оператор копіювання із призначенням Baloo::File, виправлено Baloo::File::load(url)
- Реалізовано використання даних для визначення типу MIME (виправлено ваду 403902)
- [Засіб видобування] З індексування виключено зашифровані дані GPG (виправлено ваду 386791)
- [balooctl] Реалізовано справжнє переривання виконання помилково форматованої команди, замість простого повідомлення про це
- [balooctl] Додано пропущену довідку для «config set», нормалізовано рядок
- Замінено рекурсивне isDirHidden на ітеративне, уможливлено сталий аргумент
- Реалізовано перевірку того, чи додаються до засобу спостереження inotify лише каталоги
Піктограми Breeze
- Додано піктограму code-oss
- [breeze-icons] Додано піктограми відеокамери
- [breeze-icons] Використано нові піктограми призупинення, присипляння та перемикання користувачів у темі піктограм Breeze
- Додано версії у 16 пікселів та 22 пікселів для піктограми ігрової консолі у devices/
- Тексти підказок тем Breeze зроблено сумісними
- Додано піктограми акумулятора
- Піктограми «visibility» та «hint» перейменовано на «view-visible» та «view-hidden»
- [breeze-icons] Додано монохромну/меншу піктограму SD-картки та картки пам'яті (виправлено ваду 404231)
- Додано піктограми пристроїв для дронів
- Змінено піктограми типів MIME файлів заголовків та коду C/C++ на піктограми у стилі кіл та ліній
- Додано пропущені тіні для піктограм типу MIME файлів заголовків C/C++ (виправлено ваду 401793)
- Вилучено монохромну піктограму налаштувань шрифтів
- Поліпшено піктограму вибору шрифтів
- Реалізовано використання нової піктограми bell-style для усіх використань preferences-desktop-notification (виправлено ваду 404094)
- [breeze-icons] Додано версії розміром 16 пікселів gnumeric-font.svg і пов'язано посиланням gnumeric-font.svg з font.svg
- Додано символічні посилання preferences-system-users, які вказують на піктограму yast-users
- Додано піктограму edit-none
Додаткові модулі CMake
- Виправлено перевірку releaseme, якщо її включено до підкаталогу
- Створено новий модуль пошуку для Canberra
- Оновлено файли набору інструментів Android відповідно до реальності
- Оновлено перевірку під час збирання щодо FindEGL
KActivities
- Реалізовано використання природного упорядковування в ActivityModel (виправлено ваду 404149)
KArchive
- Захищено KCompressionDevice::open від виклику без доступного модуля обробки (виправлено ваду 404240)
KAuth
- Реалізовано повідомлення щодо того, що слід використовувати KF5::AuthCore
- Реалізовано збирання нашого власного допоміжного засобу з використанням AuthCore, а не Auth
- Впроваджено KF5AuthCore
KBookmarks
- Замінено залежність KIconThemes еквівалентним використанням QIcon
KCMUtils
- Реалізовано використання для заголовка KCM назви KCM
- Додано пропущену команду ifndef KCONFIGWIDGETS_NO_KAUTH
- Код адаптовано до змін у kconfigwidgets
- У модулі QML синхронізовано фаску з метою належного показу сторінок «Системних параметрів»
KCodecs
- Реалізовано виправлення CVE-2013-0779
- QuotedPrintableDecoder::decode: реалізовано повернення false при помилці, замість оцінки
- Позначено KCodecs::uuencode, як такий, що нічого не робить
- Усунено аварійне завершення роботи nsEUCKRProber/nsGB18030Prober::HandleData, якщо aLen дорівнює 0
- nsBig5Prober::HandleData: усунено аварійне завершення роботи, якщо aLen дорівнює 0
- KCodecs::Codec::encode: усунено обробку оцінки/аварійне завершення, якщо makeEncoder повертає null
- nsSJISProber::HandleData: усунено аварійне завершення роботи, якщо aLen дорівнює 0
KConfig
- Реалізовано записування коректних символів UTF8 без екранування (виправлено ваду 403557)
- KConfig: реалізовано належну обробку символічних посилань на каталоги
KConfigWidgets
- Реалізовано пропускання тесту швидкодії, якщо не знайдено файлів бази даних
- Додано нотатку для KF6 щодо використання версії KF5::Auth з core
- Реалізовано кешування типових налаштувань KColorScheme
KCoreAddons
- Реалізовано створення посилань tel: для номерів телефонів
KDeclarative
- Реалізовано використання KPackage::fileUrl для підтримки пакунків KCM rcc
- [GridDelegate] Виправлено перекриття надто довгих міток (виправлено ваду 404389)
- [GridViewKCM] Поліпшено контрастність та точність при наведенні на кнопки для вбудованих делегованих віджетів (виправлено ваду 395510)
- Виправлено прапорець прийняття об'єкта події у DragMove (виправлено ваду 396011)
- Використано іншу піктограму пункту «Немає» у KCM із таблицями для перегляду
KDESU
- kdesud: враховано, що KAboutData::setupCommandLine() вже встановлює файл довідки і версію
KDocTools
- Підтримку кроскомпіляції додано до KF5_HOST_TOOLING
- Реалізовано звітування щодо DocBookXML як знайденої, лише якщо бібліотеку справді знайдено
- Оновлено записи entities іспанською
KFileMetaData
- [Засіб видобування] Додано метадані для засобів видобування (виправлено ваду 404171)
- Додано засіб видобування даних для файлів AppImage
- Усунено зайвий код із засобу видобування даних ffmpeg
- [ExternalExtractor] Реалізовано кориснішу підказку, якщо засобу видобування не вдалося отримати дані
- Реалізовано форматування даних EXIF щодо спалаху під час фотографування (виправлено ваду 343273)
- Усунено побіжні ефекти через застаріле значення errno
- Реалізовано використання Kformat для бітової швидкості і частоти дискретизації
- Додано одиниці для частоти кадрів та даних GPS
- Додано функцію форматування рядка для даних щодо властивості
- Усунено можливий витік пам'яті QObject у ExternalExtractor
- Реалізовано обробку <a> як елемента контейнера у SVG
- Реалізовано перевірку Exiv2::ValueType::typeId до перетворення його на раціональне число
KImageFormats
- ras: виправлено аварійне завершення роботи під час обробки пошкоджених файлів
- ras: реалізовано захист QVector палітри
- ras: скориговано перевірку на максимальний файл
- xcf: виправлено використання неініціалізованої пам'яті під час обробки пошкоджених документів
- Додано const, що допоможе краще розуміти функцію
- ras: скориговано максимальний розмір, який «вкладається» у QVector
- ras: усунено оцінку, оскільки ми намагаємося розмістити у пам'яті великий вектор
- ras: реалізовано захист від ділення на нуль
- xcf: усунено можливість ділення на 0
- tga: реалізовано належне завершення роботи у відповідь на помилки readRawData
- ras: реалізовано належне завершення роботи, якщо висоташиринаглибина кольорів > довжини
KIO
- kioexec: враховано, що KAboutData::setupCommandLine() вже встановлює назву файла довідки і версію
- Виправлено аварійне завершення роботи у Dolphin при скиданні файла, який вже вилучено, до смітника (виправлено ваду 378051)
- Реалізовано пропускання частини дуже довгих назв файлів у повідомленнях щодо помилок (виправлено ваду 404232)
- Додано підтримку порталів у KRun
- [KPropertiesDialog] Виправлено груповий спадний список (виправлено ваду 403074)
- Реалізовано належне визначення розташування виконуваного файла kioslave у $libexec і $libexec/kf5
- Використано AuthCore замість Auth
- Додано назву піктограми до запису надавачів служби у файлі .desktop
- Реалізовано читання піктограми надавача послуг пошуку IKWS з файла desktop
- [PreviewJob] Реалізовано передавання даних щодо засобу створення мініатюр при отриманні статистичних даних щодо файла (виправлено ваду 234754)
Kirigami
- Вилучено помилкову обробку contentY у refreshabeScrollView
- Додано OverlayDrawer до даних, які документуються doxygen
- Реалізовано прив'язку currentItem до панелі перегляду
- Реалізовано належний колір для піктограми стрілки вниз
- SwipeListItem: додано простір для дій, якщо !supportsMouseEvents (виправлено ваду 404755)
- Використано ColumnView і частково переписано на C++ PageRow
- Враховано те, що ми можемо користуватися лише засобами керування 2.3 у Qt 5.10
- Виправлено висоту горизонтальних висувних панелей
- Поліпшено ToolTip у компоненті ActionTextField
- Додано компонент ActionTextField
- Виправлено інтервал мі кнопками (виправлено ваду 404716)
- Виправлено розмір кнопок (виправлено ваду 404715)
- GlobalDrawerActionItem: реалізовано належну еталонну піктограму шляхом використання властивості групи
- Реалізовано показу роздільника, якщо панель інструментів у заголовку є невидимою
- Додано типове тло сторінки
- DelegateRecycler: виправлено помилкове використання іншого домену для перекладів
- Усунено попередження щодо використання QQuickAction
- Вилучено декілька непотрібних конструкцій із QString
- Вимкнено показ підказки, якщо показано спадне меню (виправлено ваду 404371)
- Реалізовано приховування тіней, якщо панель закрито
- Додано потрібні властивості для альтернативного кольору
- Скасовано більшість змін у евристиці розфарбовування піктограм
- Реалізовано належне керування згрупованих властивостей
- [PassiveNotification] Усунено можливість запуску таймера, доки вікно перебуває у фокусі (виправлено ваду 403809)
- [SwipeListItem] Реалізовано використання реальної кнопки інструментів для зручнішого користування (виправлено ваду 403641)
- Реалізовано підтримку додаткових альтернативних зображень тла (виправлено ваду 395607)
- Реалізовано показу елементів керування, лише якщо є видимі пункти дій
- Реалізовано підтримку розфарбованих піктограм для кнопок дій
- Реалізовано безумовний показ кнопок повернення на шарах
- Оновлено документацію SwipeListItem до версії QQC2
- Виправлено логіку у updateVisiblePAges
- Реалізовано показ видимих сторінок у рядку сторінок
- Реалізовано приховування послідовної навігації, якщо на поточній сторінці є панель інструментів
- Реалізовано підтримку перевизначення сторінки toolbarstyle
- Нова властивість у titleDelegate для перевизначення заголовків на панелі інструментів
KItemModels
- KRearrangeColumnsProxyModel: методи прив'язки до стовпчиків зроблено відкритими
KNewStuff
- Реалізовано фільтрування некоректного вмісту у списках
- Усунено витік пам'яті, виявлений asan
KNotification
- Портовано на findcanberra з ECM
- До списку підтримуваних платформ офіційно додано Android
Набір бібліотек KPackage
- Усунено причину попередження щодо застарілості kpackage_install_package
KParts
- Шаблони: враховано, що KAboutData::setupCommandLine() вже встановлює файл довідки і версію
Kross
- Реалізовано встановлення модулів Kross до ${KDE_INSTALL_QTPLUGINDIR}
KService
- kbuildsycoca5: усунено повторення роботи KAboutData::setupCommandLine()
KTextEditor
- Реалізовано спробу поліпшити висоту малювання для текстових рядків — з вади 403868, втім, не усунено проблеми із вирізанням _ та інших частин: подвійна висота для речей, подібних до суміші англійської та арабської, див. повідомлення щодо вади 404713
- Реалізовано використання QTextFormat::TextUnderlineStyle замість QTextFormat::FontUnderline (виправлено ваду 399278)
- Уможливлено показ усіх пробілів у документі (виправлено ваду 342811)
- Усунено виведення на друк рядків відступів
- KateSearchBar: реалізовано також підказку щодо зациклення пошуку у nextMatchForSelection() або Ctrl-H
- katetextbuffer: переписано TextBuffer::save() для кращого поділу шляху коду
- Використано AuthCore замість Auth
- Переписано KateViewInternal::mouseDoubleClickEvent(QMouseEvent *e)
- Удосконалено автоматичне доповнення
- Реалізовано встановлення схеми кольорів для друку для попереднього перегляду друку (виправлено ваду 391678)
KWayland
- Реалізовано надсилання XdgOutput::done, лише якщо внесено зміни (виправлено ваду 400987)
- FakeInput: додано підтримку пересування вказівника за абсолютними координатами
- Додано пропущене XdgShellPopup::ackConfigure
- [сервер] Додано механізм проміжного пропускання для поверхневих даних
- [сервер] Додано сигнал selectionChanged
KWidgetsAddons
- Реалізовано використання належної піктограми «Ні» для KStandardGuiItem
Бібліотеки Plasma
- [Запис із піктограмою] Реалізовано залежність блокування наступної анімації від видимості вікна
- Реалізовано показ попередження, якщо додатку для роботи потрібна новіша версія
- Збільшено номер версій тем, оскільки змінилися піктограми. Зміна призведе до потреби у повторному створенні нових кешів.
- [breeze-icons] Перероблено system.svgz
- Тексти підказок тем Breeze зроблено сумісними
- Стиль glowbar.svgz змінено на плавніший (виправлено ваду 391343)
- Реалізовано резервне використання контрастного тла у динамічному режимі (виправлено ваду 401142)
- [Тема стільниці і вікна breeze] Додано заокруглені кути вікон
Purpose
- pastebin: Усунено показ сповіщень щодо поступу (виправлено ваду 404253)
- sharetool: реалізовано показу оприлюднених адрес на початку
- Виправлено оприлюднення файлів із пробілами або лапками у назвах за допомогою Telegram
- Реалізовано надання ShareFileItemAction виведених даних або помилки, якщо дані не можна вивести (виправлено ваду 397567)
- Уможливлено оприлюднення адрес за допомогою електронної пошти
QQC2StyleBridge
- Реалізовано використання PointingHand при наведенні вказівника на посилання у мітці
- Уможливлено врахування властивості показу для кнопок
- Реалізовано реакцію на клацання на порожньому місці, яка рівнозначна натисканню pgup/pgdown (виправлено ваду 402578)
- Реалізовано підтримку піктограми на спадному списку
- Реалізовано підтримку програмного інтерфейсу позиціювання тексту
- Реалізовано підтримку піктограм з локальних файлів на кнопках
- Реалізовано використання належного вказівника при наведенні на редаговану частину лічильника
Solid
- FindUDev.cmake приведено до стандартів ECM
Sonnet
- Реалізовано обробку випадку, коли createSpeller передано недоступною мовою
Підсвічування синтаксису
- Виправлено попередження щодо вилучення сховища
- MustacheJS: реалізовано підсвічування і файлів шаблонів, виправлено синтаксис та поліпшено підтримку Handlebars
- Невикористані контексти перетворено на критичні для засобу індексування
- Оновлено числові значення у example.rmd.fold і test.markdown.fold
- Реалізовано встановлення заголовка DefinitionDownloader
- Оновлено octave.xml до версії Octave 4.2.0
- Поліпшено підсвічування для TypeScript (і React) та додано тести для PHP
- Додано підсвічування для вкладених мов у mardown
- Реалізовано повернення упорядкованих визначень для назв файлів та типів MIME
- Додано пропущене оновлення посилань
- BrightScript: додано унарні дії та шістнадцяткові числа, @attribute
- Усунено дублювання файлів *-php.xml у "data/CMakeLists.txt"
- Додано функції, які повертають усі визначення для типу MIME або назви файла
- Оновлено буквальний тип MIME haskell
- Реалізовано запобігання невиконанню умови при завантаженні формального виразу
- cmake.xml: оновлено до версії 3.14
- CubeScript: виправлено екранування символів продовження рядка
- Додано мінімальні настанови щодо додавання перевірок
- R Markdown: поліпшено згортання блоків
- HTML: реалізовано підсвічування коду JSX, TypeScript і MustacheJS у тезі <script> (виправлено ваду 369562)
- AsciiDoc: додано згортання для розділів
- Додано підсвічування синтаксичних конструкцій схеми FlatBuffers
- Додано деякі сталі і функції Maxima
Відомості щодо безпеки
Випущений код підписано за допомогою 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.56.0 можна отримати безкоштовно. Настанови щодо збирання та встановлення доступні на інформаційній сторінці програми KDE Frameworks 5.56.0.
Бібліотеки також можна зібрати з початкових кодів за допомогою базової системи команд cmake .; make; make install. Цей спосіб є найпростішим, якщо вам потрібні лише окремі бібліотеки шару 1. Зацікавленим в удосконаленні бібліотек та стеженні за розробкою загального набору варто скористатися скриптом kdesrc-build. Для роботи Frameworks 5.56.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.