\label{doc_news_2016-04-29_0_8_16_md_md_doc_news_2016_04_29_0_8_16}%
\Hypertarget{doc_news_2016-04-29_0_8_16_md_md_doc_news_2016_04_29_0_8_16}%

\begin{DoxyItemize}
\item guid\+: 9c9247ee-\/ee9c-\/4f4a-\/a68e-\/76959def9b82
\item author\+: Markus Raab
\item pub\+Date\+: Fri, 29 Apr 2016 12\+:45\+:39 +0200
\item short\+Desc\+: adds stability improvements, configuration profiles \& new plugins
\end{DoxyItemize}

In case you do not yet know about it, here is an abstract about Elektra\+:

Elektra serves as a universal and secure framework to access configuration parameters in a global, hierarchical key database. Elektra provides a mature, consistent and easily comprehensible API. Its modularity effectively avoids code duplication across applications and tools regarding configuration tasks. Elektra abstracts from cross-\/platform-\/related issues and allows applications to be aware of other applications\textquotesingle{} configurations, leveraging easy application integration.

Elektra consists of three parts\+:


\begin{DoxyEnumerate}
\item {\itshape Lib\+Elektra} is a modular configuration access toolkit to construct and integrate applications into a global, hierarchical key database. The building blocks are\+:
\begin{DoxyItemize}
\item language bindings (inclusive high-\/level interfaces)
\item Gen\+Elektra, the code generator for type-\/safe bindings
\item plugins for configuration access behavior and validation
\end{DoxyItemize}
\item {\itshape Spec\+Elektra} is a configuration specification language that is easy to use and self-\/contained in the same key database (i.\+e. written in any of the configuration file formats Elektra supports).
\item Tools on top of Lib\+Elektra for administrators, such as CLI tools and GUIs.
\end{DoxyEnumerate}

