Welcome to this week’s edition of the Krita Weekly Development Update, brought to you by the @Krita-promo team. This meeting was led by @Halla.
Statistics
- Commits: Excluding merges, 9 authors have pushed 21 commits to master and 40 commits to all branches.
- Downloads (downloads.kde.org): 75,556 unique downloads last week.
- Web traffic: 145,511 visits, 385,317 unique page views last week
- Donations: 6,730 in the past month
- Fund.krita.org: 189 subscribers (peak was 202, last week 189)
- Krita-artists.org: Pageviews last week – 236,000
- Twitter: 59,124 (58,954)
- Mastodon: 5,382 (5340)
- Peertube: 714 (703)
- YouTube: 60,800 (60,500 last week)
Highlights of this week
- Updating to a newer version of Qt – the core technology that krita is built on – is going smoothly. Windows and Linux builds are done, macOS needs a little more testing. @sh-zam has ported all required Android patches and is almost done fixing Krita to build against Qt 5.15.
- The team is planning to make a bug fix release next Thursday.
- On the website update, @scottyp is working adding KDE hugo module. This module is developed to be used for KDE websites using common components on the websites like the language chooser.
- @RamonM is working on the script for a new YouTube video.
- @Halla was sick last week. She did all the admin work on Sunday.
- @Wolthera got all the fonts for the automated testing of the text engine sorted out.
- @Tiar ported the curve brush engine to the new Lager library that @dkazakov implemented. She has started porting the spray brush engine now.
- This week @eoinoneill and @emmetpdx worked mainly on making changes to the render animation GUI and related bits to make sure that Krita reacts properly to different builds of FFmpeg. It will check with FFmpeg which codecs are available on the system and use that to determine which options we should provide to the export options.
- @dkazakov spent a couple of days porting linux patches to Qt 5.15. He also fixed the Windows subwindow bug in Qt 5.15. Later he switched back to porting the MyPaint brush engine to Lager which is really complicated given all the options it has. He managed to complete 30% of the work this week.
- @sh-zam removed some actions and layouts on Android which detach canvas or create a separate main window. Since the main window is typically maximized on Android, this only creates problems. They worked on implementing a checkbox for selecting layers that will help users who are on touch devices to select multiple layers. The MR is under review and some styling and theming issues need to be sorted out.
- @Amyspark is still in the dependency and library work, mainly for FFmpeg. They also triaged some bugs relating to CMYK library code. They are also reviewed the color profile fixes that @Kampidh has been sending us, and will triage the big bug about TIFF and EXR exports being broken. They will follow up on the rest of the contributions that were done for upstream libraries this week.
- @Deif_Lou tried to replicate the bevel and emboss layer effect. It is more complex than the others due to the number of parameters involved. By the end of the week they tackled the “outer bevel” with “chisel hard” technique, except for the texture. Here is a demonstration - bevel & emboss test 02 - YouTube
Summary
Another full week for the dev team. Work has begun to update to a newer version of Qt. This is an important project as Krita is based on Qt. Another brush engine has been ported to Lager (that is the new brush editor build) and two more are underway. There will be a bug fix release (5.1.4) likely this week.
Looking for a way to help Krita? Here are three ways. You can suggest text edits for the new website on this thread, assist new users by answering questions in the Support and Advice category on K-A, and contribute to the Krita Development Fund.
Commits
This is compiled by @freyalupen.
Commits (Click to expand and read)
What follows is a list of changes made to Krita’s code over the last week (November 28 to December 5, 2022). These changes are available in the latest nightly builds:
- Stable “Krita Plus” (5.1.x): Linux - Windows - macOS
- Unstable “Krita Next” (5.2.x): Linux - Windows - macOS - Android
Major changes (new features, major bugfixes):
5.1.x branch (Krita Plus):
** Crash bugfix:
-
PasteIntoAction: Preserve shared pointer as a variable [Mike Will]
Fixes some of the crashes with the Paste into Active Layer action.
Minor changes (small bugfixes, small tweaks to features):
5.1.x branch (Krita Plus):
** File formats:
- tiff: Fix TIFFFdOpen (undocumented) requiring HANDLE instead of FILE* on Windows [Amy spark]
- 420932 tiff: Implement detection of resolution unit [Amy spark]
** Colorspaces:
- Fix LCMS ICC color primaries and white point detection [Rasyuqa A. H.]
- 459117 Parse transfer characteristics from ICC profiles [Rasyuqa A. H.]
5.2.x branch (Krita Next):
** Dockers:
-
Made the widget KisResourceItemChooser support narrow horizontal layout [Măcelaru Tiberiu]
This lets the Brush Preset docker support a narrow horizontal layout.
** Colorspaces:
-
462356 Update LittleCMS to 2.14 and revert a fix for CMYK optimizations [Amy spark]
Fixes a bug with CMYK colorspaces.
Technical changes (mostly invisible to users; code refactors, build fixes, tests, logging):