Skip to content

Tuesday, 2 June 2026

Hot on the heels of Krita 5.3.2, we're releasing Krita 5.3.2.1. 5.3.2 had a bug with the layer docker that was very pervasive, and could cause anything from unsynced layers to crashes to groups not behaving as they should. 5.3.2.1 fixes this. Furthermore, we also had some issues where the Windows packages weren't signed. This too should now be fixed.

⚠️ Warning

We consider Krita 5.3.2.1 suitable for productive work; 6.0.2.1 is, because of the many changes from Qt5 to Qt6 more experimental.

Download 5.3.2.1

Windows

If you're using the portable zip files, just open the zip file in Explorer and drag the folder somewhere convenient, then double-click on the Krita icon in the folder. This will not impact an installed version of Krita, though it will share your settings and custom resources with your regular installed version of Krita. For reporting crashes, also get the debug symbols folder.

ⓘ Note

We are no longer making 32-bit Windows builds.

Linux

Note: starting with recent releases, the minimum supported distro versions may change.

⚠️ Warning

Starting with recent AppImage runtime updates, some AppImageLauncher versions may be incompatible. See AppImage runtime docs for troubleshooting.

MacOS

Note: minimum supported MacOS may change between releases.

Android

Krita on Android is still beta; tablets only.

Source code

Sources are the same as 6.0.2.1

md5sum

For all downloads, visit https://download.kde.org/stable/krita/5.3.2.1/ and click on "Details" to get the hashes.

Key

See the 6.0.2.1 key section.

Download 6.0.2.1

Windows

If you're using the portable zip files, just open the zip file in Explorer and drag the folder somewhere convenient, then double-click on the Krita icon in the folder. This will not impact an installed version of Krita, though it will share your settings and custom resources with your regular installed version of Krita. For reporting crashes, also get the debug symbols folder.

ⓘ Note

We are no longer making 32-bit Windows builds.

Linux

Note: starting with recent releases, the minimum supported distro versions may change.

⚠️ Warning

Starting with recent AppImage runtime updates, some AppImageLauncher versions may be incompatible. See AppImage runtime docs for troubleshooting.

MacOS

Note: minimum supported MacOS may change between releases.

Android

Krita 6.0.2 is not yet functional on Android, so we are not making APK's available for sideloading.

Source code

md5sum

For all downloads, visit https://download.kde.org/stable/krita/6.0.2.1/ and click on "Details" to get the hashes.

Key

The Linux AppImage and the source tarballs are signed. You can retrieve the public key here. The signatures are here (filenames ending in .sig).

Monday, 1 June 2026

KStars v3.8.3 is released on 2026.06.01 for Windows, Linux, and MacOS.

For Linux users, it's highly recommended to use the official KStars Flatpak hosted at Flathub.

This release brings major improvements to the Mount Modeler with artificial horizon filtering and uniform point distribution, significant connection speed optimizations, better guide streaming integration, and enhanced rotator handling. We've also fixed several scheduler and stability issues reported by the community. Here are the highlights:

Alignment & Mount Modeler

  • Christian Kemper added Artificial Horizon filtering to the Mount Modeler wizard, allowing generated alignment points below the active horizon to be automatically filtered out. Candidate coordinate points (both generated AltAz coordinates and snapped catalog objects) are now checked and rejected if they fall into active artificial horizon regions.
  • New Uniform Distribution mode generates points spread evenly across the visible sky using a Halton sequence, sampling in AltAz space to guarantee every point is above the configured minimum altitude. Points whose declination exceeds +/-80 degrees after conversion are rejected. The Any Stars, Named Stars, and Any Object modes now adopt this distribution internally and snap each generated position to the nearest qualifying object.
  • Auto-sorted wizard output: points added by the wizard are automatically sorted in nearest-neighbour slew order, minimizing total slew distance. Users no longer need to click Sort after running the wizard. Clicking Sort during a run reorders only the remaining unvisited points, leaving completed rows undisturbed.
  • The wizard now automatically configures the solver for each alignment point. Blind solves are used by default because no pointing model exists yet at the start of a run, so the mount's reported position may be significantly off. The GOTO mode is forced to Sync so the mount is updated after each successful solve. The original settings are saved and restored when the run finishes, is aborted, or is reset.
  • Refactored point generation logic to eliminate duplicated generation and conversion math in the test suite, improving generator efficiency using a stateful sequence
  • Toni Schriber fixed activation of the rotator button in the align module
  • Fixed effective focal length calculation to use radians in the DSLR branch

