elektrad
in GoWe are proud to release Elektra 0.9.2.
With the 0.9.x series of releases we shift our focus to bugfixes and stability improvements as needed for the KDE and GNOME integration. We do not guarantee any compatibility in this series.
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
elektrad
rewritten in GoWe created a fork of KDE's KConfig
configuration system and patched it to use libelektra. We have done some initial testing and replaced the KConfig
library for Kate and KDevelop successfully.
Additionally, we added a new Elektra plugin called kconfig
, which can read and write kconfig's INI files.
The plugin enables smooth migration of existing KDE configurations. (Dardan Haxhimustafa) and (Felix Resch)
We continued work on Elektra's bindings for GNOME GSettings. Our implementation should be able to replace the widely used dconf backend. Elektra's gsettings
bindings are not yet ready for production use, but they are already able to replace dconf
for a complete GNOME session without problems. We are still lacking proper dbus integration for change notifications. (Mihael Pranjić)
elektrad
rewritten in Goelektrad provides an HTTP API to access Elektra remotely. elektrad
is now completely rewritten in Go, which drastically improves the performance by leveraging the new go-elektra bindings instead of calling the kdb
command-line tool on every request. The new elektrad
creates a session per user to reuse the same KDB handle for correct conflict handling and better performance. (Raphael Gruber)
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.
Get started with Elektra by running docker run -it elektra/elektra
.
We removed the maintained
status of the following plugins:
New maintainers are very much welcomed!
connect-gpg-agent
failed. (Peter Nirschl)array
. (René Schwaiger)rename
fails. This problem might occur if another file system is mounted at /tmp
. (Peter Nirschl)swig_foo
to foo
. (Manuel Mausz)xmltool
plugin. (René Schwaiger)The plugin now always prints a newline at the end of the YAML output. (René Schwaiger)
The plugin does not interpret a key set such as
user/example
user/example/#0
user/example/#1
user/example/#2
as array unless the parent key user/example
contains the metakey array
. (René Schwaiger)
YAML CPP now always sets and requires the metakey type
with the value boolean
for boolean data. (René Schwaiger)
We limited the scope of a logging function of the module. This makes it possible to build Elektra again, if
ENABLE_LOGGER=ON
),BUILD_FULL=ON
) version of Elektra, andldd
any more. (René Schwaiger)argv
given by the /offset
config key. If /offset
is set, gopts
will
ignore a number of arguments at the start of argv
. This can be used in e.g. python scripts to ignore the interpreter
arguments. (Klemens Böswirth)gopts
now also writes help message into the key proc/elektra/gopts/help/message
in addition to setting
proc/elektra/gopts/help = 1
. This is especially useful in non-C/C++ environments. (Klemens Böswirth)gopts
is also affected by the changes and improvements to the opts
library outlined below.XDG_CACHE_HOME
when resolving the mmap cache directory. (Mihael Pranjić)The text below summarizes updates to the C (and C++)-based libraries of Elektra.
system/elektra/version/constants/KDB_VERSION_MICRO
to system/elektra/version/constants/KDB_VERSION_PATCH
to be compatible
with Semantic Versioning 2.0.0. (Markus Raab)elektraGetOpts
now supports sub-commands.
Sub-commands are best explained by looking at an application that uses them, like git
.
For example add
is a sub-command in git add
, and interprets -p
differently from git
:
git -p add
is git --paginate add
, but git add -p
is git add --patch
.
elektraGetOpts
now implements this notion of sub-commands.
For more information take a look at the tutorial for command-line-options.
By extension this functionality is also available via the gopts
plugin. (Klemens Böswirth)args=remaining
metadata (because their opt/help
may not be the same).
(Klemens Böswirth)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.
elektra
and elektra-sys
to crates.io. (Philipp Gackstatter)kdb cache
tool synopsis to reflect man page. (Mihael Pranjić)The fish completion script now recognizes the new names of subcommands (e.g. meta-set
instead of setmeta
) introduced with Elektra 0.9.1
. (René Schwaiger)
The script reformat-cmake now reformats the code with cmake-format
0.6.3. (René Schwaiger)
The scripts
now uses clang-format
9 to reformat the code base. (René Schwaiger)
The script reformat-shell now makes sure that you do not use shfmt
3, which formats parts of the code base slightly differently. (René Schwaiger)
validation tutorial
(Anton Hößl)web
tool. (René Schwaiger)docker reformatting tutorial
(Jakob Fischer)1.10
to test Elektra. (René Schwaiger)...
any more. (René Schwaiger)KDB_EXEC_PATH
is not being set globally to contain the build directory any longer. (Peter Nirschl)fork
and execv
instead of system
. (Peter Nirschl)We do not use implicit typing in the code of the
augeas
,base64
, andblockresolver
plugin any more. After this update, the code compiles without any warnings, even though we now use the compiler switch -Wconversion
. (René Schwaiger)
3.4
(released in November 2015). (René Schwaiger)add_msr_test
and add_msr_test_plugin
do not export the list of required plugins as environment variable any more. (René Schwaiger)debian-unstable-full-clang
due to upstream issue. (Mihael Pranjić)debian-unstable-clang-asan
and debian-unstable-full-clang
now use Clang 9 to compile Elektra. (René Schwaiger)Jenkins.monthly
in the Jenkins' scripts file. (Djordje Bulatovic)Cargo.lock
file. (Philipp Gackstatter)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:
We closed 40 issues for this release.
About 23 authors changed 653 files with 15221 insertions(+) and 18890 deletions(-) in 815 commits.
Thanks to all authors for making this release possible!
René Schwaiger finished his thesis about parsing techniques and parsing tools for configuration files.
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:
The release tarball is also available signed by Mihael Pranjic using GnuPG from here or on GitHub.
The following GPG Key was used to sign this release: 9C18145C22F9E746D743DEC59ECC0F4CF0359C7B
Already built API documentation 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.
For more information, see https://libelektra.org
Best regards, Elektra Initiative