Welcome to the Weekly Development Update, brought to you by the @Krita-promo team. This meeting was led by @amyspark.
Statistics
- Downloads (kde.org) 93,073 unique downloads last week (79,388)
- Web traffic: 176,125 visits (184,871), 385,652 (408,467) unique page views last week
- Donations: 8048 euros (7792) in the past month
- Fund.krita.org: 185 subscribers (peak was 202, last week 190)
-
Krita-artists.org: Krita-artists.org: Pageviews last week - 238K (266k last week)
- Active Users Last week - 844 (793)
- Total Posts Last Week - 1.9k (2.8k)
- Sign-ups - 19.6k (19.4k)
- Twitter: 63,087 (63,014)
- Mastodon: 7.1k (6.9k
- Peertube: 762 (763)
- Krita subreddit: 70,974 (70.7k) members
- YouTube: 63,000 (62,700) subscribers
Overview of ongoing work
- Bugs caused by recent dependency upgrades are still being sorted out, so the nightly builds continue to be highly unstable.
- The team spent most of the week fixing bugs and triaging bugs. The majority of the work is also on updating dependent libraries and programs to newer versions. Updating the dependencies sometimes results in a new set of bugs and it takes time to stabilize everything.
- @dkazakov wrote developer documentation on XSIMD, a library that is used to run a single instruction on multiple data at once (SIMD). The goal is for developers to use this guide to improve performance of image calculations in certain parts of Krita. Then he spent some time on bug reports, fixing some crashes related to layers.
- @wolthera researched more about the text saved in PSD and right now she has recorded her findings here - PSD Text support (#25) · Issues · Wolthera van Hövell / Krita · GitLab
- @Tiar worked on the drawing ellipse in perspective assistant and also porting the spray brush engine to Lager.
- @emmetpdx solved the FFmpeg dependency building problem on Linux.
- @sh-zam and @IvanYossi worked on fixing bugs on Android and macOS respectively.
- The team discussed a set of rules while dealing with contributions of other team members and how to mitigate a situation when someone else’s change breaks a Krita build.
Ways to help Krita
Krita is built by the community and we appreciate your help. Here are some ways you can contribute:
- Participate in (and share!) the monthly art challenge
- Report bugs on bugs.kde.org. It is really important to file a ticket so that it is known to the developers.
- You can contribute to the Krita Development Fund
- Contribute code
- Volunteer to help us maintain the website
- Write manuals
- Or just answer questions and help other users here
If you have any feedback for this report, please do leave us a comment.
Commit report
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 (January 16 - January 23, 2023). 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.2.x branch (Krita Next):
** Linux crashfix:
-
Revert “OpenGL: increase minimum to ES 3 / 4.1 core” [Dmitry Kazakov]
Fixes an issue where recent Linux builds would not start with an error of ‘The X11 connection broke’.
** Windows bugfixes:
-
frameworks: Recover and reapply Halla’s change of DATAROOTDIR [Amy spark]
Fixes various issues with recent Windows builds that were caused by data being in the wrong folder after upgrading KDE Frameworks.
** Layers crashfixes:
-
Fix double extension of the update rect when flattening transform masks [Dmitry Kazakov]
Fixes an issue where flattening Transform Masks wouldn’t finish. -
Fix synchronization of actions in SplitLayer [Dmitry Kazakov]
Fixes an issue where splitting Colorize Masks wouldn’t finish. - Fix a crash when trying to remove an active (overlayed) selection mask [Dmitry Kazakov]
** Shortcuts:
-
Add a shortcut key to sample color from the screen [killy |0veufOrever, Deif Lou]
Adds the ability to assign the Screen Color Sampler available in the Simple Color Selector to a shortcut.
Minor changes (small bugfixes, small tweaks to features):
5.2.x branch (Krita Next):
** Tools:
-
Fix flickering in Outline Selection tool [Dmitry Kazakov]
Fix an assert in fractional DPI mode [Dmitry Kazakov] -
Optimize KisOptimizedBrushOutline::boundingRect() further [Dmitry Kazakov]
Fix caching in KisOptimizedBrushOutline [Dmitry Kazakov]
** File formats:
-
kis_exiv2_common: Fix language array values like dc:rights not being serialized back [Amy spark]
kis_exiv2_common: Implement efficient lossless string array serialization [Amy spark] -
JPEG-XL: optimize box type checks [Amy spark]
JPEG-XL: prevent possible duplicate box insertion
JPEG-XL: fix Qt doing a temporary out of all the metadata [Amy spark]
** Brushes:
-
Use “new” HSV algorithm in the brush option [Dmitry Kazakov]
Changes the Hue, Saturation, Value curve options of brushes to use the current, more accurate HSV calculation instead of the filter’s “Legacy mode”.
** Colorspaces:
Technical changes (mostly invisible to users; code refactors, build fixes, tests, logging):
5.2.x branch (Krita Next):
** Build:
- kritametadata: Fix clangd failing to IntelliSense headers due to a missing dependency [Amy spark]
- global: Fix ECM exception handling semantics mismatch in MSVC [Amy spark]
-
Remove initialization of WindowsSdkDir variable [Dmitry Kazakov]
Remove mentions of WindowsSdkDir [Dmitry Kazakov] - Port Qt’s sanitizer option to the newly added option in Qt 5.15.7 [Dmitry Kazakov]