Guide

  • Thanks to Andreas Ruthner, guide streaming now correctly handles video stream window interaction. The video window no longer pops up when guide streaming starts, displays frames correctly when opened from the Capture module after a guide session, and now renders 16-bit mono stream frames (previously only 8-bit mono and RGB were handled).
  • Andreas also fixed frame, binning, gain and exposure sync for streaming mode. When starting guide streaming, the module now applies the same frame settings that captureOneFrame() applies for single-frame captures. Previously, streaming mode skipped this setup entirely, causing stale values from other modules to remain active in the driver.
  • Frame ROI and binning now sync on stream start, live gain updates apply immediately when the user changes the spinner during active streaming, and binning/exposure changes automatically stop and restart the stream
  • Added 0.001-0.01s exposure values to the guide exposure spinner for fast streaming and daytime testing

Rotator

  • Fixed several issues with Reversed rotator state not taken into account in various rotator operations
  • Rotation now aborts if the Position Angle error keeps increasing due perhaps to reversed rotator behavior

Ekos Profiles & Connection

  • Significantly cut down time to connect to INDI web manager by skipping DNS resolution if we already have an IP address specified for the remote host
  • Fixed rare crash due to dangling clientManager pointer with test to verify the fix

Capture & Livestacking

  • Use OpenCV debayering by default. Enforce even ROI selection to ensure bayer boundaries are respected.
  • Always sync from INDI to overwrite shadow states in the Camera process
  • Account for STREAM_FULL_DEPTH when streaming
  • John Evans added support for Live Stacker Alt/AZ data via Seestar S30 Pro. It should support other telescopes in Alt/AZ mode.
  • John added a gradient removal option to post processing in Live Stacker.

FITS Viewer & File Handling

  • Use standard gzip compress instead of Qt own compression algorithm
  • Support loading .fits.gz and .xisf.gz in the viewer

Scheduler & Observatory Automation

  • Fixed scheduler freezes when loading ESL referencing many ESQ files (patch by Tomas). BUGS:519294
  • Autopark should work over multiple nights now
  • If observatory is not started, skip shutdown procedure
  • Fixed issue where post-shutdown script run in infinite loop
  • Fixed scheduler and capture scripts not running inside flatpak

Optical Trains & DBus API

  • Added DBus call to set and get Pictures directory
  • Fixed warning of missing devices when we already selected alternative devices in the optical train

Build & Infrastructure

  • Use KSUtil to consolidate all calls to external executable so they can run correctly within a flatpak as well
  • Within flatpak, run the external scripts on the host system since it may require libraries that are only available on the host system
  • Christian Kemper fixed macOS iconutil failure by adding 256px and 512px icon sizes rendered from the existing SVG source, which are required by iconutil on macOS 15 (Sequoia)
  • Wolfgang Reissenberger updated the Dockerfile to be based on installation scripts for all steps: INDI, StellarSolver, PHD2, GSC, openCV. All scripts are built uniformly such that existing packages or installations are preferred. If the package is missing, first installing the appropriate package is tried. If this fails, the package is built from sources

Stability & Bug Fixes

  • Fixed crash reported in crash-reports.kde.org regarding invalid base device or message text. The check for message text now occurs earlier in the process to protect against this crash.
  • Milhan Kim fixed test deadlock by replacing QTest::mouseClick with animateClick(), which posts the click through the event loop and prevents tests from hanging indefinitely on QDialog::exec() loops
  • Fixed an issue where frequent temperature updates can cause the dark cover check to run indefinitely
  • Hy Murveit fixed green lines display issue
  • Fixed solution assignment
  • Fixed crash and distorted artifacts in video streaming
  • Replaced all abs and fabs with std::abs for consistency
  • Modernized signals and slots