See \href{https://libelektra.org}{\texttt{ https\+://libelektra.\+org}}

The same text as follows is also available \href{https://doc.libelektra.org/news/9c9247ee-ee9c-4f4a-a68e-76959def9b82.html}{\texttt{ here as html}} and \href{https://github.com/ElektraInitiative/libelektra/blob/master/doc/news/2016-04-29_0.8.16.md}{\texttt{ here on Git\+Hub}}\hypertarget{doc_news_2016-04-29_0_8_16_md_autotoc_md3278}{}\doxysection{Highlights}\label{doc_news_2016-04-29_0_8_16_md_autotoc_md3278}

\begin{DoxyItemize}
\item Elektra now allows applications to support multiple profiles with a plugin, thus {\itshape without code modifications} in Elektra applications. That means a user can select multiple configuration files to use, even if the application has no explicit support for it. It completes the cascading feature (level {\ttfamily \$\+HOME} before /etc), to allows us also to select different configuration for the same level.
\item Resolver can now better handle conflicts that happen when files are removed and others that happen within a single time tick (resolution of your clock) and also better handles NFS and older file systems
\item Default storage and resolver can be changed by symlink. So no need to recompile Elektra to change the default storage from INI to dump. INI now works quite reliable as default plugin and already used by default by its author Thomas Waser.
\end{DoxyItemize}\hypertarget{doc_news_2016-04-29_0_8_16_md_autotoc_md3279}{}\doxysection{Other important features}\label{doc_news_2016-04-29_0_8_16_md_autotoc_md3279}

\begin{DoxyItemize}
\item shell plugin allows you to execute shell commands on every KDB access and curlget plugin allows you to download configuration files from a URL during KDB access.
\item Improvements in sync/merge of qt-\/gui with important fix (Usage of 0.\+8.\+15 qt-\/gui is discouraged)
\item Add plugin for dpkg database (read-\/only)
\item Assignment for conditionals using {\ttfamily assign/condition}.
\item Support for multiple and nested statements
\item Support for {\ttfamily condition/validsuffix} which allows you to suffix numbers with signs such as {\ttfamily \%} or {\ttfamily \$}. It does not check if the suffixes are identical.
\item kdb mount now uses topological sorting to always find a dependency solution if there is one, many effort was put in that ordering is as requested, thanks to Thomas Waser for the topological sorting implementation
\item Frontend generated by Gen\+Elektra now also can reload its values with taking the correct context into account.
\item Source is now automatically formatted and formatting is checked on build server
\item More flexible CMake syntax for PLUGINS
\end{DoxyItemize}\hypertarget{doc_news_2016-04-29_0_8_16_md_autotoc_md3280}{}\doxysection{Plugins}\label{doc_news_2016-04-29_0_8_16_md_autotoc_md3280}
Many new or vastly improved plugins are waiting to be explored.\hypertarget{doc_news_2016-04-29_0_8_16_md_autotoc_md3281}{}\doxysubsection{curlget}\label{doc_news_2016-04-29_0_8_16_md_autotoc_md3281}
The plugin curlget fetches a configuration file from a remote host before the configuration is being accessed\+:


\begin{DoxyCode}{0}
\DoxyCodeLine{kdb mount -\/R noresolver /tmp/curltest.ini system/curltest ini curlget url="{}https://raw.githubusercontent.com/ElektraInitiative/libelektra/master/src/plugins/ini/ini/plainini"{}}
\DoxyCodeLine{kdb ls system/curltest  \# every get access will redownload the file}

\end{DoxyCode}


Thanks to Thomas Waser!\hypertarget{doc_news_2016-04-29_0_8_16_md_autotoc_md3282}{}\doxysubsection{INI}\label{doc_news_2016-04-29_0_8_16_md_autotoc_md3282}
The INI plugin is still under heavy development and was again nearly rewritten\+:


\begin{DoxyItemize}
\item fixed key is below hacks
\item fixed ordering
\item custom delimiter
\item use meta array for comments
\item rewritten ordering
\item best effort order
\item fixed array support
\end{DoxyItemize}

Thanks to Thomas Waser!\hypertarget{doc_news_2016-04-29_0_8_16_md_autotoc_md3283}{}\doxysubsection{shell}\label{doc_news_2016-04-29_0_8_16_md_autotoc_md3283}
This plugin allows you to executes shell commandos after kdb\+Get, kdb\+Set and kdb\+Error (failing kdb\+Set)\+:


\begin{DoxyCode}{0}
\DoxyCodeLine{kdb mount /tmp/test.ini system/shelltest ini array= shell 'execute/set=echo set >> /tmp/log,execute/get=echo get >> /tmp/log'}
\DoxyCodeLine{kdb set system/shelltest}
\DoxyCodeLine{cat /tmp/log}

\end{DoxyCode}


Thanks to Thomas Waser!\hypertarget{doc_news_2016-04-29_0_8_16_md_autotoc_md3284}{}\doxysubsection{validation}\label{doc_news_2016-04-29_0_8_16_md_autotoc_md3284}
The validation plugin is not new, but got many new features. It allows you to match values by a regex and set your own error messages in case a validation did not match.

Up to now, the regex was given as is to regcomp, which means that if the regex is contained {\itshape anywhere} in the value, the value is accepted.

Often this is not what we want, thus Thomas Waser added special support for icase, word and line validation. Additionally, flags allow you now to ignore the case or invert the match. This can be changed for every individual value or for the whole mountpoint.

Additionally, {\ttfamily kdb vset} validation was updated to use the new metadata and correctly match against the whole value.

Thanks to Thomas Waser!\hypertarget{doc_news_2016-04-29_0_8_16_md_autotoc_md3285}{}\doxysubsection{hosts}\label{doc_news_2016-04-29_0_8_16_md_autotoc_md3285}
Only minor improvements were necessary for the host plugin but it is quite matured already. The contract was changed so that ipv6 addresses for ipv4 addresses will be rejected\+:


\begin{DoxyCode}{0}
\DoxyCodeLine{\# kdb mount -\/-\/with-\/recommends /etc/hosts system/hosts hosts}
\DoxyCodeLine{\# kdb set system/hosts/ipv4/localhost ::1}
\DoxyCodeLine{The command set failed...}
\DoxyCodeLine{Reason: localhost value: ::1 message: Address family not supported}
\DoxyCodeLine{\# kdb set system/hosts/ipv6/localhost ::1}

\end{DoxyCode}


You can also comfortably and safely edit the hosts file with\+: {\ttfamily kdb editor system/hosts hosts}, then you have the functionality {\ttfamily visudo} for the hosts file.\hypertarget{doc_news_2016-04-29_0_8_16_md_autotoc_md3286}{}\doxysubsection{rename}\label{doc_news_2016-04-29_0_8_16_md_autotoc_md3286}
Again not a new plugin, but the plugin was greatly improved and many test cases were added.

Now you can set upper/lowercase individually for both sides\+:


\begin{DoxyEnumerate}
\item What applications see.
\item What the configuration file contains.
\end{DoxyEnumerate}

For example, if you always want the keys in the configuration file upper case, but for your application lower case you would use\+:


\begin{DoxyCode}{0}
\DoxyCodeLine{kdb mount caseconversion.ini /rename ini rename get/case=tolower,set/case=toupper}
\DoxyCodeLine{kdb set user/rename/section/key valu}
\DoxyCodeLine{cat \string~/.config/caseconversion.ini}
\DoxyCodeLine{\#> [SECTION]}
\DoxyCodeLine{\#> KEY = value}

\end{DoxyCode}


Thanks to Thomas Waser!\hypertarget{doc_news_2016-04-29_0_8_16_md_autotoc_md3287}{}\doxysubsection{Resolver}\label{doc_news_2016-04-29_0_8_16_md_autotoc_md3287}
Resolving by $\sim$ as home directory now also for system and spec namespaces, thanks to Thomas Waser.

Files keep their previous owner, useful when root edits configuration files of others, thanks to Thomas Waser.

The resolver has many improvements to better detect conflicts.

The lock is now extended longer after the commit and already requested in the temporary file.

The warnings were improved when {\ttfamily getcwd} fails.

Resolver now can correctly handle conflicts with empty files. It can also better cope with frequent commits of the same binary. Elektra already reached some limits filesystems have.\hypertarget{doc_news_2016-04-29_0_8_16_md_autotoc_md3288}{}\doxysection{Bindings}\label{doc_news_2016-04-29_0_8_16_md_autotoc_md3288}
\hypertarget{doc_news_2016-04-29_0_8_16_md_autotoc_md3289}{}\doxysubsection{Java}\label{doc_news_2016-04-29_0_8_16_md_autotoc_md3289}
Marvin Mall improved the Java binding, fixed the appending of keysets, added lots of documentation, and many unit tests.\hypertarget{doc_news_2016-04-29_0_8_16_md_autotoc_md3290}{}\doxysubsection{C++}\label{doc_news_2016-04-29_0_8_16_md_autotoc_md3290}
Some kind of misusage of vaargs is now detected at compile-\/time instead of crashing at runtime.\hypertarget{doc_news_2016-04-29_0_8_16_md_autotoc_md3291}{}\doxysubsection{Generated C++}\label{doc_news_2016-04-29_0_8_16_md_autotoc_md3291}
Value now supports convenience activations. Values can be used to activate context, no more layers are needed. Topological sorting makes sure that values are activated in the correct order, loops are not allowed anymore.

The {\ttfamily bool operator$<$} is now correctly inline (allows to use it in more than one translation unit)\hypertarget{doc_news_2016-04-29_0_8_16_md_autotoc_md3292}{}\doxysection{Documentation}\label{doc_news_2016-04-29_0_8_16_md_autotoc_md3292}
René Schwaiger$<$sanssecours$>$ reworked most of the documentation and fixed countless spelling mistakes and other problems.


\begin{DoxyItemize}
\item Peter Nirschl updated the status of the crypto-\/plugin and fixed a typo
\item Daniel Bugl wrote a cascading tutorial
\item Daniel Bugl fixed all broken links
\item René Schwaiger also drew a new logo with SVG. It is already used on Git\+Hub as avatar for the organization.
\item make all é use the same code point 233.
\end{DoxyItemize}\hypertarget{doc_news_2016-04-29_0_8_16_md_autotoc_md3293}{}\doxysection{Testing}\label{doc_news_2016-04-29_0_8_16_md_autotoc_md3293}

\begin{DoxyItemize}
\item Tests work if the build path contains spaces
\item Tests\+: Fix problems locating memory checker
\item remove obsolete Test\+Script.\+cmake
\end{DoxyItemize}

Thanks to René Schwaiger\hypertarget{doc_news_2016-04-29_0_8_16_md_autotoc_md3294}{}\doxysection{Maintainer}\label{doc_news_2016-04-29_0_8_16_md_autotoc_md3294}
By default now ALL plugins except EXPERIMENTAL are included. Plugins will be automatically excluded if dependencies are missing.

The PLUGINS syntax was vastly improved. Now many categories can be intermixed freely and also categories can be used for exclusion.

E.\+g. to include all plugins without deps, that provide storage (except yajl) and are maintained, but not include all plugins that are experimental, you would use\+:


\begin{DoxyCode}{0}
\DoxyCodeLine{-\/DPLUGINS="{}NODEP;STORAGE;-\/yajl;MAINTAINED;-\/EXPERIMENTAL"{}}

\end{DoxyCode}


Details see \href{https://github.com/ElektraInitiative/libelektra/tree/master/doc/COMPILE.md}{\texttt{ /doc/\+COMPILE.md}}.\hypertarget{doc_news_2016-04-29_0_8_16_md_autotoc_md3295}{}\doxysubsection{Renamed files\+:}\label{doc_news_2016-04-29_0_8_16_md_autotoc_md3295}
/usr/include/elektra/merging/kdbmerge.hpp -\/$>$ /usr/include/elektra/merging/mergingkdb.hpp

/etc/profile.d/kdb -\/$>$ /etc/profile.d/kdb.\+sh

(So that it works on arch linux, thanks to Gabriel Rauter)\hypertarget{doc_news_2016-04-29_0_8_16_md_autotoc_md3296}{}\doxysubsection{removed files\+:}\label{doc_news_2016-04-29_0_8_16_md_autotoc_md3296}

\begin{DoxyItemize}
\item /usr/lib/elektra/libelektra-\/crypto.so
\end{DoxyItemize}

was only necessary because of limitations of the build system and is now removed. It never had actual functionality, but was only a stub without a crypto provider selected.\hypertarget{doc_news_2016-04-29_0_8_16_md_autotoc_md3297}{}\doxysubsection{new files\+:}\label{doc_news_2016-04-29_0_8_16_md_autotoc_md3297}

\begin{DoxyItemize}
\item {\ttfamily /usr/include/kdbease.h}
\item {\ttfamily /usr/lib/elektra4/libelektra-\/curlget.so$\ast$}
\item {\ttfamily /usr/lib/elektra4/libelektra-\/dpkg.so$\ast$}
\item {\ttfamily /usr/lib/elektra4/libelektra-\/profile.so$\ast$}
\item {\ttfamily /usr/lib/elektra4/libelektra-\/resolver\+\_\+fm\+\_\+hpu\+\_\+b.so}
\item {\ttfamily /usr/lib/elektra4/libelektra-\/shell.so$\ast$}
\end{DoxyItemize}

more new files with ALL or EXPERIMENTAL\+:


\begin{DoxyItemize}
\item /usr/lib/elektra/libelektra-\/semlock.so
\end{DoxyItemize}

new tests all in folder /usr/lib/elektra/tool\+\_\+exec\+: testcpp\+\_\+contextual\+\_\+update testkdb\+\_\+conflict test\+\_\+keyname testmod\+\_\+curlget testmod\+\_\+dpkg testmod\+\_\+jni testmod\+\_\+profile testmod\+\_\+semlock testmod\+\_\+shell testtool\+\_\+mergingkdb

Following Plugins are excluded on specific platforms\+:


\begin{DoxyItemize}
\item mathcheck on Intel compiler (reason\+: failing test cases)
\item simpleini on non-\/glibc systems (reason\+: not portable printf extension)
\end{DoxyItemize}\hypertarget{doc_news_2016-04-29_0_8_16_md_autotoc_md3298}{}\doxysubsection{new symlinks\+:}\label{doc_news_2016-04-29_0_8_16_md_autotoc_md3298}

\begin{DoxyItemize}
\item /usr/lib/elektra4/libelektra-\/storage.so
\item /usr/lib/elektra4/libelektra-\/resolver.so
\end{DoxyItemize}\hypertarget{doc_news_2016-04-29_0_8_16_md_autotoc_md3299}{}\doxysubsection{new releases}\label{doc_news_2016-04-29_0_8_16_md_autotoc_md3299}
The first release of the libraries libelektratools-\/full, libelektratools and libelektragetenv. They now have SOVERSION 0.\hypertarget{doc_news_2016-04-29_0_8_16_md_autotoc_md3300}{}\doxysection{Development}\label{doc_news_2016-04-29_0_8_16_md_autotoc_md3300}
You do not need to format the source manually anymore. Make sure that you run scripts/reformat-\/source before creating a PR.

{\ttfamily clang-\/tidy} helps you to add blocks to have better maintainable code.

Felix Berlakovich improved the performance of the augeas plugin and also contributed a script to benchmark different host plugin. His thesis can be downloaded from \href{https://www.libelektra.org/ftp/elektra/publications/berlakovich2016universal.pdf}{\texttt{ here}}. It contains benchmarks and discussions about augeas.

The CMake function {\ttfamily add\+\_\+plugin} was completely rewritten. Now you do not have to register your plugin at multiple points but instead information of README.\+md is parsed to correctly register the plugin to categories as stated by {\ttfamily infos/status} and {\ttfamily infos/provides}.

The code generator for errors also yields macros. This avoids usage of the IDs, which can be problematic if multiple pullrequests are prepared at once.\hypertarget{doc_news_2016-04-29_0_8_16_md_autotoc_md3301}{}\doxysection{Compatibility}\label{doc_news_2016-04-29_0_8_16_md_autotoc_md3301}
This might be the last release supporting wheezy, because it gets more and more time-\/intensive to find workarounds for the old compiler. The C++11 regex do not work at all.\hypertarget{doc_news_2016-04-29_0_8_16_md_autotoc_md3302}{}\doxysubsection{Binary Compatibility Test}\label{doc_news_2016-04-29_0_8_16_md_autotoc_md3302}
When you execute the test cases of 0.\+8.\+15 against Elektra 0.\+8.\+16 following test cases fail. None of them effect the API.


\begin{DoxyItemize}
\item test\+\_\+splitget test\+\_\+splitset .. Internal restructuring
\item testmod\+\_\+crypto .. not included by default now
\item testmod\+\_\+ini .. section handling changed, line 178\+: {\ttfamily nosectionkey contained no comment}
\item testmod\+\_\+rename .. internal API elektra\+Key\+Create\+New\+Name changed
\item testmod\+\_\+resolver .. internal data structure now contains more members to remember uid and gid
\item testmod\+\_\+template .. not present by default
\item testtool\+\_\+backend testtool\+\_\+backendbuilder testtool\+\_\+backendparser
\item testtool\+\_\+specreader .. changes in KDB tool before release
\item check\+\_\+kdb\+\_\+internal\+\_\+check .. experimental plugins are now excluded
\end{DoxyItemize}\hypertarget{doc_news_2016-04-29_0_8_16_md_autotoc_md3303}{}\doxysubsection{Added API}\label{doc_news_2016-04-29_0_8_16_md_autotoc_md3303}
in libease René Schwaiger added\+:


\begin{DoxyCode}{0}
\DoxyCodeLine{\textcolor{keyword}{extern} \textcolor{keywordtype}{char} \textcolor{keyword}{const} * \mbox{\hyperlink{ease_2keyname_8c_a7a8eff2d0ef19a64a9beeedfcfe1df22}{elektraKeyGetRelativeName}}(Key \textcolor{keyword}{const} * cur, Key \textcolor{keyword}{const} * parentKey);}

\end{DoxyCode}


in libmeta Thomas Waser added (partly based on ideas/code from Felix Berlakovich)\+:


\begin{DoxyCode}{0}
\DoxyCodeLine{\textcolor{keyword}{extern} \textcolor{keywordtype}{void} \mbox{\hyperlink{group__meta_ga166c65c4eb2d758ced57b0bd74fb9a57}{elektraMetaArrayAdd}}(Key *, \textcolor{keywordtype}{char} \textcolor{keyword}{const} *, \textcolor{keywordtype}{char} \textcolor{keyword}{const} *);}
\DoxyCodeLine{\textcolor{keyword}{extern} KeySet * \mbox{\hyperlink{group__meta_gacee3e2d9285dd2bde975a09fdbe50502}{elektraMetaArrayToKS}}(Key *, \textcolor{keywordtype}{char} \textcolor{keyword}{const} *);}
\DoxyCodeLine{\textcolor{keyword}{extern} \textcolor{keywordtype}{char} * \mbox{\hyperlink{group__meta_ga40469799e2c6e9937eaf013bfc05d014}{elektraMetaArrayToString}}(Key *, \textcolor{keywordtype}{char} \textcolor{keyword}{const} *, \textcolor{keywordtype}{char} \textcolor{keyword}{const} *);}
\DoxyCodeLine{\textcolor{keyword}{extern} \textcolor{keywordtype}{int} \mbox{\hyperlink{group__meta_gaadfae80314be2415a7654fe8a0d2ee82}{elektraSortTopology}}(KeySet *, Key * *);}

\end{DoxyCode}
\hypertarget{doc_news_2016-04-29_0_8_16_md_autotoc_md3304}{}\doxysection{Tools}\label{doc_news_2016-04-29_0_8_16_md_autotoc_md3304}
\hypertarget{doc_news_2016-04-29_0_8_16_md_autotoc_md3305}{}\doxysubsection{Qt-\/gui}\label{doc_news_2016-04-29_0_8_16_md_autotoc_md3305}
Raffael Pancheri fixed an important issue which broke the synchronization because an key related to Elektra’s internal version information was missing.

Felix Berlakovich updated the qt-\/gui so that it uses a newly written sync-\/method added in libtools.

Gabriel Rauter added a desktop file that uses the new svg logo from René Schwaiger.\hypertarget{doc_news_2016-04-29_0_8_16_md_autotoc_md3306}{}\doxysection{Portability}\label{doc_news_2016-04-29_0_8_16_md_autotoc_md3306}

\begin{DoxyItemize}
\item Peter Nirschl fixed code in the resolver that uses EBADMSG which was not available in BSD.
\item Peter Nirschl improved detection of librt
\item Felix Berlakovich fixed searching of Find\+Systemd
\item Min\+GW64 resolver now handles conflicts correctly and does not ignore them anymore and now also is able to create empty files (but still not directories)
\end{DoxyItemize}\hypertarget{doc_news_2016-04-29_0_8_16_md_autotoc_md3307}{}\doxysubsection{mac\+OS}\label{doc_news_2016-04-29_0_8_16_md_autotoc_md3307}
A lot of effort was invested to all test cases also run on mac\+OS\+:


\begin{DoxyItemize}
\item .template syntax
\item linking errors
\item fix regex in conditionals plugins
\end{DoxyItemize}

Thanks to René Schwaiger\hypertarget{doc_news_2016-04-29_0_8_16_md_autotoc_md3308}{}\doxysection{Bugs}\label{doc_news_2016-04-29_0_8_16_md_autotoc_md3308}

\begin{DoxyItemize}
\item print null-\/environment correctly with {\ttfamily kdb getenv}
\item key\+Is(\+Direct)Below didn\textquotesingle{}t work with cascading keys
\item fix elektra\+Key\+Get\+Relative\+Name (needed by ni) for cascading keys and move it to libease, thanks to René Schwaiger
\item make nickel tests show correct test name, thanks to René Schwaiger
\item glib\+: replace cursor\+\_\+t with gssize so that GElektra-\/4.\+0.\+gir builds with gobject-\/introspection later than 1.\+47, thanks to Manuel Mausz
\item fixed out-\/of-\/bounds bug in timeofday plugin
\item elektra\+Meta\+Array\+To\+KS correctly adds parent key, thanks to Thomas Waser
\item kdb-\/shell\+: Do not abort ks\+Output on binary data.
\item some rework for global hooks, still not stable
\end{DoxyItemize}\hypertarget{doc_news_2016-04-29_0_8_16_md_autotoc_md3309}{}\doxysection{Get It!}\label{doc_news_2016-04-29_0_8_16_md_autotoc_md3309}
You can download the release from \href{https://www.libelektra.org/ftp/elektra/releases/elektra-0.8.16.tar.gz}{\texttt{ here}} and now also \href{https://github.com/ElektraInitiative/ftp/tree/master/releases/elektra-0.8.16.tar.gz}{\texttt{ here on Git\+Hub}}


\begin{DoxyItemize}
\item name\+: elektra-\/0.\+8.\+16.\+tar.\+gz
\item size\+: 2405443
\item md5sum\+: ef0c138b4a4fda017aa8bb6f812671ce
\item sha1\+: c6a6f9c26addd5fcc274cea635de02ef680cfb1a
\item sha256\+: 3cf0624eb027e533192ca9d612618df3d38ec3674c9cd20474f04ff269fad77e
\item sha512\+: b225e61379907365a423ea75ec7138e5257bb78c526bb05a1ec21f66a52eb4bad9e6f1eb23209d700670b21b86166497b47c3bc46bc9d45f6d366cd544afc326
\end{DoxyItemize}

This release tarball now is also available \href{https://www.libelektra.org/ftp/elektra/releases/elektra-0.8.16.tar.gz.gpg}{\texttt{ signed by me using gpg}}

already built API documentation can be found \href{https://doc.libelektra.org/api/0.8.16/html/}{\texttt{ here}}\hypertarget{doc_news_2016-04-29_0_8_16_md_autotoc_md3310}{}\doxysection{Stay tuned!}\label{doc_news_2016-04-29_0_8_16_md_autotoc_md3310}
Subscribe to the \href{https://doc.libelektra.org/news/feed.rss}{\texttt{ RSS feed}} to always get the release notifications.

For any questions and comments, please contact the \href{https://lists.sourceforge.net/lists/listinfo/registry-list}{\texttt{ Mailing List}} the issue tracker \href{https://git.libelektra.org/issues}{\texttt{ on Git\+Hub}} or by mail \href{mailto:elektra@markus-raab.org}{\texttt{ elektra@markus-\/raab.\+org}}.

\href{https://doc.libelektra.org/news/9c9247ee-ee9c-4f4a-a68e-76959def9b82.html}{\texttt{ Permalink to this NEWS entry}}

For more information, see \href{https://libelektra.org}{\texttt{ https\+://libelektra.\+org}}

Best regards, Markus 