We are proud to release Elektra 0.8.21.
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:
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.
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.
=
) signs.0
, 1
, true
and false
.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!
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:
-DKDB_DEFAULT_STORAGE=dini
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:
dini
always checks if a file uses the dump
format, unless the dump
plugin is not installed.binary
pluginNOTE: INI (dini) was not completely ready for 0.8.21 thus we kept
dump
as default.dini
is currently an experimental plugin.
We added even more functionality, which could not make it to the highlights:
kdb rm
now supports -f
to ignore non-existing keys
use %
as profile name to disable reading from any profile
The new function elektraArrayDecName
:
int elektraArrayDecName (Key * key);
decreases the index of an array element by one. It can be used to reverse the effect of elektraArrayIncName
,
thanks to René Schwaiger
We improved the documentation in the following ways:
jni
plugin. The ReadMe now also contains information about the Java prerequisites of the jni
plugin on Debian Stretch.jenkins build all please
and jenkins build doc please
were documented
thanks to René SchwaigerAs 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:
elektraArrayDecName
and elektraArrayValidateName
in libeasekdbinvoke.h
interface: make structure private and complete APIxmlns
and xsi:schemaLocation
to be https://www.libelektra.org
kdbopmphm.h
got nearly rewrittenThese notes are of interest for people maintaining packages of Elektra:
libelektra-dini.so
libelektra-directoryvalue.so
testmod_directoryvalue
camel
crypto
mini
xerces
yamlcpp
intercept-fs
is now marked more clearly as experimentaljni
plugin is again experimental because it does not work with some Java systems.
For the lua
plugin there are also problems with some Lua systems.These notes are of interest for people developing Elektra:
jenkins build all please
thanks to René Schwaiger.
Please use it carefully, since it puts our build server under heavy load.tests/icheck.suppression
to disable already checked API changes.kdb-static
or kdb-full
if kdb
is not available (BUILD_SHARED=OFF
)Many problems were resolved with the following fixes:
dbus_connection_unref(NULL)
API
thanks to Kai-Uwe Behrmannstd::bind
thanks to Nick Sarnieboolean
plugin:kdb info -l
does not open KDB
anymore.change-resolver-symlink
and change-storage-symlink
now correctly use
@TARGET_PLUGIN_FOLDER@
elektraArrayValidateName
, thanks to René SchwaigerThe 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!
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 documentation can be found online or GitHub.
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.
For more information, see https://libelektra.org
Best regards, Markus Raab for the Elektra Initiative