Many thanks to Christian Kemper, Andreas Ruthner, Toni Schriber, Hy Murveit, John Evans, Milhan Kim, Wolfgang Reissenberger, Tomas, and all others who contributed fixes and improvements to this release! Your work makes KStars better for everyone.

Download KStars v3.8.3 today and enjoy improved mount modeling, faster connections, and more reliable guiding!

Sunday, 31 May 2026

Throughout this new process at KDE, I believe I have failed to clearly state what Ocean is and what it means for the future for Plasma user interface and experience.

In this post, I will try to shed some light into this and hopefully it’s easier for new people interested in this project.

Why the Confusion?

I think a lot of the confusion primarily comes from my part in showing graphics first and interface later.

Graphics tend to attract a lot of attention. So much that it swallows other narratives about what Ocean is. It’s natural for our users to want to know more and accept that the graphics are the whole story.

Spoiler… it’s not just graphics 😉

How Should We Think of Ocean?

Ocean is many things, let me list them out:

  • Ocean Design System
  • Ocean Widget Style
  • Ocean Font
  • Ocean Icons(Icon Pack)
  • Ocean Plasma Style
  • Ocean Color Scheme

I think this is another reason why there is confusion out there. I have given a few talks on this as well, but I also see how it’s confusing.

In simple terms, Ocean is a new graphic design platform for the Plasma Desktop.

This new platform aims, first, to organize the way graphic design for Plasma is achieved. As you may know, designers like me, tend to be pretty creative and unbound. We give free range to creativity and we like to break norms.

This is a problem, because if we want to make graphics for a computer system, such as Plasma, we need to organize our creativity in way that developers can understand.

For this reason, in recent years, a modern way to organize creativity for computers was invented by applications like Sketch, Figma, and Adobe XD.

In these applications SVG is the graphic of choice. SVG is a set of coordinates that tell the system how to draw shapes on the screen. It’s versatile enough that SVG code can be read and tweaked by designers and developers alike. It can be stretched without losing quality, yadah, yadah, yadah… You know the rest.

This new wave of applications work with SVG as collections or repeatable graphics interconnected with each other. They use systems of “Components” and “Variants”. Given that computer UI is generally very repetitive, these components save designers time in building more copies of the same graphic with only slight modifications, let’s say for states such as default, hover, selected, etc.

These design systems help bring the world of UI development into the graphic design applications. Many developers are very used to working with graphical components, but only until recently were designers able to work with them in a flexible graphical way.

KDE Plasma has never had a system like this to organize design around the UI. Because of this, designers haven’t really made a ton of inroads into the system and this limits users in the way that we can deliver design for them. In essence, we designers, were never organized enough to provide a proper, development-ready, graphic design that could be used for Plasma.

This is where Ocean comes in. We took up the idea of creating a design system for Plasma that accounts for most, if not all, of the necessary graphical building blocks that developers could use, that preserve consistency between graphics and code, and deliver a cohesive experience for users.

By doing this, our hope is that graphic designers that are used to working with design systems can join our team and help us go even further.

On the developer side, a design system is a much more clear way of communicating component organization. Developers can more easily understand how buttons are made, what colors are used, what typography levels are on screen, etc. We do this by creating a series of graphic tokens that describe their use in more detail.

CSS is also involved, even though we may not support it, applications like Figma and Penpot have the ability to represent component code in CSS terms that others can read. In addition to these tokens, we create a series of foundational tokens where we declare our colors, typography, shadow levels and composition, blur levels, etc. Everything that users would need to see on the screen.

Ok, But What About the Graphics You Keep Showing?

During the first part of creating a design system, we noticed something pretty meaningful. Breeze and other previous themes, while they work, they don’t have any reflection in a design system. Therefore, designers have a hard time completing the puzzle for a good design system that accounts for Breeze. With any attempt, we would be completing so much of a missing puzzle that we would create something new anyway, just to replicate a style in Penpot, for example.

Because of this, we decided to create a new style called Ocean and any style is composed of many parts, listed above.

Because of this, we created:

  • Ocean Icons (In progress)
  • Ocean Plasma Style (Complete in Penpot)
  • Ocean Font (In progress)
  • Ocean Style (Complete in Penpot)
  • Ocean Color Scheme (Complete-ish, needs more testing)

