2021년 8월 13일 금요일
오늘 KDE에서는 KDE 프레임워크 버전 5.85.0을(를) 출시했습니다.
KDE 프레임워크는 Qt에서 사용할 수 있는 추가 기능 라이브러리 83개로, 자주 사용하는 기능을 다양한 환경에서 테스트하고, 동료 평가되는 라이브러리 형태로 제공하며 적절한 라이선스 조건으로 배포됩니다. 소개를 보려면 KDE 프레임워크 릴리스 공지를 참조하십시오.
이 릴리스는 계획된 월간 릴리스의 일부이며, 개발자들이 변경 사항을 빠르고 예측 가능한 형태로 사용 및 평가할 수 있습니다.
이 버전의 새로운 변경 사항
Attica
- Implement a getter for Provider's icon data
Breeze Icons
- React to Telegram's new ID and show the Breeze icon
- React to Inkscape's new ID and show the Breeze icon (bug 440498)
- also add zoom-fit-page symlink for 32px
- align look of 22 px zoom-fit-{width,height} icons with others
- add zoom-fit-page symlink for 22px
- Symlink draw-cuboid to shape-cuboid
- Add temperature icons
Extra CMake Modules
- [ecmcheckoutboundlicense] Ensure that last source file is always processed
- Handle case where zero must be kept
- ecm_setup_version: deal with 0-prefixed version values in PROJECT mode
- modules/ECMGenerateHeaders.cmake - avoid uninitialized warning
- suppress tar errors
- FindGperf: support version check
- Define NOMINMAX on Windows
- KDECompilerSettings: properly use KDE_QT_MODERNCODE_DEFINITIONS_LEVEL
- Add Find7z & Findgzip
- Don't install logging categories files on Android
- Handle case where ECM_GLOBAL_FIND_VERSION is undefined
- Enable the usage of -Bsymbolic-functions
- KDECompilerSettings: add KDE_COMPILERSETTINGS_LEVEL & more settings
KDE Doxygen Tools
- do not download KDE accounts file automatically
- require Python 3 in CMake
- Preprocessing: use tree-walk speedup
- Preprocessing: document how to speed up tree-walk a little
- Utils: document what causes repopath-lookup failures
- Fancyname: look for CMake project() command preceded only by spaces
- Accept multi-line 'project(..)' in 'CMakeLists.txt'
- Add more dependencies to requirements.txt
KArchive
- Only pkg_check_modules() if PkgConfig is found
- Add support for static builds
- Use official gzip MIME/Media type application/gzip
- Report KArchive_HAVE_ZSTD in CMake Config file to consumers
- Deprecate remaining KFilterDev API in favour of KCompressionDevice
KCalendarCore
- Fixup include dir into pkgconfig file
- Hide fields, to enforce uniform use of setFieldDirty()
- Fix formating in apidoc for free busy
- Add ownerChanged signal
- Add metadata properties to calendar
- Add base class for calendar plugins
- More completion field consistency and dirtyness checks
- Mark mCompleted as dirty if it changes, and also reset status
KCMUtils
- Officially specify X-DocPath in the KCModule desktop file definition
- Deprecate KCModuleProxy::aboutData
- Add overload to pass in args in KCMultiDialog::addModule
- Deprecate X-KDE-FactoryName and KCModuleInfo::handle
- Deprecate KCMultiDialog::configCommitted(QByteArray) signal
- Deprecate KSettings and KCModuleInfo based methods
- help:/ urls are already handled by KUrlHandler from KGuiAddons
KCodecs
- Unbreak build with gperf < 3.1
KConfig
- KConfig: fix deletion of an entry that is also in kdeglobals
- Do not create a vector and a QByteArray just to discard it immediately
- Only query for existing config file when it's necessary
- Use specific API to compare QByteArrays
- Cache global config files
KConfigWidgets
- [KCModule] Deprecate ctor that takes KAboutData
- Make sure commandbar has unique actions
- add icons for all zoom standard actions
- KCommandBar update
- Show fuzzy matches in command bar
- enable auto-switching color scheme for Windows apps when Default color scheme is active
- Fix crash when calling KHamburgerMenu::setMenuBar(nullptr)
KCoreAddons
- New class KNetworkMounts: network mounts performance optimizations
- PluginMetaData::supportsMimeType(): check for exact matches first
- KPluginMetaData: warn if library metadata can't be loaded
- Introduce KFileUtils::findAllUniqueFiles method
- KTextToHTML: support also irc & ircs URLs
- Expose KAboutComponent::version as a property
- Deprecate JSON parameter in kcoreaddons_add_plugin
- Deprecate KPluginLoader::pluginVersion
KCrash
- Support static builds
- fix lifetime of MetadataINIWriter
KDBusAddons
- KDBusService: Pass the activation token upon activation
- Add compile time guards round QX11Info usage
- Fix DesktopStartup ID handling
KDeclarative
- Implement aspect ratio correction for Lanczos effect
- Introduce Lanczos filter element
KDELibs 4 Support
- Port metainfo KIO slave to JSON metadata
- Update translatable timezone list
KDocTools
- Add a max width to the content
KHolidays
- Update holiday_kz_kk
- Update holiday_kz_ru
- Update Mexican holidays
- Create mu_fr_catholic
- Update mu_en, mu_en_islamic
KIconThemes
- Introduce KIconLoader::hasCustomPalette
- [KIconDialog] Revamp UI (bug 401408)
KImageFormats
- exr: Repair compability with openexr2
- exr: Override the actual function signature
KInit
- Fixes crash in KLauncher::idleTimeout() caused by unblockable destruction of IdleSlave objects (bug 426387)
KIO
- Fix OOB read in LegacyCodec::decodeFileNameUTF8() if not zero-terminated
- KMountPoint: add missing resolving of symlinks when using libmount
- Message dialogs: wrap the text (bug 440545)
- Explicitly link against KF5::CoreAddons for KPluginFactory
- KProcessRunner: Use systemsettings desktop name if it's started
- Fix creating thumbnails for items under desktop:/ (bug 438691)
- Split KCMs into separate plugins
- Fixing allowing caching logic
- KPropertiesDialog: consider the "recursive" setting when applying permissions
- KPropertiesDialog: fix applying permissions recursively (bug 225658)
- kcoredirlister: refactor code to work better with std::set
- xdgactivation: Use the provided service instance
- [KFilePlacesItem] Don't show capacity bar for iso9660 mounts
- KMountPoint: fetch mount options from the mount-flags
- KProtocolInfo: don't call KProtocolInfo::archiveMimetypes() on an empty string
- Do not translate default names
- Fix selecting binaries from component chooser KCM
- KMountPoint: use libraries from util-linux in the Linux code path
- KUrlNavigator: do not hardcode supported archive formats
- Introduce KIO_NO_PUBLIC_QTCONCURRENT option
Kirigami
- [InlineMessage] Correct spacing between close button and action buttons (bug 440604)
- [ScrollView] Don't scroll with arrow keys if the view isn't scrollable (bug 439459)
- SearchField: Disable predictive text
- Introduce hasPlatformMenuBar
- Allow to add additional content to the about page
- Ensure that icon sizes are consistent for mobile before 5.23
- [OverlaySheet] Add title property
- Add "Get Involved" URL button to the About Page
- SwipeDelegate: Only set the parent as the flickable when the parent is a Flickable
- Add dialog-close to list of icons to bundle
- Show KAboutComponents in the AboutPage
- Add method to push page as a new window on the desktop
- Use iconSizes for floating action button
- Adjust sidebar item size to account for mobile
- Adjust floating action button sizes to account for mobile
- Remove x1.5 mobile icon sizing
- [apptemplate] Increase Qt and KF5 min versions
- Make MnemonicAttached active property writable
- Pagepool item and url accessors
- Show author/credits task (bug 438442)
- Show the app name in the about page title
- PageRow can take ownership of a drawer's contents
KNewStuff
- Rework UploadDialog, add QML version, and a new ProvidersModel
- Simplify lookup of knsrc files using KFileUtils::findAllUniqueFiles method
- Forward Attica provider icons to KNSCore::Provider
- Handle payload-only entries during update operations
KNotification
- Add placeholders for window title and application display name
KPackage Framework
- Deprecate kpackage_install_bundled_package cmake function
- Reduce severity of warnings about appstream generations
- Deprecate implicitly defining X-KDE-ParentApp by parent structure
- Introduce new KPackageStructure property to identify plugins & packages
- Include a warning when setting the path without a structure
KPeople
- Install private personmanager header
KRunner
- Deprecate RunnerManager::runnerMetaDataList(QString parentApp) method
- Deprecate TryExec property for runners
- Use KFileUtils::findAllUniqueFiles to locate DBus runners
KTextEditor
- Network mounts performance optimizations
- KateView: speed up large view jumps
- ensure close button on top for replace
- move close button to right for bottom widgets
KUnitConversion
- Make currency conversion table fetching explicit
KWallet Framework
- Don't use gpgme.h
KWayland
- Fix check for mmap failure (bug 421868)
KWidgetsAddons
- Update some widget pictures
- kmimetypeeditor: display an error message if keditfiletype couldn't be started (bug 437701)
- Wrapp unisged int getter for rating in KWIDGETSADDONS_BUILD_DEPRECATED_SINCE
- Deprecate KRatingWidget::ratingChanged(unsigned int) signal
KWindowSystem
- Support static builds
KXMLGUI
- commandbar: collect actions using the guiFactory (bug 439526)
- Fix KShortcutsDialog build
- KShortcutsDialog: add another, simpler, constructor
ModemManagerQt
- Add find_dependency for QtDBus
- Make dependency on QtXml private
NetworkManagerQt
- Feature: add assigned-mac-address
- Expose mDNS configuration used by NM plugins
Oxygen Icons
- new color version for notification icon
- improved icons from yesterday+ missing resolutions
- preferences-desktop-notification-bell icon
- kdf icon
Plasma Framework
- Don't pointlessly create new KPluginMetaData
- Fix Units::roundToIconSize() returning incorrect sizes with non-Qt scaling (bug 381794)
- Turn WindowThumbnail into a texture provider
- Handle huge icons in Units::roundToIconSize() (bug 356446)
- Deprecate plasma/version.h header & contained methods
- Add a bit more contrast to event indicator in calendar (bug 437203)
- Improve the code of the actions in the plasmoid heading
- Theme::currentThemeHasImage should not return true if parent themes match (bug 439847)
- Remove x1.5 mobile icon sizing
- PlasmoidHeader: re-add backgroundMetrics
- PlasmoidHeader: Make it based on T.ToolBar, deprecate location
Prison
- Support binary content in QR codes
- Constrain rendering by the minimum size, not the preferred size
Purpose
- [JobView] Show error when configuration fails to load
- Replace xdg-mime invokation with KApplicationTrader
- Make sure empty list placeholder has some space around it
QQC2StyleBridge
- Introduce MenuBar implementation
- Use flat instead of raised for flat buttons and toolbuttons (bug 438525)
- DialogButtonBox: remove unnecessary lines
- DialogButtonBox: Set standard icons for standard buttons
Solid
- Remove the HAL backend; HAL is long gone
- Udev client: replace a warning message with a debug one (bug 425178)
- Enable bsdisks_extensions from FreeBSD on OpenBSD
- Enable OpenBSD UDisk2 support
- Port framework away from LGPL-2.0-only
Sonnet
- Fix language not being correctly guessed when sentence ends in a dot
Syntax Highlighting
- toml.xml: forbid 0_digits in integers
- toml.xml: support single-quoted keys
- Python: Fix r"\" and derivatives (bug 440412)
- Python: Make unescaped single quote (' or ") strings non-multiline
- make update_kate_editor_org bsd compatible
- Python: Fix single quote bytes literals (b"") (bug 440089)
- cmake.xml: Drop version related
find_package()
vars - cmake.xml: Update variables for
find_package()
interface - cmake.xml: Add CMake 3.21 features
- XML: add Attribute Separator style (= in
) - XSLT: Enhance highlighter colors (like XML) + region for tag
- Ini: value as int, float or keyword only if it represents the full value
- Agda: update keyword list to Agda 2.6.2
- XML: fix <!DOCTYPE detection and reordered rules for faster reading (+20%)
- Python: }} in a f-string as an escape character and add !a flag
- systemd unit: update to systemd v249
- systemd unit: fix highlighting of unit name
- Mark katehighlightingindexer as a non-GUI executable
- Disable using QtXMLPatterns with sanitizer build
- Indexer: suggest LineContinue instead of RegExpr
- move coroutine keywords in controlflow and replace some keyword rule with WordDetect
Security information
The released code has been GPG-signed using the following key: pub rsa2048/58D0EE648A48B3BB 2016-09-05 David Faure faure@kde.org Primary key fingerprint: 53E6 B47B 45CE A3E0 D5B7 4577 58D0 EE64 8A48 B3BB
바이너리 패키지 설치
리눅스 환경에서는 KDE 프레임워크를 사용하고 있는 배포판의 패키지 관리자로 설치하는 것을 추천합니다. 리눅스 배포판별 KDE 소프트웨어 설치 위키 페이지.
소스 코드에서 컴파일
KDE 프레임워크 5.85.0 소스 코드는 자유롭게 다운로드할 수 있습니다. 컴파일 및 설치 방법은 KDE 프레임워크 5.85.0 정보 페이지에서 확인할 수 있습니다.
소스 코드에서 빌드하는 작업은 기본적인 cmake .; make; make install 명령으로 가능합니다. 단일 티어 1 프레임워크를 컴파일 때에는 가장 간단한 방법입니다. 프레임워크 개발에 기여하거나 전체 프레임워크 개발 작업을 추적하고 싶다면 kdesrc-build 사용을 추천합니다. 프레임워크 5.85.0에는 Qt 5.15 이상이 필요합니다.
API 문서를 포함한 전체 프레임워크 목록은 api.kde.org 사이트에서 볼 수 있습니다.
참여하기
프레임워크 개발에 관심이 있고 기여할 생각이 있다면 git 저장소를 확인하고 KDE 프레임워크 개발 메일링 리스트의 토론을 확인해 보십시오. 프로젝트 정책, 현재 상태 및 향후 계획은 프레임워크 위키에서 확인할 수 있습니다. 실시간 대화는 Libera Chat의 #kde-devel IRC 채널에서 진행됩니다.
KDE 지원
KDE는 개인의 시간과 노력을 기부하는 것으로 존재하고 성장하는 자유 소프트웨어 커뮤니티입니다. KDE는 코딩, 버그 수정 및 보고, 문서 작성, 번역, 프로모션, 금전적 기여 등 다양한 자원 봉사자와 기여자를 찾고 있습니다. 모든 기여를 환영합니다. 더 많은 정보를 보려면 KDE 지원하기 페이지를 확인하십시오. Join the Game을 통해서 KDE e.V.의 후원 회원이 될 수도 있습니다.