2022년 6월 12일 일요일
오늘 KDE에서는 KDE 프레임워크 버전 5.95.0을(를) 출시했습니다.
KDE 프레임워크는 Qt에서 사용할 수 있는 추가 기능 라이브러리 83개로, 자주 사용하는 기능을 다양한 환경에서 테스트하고, 동료 평가되는 라이브러리 형태로 제공하며 적절한 라이선스 조건으로 배포됩니다. 소개를 보려면 KDE 프레임워크 릴리스 공지를 참조하십시오.
이 릴리스는 계획된 월간 릴리스의 일부이며, 개발자들이 변경 사항을 빠르고 예측 가능한 형태로 사용 및 평가할 수 있습니다.
이 버전의 새로운 변경 사항
Baloo
- tag:/ better handle uds name field (bug 449126)
Extra CMake Modules
- fix linking on OpenBSD
- ECMQtDeclareLoggingCategory: drop support for Qt < 5.4
- ECMAddQtDesignerPlugin: drop support for Qt < 5.9
- ECMAddQtDesignerPlugin: fix support for Qt6
- ECMAddQtDesignerPlugin: fix missing FeatureSummary include
- KDEGitCommitHooks: Fix quoting of variables
KArchive
- KArchive::addLocalDirectory: preserve empty directories
- Fix zstd KCompressionDevice not compressing as much as it could
- Always delete device if we created it (bug 432726)
KCalendarCore
- Make the Calendar::accessMode property actually accessible from QML
- Don't heap allocate ICalFormatImpl in ICalFormat::Private
- Don't remove the hasGeo property for Qt6, just make it read-only
- Change Calendar::sortX() methods to work in-place
- Initialize all fields in a default constructed Attendee object
- Add Duration <-> iCal string conversion methods to ICalFormat
- Deprecate largely unused rawEventsForDate overload
KCMUtils
- KPluginDelegate: reserve space for subtitle
- KPluginSelector: animate placeholder appearance
- KPluginSelector: Don't show placeholder message immediately upon load
- KPluginSelector: fix placeholder location
- AboutPlugin.qml: Do not use translation function when we only have one value
- [kcmultidialog] Fix crash in clear()
KConfig
- Change "Actual Size" shortcut's text to "Zoom to Actual Size"
KConfigWidgets
- Change "Actual Size" Action's text to "Zoom to Actual Size"
- KRecentFilesAction: remove the corresponding element in m_recentActions when calling removeAction(action)
- KRecentFilesAction: refactor some code related to removing an action
- KRecentFilesAction: do not reuse removed actions and adding an URL that is already in the menu
- Allow specifying a Qt::ConnectionType in KStandardAction::create
KContacts
- Re-enable vCard CATEGORIES export
KCoreAddons
- New: KMemoryInfo class
- KPluginFactory: Create un-deprecated overload to register CreateInstanceWithMetaDataFunction
- KSignalHandler: add error warnings when reading or writing signal
- KPluginFactory: Provide better context in error message if instance could not be created
- KJob: add method to check if job was started with exec()
- New util ksandbox
- KDirWatch: handle IN_Q_OVERFLOW events (bug 387663)
- KListOpenFilesJob: check lsof executable exist in PATH before starting it with QProcess
- KAboutData: improve the API docs for LicenseKey enum
KDeclarative
- qmlcontrols: bump
QtQuick
import version to 2.15 for GridViewInternal - QmlObject: Use std::shared_ptr to properly track the lifetime of QQmlEngine (bug 451790)
- Move type registrations to the plugin initialization
- calendareventsplugin: Add label property
- calendareventsplugin: Add support for alternate dates and sub-labels (bug 429882)
KDE WebKit
- This is going to be gone in KF6
KGlobalAccel
- Encapsulate duplicate code in a local function
- Properly create lists of items
- Use KWindowSystem to request activation tokens if necessary (bug 453748)
KDE GUI Addons
- WaylandClipboard: DataControlSource: delete m_mimeData in dtor (bug 454590)
- keysequence: Fix race between recording and currentKeySequence
- keysequence: Fix warning message about sequence size to be more precise
- keysequence: Replace magic number 4 with enum constant
KHolidays
- Work around qmlplugindump crashing on gadget singletons
KHTML
- Remove support for Java applets
KI18n
- Directly load catalogs from Android assets
- Port to ECMQmlModule
KImageFormats
- psd: Fix segfault on architectures where char is unsigned (like ARM)
KInit
- KInit is going to be deprecated in KF6
KIO
- KCoreUrlNavigator: add urlSelectionRequested signal (bug 453289)
- kio_file: fix data race on static user cache (bug 454619)
- file_unix: use thread id rather than pid for filehelper socket
- [KDirOperator] Add option to show hidden files last
- [KFileItemDelegate] Add a semi-transparent effect to the labels of hidden files
- PreviewJob: Resolve parent mime types before checking wildcards (bug 453480)
- [kemailclientlauncherjob] Allow setting BCC
- TrashSizeCache: fix parsing of directory cachesize file and improve code
- DirectorySizeJob: use targetUrl as url
- KFileItem: GetStatusBarInfo: Improve display for urls
- KDirModel: don't nuke query and fragment in URLs
- [KFilePlacesView] Show inline eject button only for removable drives (bug 453890)
- [KFilePlacesView] Don't show capacity bar for network shares
- kpasswdserver: fix mistake
- rfc search provider: Fix URL
- Skip generation of KCM symlinks on windows
- KCMs: Define plugin id to match the desktop file name
- Embed json metadata in KCMs, port to new systemsettings namespaces
- quickfix crash if element not found, we want to use the range erase here
- Add env var KIO_ENABLE_WORKER_THREADS in case of trouble
- Implement running KIO workers in-process using a thread
- [StatJob] Set total amount to 1 Item
- KSambashare: handle "Weak crypto is allowed" error message
- dropjob: don't create PasteJob when
m_hasArkFormat
is true - KFileWidget: initialize KFilePlaceModel before KUrlNavigator
- [previewjob] Deduplicate legacy plugins based on desktop file name instead of pluginId
Kirigami
- Add tools-report-bug to kirigami_package_breeze_icons (bug 454735)
- Wrap license text in AboutItem (bug 454738)
- OverlaySheet: Always restart the open animation if we abort due to size changes
- InlineMessage: Better multiline calculation
- Show tooltip for collapsed "Open Sidebar" button (bug 453771)
- [ColumnView] Don't leak SeparatorItems (bug 453201)
- controls/private: Allow customizing
heightMode
inToolBarPageHeader
- controls: Add
SelectableLabel
component to enable text selection in label - Handle NavigationTabButton without icon
KNewStuff
- Don't use menu as transientParent (bug 454895)
- Engine: Provide getter for the pageSize property
- Adjust KMoreTools headers installation
- Relayout header installation location
- EntryDetails: Make summary text selectable
- Fix QtQuickDialogWrapper dialog not being usable in konsole (bug 452593)
- Fix crash if entry gets deleted (bug 454010)
- Add missing translation domain (bug 453827)
- Reuse instances of QFileSystemWatcher for KNSCore::Cache
KRunner
- RunnerContext: Call addMatch(QList<QueryMatch) internally when addMatch(QueryMatch) is called
- RunnerContext::addMatch: Fix broken handling of relevance for often launched entries
- DBusRunner: Avoid double lookup of match properties
- DBusRunner: Add multiline value to property map of RemoteMatch
KService
- kbuildsycoca: Ignore last modified time when set to UNIX Epoch (bug 442011)
KTextEditor
- Don't add empty dictionary to context menu
- Fix whitespace slider & group text related options
- Ensure to keep special dictionary setting on replaced word
- Observe changes on textChanged for QSpinBox (bug 453978)
- Export multi cursors to JS
- Add multi cursor API
- Add suggestion on top of context menu
- Avoid calling slightly expensive contextMenu() twice
- Ensure next right click works properly if there was a selection
- Protect replaceWordBySuggestion against segfault
- Support to change dictionary on words and selections
- Oops! Fix permanent active misspelled range after word selection
- Add misspelled word to spell menu action
- Properly support to fix selected words by spell check
- Move spellcheck entry in context menu on top
- Don't track mouse move for spellcheking
- Add an action to remove cursors from empty lines
- Add methods to set/get cursors and selections
KUnitConversion
- Add "sq [thing]" as activation trigger for various common area measurements (bug 448868)
- Match singular form in user input for tea/tablespoon (bug 451278)
KWayland
- Add AppletPopup window type to PlasmaShellSurface (bug 332512)
- Raise minimum plasma-wayland-proto version to 1.7.0
- Fix include dir in the generated pri file
- client: Bump plasmashell version to 7 (bug 453578)
KWidgetsAddons
- Update kcharselect-data to Unicode 14.0
- KMessageDialog: handle the dialog getting closed without using the buttonBox
KWindowSystem
- Add a new window type named AppletPopup (bug 332512)
KXMLGUI
- KShortcutsDialog: hide Global columns when there are no Global shortcuts (bug 427129)
- Silence UBSan false positive in KActionCollection
Plasma Framework
- Dialog should use the Dock type unless requested otherwise (bug 454635)
- Do not send all windows below the dialog when window type is AppletPopup
- Use QT_FEATURE_foo to detect opengl* support, and TARGET for glesv2
- extras/Representation: Bump QML imports
- extras/Representation: Fix indentation
- Disable spacing around ActionTextFields action-row when it is empty
- Disable undo operation for PlasmaExtras PasswordField
- breeze/widgets: Make analog clock follow accent color
- KDeclarative::ConfigPropertyMap has been deprecated since 5.89
- extras/PasswordField: Fix imports and docs
- PC3 ScrollView: Move contentItem clipping hack into a Binding component
- PC3 ScrollView: Drop support for nullable ScrollBars
- PC3 ScrollView: Remove id from a scrollbar
- PC3 ScrollView: Fix ScrollBar.active property
- Dialog: Expose QQuickItem instead and cast to AppletQuickItem in C++
- Implement resize capability for Plasma dialog (bug 332512)
- Use size_t for qHash return values
- Protect against missing KService lib when building without deprecations
- Plasma:PluginLoader: Add missing fwd of KPluginInfo
- Plasma::Theme: Add accessor for metadata
- ExpandableListItem: Refactor JavaScript expression to use newer features
- [Calendar] Wheel year on year view and decade on decade view
- Use QSFPM::setFilterRegularExpression everywhere
- Remove author data, name and description from package metadata files
- plasmaquick: fix a memory leak caused by
qmlRegisterType
- containmentinterface: Change wallpaper plugin in dropjob action
- Revert "IconItem: Allow specifying a custom loader"
Prison
- Fix decimal/hexadecimal mix-up in the binary detection heuristic
- Simplify headers installation location
- cmake: add purpose property to 3d-party libraries
- Handle video frames with a non-standard row stride correctly as well
QQC2StyleBridge
- Buttons: Press F to pay respects
- DelayButton: Fix invalid id references in transition/animation
- ProgressBar,Slider: Draw position smoothly with greater precision
- ProgressBar: Fix rendering of visual position when
from
is non-zero - ProgressBar: Replace hardcoded redraw interval with frame-based animations
- RoundButton: Fix expression block may return nothing (undefined)
- ScrollView: Stop passing down
enabled
property to the ScrollBars explicitly - ScrollView: Drop support for nullable ScrollBars
- ComboBox: Use qualified ListView.view attached property in delegate
- ComboBox: Remove workaround for
editable
property from Qt 5.7 times - ComboBox: Use rect type for rect property
- Fix overlapping scrollbar (bug 453958)
- Relayout the scrollbar when non interactive
- Remove code that was only used with Qt <5.8
Sonnet
- Try to load en_US for LANG=C (bug 410113)
- Don't warn, just debug about not loadable plugin
- Unload skipped/already loaded plugin
Syntax Highlighting
- Avoid spell checking in diffs
- Avoid unprefixed CamelCase headers generated directly in build dir (bug 453759)
- Bash: fix comments in double braces (bug 450878)
- systemd unit: update to systemd v251
- debchangelog: add Kinetic Kudu
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.95.0 소스 코드는 자유롭게 다운로드할 수 있습니다. 컴파일 및 설치 방법은 KDE 프레임워크 5.95.0 정보 페이지에서 확인할 수 있습니다.
소스 코드에서 빌드하는 작업은 기본적인 cmake .; make; make install 명령으로 가능합니다. 단일 티어 1 프레임워크를 컴파일 때에는 가장 간단한 방법입니다. 프레임워크 개발에 기여하거나 전체 프레임워크 개발 작업을 추적하고 싶다면 kdesrc-build 사용을 추천합니다. 프레임워크 5.95.0에는 Qt 5.15.2 이상이 필요합니다.
API 문서를 포함한 전체 프레임워크 목록은 api.kde.org 사이트에서 볼 수 있습니다.
참여하기
프레임워크 개발에 관심이 있고 기여할 생각이 있다면 git 저장소를 확인하고 KDE 프레임워크 개발 메일링 리스트의 토론을 확인해 보십시오. 프로젝트 정책, 현재 상태 및 향후 계획은 프레임워크 위키에서 확인할 수 있습니다. 실시간 대화는 Libera Chat의 #kde-devel IRC 채널에서 진행됩니다.
KDE 지원
KDE는 개인의 시간과 노력을 기부하는 것으로 존재하고 성장하는 자유 소프트웨어 커뮤니티입니다. KDE는 코딩, 버그 수정 및 보고, 문서 작성, 번역, 프로모션, 금전적 기여 등 다양한 자원 봉사자와 기여자를 찾고 있습니다. 모든 기여를 환영합니다. 더 많은 정보를 보려면 KDE 지원하기 페이지를 확인하십시오. Join the Game을 통해서 KDE e.V.의 후원 회원이 될 수도 있습니다.