Skip to content

Krita 4.4.0 Release Notes

Previous Post | Monday, 10 August 2020 | Reading time: 16 minutes | Next Post

If we had to give a theme to this release, it would be textures and patterns. This was half by coincidence, one of our GSoC students this year focused on getting SeExpr integration going, one of the mentors decided to work in the same area, and two volunteer contributors also came up with pattern and texture related features.

Fill Layers

This release brings a lot of updates and changes to fill layers.

Multi-threading for fill layers

Fill layers can now make use of multi-threading. This means that if your computer has multiple cores, Krita can subdivide the calculation work for making fill layers between them. This makes fill layers a lot faster.

Transformations for the pattern fill

The different pattern transforms possible now.

The patterns of fill layers can now be transformed, allowing you to amongst others, rotate the patterns. This has also been implemented for the shape drawing tools and the bucket fill, and had been long on the to-do list.


A new fill layer option specialized in filling the whole screen with dots, squares, lines, waves or more. This fill layer allows you to quickly generate the simple pattern you need on the fly, which is very useful for those doing comic book illustration or similar highly graphics styles.


A fill layer that generates, among others, Penrose tilings, as well as Quasicrystal structures. The results are rotationally symmetric, but aperiodic, meaning these rhomb patterns don't repeat themselves.

This filter was inspired by the next item on the list...


SeExpr Manual

Amyspark's Google Summer of Code project, the integration of Disney Animation's SeExpr expression language. SeExpr is in effect a tiny shader language that is used by Walt Disney Animation Studios itself to generate textures and materials on the fly for their animations. Within Krita, this allows you to code your own fill layers. We've also tried to come up with a good set of defaults to work off from and included them.


Following the addition of the lightness mode in 4.3, this release sees another round of features for the brush engines.

Top stroke: using a combination of the new lightness parameter with the mix parameter. Bottom stroke: using the texture strength parameter to mix gradient mapped brush tips and textures.

Gradient Map mode for Brush-tips

If lightness mode is not subtle enough for you, you can now also use the global gradient to color a brush tip. Especially useful with small repeating objects like flowers and leaves.

Lightness and Gradient modes for brush textures

Brushes now have the ability to use lightness and the gradients for textures as well.

Diagonal selection lines in MyPaint color selector (Shift+M)

Diagonal lines allow modifying lightness and saturation of the currently active color at the same time.

Diagonal lines in MyPaint Color Selector (Shift+M)

Diagonal lines in MyPaint Color Selector (Shift+M)

Support for dynamic use of currently selected colors in gradients.

While Krita had support for the GIMP Gradient format, we never supported the dynamic changing of gradients based on the current fore and background colors. Nor did we do so for the layer styles. This has now been added. Several of the bundled presets use the foreground color to easily create sparks, haze and other effects.


Little sparkles added with the 'GPS glare' default, different colors are a different foreground color.


While most of the animation work is happening in master and will be in the next big Krita release, some choice features have made it to 4.4:


GDQUEST Batch Exporter add-on

An exporter for batch exporting the layers and positions from Krita. Made by the folks over at Game Design Quest:

Python plugin Channels to Layers

By Gwendal Blanchard, this plugin allows you to quickly separate the image channels into layers.

API changes

New Python scripting website

To learn about the new scripting APIs, or learn how to script with Krita in general, a new website was made to assist. It is broken apart into various sections of what scripting can do.