0.8.18 Release

What is Elektra?

Elektra serves as a universal and secure framework to access configuration parameters in a global, hierarchical key database. For a small demo see here:



Crypto Plugin

Gpg is now used to decrypt a master password, which is used by the individual crypto backends. So all necessary parts for encryption of decryption of individual keys is present.

Furthermore, a new botan backend was implemented.

See here

Thanks to Peter Nirschl.

Open Interception

When Elektra directly modifies config files which are on the disc, and applications read the config files without Elektra, Elektra has no control over the access, e.g. we cannot dynamically calculate values. To avoid this, we wrote a library that intercepts the open-call.

Together with the mozprefs plugin, we got control over the configuration of Firefox and can dynamically change config values with all possibilities Elektra provides.

For easy setup, we implemented the script configure-firefox.

See here

Thanks to Thomas Waser.


Resolvers in Elektra are the code that are responsible to determine where content should be read from and stored to. They are independent of the actual configuration file syntax.

The gitresolver allows you to get/store config data in git.

The blockresolver allows Elektra to take control of parts of the configuration file. This is useful for config files such as vim or zsh, which contain program code. The plugin allows you to split config files with special markers into parts containing code and others controlled by Elektra.

zsh completion

Added zsh completion file, and a script (kdb install-sh-completion) that installs bash+zsh completion when the default installation places do not work (e.g. for macOS).

Thanks to Sebastian Bachmann.




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).


Libtools got a new major version (SOVERSION 0 -> 1):


The plugins conditionals and mathcheck are incompatible in some cases because of changes in syntax.


New API: keyRel2 which differs from keyRel by allowing you to specify which relation should be checked.




Get It!

You can download the release from here and also here on GitHub

This release tarball now is also available signed by me using gpg

already built API documentation can be found here

Stay tuned!

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

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

Permalink to this NEWS entry

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

Best regards, Markus