And one little important detail, it doesn’t matter so much how Ocean style looks. Why?

Because through a design system for graphic designers, we have the ability to distribute our system for free to anyone that wants to use it. Graphic designers can tweak the design tokens that Plasma can understand and by doing that, they can more easily build a Plasma Style on their own in a way that is cohesive, thoughtful, complete. We then give those elements to the developer team that would help us execute the design. Hence why I say that Ocean is a design platform.

Still, we created a new style in graphical form and we are working with the developer team to execute this style, using the design system tokens and components, in the same way that the designer intended.

Our current focus is on icons, particularly application icons. This is just one of the many parts that compose Ocean design. A few months ago we completed a round of design that created monochrome Ocean icons. These icons are functional in nature and much easier to put together. However, we knew that app icons take longer because they are colorful and require lots of time and styling.

Icons

My recent posts showcase the progress on these icons. To be more clear about how we are doing this icon design element, here is a process:

  1. Formalize the visual system
    1. Define strict rules for perspective, lighting, shadows, gloss, depth, materials, and color usage so all icons feel like one coherent family.
  2. Strengthen semantic readability
    1. Ensure each icon immediately communicates the app’s purpose, especially at small sizes. Avoid abstraction that weakens recognition.
  3. Improve visual hierarchy
    1. Reduce competing elements and make each icon have one clear focal point with cleaner foreground/background separation.
  4. Tighten color discipline
    1. Use fewer competing colors, control saturation more carefully, and keep palettes more consistent across the set.
  5. Be more selective with stylistic quirks
    1. Avoid asymmetry, misalignment, or unusual perspectives unless they clearly improve recognition or composition.
  6. Standardize depth and rendering behavior
    1. Keep extrusion, internal shadows, dimensionality, and lighting logic consistent across all icons.
  7. Shift from per-icon experimentation to system-level art direction
    1. Prioritize cohesion and consistency over making every icon individually novel or visually surprising.

…and we are in step 3 of the process for these icons. We are moving them from rough mockups and sketches into more formalized shapes. At this stage, you should not expect a lot of color or shape cohesion. After this pass comes a time of definition. We restrict our colors even more, simplify shapes for impact, remove or redo icons, etc. It’s a major review. We expect to do this along with the community.

We also decided to not create icons for third parties. This makes the amount of app icons to make much smaller. This also makes it easier to think about what our icons should look like going forward.

All in all, Ocean is a platform composed of many parts. Our current design focus is set on completing the icon pack while the rest of the style is preparing for development.

I hope this makes it easier to understand and I am happy to answer any questions.

Joe Bloggs sat himself in front of his brand new laptop, pressed the On button and waited. It had cost him a pretty penny, but it was due: he had owned his prior device for nearly six months.

Hi! I'm Navya and am working on Redesigning Lokalize's Translation Memory Tab. Lokalize was created during Google Summer of Code several years ago. This also implies that the conventions to be followed are quite old.

The first week of GSoC was full of learnings and experiments as I had expected. There was no hassle of setting things up and all because I worked on Lokalize during Season of KDE. Things are going as per the plan and I am starting to gain momentum. The weeks ahead require more effort and time. I'm gonna share some of the knowledge gained and used as it might benefit me (to remember or come back to when needed) and other new contributors.

The project essentially resolves the bug and integrates the separate TM Manager Window into the TM Tab for ease.

KConfig

KDE provides devs with KConfig classes to auto generate methods to use for app's configuration settings. This site might also be of some help. Lokalize has lokalize.kcfg for app-wide configuration and projectbase.kcfg and projectlocal.kcfg for project-specific configuration. The latter one appeared to me more apt for user's personal settings such as per-project selection of TMs. A new entry was added to lokalize.kcfg for global default TMs.

There are also ".kcfgc" files which apparently act as config for the config files. So, the property of the entry added can be controlled there. In my case, it was to have mutators so as to be able to change the selection of TMs.

The setters and getters generated were used to write a method that returns a list of TMs to query across. These will also be used in the upcoming weeks when I finally create a UI for checking and selecting TMs.

Git

