Elektra  0.9.5
0.9.5 Release

We are proud to release Elektra 0.9.5.

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.

You can also read the news on our website

You can try out the latest Elektra release using our docker image elektra/elektra. This is the quickest way to get started with Elektra without compiling and other obstacles, simply run docker run -it elektra/elektra.

The signature of kdbOpen has been changed from

KDB * kdbOpen (Key * errorKey);

to

KDB * kdbOpen(const KeySet * contract, Key *parentKey);

You can use kdbOpen (NULL, errorKey) to get the same behaviour as before.

The new parameter contract is similar to what could be done via kdbEnsure (which has been removed). Currently, the contract allows you to mount global plugins and add data into the global KeySet (passed to all plugins) during kdbOpen. This alone is already quite powerful, but we might more functionality in future releases.

For now, there are three use cases for the contract parameter. All of them are covered by helper functions:

int elektraGOptsContract (KeySet * contract, int argc, const char * const * argv, const char * const * envp, const Key * parentKey, KeySet * goptsConfig);
int elektraIoContract (KeySet * contract, ElektraIoInterface * ioBinding);
int elektraNotificationContract (KeySet * contract);

With elektraGOptsContract you can mount and set up the gopts plugin used for command-line argument parsing. The other two functions are the new way to configure Elektra's notification feature.

For more information take a look at doc/dev/kdb-contracts.md

The following section lists news about the plugins we updated in this release.

The text below summarizes updates to the C (and C++)-based libraries of Elektra.

Bindings allow you to utilize Elektra using various programming languages. This section keeps you up to date with the multi-language support provided by Elektra.

Ongoing work on bringing the JNA binding up to scratch and improving developer experience. Both for JNA binding API consumers, as well as future JNA binding contrubutors. _(Michael Tucek)_

Add support for keyset.remove(key). _(Manuel Mausz)_

The website is generated from the repository, so all information about plugins, bindings and tools are always up to date. Furthermore, we changed:

We are currently working on following topics:

<<scripts/git-release-stats 0.9.VER-1 0.9.<<VERSION>>>>

We welcome new contributors! Read here about how to get started.

As first step, you could give us feedback about these release notes. Contact us via our issue tracker.

You can download the release from here or GitHub

The hashsums are:

<<scripts/generate-hashsums elektra-0.9.<<VERSION>>.tar.gz>>

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

The following GPG Key was used to sign this release: 12CC44541E1B8AD9B66AFAD55262E7353324914A

Already built API-Docu can be found here or on GitHub.

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

If you also want to participate, or for any questions and comments please contact us via our issue tracker on GitHub.

Permalink to this NEWS entry

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

Best regards, Elektra Initiative