First off: We created a survey questionnaire to gather more knowledge about the relevance of configuration systems. If you are involved in the development of free and open source software (FLOSS) you are the person we are looking for.
It would be a great help if you take this survey. It will be available till 18.07.2016 (anywhere on earth).
For every thoroughly and not anonymously finished survey € 40 cent will be donated to one of the following organizations of your choice:
The three main points relevant for most people are:
git commitor log/notify when configuration files are changed.
Read more about Why using Elektra, which also contains since this release unique features, further reasons and limitations.
For a small demo see here
In this release starting developing Elektra gets easier:
ELEKTRA_DEBUGadds run-time checks and makes stack traces as if Elektra would not use plugins
CMakeLists.txtfor plugins got simplified, in most cases it should be not more than calling a single function, even if unit tests and test data are present
For details about
ELEKTRA_DEBUG and cmake, see individual points below.
There is now a fine collection of external scripts which can
kdb + <script>. The new script
provides full text search over the meta data as provided by
kdb find-tools -b BRIEFto search for a short text.
kdb find-tools -a AUTHORto search for an author.
kdb find-tools -d DATEto search for a creation date.
kdb find-tools -e EXECUTEto search for a type.
Developers should now add MetaData for their scripts..
Thanks to Kurt Micheli!
Because of its POSIX support one might think it would be trivial to support macOS. Unfortunately there were many small issues, especially in the regular expression handling and the filesystem.
Nevertheless we finally fully support macOS and the newly added travis build server makes sure it will stay this way.
A huge thanks to Manuel Mausz and Mihael Pranjić for fixing the issues and setting up travis:
.so) thanks to Mihael Pranjić
Now (nearly) every build job can be triggered from Pull Requests. For example:
For a full list see here.
Thanks to Mihael Pranjić for the setup!
include <vector>as needed by some compilers, a big thanks to Andreas Bombe for the non-maintainer upload in Debian to fix it for upcoming Debian release
kdb exportalso works under MinGW, thanks to Gabriel Rauter
add_pluginremove SHARED_SOURCES, and add
See more about changes to plugin adding in cmake in the plugin decision.
As part of the ongoing work of the bachelor thesis
Integration of Elektra into the GNOME desktop environment
we now have experimental support for Elektra as a GSettings backend on Linux
(We will look into getting macOS support on a later date).
When installed, applications using GSettings default backend will write to Elektra
/sw key. The GSettings bindings are intended as a preview version so
please do not use them in a production system.
To build the GSettings backend you have to explicitly add the binding even if
ALL is given.
All needed core functionality of a GSettings backend is already implemented.
This includes notification support if you have your
/sw mounted with the dbus plugin.
Please report any bugs you encounter.
For further information regarding the status of the implementations please refer to the corresponding README and ticket.
Mounting now supports to mount commonly known names even if the name is not a plugin.
If more than one plugin is available automatically the best one is selected.
The selection process works by annotating different qualities of the plugins,
infos/status in the README.md of individual plugins.
E.g. to mount a file using a json plugin (called yajl because of the library's name it build upon)
kdb mount file.json json
stores filtered keys internally so that they do not get accidentally lost and can be written to the storage again without the user having to remember including them in the writeout
The longer term goal is to add such global plugins per default, so that the usage of the API is easier.
For now you can simply add it using:
kdb global-mount cachefilter
Thanks to Marvin Mall.
The Qt GUI receives new features and a better gnome integration. Its version number was updated to 0.0.12 (beta). Major features:
elektra-qt-editorbinary so both the desktop files TryExec works and people not starting the gui trough
kdb qt-guihave a speaking name in their process list.
Elektra Qt Editorso that we use the same name in all places apart from the tools binary.
guisettings. We also added a private function in
guisettingsto get and set settings with a boolean value.
Thanks to Gabriel Rauter and Raffael Pancheri for the engagement in improving qt-gui.
A big thanks to Gabriel Rauter for improving the user experience with the kdb tool.
On errors and in
kdb info it was often quite hard to find the relevant text.
Now important parts are highlighted by bold or colorful text. This helps to spot the important information immediately without sacrificing information that would be important for a detailed analysis.
Every tool now has the option
-C which is set to
auto per default.
By writing to:
kdb set user/sw/elektra/kdb/#0/color off
one can go back to previous behavior.
elektraPluginGetData, thanks to Marvin Mall
ENABLE_DEBUG now enables a debug build for Elektra. It has nothing to do with debug symbols, but:
ENABLE_DEBUG is recommended for every developer, even if you are not
modifying Elektra itself. The assertions will give you hints on API misusage.
keyNew was known to be error-prone.
ENABLE_DEBUG now will report
wrong parameters by an assertion.
The old options
ELEKTRA_VERBOSE are not available anymore.
The constants plugin was updated to provide
and will no longer provide
LD_LIBRARY_PATHis added to lua and python bindings needed for macOS, thanks to Mihael Pranjić
Ni_namespace are now in
seqas it is not available in some
*BSD, thanks to Mihael Pranjić
As always, the ABI and API is fully forward- and backward-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 every program without errors (API). This time you can even compile programs against 0.8.17 and run with 0.8.16.
For the qt-gui the svg module is added as dependency.
New and missing files in the installation:
elektra-qt-editoris installed in the path (needed for TryExec in Desktop file)
libelektrasettings.sowill be installed if
gsettingsbinding is enabled
libelektra-cachefilter.sois the new cachefilter plugin
tool_exec/testmod_cachefilteris its unit test
tool_exec/find-toolsis a new python script to find other tools
applications/org.elektra.elektra-qt.desktopgot renamed to
Temporarily removed files:
testmod_python2do not work in a shared build and are temporarily disabled if
BUILD_SHAREDis enabled. Also their test data is affected.
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-Docu can be found here
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 firstname.lastname@example.org.
Permalink to this NEWS entry
For more information, see https://libelektra.org
Best regards, Markus