I always get to know something new and cool in the git world while working. My mentor told that master is like any other branch, it's just us that we treat it differently. I created a new branch to direct my MRs there since it'll be a long time till everything is ready to be merged into upstream.

Testing

The example provided here is a basic template which the rest of the tests present also follow. An article on the internet said that there's no point in writing tests for getters and setters (another discussion forum had - especially if those are auto generated) so I just took it as a chance to learn something new and get the hang of those methods.

I wasted quite some time only to figure out that I need to run the test from the build dir instead.

Saturday, 30 May 2026

Since the previous report two month ago, Itinerary got support for booking URLs, a newer foundation for its Android packages, and more detailed shared vehicle information.

New Features

Booking URLs

Some public transport services provide booking deep links together with their journey search results. That is, you can directly book the journey you have just searched in Itinerary or KTrip on the provider website, without having to search for the same journey again there. Both apps provide that option when available now.

Screenshot of Itinerary showing a result of a train connection search with a booking action.
Booking link on a train journey.

Infrastructure Work

GBFS v3 support

The handling of shared vehicles in KPublicTransport recevied a rework to properly support the much more detailed modelling of vehicle types in newer GBFS versions. Since the early versions of GBFS this has evolved from a simple enum to a complex type describing all kinds of properties of the available vehicles.

As practically all systems supporting rental vehicles for first/last mile routing (OpenTripPlanner, MOTIS, etc) are based on the GBFS datamodel, being limited to an oversimplified set of fixed types was increasingly getting into the way and prevented using newer features of those backends.

Qt 6.11 upgrade for Android

There has been a long overdue update of the Qt version used for KDE’s Android apps. As noted previously this unfortunately means losing support for Android versions 8 and below. ARM32 builds have been discontinued in the process as well, assuming that devices capable of running Android 9 or higher would also be able to run ARM64 code.

There have also been various other fixes related to the Android platform integration:

  • Notification interaction works properly again.
  • Notification icons are now handled more in line of what Android does.
  • Several issues related to safe area margins (ie. rounded screen corners and display cutouts) in Kirigami haven been fixed.

All of this also benefits all of KDE’s Android apps.

IATA SSIM flight schedules

Air France/KLM published their current flight schedule as open data, in IATA SSIM format. A newly built tool allows to convert that into a GTFS feed that Transitous can then consume, using Wikidata to provide translated airport and airline information.

Flight data isn’t new in Transitous, but this dataset is particularly interesting given its size. It’s not limited to Air France/KLM themselves, but also includes all (?) flights from their partner airlines. In total it’s nearly 400.000 flight patterns to almost 1.000 different airports. That essentially connects all currently disconnected public transport “islands” we have in Transitous.

Screenshot of MOTIS' stop view with flight options from Berlin to Bengaluru displayed.
Flight from BER to BLR.

The good news is that it’s holding up to that without a loss in performance, and door-to-door routing from e.g. Berlin to Tokyo actually works.

However, there’s a couple of reasons this isn’t rolled out yet and only available on the test instance:

  • As with the already existing flight data, connectivity between flights and ground transportation is tricky. I’ve written about this years ago already, applying the same approach helps here as well. Additionally, we get terminal information in the SSIM data in some cases, which further improves this, especially at very large airports.
  • We have no way yet to model check-in times in MOTIS, resulting in unrealistic transfer times from ground transportation to flights. It’s on the roadmap there, and also needed for services like Eurostar, or to model security checks at e.g. the Barcelona Sants station.
  • As a side-effect of that the router also finds clever tricks to bypass minimum transfer times between flights.
  • Inter-terminal transfers don’t seem to work reliably, probably because OSM routing doesn’t yield viable connections there. Unlike for railway stations in many countries, airport internals are unfortunately rarely mapped in detail in OSM yet.

For more details see also the discussion in PR 2090.

Events

Registration for this year’s Open Transport Community Conference in October in Bern, Switzerland, opened a few days ago. That’s as close as it gets to an Itinerary conference. If you are interested in attending better sign up quickly, many tickets were already gone after the first day.

Fixes & Improvements

Travel document extractor

  • Added or improved travel document extractors for Condor and monbus.es.

This has been made possible thanks to your travel document donations!

