{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreickfzhx53xahxyqbm7n34uwlxhsiteyrqbwzxa3kyq7ajpwnjlxma",
    "uri": "at://did:plc:6dmfe46c76jjenq3kaxc5eds/app.bsky.feed.post/3mgyeyrlgynr2"
  },
  "coverImage": {
    "$type": "blob",
    "ref": {
      "$link": "bafkreibysdp4dgn5wgnibkgomncygdp3jkke7uhinvgjfgp43oyei7ohdu"
    },
    "mimeType": "image/png",
    "size": 565709
  },
  "path": "/announcements/frameworks/6/6.24.0/",
  "publishedAt": "2026-03-13T00:00:00.000Z",
  "site": "https://kde.org",
  "tags": [
    "Attica",
    "Commit.",
    "Baloo",
    "Extractor] Remove Document from FailedIdDb on success. [Commit.",
    "Extractor] Open the DB in ReadWrite mode from the beginning. [Commit.",
    "Commit. Fixes bug [#515918",
    "Engine] Protect against opening a ReadOnly database in ReadWrite mode. [Commit.",
    "Breeze Icons",
    "Extra CMake Modules",
    "KArchive",
    "KAuth",
    "KCalendarCore",
    "KCMUtils",
    "KCodecs",
    "KEncodingProber] Replace nsCharSetProber raw pointer with unique_ptr. [Commit.",
    "KEncodingProber] Replace SMModel external with internal linkage. [Commit.",
    "KEncodingProber] Replace nsCodingStateMachine raw pointer with unique_ptr. [Commit.",
    "KEncodingProber] Remove unused header files. [Commit.",
    "KCharsets] Remove no longer used include. [Commit.",
    "KCharsets] Verify entity table is sorted at build time. [Commit.",
    "KCharsets] Fix sort order in entity table. [Commit.",
    "KCharsets] Add benchmark for entity lookup. [Commit.",
    "KCharSets] Specify the `fromEntity` input format more explicitly. [Commit.",
    "KCharSets] Fix numeric encoding for `toEntity(...)`. [Commit.",
    "KCharSetsTest] Move test class declaration to implementation file. [Commit.",
    "KEncodingProber] Switch state machine tables to plain uint8_t. [Commit.",
    "KEncodingProber] Remove runtime unpack state machine. [Commit.",
    "KEncodingProber] Use same class table for UTF16 BE and LE state models. [Commit.",
    "KEncodingProber] Fix reset() method. [Commit.",
    "KEncodingProber] Actually check if reset() works. [Commit.",
    "KEncodingProber] Reduce variable scope. [Commit.",
    "KEncodingProber] Default empty constructors/desctructors. [Commit.",
    "KEncodingProber] Remove unused unexported member functions. [Commit.",
    "KEncodingProber] Remove unused member variable. [Commit.",
    "KEncodingProber] Remove no longer used include. [Commit.",
    "KEncodingProber] Drop declaration of unused GetDistribution method. [Commit.",
    "KConfig",
    "515694",
    "KConfigWidgets",
    "KCoreAddons",
    "KCrash",
    "516658",
    "KDeclarative",
    "509859",
    "416909",
    "KFileMetaData",
    "KGuiAddons",
    "515465",
    "KHolidays",
    "KI18n",
    "KIdletime",
    "KImageformats",
    "KIO",
    "516063",
    "513350",
    "386104",
    "490247",
    "504067",
    "434175",
    "Kirigami",
    "514098",
    "515958",
    "KJobWidgets",
    "KService",
    "516426",
    "KTextEditor",
    "503327",
    "KTextTemplate",
    "KUserFeedback",
    "KWallet",
    "KWidgetsAddons",
    "KWindowSystem",
    "516994",
    "Modem Manager Qt",
    "Prison",
    "Purpose",
    "QQC2 Desktop Style",
    "516151",
    "Solid",
    "501658",
    "Syntax Highlighting",
    "510666"
  ],
  "textContent": "Friday, 13 March 2026\n\nKDE today announces the release of KDE Frameworks 6.24.0.\n\nThis release is part of a series of planned monthly releases making improvements available to developers in a quick and predictable manner.\n\n## New in this version\n\nAttica\n\n  * QtPlatformDependent: hide static thread local var in accessor. Commit.\n  * Delete QtPlatformDependent if needed. Commit.\n  * QtPlatformDependent: Simplify NAM handling. Commit.\n\nBaloo\n\n  * Extractor] Remove Document from FailedIdDb on success. [Commit.\n  * Extractor] Open the DB in ReadWrite mode from the beginning. Commit. Fixes bug [#515918\n  * Engine] Protect against opening a ReadOnly database in ReadWrite mode. [Commit.\n  * Add missing include for syscall(). Commit.\n\nBreeze Icons\n\n  * Fix kleopatra-symbolic icon. Commit.\n  * Create symbolic version of krfb icon. Commit.\n\nExtra CMake Modules\n\n  * With get_filename_component use DIRECTORY instead of legacy alias PATH. Commit.\n  * KDECompilerSettings: Add option to force asserts. Commit.\n\nKArchive\n\n  * 7zip: insert al the values at once instead of one by one. Commit.\n  * KCompressionDevice: avoid asserting on using unbuffered open. Commit.\n\nKAuth\n\n  * Fix memory leaks in BackendsManager. Commit.\n  * Enable LSAN in CI. Commit.\n\nKCalendarCore\n\n  * With get_filename_component use DIRECTORY instead of legacy alias PATH. Commit.\n  * Fix wrong iCal component parenting when serializing timezone information. Commit.\n  * Fix memory leaks in unit tests. Commit.\n\nKCMUtils\n\n  * Mark Kirigami QML module as dependency. Commit.\n\nKCodecs\n\n  * KEncodingProber] Replace nsCharSetProber raw pointer with unique_ptr. [Commit.\n  * KEncodingProber] Replace SMModel external with internal linkage. [Commit.\n  * KEncodingProber] Replace nsCodingStateMachine raw pointer with unique_ptr. [Commit.\n  * KEncodingProber] Remove unused header files. [Commit.\n  * KCharsets] Remove no longer used include. [Commit.\n  * KCharsets] Verify entity table is sorted at build time. [Commit.\n  * KCharsets] Fix sort order in entity table. [Commit.\n  * KCharsets] Add benchmark for entity lookup. [Commit.\n  * KCharSets] Specify the `fromEntity` input format more explicitly. [Commit.\n  * KCharSets] Fix numeric encoding for `toEntity(...)`. [Commit.\n  * KCharSetsTest] Move test class declaration to implementation file. [Commit.\n  * KEncodingProber] Switch state machine tables to plain uint8_t. [Commit.\n  * KEncodingProber] Remove runtime unpack state machine. [Commit.\n  * KEncodingProber] Use same class table for UTF16 BE and LE state models. [Commit.\n  * KEncodingProber] Fix reset() method. [Commit.\n  * KEncodingProber] Actually check if reset() works. [Commit.\n  * KEncodingProber] Reduce variable scope. [Commit.\n  * Remember where to re-try RFC 2047 word decoding. Commit.\n  * KEncodingProber] Default empty constructors/desctructors. [Commit.\n  * KEncodingProber] Remove unused unexported member functions. [Commit.\n  * KEncodingProber] Remove unused member variable. [Commit.\n  * KEncodingProber] Remove no longer used include. [Commit.\n  * KEncodingProber] Drop declaration of unused GetDistribution method. [Commit.\n\nKConfig\n\n  * Fix bounds check in KConfigPrivate::expandString. Commit.\n  * Kdesktopfile: do not needlessly cascade desktop files. Commit.\n  * Add oss-fuzz integration. Commit.\n  * Remove old, commented out code. Commit.\n  * With get_filename_component use DIRECTORY instead of legacy alias PATH. Commit.\n  * KDesktopFileTest: Update testActionGroup. Commit.\n  * KDesktopFile: Check for Name since it is required field. Commit. Fixes bug #515694\n\nKConfigWidgets\n\n  * ShortcutStyleDelegate: Init styleOption. Commit.\n  * KRecentFilesAction: Avoid temporary allocations. Commit.\n  * KRecentFilesAction: Avoid allocation when reading/writing config. Commit.\n\nKCoreAddons\n\n  * Autotests: increased safety margins for unstable tests. Commit.\n\nKCrash\n\n  * Metadata: make sure the KCrashComplete group has an entry. Commit. Fixes bug #516658\n  * Avoid using qEnvironmentVariableIntegerValue. Commit.\n\nKDeclarative\n\n  * Ungrab the pointer when the widget goes disabled or invisible. Commit. See bug #509859. See bug #416909\n\nKFileMetaData\n\n  * Ffmpegextractor: Extract Artist metadata. Commit.\n  * Fix finding of poppler-version.h (Bad include). Commit.\n\nKGuiAddons\n\n  * Clipboard: Use buffered writes for data transfer. Commit.\n  * Add manual large clipboard tests. Commit.\n  * Ksysteminhibitor: Support Windows through PowerCreateRequest API. Commit.\n  * Remove unneeded Qt version check. Commit.\n  * Kiconutils: remove now unnecessary Qt version check. Commit.\n  * Clipboard: Hold mutex before dispatching any wayland events. Commit. Fixes bug #515465\n  * Mark WindowInsetsController as singleton in the documentation. Commit.\n  * CMake: Find Qt6::GuiPrivate when USE_DBUS is enabled. Commit.\n  * KKeySequenceRecorder: Accept some more keys that can be used with Shift. Commit.\n\nKHolidays\n\n  * Add more holidays to Bulgaria. Commit.\n  * Quiet compiler warnings using inline pragmas. Commit.\n  * DE: From 1954 to 1990, there was a “Tag der deutschen Einheit” (note the lowercase “d” in “deutschen”) in West Germany. Commit.\n  * DE: Before 1990, there was no \"Tag der Deutschen Einheit\". Commit.\n  * DE: Before 1990, there was no \"Tag der Deutschen Einheit\". Commit.\n  * Generate the bison/flex code. Commit.\n\nKI18n\n\n  * KI18N_WRAP_UI macro: drop now unneeded support for unique image data names. Commit.\n  * KI18N_WRAP_UI macro: inject klocalizedstring.h include by uic argument. Commit.\n\nKIdletime\n\n  * Remove unneeded Qt version check. Commit.\n\nKImageformats\n\n  * JP2: fix possible Undefined-shift. Commit.\n  * IFF: fix buffer read overflow. Commit.\n  * Fix Heap-buffer-overflow WRITE. Commit.\n  * Fixed excessively frequent warning messages. Commit.\n  * Ossfuzz: update aom, libavif, openjpeg. Commit.\n  * ANI: fix possible QByteArray allocation exception. Commit.\n  * Jxl: adjust metadata size limits. Commit.\n  * RGB: fix a possible exception on the new. Commit.\n  * TGA: fix Undefined-shift. Commit.\n  * PSD: improve conversion sanity checks. Commit.\n  * IFF: fix compilation warnings. Commit.\n  * ANI: check for array allocation size. Commit.\n\nKIO\n\n  * Refactor and improve paste dialogs. Commit.\n  * Add title for dialogs opened when pasting content. Commit.\n  * KNewFileMenu: Strip proper ellipsis, too. Commit.\n  * KFileItemDelegate. Commit.\n  * Trash: fix typo and use correct device id for home dev. Commit.\n  * Visual changes to KFileWidgets to bring it closer to Dolphin. Commit. Fixes bug #516063\n  * Widgets: Make use of nanosecond timestamps when appropriate. Commit.\n  * Workers: Populate nanosecond timestamps in KIO workers. Commit.\n  * Core: Extend UDSEntry with nanosecond precision timestamps. Commit.\n  * FilePreviewJob: Stat MountId and use it to look up the mount. Commit.\n  * KMountPoint: Add findByMountId. Commit.\n  * Filewidgets/placesview: add mountpoint tooltips for network mounts. Commit.\n  * KFileItemActions: Use OpenUrlJob::isExecutableFile for \"Run executable\". Commit.\n  * Kfileitemactions: Add i18n context inmenu. Commit.\n  * Trashimpl: use mnt_id as trashId instead of dev_id. Commit. Fixes bug #513350. Fixes bug #386104. See bug #490247\n  * Kmountpoint: expose mnt_id_unique and isPseudoFs. Commit.\n  * KFileItemActions: Add API for service menu keyboard shorcut. Commit.\n  * Drop Worker::workerProtocol. Commit.\n  * Kpropertiesdialog: Use MIME type we already have for default icon. Commit.\n  * Core: Drop unused code. Commit.\n  * Filepreviewjob: Add timeout. Commit. Fixes bug #504067\n  * Deleteortrashjob: Remember whether AutoErrorHandling was enabled. Commit.\n  * Deleteortrashjob: Don't overwrite job delegate, if it exists. Commit.\n  * Gui/openurljob: Stops job on missing Type in desktop files. Commit.\n  * Core/mimetypefinderjob: Fix missing early return in KIO::MimeTypeFinderJobPrivate::scanFileWithGet. Commit.\n  * Trashsizecache: Fix look up of directory size cache. Commit. See bug #434175\n  * Drop WorkerConfig::setConfigData. Commit.\n  * Simplify SimpleJob::slotMetaData. Commit.\n  * Drop special handling for internal metadata. Commit.\n  * Storedtransferjob: Drop secret OverriddenPorts option. Commit.\n\nKirigami\n\n  * Workaround crash due to QTBUG-144544. Commit. Fixes bug #514098\n  * Platform: Deprecate PlatformTheme::useAlternateBackgroundColor. Commit.\n  * Platform: Move useAlternateBackgroundColor from Theme to StyleHints. Commit.\n  * Platform: Introduce StyleHints as common API for extra style behaviour. Commit.\n  * InlineViewHeader: Create a template and utilize it. Commit.\n  * NavigationTab Bar/Button: Create templates. Commit.\n  * Heading: Create a template, base control on top of it. Commit.\n  * Mark QML singletons in documentation. Commit.\n  * Remove duplicate since documentation. Commit.\n  * Add missing documentation module dependency. Commit.\n  * Autotests: Mark test_absolutepath_recoloring of tst_icon.qml as skipped. Commit.\n  * Controls: Port kirigamicontrolsplugin to use Qt::StringLiterals. Commit.\n  * Controls: Use componentUrlForModule for looking up controls files. Commit.\n  * Platform: Port BasicTheme to use StyleSelector::componentUrlForModule. Commit.\n  * Platform: Greatly simplify StyleSelector::styleChain. Commit.\n  * Platform: Deprecate componentUrl, rootPath and resolveFileUrl in StyleSelector. Commit.\n  * Platform: Simplify StyleSelector::resolveFilePath. Commit.\n  * Platform: Add StyleSelector::componentUrlForModule. Commit.\n  * Move all controls in own import. Commit.\n  * Fix Kirigami.InputMethod.willShowOnActive. Commit.\n  * Fix placeholder. Commit.\n  * Reduce text duplication for shortcut tooltips in action toolbar. Commit. Fixes bug #515958\n  * Show keyboard shortcut in action toolbar tooltips. Commit.\n  * Work around Qt bug causing kirigami components to not load when multiple qml engines are involved. Commit.\n\nKJobWidgets\n\n  * Don't show empty error notifications in KNotificationJobUIDelegate. Commit.\n\nKService\n\n  * Make updateHash slightly faster. Commit.\n  * Ksycoca: do not allow for recursive repairs. Commit. Fixes bug #516426\n  * Kservice: correctly type the unused legacy field as 8 bits. Commit.\n  * Ksycocafactory: do not crash when failing to find a factory stream. Commit.\n  * Ksycocafactory: guard against integer underflow. Commit.\n  * Enable LSAN in CI. Commit.\n  * Fix KServiceAction+KService memory leak. Commit.\n\nKTextEditor\n\n  * Search: add a way to clear the history. Commit. Fixes bug #503327\n  * Enable Werror on CI. Commit.\n  * Reduce QLatin1Char noise. Commit.\n  * Fix clipboard warning, check if QClipboard::Selection is supported. Commit.\n  * Ensure we write a BOM if wanted for empty files, too. Commit.\n  * Avoid temporary allocations when saving the file. Commit.\n  * Properly pass parent pointer for document. Commit.\n\nKTextTemplate\n\n  * With get_filename_component use DIRECTORY instead of legacy alias PATH. Commit.\n\nKUserFeedback\n\n  * Don't report nonsensical screen information. Commit.\n\nKWallet\n\n  * Fix TRANSLATION_DOMAIN. Commit.\n  * Fix Messages.sh to cover all of src/runtime. Commit.\n  * Added translation_domain. Commit.\n\nKWidgetsAddons\n\n  * Kacceleratormanager: Avoid unnecessary allocations when searching for used shortcuts. Commit.\n  * Kactionmenu: Be more forgiving about menu ownership. Commit.\n  * Kactionmenu: Fix ownership of default menu. Commit.\n  * Enable LSAN in CI. Commit.\n  * Avoid mem-leak in KDateTimeEditTest::testDateMenu. Commit.\n  * KAcceleratorManager: Avoid unnecessary allocation. Commit.\n  * Kmimetypechooser.h: Remove default arguments from an overlapping constructor and mark it as deprecated for 6.24. Commit.\n\nKWindowSystem\n\n  * Remove unused include. Commit.\n  * Port createRegion to QNativeInterface. Commit.\n  * Port surfaceForWindow to QNativeInterface. Commit.\n  * Wayland: Don't try to export window that isn't xdg_toplevel. Commit. Fixes bug #516994\n  * Port xdgToplevelForWindow to QNativeInterface. Commit.\n  * Wayland: Fix importing window that's not exposed but already has surface role. Commit.\n  * Remove unneeded Qt version check. Commit.\n  * Platforms/wayland: Manage blur, contrast, and slide globals with std::unique_ptr. Commit.\n  * Platforms/wayland: Add missing initialize(). Commit.\n  * Platforms/wayland: add missing blur capability with ext-background-effect. Commit.\n  * Wayland: implement background effect protocol. Commit.\n  * Platforms/wayland: ensure we always react to surface destruction. Commit.\n  * Run clang-format on all files. Commit.\n\nModem Manager Qt\n\n  * Add new cell broadcast interfaces from MM API. Commit.\n  * Update modem firmware interface to latest MM API. Commit.\n  * Update modem voice interface to latest MM API. Commit.\n  * Update call interface to latest MM API. Commit.\n  * Update modem interface to latest MM API. Commit.\n  * Update bearer interface to latest MM API. Commit.\n  * Update modem messaging interface to latest MM API. Commit.\n  * Update modem signal interface to latest MM API. Commit.\n  * Update modem location interface to latest MM API. Commit.\n\nPrison\n\n  * Bump minimum ZXing version from 1.2.0 to 1.4.0. Commit.\n  * Make zxing and libdmtx required dependencies by default. Commit.\n\nPurpose\n\n  * Add missing CI dependencies. Commit.\n  * Fix QML module dependencies. Commit.\n\nQQC2 Desktop Style\n\n  * Use Kirigami.StyleHints for tick marks in Slider. Commit.\n  * Use Kirigami.StyleHints for useAlternateBackgroundColor in list item background. Commit.\n  * Use Kirigami.StyleHints for icons in ComboBox. Commit.\n  * Use Kirigami.StyleHints to determine ScrollView background visibility. Commit.\n  * Menu: make sure implicitWidth/height is never 0. Commit. Fixes bug #516151\n  * Make sure that the default behaviours of onPressed and onLongPressed are not trigger if the even is accepted. Commit.\n\nSolid\n\n  * Devicemanager.cpp replace \"Ok\" with \"OK\". Commit.\n  * Mark network mounts as ignored if user is missing rights for it. Commit.\n  * Fstabhandling: add static wrapper method for '_k_isFstabNetworkFileSystem'. Commit.\n  * Use directory name as displayName for fstabdevices. Commit. Fixes bug #501658\n\nSyntax Highlighting\n\n  * Move comment after white space for some shells and Perl. Commit. Fixes bug #510666\n\n",
  "title": "KDE Ships Frameworks 6.24.0"
}