\label{doc_news_2017-10-31_0_8_20_md_md_doc_news_2017_10_31_0_8_20}%
\Hypertarget{doc_news_2017-10-31_0_8_20_md_md_doc_news_2017_10_31_0_8_20}%

\begin{DoxyItemize}
\item guid\+: 547d48e2-\/c044-\/4a8e-\/9d32-\/ca6b6fb914d9
\item author\+: Markus Raab
\item pub\+Date\+: Thu, 31 Oct 2017 23\+:08\+:07 +0200
\item short\+Desc\+: New Website, puppet-\/libelektra, New Plugins
\end{DoxyItemize}\hypertarget{doc_news_2017-10-31_0_8_20_md_autotoc_md3358}{}\doxysection{What is Elektra?}\label{doc_news_2017-10-31_0_8_20_md_autotoc_md3358}
Elektra serves as a universal and secure framework to access configuration settings in a global, hierarchical key database. For more information, visit \href{https://libelektra.org}{\texttt{ https\+://libelektra.\+org}}.\hypertarget{doc_news_2017-10-31_0_8_20_md_autotoc_md3359}{}\doxysection{Highlights}\label{doc_news_2017-10-31_0_8_20_md_autotoc_md3359}
This is by far the largest release in Elektra\textquotesingle{}s history. In 2813 commits, 19 authors changed 1714 files with 92462 insertions(+) and 21532 deletions(-\/). The highlights are\+:


\begin{DoxyItemize}
\item libelektra.\+org\+: new website and puppet-\/libelektra
\item plugin+bindings for Haskell and Ruby
\item improved shell completion
\item new plugins\+: yamlcpp, camel, mini, date, file, range, multifile, xerces, ipaddr
\end{DoxyItemize}\hypertarget{doc_news_2017-10-31_0_8_20_md_autotoc_md3360}{}\doxysubsection{libelektra.\+org}\label{doc_news_2017-10-31_0_8_20_md_autotoc_md3360}
Unfortunately this release was delayed. The reason for the delay is that our community server (\href{https://build.libelektra.org}{\texttt{ build server}}, web site,...) was compromised and we needed to reinstall everything from scratch.

We took advantage of the situation, and reinstalled everything properly managed by \href{https://github.com/ElektraInitiative/puppet-libelektra}{\texttt{ puppet-\/libelektra}}. With puppet-\/libelektra, you can directly set keys, specifications (validations), and even mount new configuration files from within Puppet.

Our community server is now completely managed by libelektra.

Thanks to Bernhard Denner, for rescuing us from the difficult situation, especially for the sprint shortly before the release.

As already already announced in \href{https://master.libelektra.org/doc/news/2016-12-17_website_release.md}{\texttt{ December 2016}} we completely reimplemented our website. Now all our websites are available via https. This release is the first one that includes the source code of the website and its snippet sharing functionality.

The backend for this snippet sharing website uses Elektra itself\+: both for its configuration and for the configuration snippets.

Thanks again to Marvin Mall for the awesome website.\hypertarget{doc_news_2017-10-31_0_8_20_md_autotoc_md3361}{}\doxysubsubsection{Haskell and Ruby}\label{doc_news_2017-10-31_0_8_20_md_autotoc_md3361}
The Ruby binding, created by Bernhard Denner, was greatly improved and now includes libtools bindings. It is the first binding that goes beyond Elektra\textquotesingle{}s main API. Bernhard Denner also added many \href{https://master.libelektra.org/src/bindings/swig/ruby/examples}{\texttt{ examples}} that demonstrate how you can take advantage of the Ruby bindings.

Armin Wurzinger created a new binding for the functional language Haskell. He also added support for Haskell plugins. Due to generic CMake and C Code, plugins can be written exclusively in Haskell, without any glue code. Several Haskell examples already exist. The Haskell support is currently experimental.\hypertarget{doc_news_2017-10-31_0_8_20_md_autotoc_md3362}{}\doxysubsection{Shell Completion}\label{doc_news_2017-10-31_0_8_20_md_autotoc_md3362}
René Schwaiger added completion support for \href{http://fishshell.com}{\texttt{ Fish}} in this release. We also extended our support for other shells\+: The new tool {\ttfamily kdb complete} suggests how to complete an Elektra path. It considers mountpoints and also takes bookmarks into account. Thanks to Armin Wurzinger for creating this useful utility. Our Zsh and fish completions already take advantage of {\ttfamily kdb complete}. Thanks to Sebastian Bachmann for taking the time to update the {\ttfamily zsh} completions.\hypertarget{doc_news_2017-10-31_0_8_20_md_autotoc_md3363}{}\doxysubsection{New Plugins}\label{doc_news_2017-10-31_0_8_20_md_autotoc_md3363}
See \href{https://www.libelektra.org/plugins/}{\texttt{ plugin overview}} to get an overview of the ever-\/growing number of plugins.

The \href{https://www.libelektra.org/plugins/yamlcpp}{\texttt{ yamlcpp plugin}} and camel plugin add first support for YAML.

The \href{https://www.libelektra.org/plugins/mini}{\texttt{ mini plugin}} is yet another minimal INI plugin.

Thanks to René Schwaiger.

The \href{https://www.libelektra.org/plugins/date}{\texttt{ date plugin}} supports validation of dates according to three standards\+:


\begin{DoxyItemize}
\item {\ttfamily RFC2822}
\item {\ttfamily ISO8601}
\item {\ttfamily POSIX}
\end{DoxyItemize}

The \href{https://www.libelektra.org/plugins/multifile}{\texttt{ multifile plugin}} allows us to integrate many configuration files via globbing with a single mount command. It supports {\ttfamily .d} configuration directories as often used today.

The \href{https://www.libelektra.org/plugins/file}{\texttt{ file plugin}} interprets the content of a file as configuration value.

The \href{https://www.libelektra.org/plugins/ipaddr}{\texttt{ ipaddr plugin}} adds support for IP address validation on systems that do not support {\ttfamily getaddrinfo}.

Thanks to Thomas Waser for creating these useful plugins.

The \href{https://www.libelektra.org/plugins/xerces}{\texttt{ xerces plugin}} supplants the \href{https://www.libelektra.org/plugins/xmltool}{\texttt{ xmltool plugin}} and allows us to use XML files not following a specific schemata. Attributes are mapped to Elektra\textquotesingle{}s metadata, multiple keys with the same names are mapped to arrays.

Thanks to Armin Wurzinger.\hypertarget{doc_news_2017-10-31_0_8_20_md_autotoc_md3364}{}\doxysection{Documentation}\label{doc_news_2017-10-31_0_8_20_md_autotoc_md3364}
The documentation was greatly improved within this release.


\begin{DoxyItemize}
\item Added \char`\"{}\+Hello, Elektra\char`\"{} and logging tutorial, thanks to René Schwaiger
\item extended \href{https://master.libelektra.org/doc/help/elektra-faq.md}{\texttt{ FAQ}}
\item Christoph Weber (@krit0n) improved some tutorials
\item options are passed to PDFLa\+TeX compiler, thanks to René Schwaiger
\item small fixes, thanks to Dominik Hofer
\item fix many spelling mistakes, use American english, fix formatting, fix+add links, unify title style, fix code blocks, add titles and fix the PDF manual a big thanks to René Schwaiger
\end{DoxyItemize}\hypertarget{doc_news_2017-10-31_0_8_20_md_autotoc_md3365}{}\doxysection{Features}\label{doc_news_2017-10-31_0_8_20_md_autotoc_md3365}
We added even more functionality, which could not make it to the highlights\+:


\begin{DoxyItemize}
\item DBUS support for qt-\/gui (listening to configuration changes)\+: qt-\/gui gets a viewer-\/mode where configuration settings are immediately updated via DBus notifications, thanks to Raffael Pancheri With the new qt-\/gui and newer qt releases ($\sim$5.7) the qtquick experience is much smoother, for example, the tree view does not collapse on syncs anymore.
\item Armin Wurzinger greatly improved the \href{https://www.libelektra.org/bindings/jna}{\texttt{ JNA binding}}. The build system now uses Maven to build them. Armin also added Doxygen documentation and a \href{http://master.libelektra.org/scripts/randoop/randoop.in}{\texttt{ script}} to test the JNA binding using \href{https://randoop.github.io/randoop}{\texttt{ Randoop}}.
\item The improved \href{https://www.libelektra.org/plugins/curlget}{\texttt{ curlget plugin}}, is now able to upload configuration files, thanks to Thomas Waser and Peter Nirschl (CMake fixes).
\item New command {\ttfamily kdb rmmeta}, thanks to Bernhard Denner
\item \href{https://www.libelektra.org/plugins/crypto}{\texttt{ crypto plugin}} and \href{https://www.libelektra.org/plugins/fcrypt}{\texttt{ fcrypt plugin}}
\begin{DoxyItemize}
\item The configuration option {\ttfamily gpg/key} was renamed to {\ttfamily encrypt/key}
\item The plugins now make sure that you configured them properly by validating key IDs
\item thanks to Peter Nirschl
\end{DoxyItemize}
\item \href{https://www.libelektra.org/plugins/fcrypt}{\texttt{ fcrypt plugin}}\+:
\begin{DoxyItemize}
\item The plugin now list available GPG keys when config is missing
\item You can now specify signatures via the configuration option {\ttfamily sign/key}
\item New text mode, enabled by default (disable by setting {\ttfamily fcrypt/textmode} to {\ttfamily 0})
\item New option {\ttfamily fcrypt/tmpdir} allows you to specify the output directory of {\ttfamily gpg}
\item If you want to learn how to use the plugin please check out our new \href{https://asciinema.org/a/153014}{\texttt{ ASCII cast}}
\item thanks to Peter Nirschl
\end{DoxyItemize}
\item Thomas Waser added useful scripts\+:
\begin{DoxyItemize}
\item \href{https://master.libelektra.org/doc/help/kdb-mount-list-all-files.md}{\texttt{ mount-\/list-\/all-\/files}} to list all mounted files.
\item \href{https://master.libelektra.org/doc/help/kdb-mountpoint-info.md}{\texttt{ mountpoint-\/info}} to provide more info about mountpoints.
\item \href{https://master.libelektra.org/doc/help/kdb-stash.md}{\texttt{ stash}} to stash away Elektra\textquotesingle{}s configuration, to be restored using {\ttfamily restore}.
\item \href{https://master.libelektra.org/doc/help/kdb-backup.md}{\texttt{ backup}} to backup Elektra\textquotesingle{}s configuration.
\item \href{https://master.libelektra.org/doc/help/kdb-restore.md}{\texttt{ restore}} to restore a backup or stash.
\item \href{https://master.libelektra.org/doc/help/kdb-check-env-dep.md}{\texttt{ check-\/env-\/dep}} allows users to check if environment has influence on configuration settings.
\item \href{https://master.libelektra.org/doc/help/kdb-change-resolver-symlink.md}{\texttt{ change-\/resolver-\/symlink}} allows users to change the default resolver.
\item \href{https://master.libelektra.org/doc/help/kdb-change-storage-symlink.md}{\texttt{ change-\/storage-\/symlink}} allows users to change the default storage.
\end{DoxyItemize}
\item limit min/max depth for {\ttfamily kdb ls} ({\ttfamily -\/mM}), thanks to Armin Wurzinger.
\item conditionals\+: allow multiple assigns and conditions
\item base64 also works as filter for binary data (not just encrypted data), thanks to René Schwaiger
\item \href{https://www.libelektra.org/plugins/csvstorage}{\texttt{ csvstorage plugin}}\+: compatibility with RFC 4180, thanks to Thomas Waser
\item \href{https://www.libelektra.org/plugins/gitresolver}{\texttt{ gitresolver plugin}}\+: improvements and update of libgit version, thanks to Thomas Waser
\item \href{https://www.libelektra.org/plugins/curlget}{\texttt{ curlget plugin}}\+: also allow uploading of configuration files, thanks to Thomas Waser
\end{DoxyItemize}\hypertarget{doc_news_2017-10-31_0_8_20_md_autotoc_md3366}{}\doxysection{Compatibility}\label{doc_news_2017-10-31_0_8_20_md_autotoc_md3366}
As 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).

We added {\ttfamily explicit} to some C++ constructors in libtools and internally moved some typedefs. Modules\+Plugin\+Database now has protected members (instead of private). This might break code in special cases, but should not affect binary compatibility. As always we tested for binary compatibility. This time we had to revert some changes to keep libelektra-\/tools ABI compatible.

Furthermore\+:


\begin{DoxyItemize}
\item scripts now work on mac\+OS (readlink and sed), thanks to Armin Wurzinger and René Schwaiger
\item generalized error \#60, \char`\"{}invalid line encountered\char`\"{}
\item added new errors \#164 -\/ \#187
\item added private headerfiles {\ttfamily kdbglobal.\+h}, {\ttfamily kdbinvoke.\+h}
\end{DoxyItemize}\hypertarget{doc_news_2017-10-31_0_8_20_md_autotoc_md3367}{}\doxysection{Notes for Package Maintainer}\label{doc_news_2017-10-31_0_8_20_md_autotoc_md3367}
These notes are of interest for people maintaining packages of Elektra\+:


\begin{DoxyItemize}
\item LICENSE.\+md now contains only the BSD 3-\/Clause License (without any additional non-\/license text)
\item AUTHORS renamed to AUTHORS.\+md
\item NEWS.\+md is now a generated file containing all news concatenated
\item CMake 2.\+8.\+8 is no longer supported, CMake 3.\+0 is now needed
\item fix mac\+OS {\ttfamily RPATH}, remove old policies, thanks to René Schwaiger
\item new option {\ttfamily BUILD\+\_\+\+DOCSET} to build Doc\+Set, thanks to René Schwaiger
\item new option {\ttfamily ENABLE\+\_\+\+OPTIMIZATIONS} for {\ttfamily OPMPHM} preparation work, thanks to Kurt Micheli For this release, please keep {\ttfamily ENABLE\+\_\+\+OPTIMIZATIONS} turned off. Currently the flag increases memory usage, without being faster.
\item add {\ttfamily TARGET\+\_\+\+TOOL\+\_\+\+DATA\+\_\+\+FOLDER} for installation of tool data
\end{DoxyItemize}

The following files are new\+:


\begin{DoxyItemize}
\item Libs\+: {\ttfamily libelektra-\/utility.\+so} ,{\ttfamily libelektra4j-\/0.\+8.\+20.\+pom.\+xml}, {\ttfamily libelektra-\/invoke} (needed by plugins\+: curlget, gitresolver, dini, blockresolver, multifile)
\item Plugins\+: {\ttfamily libelektra-\/camel.\+so}, {\ttfamily libelektra-\/date.\+so}, {\ttfamily libelektra-\/file.\+so}, {\ttfamily libelektra-\/ipaddr.\+so}, {\ttfamily libelektra-\/mini.\+so}, {\ttfamily libelektra-\/multifile.\+so}, {\ttfamily libelektra-\/range.\+so}, {\ttfamily libelektra-\/xerces.\+so}, {\ttfamily libelektra-\/yamlcpp.\+so}
\item Tools\+: {\ttfamily backup}, {\ttfamily mount-\/list-\/all-\/files}, {\ttfamily mountpoint-\/info}, {\ttfamily restore}, {\ttfamily stash}, {\ttfamily update-\/snippet-\/repository}
\item Tests\+: {\ttfamily change-\/resolver-\/symlink}, {\ttfamily change-\/storage-\/symlink}, {\ttfamily check-\/env-\/dep}, {\ttfamily check\+\_\+bashisms}, {\ttfamily check\+\_\+doc}, {\ttfamily check\+\_\+meta}, {\ttfamily testmod\+\_\+camel}, {\ttfamily testmod\+\_\+crypto\+\_\+openssl}, {\ttfamily testmod\+\_\+date}, {\ttfamily testmod\+\_\+file}, {\ttfamily testmod\+\_\+ipaddr}, {\ttfamily testmod\+\_\+jni}, {\ttfamily testmod\+\_\+mini}, {\ttfamily testmod\+\_\+range}, {\ttfamily testmod\+\_\+simpleini}, {\ttfamily testmod\+\_\+xerces}, {\ttfamily testmod\+\_\+yamlcpp}, {\ttfamily testtool\+\_\+plugindatabase}, {\ttfamily test\+\_\+utility}
\end{DoxyItemize}

The following files were removed\+: {\ttfamily testmod\+\_\+curlget}, {\ttfamily testmod\+\_\+dpkg}, {\ttfamily testmod\+\_\+profile}, {\ttfamily testmod\+\_\+shell}, {\ttfamily testmod\+\_\+spec}, {\ttfamily test\+\_\+opmphm\+\_\+vheap}, {\ttfamily test\+\_\+opmphm\+\_\+vstack}

The following files were renamed\+: {\ttfamily libelektra-\/1.\+jar} → {\ttfamily libelektra4j-\/0.\+8.\+19.\+jar}

In the Debian branch of the \href{https://git.libelektra.org/tree/debian}{\texttt{ git repo}}, we now build upon the work of Pino Toscano. The branch allows building Debian packages of the release for Debian Stretch and Jessie.

Thanks to Pino Toscano for the high-\/quality packages.\hypertarget{doc_news_2017-10-31_0_8_20_md_autotoc_md3368}{}\doxysection{Notes for Elektra\textquotesingle{}s Developers}\label{doc_news_2017-10-31_0_8_20_md_autotoc_md3368}
These notes are of interest for people developing Elektra\+:


\begin{DoxyItemize}
\item Added macros, thanks to René Schwaiger\+:
\begin{DoxyItemize}
\item {\ttfamily ELEKTRA\+\_\+\+NOT\+\_\+\+NULL} is an assertion against null pointers
\item {\ttfamily ELEKTRA\+\_\+\+MALLOC\+\_\+\+ERROR} sets an error when allocation failed
\item {\ttfamily ELEKTRA\+\_\+\+STRINGIFY} to quote a macro value
\item {\ttfamily ELEKTRA\+\_\+\+PLUGIN\+\_\+\+STATUS\+\_\+\+ERROR}, {\ttfamily ELEKTRA\+\_\+\+PLUGIN\+\_\+\+STATUS\+\_\+\+SUCCESS}, {\ttfamily ELEKTRA\+\_\+\+PLUGIN\+\_\+\+STATUS\+\_\+\+NO\+\_\+\+UPDATE} for return values of plugins.
\end{DoxyItemize}
\item {\ttfamily ELEKTRA\+\_\+\+STRINGIFY} used throughout, thanks to René Schwaiger
\item use {\ttfamily (void)} instead of {\ttfamily ()} (added {\ttfamily -\/Wstrict-\/prototypes})
\item new positions for global plugins, thanks to Mihael Pranjic
\item Kurt Micheli added {\ttfamily generate\+Key\+Set} to randomly generate large key sets
\item add vagrant and docker support, thanks to Christoph Weber (@krit0n)
\item improve support for CLion, Net\+Beans and {\ttfamily oclint}
\item portability improvements for logger, thanks to René Schwaiger
\item metadata consistency check within source repo, thanks to Thomas Waser
\item {\ttfamily ELEKTRA\+\_\+\+PLUGIN\+\_\+\+EXPORT} accepts macro as argument
\item fallthroughs in switch statements are now marked with {\ttfamily FALLTHROUGH}
\item introduce {\ttfamily print\+\_\+result} to unify test output, thanks to René Schwaiger
\item export {\ttfamily validate\+Key} as preparation for type plugin
\end{DoxyItemize}\hypertarget{doc_news_2017-10-31_0_8_20_md_autotoc_md3369}{}\doxysection{Other}\label{doc_news_2017-10-31_0_8_20_md_autotoc_md3369}
Various other changes happened in the code repository\+:


\begin{DoxyItemize}
\item kdb\+: errors are more colorful, add infos to report issues, catch signals for {\ttfamily kdb} tools to print errors on crashes, use {\ttfamily \$\+EDITOR} if {\ttfamily sensible-\/editor} and {\ttfamily editor} is not found. René Schwaiger fixed preposition and format of the messages.
\item added Spanish translation for qt-\/gui thanks to Adan\+GQ (@pixelead0)
\item augeas plugin\+: error messages improved, export genconf (for Web\+UI to list all lenses)
\item improvements for Cent\+OS and Debian Packages, thanks to Sebastian Bachmann
\item Travis improvements, fixes, and many build variants added, thanks to Mihael Pranjic and René Schwaiger
\item {\ttfamily ronn} now always uses UTF-\/8 as encoded and is no longer required as essential dependency to get man pages, thanks to René Schwaiger
\item Git\+Hub now recognizes that we have a BSD licence, thanks to René Schwaiger
\item uninstallation Script also uninstalls directories and Python files, thanks to René Schwaiger
\item Kurt Micheli created a benchmark tool to generate large Key\+Sets
\item added/reformatted use cases, thanks to Daniel Bugl
\item Thomas Wahringer prepared for a new theme on the website
\item Arfon Smith updated metadata for Elektra\textquotesingle{}s journal entry
\end{DoxyItemize}\hypertarget{doc_news_2017-10-31_0_8_20_md_autotoc_md3370}{}\doxysection{Quality}\label{doc_news_2017-10-31_0_8_20_md_autotoc_md3370}
In this release we had a focus on quality improvements\+:


\begin{DoxyItemize}
\item fixed all remaining ASAN problems, thanks to René Schwaiger and Armin Wurzinger (some tests are excluded when compiled with ASAN)
\item fix many compilation warnings, thanks to René Schwaiger and Armin Wurzinger
\item fixed many potential out-\/of-\/bound errors, thanks to René Schwaiger
\item fixed warnings of Clang\textquotesingle{}s static analyzers, thanks to René Schwaiger
\item fixed cppcheck warnings, thanks to Armin Wurzinger
\item fixed strict prototypes, thanks to Armin Wurzinger
\item fixed and use scan-\/build (clang)
\item fixed potential memory leaks on errors
\item added assertions
\item generate Java API tests with randoop which revealed bugs in jna bindings that were fixed, thanks to Armin Wurzinger
\item Numerous fixes in the shell recorder, which does regression tests on Elektra\textquotesingle{}s tutorials and READMEs, thanks to René Schwaiger and Thomas Waser
\end{DoxyItemize}\hypertarget{doc_news_2017-10-31_0_8_20_md_autotoc_md3371}{}\doxysection{Fixes}\label{doc_news_2017-10-31_0_8_20_md_autotoc_md3371}
Many problems were resolved with the following fixes\+:


\begin{DoxyItemize}
\item {\ttfamily kdb file}\+: never print errors, thanks to René Schwaiger
\item plugin mathcheck\+: fixed regex \#1094, thanks to Thomas Waser
\item dbus\+: properly do unref and document how to integrate DBus, thanks to Kai-\/\+Uwe Behrmann
\item dbus accepts announce=once which is used for {\ttfamily kdb mount-\/openicc} It protects against message floods in large configuration files, thanks to Kai-\/\+Uwe Behrmann for reporting
\item plugin desktop\+: fix crash if {\ttfamily DESKTOP\+\_\+\+SESSION} is missing
\item shell-\/recorder\+: many fixes and improvements, thanks to Thomas Waser and René Schwaiger
\item fix getopt positional parameters, thanks to Armin Wurzinger
\item resolver\+: avoid silent errors of fchown/fchmod
\item plugin fcrypt\+: fixes in file name handling to make leaks less likely (still needs tmpfs to be secure!), thanks to Peter Nirschl
\item plugin jni\+: fix segfaults on errors, plugin is nevertheless tagged as experimental due to other problems
\item plugin type\+: reject integers if garbage follows
\item {\ttfamily kdb}\+: fix memleak when listing plugins
\item many spelling fixes and fix typo in source of qt-\/gui\+: thanks to klemens (ka7)
\item dpkg, fix file leakage, thanks to Armin Wurzinger
\item plugin line\+: only skip parent\+Key if present
\item plugin resolver\+: avoid failure after commit for files that cannot be removed
\item plugin simpleini\+: handle more errors, make format parameter more robust thanks to Bernhard Denner
\item plugin crypto\+: fix compilation errors for openssl versions on Debian 9, thanks to Peter Nirschl
\item {\ttfamily kdb mv}\+: fail without keys also in recurse mode
\item fix bashism, thanks to Armin Wurzinger
\item qtgui\+: fix crash on unhandled exception on binary values, thanks to Raffael Pancheri
\end{DoxyItemize}\hypertarget{doc_news_2017-10-31_0_8_20_md_autotoc_md3372}{}\doxysection{Outlook}\label{doc_news_2017-10-31_0_8_20_md_autotoc_md3372}
We are currently working on following topics\+:


\begin{DoxyItemize}
\item Migration of LCDproc, Open\+Icc, machinekit, ... to Elektra.
\item A reimplementation of Elektra\textquotesingle{}s core API in Rust (next to implementation in C).
\item A user interface which generates restricted input fields based on the specification.
\item YAML as configuration file format (next to INI, XML, JSON, TCL, ...).
\item An mmap persistent cache.
\item Improvements for the specification language.
\item New APIs to be directly used by applications.
\item An order-\/preserving minimal hash for O(1) lookup and iteration.
\item Mainloop migration for notifications (currently only DBus, to be extended to Redis, Zero\+Mq).
\item Improvements on the Website and snippet sharing to also handle misconfiguration.
\end{DoxyItemize}\hypertarget{doc_news_2017-10-31_0_8_20_md_autotoc_md3373}{}\doxysection{Get It!}\label{doc_news_2017-10-31_0_8_20_md_autotoc_md3373}
You can download the release from \href{https://www.libelektra.org/ftp/elektra/releases/elektra-0.8.20.tar.gz}{\texttt{ here}} or \href{https://github.com/ElektraInitiative/ftp/blob/master/releases/elektra-0.8.20.tar.gz?raw=true}{\texttt{ Git\+Hub}}

The \href{https://github.com/ElektraInitiative/ftp/blob/master/releases/elektra-0.8.20.tar.gz.hashsum?raw=true}{\texttt{ hashsums are\+:}}


\begin{DoxyItemize}
\item name\+: elektra-\/0.\+8.\+20.\+tar.\+gz
\item size\+: 4740032
\item md5sum\+: 0e906f1a1677a8bfb31d144e1eaeb3cf
\item sha1\+: 5e33c49ae6e3b890c9267288fb9f321289910eb5
\item sha256\+: e9cbc796e175685ccb6221f1dd5ea5c43832f545c40557c32b764ff5d567b312
\end{DoxyItemize}

The release tarball is also available signed by me using gpg from \href{https://www.libelektra.org/ftp/elektra/releases/elektra-0.8.20.tar.gz.gpg}{\texttt{ here}} or \href{https://github.com/ElektraInitiative/ftp/blob/master/releases//elektra-0.8.20.tar.gz.gpg?raw=true}{\texttt{ Git\+Hub}}

Already built API documentation can be found \href{https://doc.libelektra.org/api/0.8.20/html/}{\texttt{ online}} or \href{https://github.com/ElektraInitiative/doc/tree/master/api/0.8.20}{\texttt{ Git\+Hub}}.\hypertarget{doc_news_2017-10-31_0_8_20_md_autotoc_md3374}{}\doxysection{Stay tuned!}\label{doc_news_2017-10-31_0_8_20_md_autotoc_md3374}
Subscribe to the \href{https://www.libelektra.org/news/feed.rss}{\texttt{ RSS feed}} to always get the release notifications.

For any questions and comments, please contact the issue tracker \href{http://issues.libelektra.org}{\texttt{ on Git\+Hub}} or me by email using \href{mailto:elektra@markus-raab.org}{\texttt{ elektra@markus-\/raab.\+org}}.

\href{https://www.libelektra.org/news/0.8.20-release}{\texttt{ Permalink to this NEWS entry}}

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

Best regards, Markus 