Public transport data

  • Improved parsing of trip and route names in OpenTripPlanner responses (bug 519906).
  • Adapted to Deutsche Bahn journey query API changes, fixing missing departure and arrival times there.
  • Added support for wheelchair accessibility information from MOTIS.
  • Added support for querying free-floating rental vehicles from Entur.
  • Removed accidental apostrophe in front of flags in the country selector.

All of this also directly benefits KTrip.

Itinerary app

  • Fixed Itinerary showing an empty page when opening a file with it on a fresh installation.
  • Fixed barcode scan mode on Android.
  • Added support for Matrix SSO login.
  • Fixed arrival platform display in journey search results.
  • Show calendar icons/colors when available.
  • Don’t load all reservation data when initializing the grouped statistics model. This improved performance of the first access to the My Data page.
  • Be slightly more clever when to clear seat reservation from alternatives.

How you can help

Feedback and travel document samples are very much welcome, as are all other forms of contributions. Feel free to join us in the KDE Itinerary Matrix channel.

Marknote 1.6.0 🔗

Carl Schwan CarlSchwan 00:00 +00:00
RSS

After a few months of development, Marknote 1.6.0 is out!

This release is packed with new features. First of all, sub-folders are finally supported. This allows you to better organize your notes. This feature is still very new and at the moment, we don’t support creating these sub-folders in Marknote and you will need to create them in Dolphin or your preferred file manager. But we are planning to improve this further in future releases. Each notebook now also displays how many notes are stored inside.

 

Another big new change is that the command bar exposed by Marknote, now allows you to search for notes across all your notebooks.

If you feel fancy, we also added an optional background blur effect for the editor similar to what is also available in other KDE apps like NeoChat.

 

Finally, we made it easier to add emojis to your notes by adding emoji completions to the text editor.

 

This release also fixes various minor bugs; contains small refactoring and improves the state of the translations.

Packager section

You can find the package on download.kde.org (kirigami addons) and it has been signed with my GPG key.

Thursday, 28 May 2026

The SPDX Cryptographic Algorithm List keeps growing. New cryptoClass values, a structured docs folder, PQC as a new property, and SCANOSS as our first user-contributor. Here is what happened in the past months.

The community bonding period is over, and coding started, so this feels like the right moment for a first blog post. I'm contributing to KeepSecret this summer as part of GSoC 2026, working on single-wallet UX and page navigation architecture.

What I did during community bonding:

->Close/dismiss button for entry detail panel

Before the Community Bonding Period:

Resolving three issues:

  1. !17 (focus the search field when the Search action is triggered),
  2. !18 (fix the "New Entry" dialog title, which was incorrectly saying "Create New Item") and
  3. !20 (hides the sidebar when only one wallet exists, worked on the five layout states and cover edge cases like narrow windows with multiple wallets, single-wallet with an item open, and all three pages visible at once).

Week 1 plan:

This week, I'm working on Import/export: study existing wallet data structures in KeepSecret. Define file format and design the export flow.

Port KeepSecret's actions to the new org.kde.kirigami.actioncollection API from kirigami-app-components. This wasn't in the original proposal but it's a good addition, suggested by my mentor, notmart (Marco Martin) — it means users will be able to configure keyboard shortcuts for actions like "New Wallet" and "New Entry" through a standard KDE dialog.

More updates next week. The code is at invent.kde.org/utilities/keepsecret

GSoC 2026 KDE KeepSecret Kirigami Qt / QML

Wednesday, 27 May 2026

