0.8.21 Release

We are proud to release Elektra 0.8.21.

What is Elektra?

Elektra serves as a universal and secure framework to access configuration settings in a global, hierarchical key database. For more information, visit https://libelektra.org.

The news can be read rendered at our web server.


In this release 8 authors created 307 commits and changed 217 files (5227 insertions, 1914 deletions). The highlights of this release are:

Fosdem Talk about Elektra in Main Track

We are happy to announce that there will be a talk about Elektra in one of the main tracks of Fosdem 2018:

And a second talk in the Config Management DevRoom:

See you in Brussels at 3 and 4 February 2018!

I will also be present in the Config Management Camp directly after Fosdem in Gent.

CC-licenced Book About Vision of Elektra Published

I am proud to release a book with the title "Context-aware Configuration" describing:

The Fosdem talk will cover some highlights from the book.

A huge thanks to everyone involved in the questionnaire survey, without you we would not have been able to collect all the information that led to the requirements for Elektra.

The LaTeX sources are available here and the compiled book can be downloaded from here.

Maturing of Plugins

Elektra With Encryption

The plugins fcrypt and crypto are now considered stable. They are no longer tagged as experimental. While crypto encrypts individual values within configuration files, fcrypt encrypts and/or signs the whole configuration file.

For this release Peter Nirschl prepared a demo showing Elektra's cryptographic abilities:


Thanks to Peter Nirschl for this great work!

Switch to INI

We plan to switch to INI as default storage instead of Elektra's infamous internal dump format.

As preparation work we implemented the dini plugin which transparently converts all dump files to ini files on any write attempt. Furthermore, we fixed most of the INI bugs which blocked INI to be the default storage.

Due to this progress we will likely switch to INI as default starting with the next release. If you want to, you can switch now by compiling Elektra with:

Or simply switch for your installation with:
sudo kdb change-default-storage dini

If you are already using ini as default, changing to dini will:

NOTE: INI (dini) was not completely ready for 0.8.21 thus we kept dump as default. dini is currently an experimental plugin.

Other New Features

We added even more functionality, which could not make it to the highlights:


We improved the documentation in the following ways:


As always, the ABI and API of kdb.h is fully compatible, i.e. programs compiled against an older 0.8 version of Elektra will continue to work (ABI) and you will be able to recompile programs without errors (API).

All unit tests of 0.8.20 run successfully with Elektra 0.8.21. There are, however, some additions and changes in rarely used interfaces:

Notes for Maintainer

These notes are of interest for people maintaining packages of Elektra:

Notes for Elektra's Developers

These notes are of interest for people developing Elektra:



Many problems were resolved with the following fixes:


The Order Preserving Minimal Perfect Hash Map (OPMPHM) is ready to extend ksLookup. The implementation of the randomized Las Vegas hash map algorithm is in a final stage and the heuristic functions that ensure time and space optimality are backed up by benchmarks. Thanks to Kurt Micheli, the next release will include the OPMPHM!

Get It!

You can download the release from here or GitHub

The hashsums are:

The release tarball is also available signed by me using GnuPG from here or GitHub

Already built API-Docu can be found online or GitHub.

Stay tuned!

Subscribe to the RSS feed to always get the release notifications.

For any questions and comments, please contact the issue tracker on GitHub or me by email using elektra@markus-raab.org.

Permalink to this NEWS entry

For more information, see https://libelektra.org

Best regards, Markus Raab for the Elektra Initiative