News

KPhotoAlbum 5.7.0 out now09 Aug 2020

We’re pleased to announce a new release of KPhotoAlbum, the KDE photo management software! This time, it’s mostly a maintenance release with a lot of code cleanup and bug fixes. Nevertheless, there are also some changes and new features. In detail:

Enhancements/Features/Changes

  • Custom color schemes: Most notably, we added support for custom color schemes. KPhotoAlbum now also has a “Dark Mode”:
    Side-by-side comparison of light and dark themes
    Comparison: Light and Dark Theme

    Note: This feature replaces the custom background color for the thumbnail view.

  • Image search: We now offer experimental options for image search tuning.

  • Thumbnails: We added the new CLI utility kpa-thumbnailtool to manage KPA’s thumbnail cache. The cache now also contains the thumbnail size. Please notice that after the thumbnail cache was converted to the new format, older versions of KPhotoAlbum can no longer read it!

  • Privacy lock: The fake password-protection has been removed from privacy lock. Even with the warning message it might give somebody a false sense of security.

  • HTML export: HTML export themes missing a name are no longer displayed.

Bugfixes

In addition to other bugfixes, these have been addressed in the new release:

  • Make sure tag groups are always added to tag list as well (Fixes #423334).

  • Fixed handling of negation in searches (Fixes #334672).

  • Fix crash when dragging an image beyond the last thumbnail (Fixes #418251).

  • Fixed crash when ffmpeg can’t extract video thumbnails (Fixes #422555).

  • Removing a token no longer makes it disappear from the annotation dialog (Fixes #423978).

  • Sanitize input for the Tokens category, make Folder and Media Type categories read-only (Fixes #423979).
    We now have three types of list selects:

    Tag selection lists of the annotation dialog showing indicators for Selectable-only and Read-only categories.
    "Normal" editable category (left), category that can only be selected (middle), read-only category (right)

The complete list of changes and fixes is listed in the ChangeLog.

Distribution-specific changes

This may be of interest esp. for the distributors:

  • Marble/libkgeomap: We no longer use Digikam’s libkgeomap to display geographic information and map views. Instead, we now utilize Marble directly.

  • KIPI plugins: The support for KDE’s KIPI plugins has been removed in favor of the new Purpose infrastructure.

  • Python 2: KPhotoAlbum’s Python 2 API has been dropped, along with all associated Python 2 scripts.

  • Qt 5.15: KPA’s code has been widely reworked and modernized (esp. speaking of using C++11 features instead of their old Qt macro counterparts) and now compiles again warning-free with Qt 5.15.

Thanks to everybody involved

According to git, the following individuals did commits this time (in alphabetical order):

  • Yuri Chornoivan
  • Robert Krawitz
  • Tobias Leupold
  • Jesper K. Pedersen
  • Johannes Zarl-Zierl

Thanks a lot to everybody having put work in this release!

— Tobias

State of KPhotoAlbum22 Mar 2020

As promised on our mailing list back in April 2019, we are doing semi-regular updates on the state of KPhotoAlbum. To increase the visibility, from now on we also publish these reports on our project website.

So, what happened since the last update and how did we hold up?

Integrating KPhotoAlbum closer with the greater KDE community

So far, this goal is doing quite well. A visible indicator of this is the new website, which is not just good-looking, but visually in line with other KDE project websites.

On a personal note, I went to FOSDEM this year. Unfortunately, my time with other KDE people was very limited (to put it mildly), as I was occupied with FSFE topics. I did, however, say hello at the KDE booth, and was very touched by the warm welcome there. Bhushan immediately recognised me and handed me a KDE nametag, and I had a nice chat with Nicolas about some Purpose issue I was having.

KIPI Deprecation and Purpose Integration

KPhotoAlbum 5.6 was the first major version with support for the Purpose plugin framework, and the last major version to support the now unmaintained KIPI plugin interface.

The Purpose plugin framework is already supported by a number of applications, such as Spectacle and Gwenview. At this time, Purpose plugins are focused around sharing images with devices or web services.

At its prime, KIPI had quite an assortment of useful plugins. If there is a specific feature that you would like to implement as a Purpose plugin, contact us so that we can make it happen.

The Great Refactoring

As promised, this goal will stay with us for the years to come. Still, we would have liked to spend more time on refactoring KPhotoAlbum to reduce the technical debt of the codebase.

What’s New?

Geolocation Mapping

KPhotoAlbum 5.7 will see a complete rewrite of our map feature.

We have spent a good amount of work into replacing libkgeomap with Marble. By using Marble directly instead of depending on libkgeomap as a wrapper, we could both simplify the code for our map widget (one less layer of abstraction) and add new features to the map.

On the downside, as with every rewrite, there may be some new bugs that we haven’t found yet.

Tooling

Sometimes, a graphical user interface won’t cut it. For that reason, Robert has contributed the kpa-filter and kpa-merge scripts for working with database files on the commandline.

Robert is working on a replacement for kpa-merge, called kpa-util. The new script will allow users to add tags to existing categories, and to tag images without the need for a graphical user interface.

KDE Community Goals

The KDE community has decided on three goals to focus on for the next couple of years.

We already have some ideas on how to improve KPhotoAlbum regarding the Consistency goal. If you have further suggestions and ideas we would love to hear them!

— Johannes

Hotfix: KPhotoAlbum 5.6.112 Feb 2020

We just did a bugfix release for KPhotoAlbum 5.6. It fixes just one bug (#417360), but this one rendered the usage of tagged areas unusable: KPA crashed as soon as one tried to assign a tag to an area.

Big thanks to Johannes for fixing this in no time (and finding it before the distributors add version 5.6 ;-)

— Tobias

KPhotoAlbum 5.6 released08 Feb 2020

We're pleased to announce a new release of KPhotoAlbum, the KDE photo management software!

This release particularly brings huge performance improvements when tagging a large number of images and performance improvements for thumbnail view. Kudos to Robert Krawitz for again diving into the code and finding places for optimization and removal of redundancy!

Additionally, this release adds support for KDE's purpose plugin framework.

Other changes (from the ChangeLog):

  • Change: Don't build with remote interface by default. The companion app has not been available for Android for a while now. This feature will either be removed in the future, or the Android app will be re-published.
  • Bugfix: Make theme files translatable (Fixes #406144).
  • Bugfix: Prevent invalid tag id in index.xml when renaming tags under some circumstances. When invalid ids already are present in an index.xml file, automatically repair if possible, or alert the user that manual repair is needed. (Fixes #415415)
  • Bugfix: Deeply nested tag groups are now displayed correctly in the tag groups settings page.
  • Feature: Show newly added tagged areas in the annotation dialog's fullscreen preview.
  • Feature: Add filter to thumbnail view, allowing filtering by token or rating.
  • Feature: Make it possible to hide the search bar and the filter toolbar.

Thanks to everybody who put work in this release. The git log lists the following individuals:

  • Yuri Chornoivan
  • David Faure
  • Robert Krawitz
  • Tobias Leupold
  • Jesper K. Pedersen
  • Jonathan Riddell
  • Johannes Zarl-Zierl

— Tobias

KPhotoAlbum 5.5 released and new project maintainer28 Apr 2019

We're pleased to announce the newest release of KPhotoAlbum, the photo management software for KDE/Linux.

This release is mostly about optimization and bugfixes. Most notably, we now support compilation with exiv2 0.27. Also, using mplayer for video thumbnail generation has now been removed, leaving the task for ffmpeg. Please also notice that, starting with this release, at least Qt 5.9 is required to build KPhotoAlbum.

Other changes from the ChangeLog:

  • Enhancement: Display dates when browsing categories. When browsing categories, two columns "Start Date" and "End Date" have been added. These columns correspond to the time range of the images tagged with that particular tag.
  • Enhancement: Faster display of browser overview page. Depending on the current context, the overview should now be displayed significantly faster (on my particular system the time to display the "Home" page dropped from 500ms to 25ms).
  • Change: More intuitive handling of down button in annotation dialog. Pressing the "down" button in a ListSelect in the annotation dialog now selects the first item, not the second one.
  • Change: Use non-linear scaling for DateBar by default. (Implements #356810)
  • Change: Instead of having "increase/decrease thumbnail storage size buttons", show a "Thumbnail settings" button in the status bar. (Fixes #357239)
  • Bugfix: Restore correct behaviour for "Statistics..." action. Thanks to Andreas Schleth for finding and fixing the issue!
  • Bugfix: Fix loading of user shortcuts for the annotation dialog.
  • Enhancement: Add "clear selection" menu item.
  • Bugfix: Fix zooming for raw images. Thanks to Angel Lopez for the bug report and help in finding the root cause!

Thanks to everybody who put work in this release. The git log lists the following individuals (with me being only responsible for the release this time ;-)

  • Robert Krawitz
  • Tobias Leupold
  • Alexander Potashev
  • Johannes Zarl-Zierl

New official project maintainer

Apart from this, we're very happy to now have a new official maintainer!

Jesper "blackie" Pedersen (the original project maintainer and founder of KimDaBa/KPhotoAlbum) announced his retirement from the project a long time ago, back in 2012.

Mostly, Johannes Zierl-Zarl lead the project commissarially since, at least from 2014 on when I joined it (and still, the fact that I even know a bit about C++/Qt coding and that I'm a KDE developer now are mostly caused by him being a forbearing, tireless and competent coach).
Now, quite some time later, he's officially the project leader. And fore sure, he's the one who knows his way around in more than 80,000 lines of KPA code.

So thanks once again to Jesper for founding this nice project and maintaining it for years! And big thanks to Johannes for accepting his inheritance and continuing to care about KPhotoAlbum!

— Tobias

Hotfix: KPhotoAlbum 5.4.2 released06 Feb 2019

Dear distributors, please replace KPhotoAlbum 5.4 with 5.4.2 and remove this version from your repositories as soon as possible!

We just released a bugfix version of KPhotoAlbum, version 5.4.2 (there's no version 5.4.1, I messed up the tarball, but it already was on the mirrors when I noticed, so I had to increase the version number another time ;-)

This version is essentially only about one bug, Bug #403668, which is fixed with version 5.4.2.

The default storage format has been changed from the "more readable" format to the "faster" one and is silently changed by version 5.4 when saving the first time. The bug lead to data loss if a category name contained non-ASCII characters: the respective category and all tags within were discarded. If you don't have category names with non-ASCII characters, you're safe.

If you already used version 5.4 and have category names with non-ASCII characters, please update to version 5.4.2, revert your XML database to a backed up one with the original data (luckily, KPA creates backups automatically in case you don't have an "own" backup) and run the new version. The database will be stored using the "fast" format, without losing anything.

Sorry for all inconvenience!

Apart from this, we also included the fix for Bug #403721. This one was "only" about a possible crash, which is also fixed with version 5.4.2.

All patches used in this version have been contributed by Johannes Zarl-Zierl, thanks for fixing this immediately!

— Tobias