Today we're releasing Krita 5.3.2 and 6.0.2. This release fixes a number of issues with the text tool, and improves the Selection Action Panel significantly. Furthermore, Android now handles resource copying in the background, preventing a common crash on startup. In addition to that, many more bugfixes were made, including some by new contributors!

  • Fix conversion of layers names passed to GMic (Bug 517975)
  • Fix reversal of the layers when importing .kra as layers (Bug 514760)
  • Fix font selection in qt6 and improve font dropdown.(Bug 515548)
  • Fix text not getting selected when created on a normal layer (Bug 516006)
  • Make keyframe selection change layer selection.
  • Fix text shape not handling whitespace chars properly.
  • Fix KisAnimationRenderingOptions not loading frameExportConfig.
  • Several fixes for RGBE file loading.
  • Check for export status of every animation frame and error out on QFile::copy failure, Improve KisAnimationRender error handling (Thanks, Raidon Chrome).
  • Fix Selection Action Panel disappearing when toggling selection visibility (Bug 518633)
  • Add a Selection Action Panel toggle to the selection tool options docker.
  • Android: Copy assets without blocking main thread. This could take so long that Android thinks the application is not responding and prompts the user to terminate it.
  • Several fixes to testing whether the file can be created when saving a document.
  • Switch base image to Clang 21 on Windows.
  • Fix number of pixels in A1 paper preset (Thanks, Ming-Chuan Lin).
  • Add a context menu to the Selection Action Panel, and add these to the global menu bar too.
  • fix segfault in PSD COS parser (Thanks, Arimil).
  • Fix word selection when there's hard breaks present (Bug 518338).
  • Prevent division by 0 in tool outline.
  • Add buttons for italic and bold to font style.
  • Fix toggle italic action.(Bug 518890)
  • Fix font style-selection search algorithm in text properties docker. (Bug 518874)
  • Several icons for python plugins and the crash logs were added (thanks, Arkady Flury).
  • Fix warp transform preview not showing until first adjustment (Thanks, Ivan Valenzuela).
  • Revert "Fix Transform and Move shortcuts conflicting Timeline arrow key actions" (Bug 515703).
  • Create a qquickwidget based popup for handling popups with qquickwidgets, to improve the look and feel of the font dropdown.
  • Fix freeze on opening a hi-dpi image with a vector layer (Bug 519785)
  • Text: avoid potential assert when checking the text type.
  • Text: fix a bunch of potential array index crashes by using a dedicated function.
  • Don't move line origin if Alt is held at start (this interferes with users binding the Alt key to the line tool quick switch).
  • Fix saving the title element on paths correctly. This broke some symbol libraries (Bug 520345).

Check out the release notes for a full overview of all the new features in Krita 5.3 and 6.0.

⚠️ Warning

A particularly annoying set of bugs with the layer docker crept in. We're releasing a fix as soon as possible. We recommend waiting for the fix.

⚠️ Warning

One again, we consider Krita 5.3.2 suitable for productive work; 6.0.2 is, because of the many changes from Qt5 to Qt6 more experimental.

Download 5.3.2

Windows

If you're using the portable zip files, just open the zip file in Explorer and drag the folder somewhere convenient, then double-click on the Krita icon in the folder. This will not impact an installed version of Krita, though it will share your settings and custom resources with your regular installed version of Krita. For reporting crashes, also get the debug symbols folder.

ⓘ Note

We are no longer making 32-bit Windows builds.

Linux

Note: starting with recent releases, the minimum supported distro versions may change.

⚠️ Warning

Starting with recent AppImage runtime updates, some AppImageLauncher versions may be incompatible. See AppImage runtime docs for troubleshooting.

MacOS

Note: minimum supported MacOS may change between releases.

Android

Krita on Android is still beta; tablets only.

Source code

For source archives, please download one of the 6.0.2 archives and build with Qt5.

Download 6.0.2

Windows

If you're using the portable zip files, just open the zip file in Explorer and drag the folder somewhere convenient, then double-click on the Krita icon in the folder. This will not impact an installed version of Krita, though it will share your settings and custom resources with your regular installed version of Krita. For reporting crashes, also get the debug symbols folder.

ⓘ Note

We are no longer making 32-bit Windows builds.

Linux

Note: starting with recent releases, the minimum supported distro versions may change.

⚠️ Warning

Starting with recent AppImage runtime updates, some AppImageLauncher versions may be incompatible. See AppImage runtime docs for troubleshooting.

MacOS

Note: minimum supported MacOS may change between releases.

Android

Krita 6.0.2 is not yet functional on Android, so we are not making APK's available for sideloading.

Source code

md5sum

For all downloads, visit https://download.kde.org/stable/krita/6.0.2/ and click on "Details" to get the hashes.

Key

The Linux AppImage and the source tarballs are signed. You can retrieve the public key here. The signatures are here (filenames ending in .sig).