\label{doc_news_2021-07-09_0_9_7_md_md_doc_news_2021_07_09_0_9_7}%
\Hypertarget{doc_news_2021-07-09_0_9_7_md_md_doc_news_2021_07_09_0_9_7}%

\begin{DoxyItemize}
\item guid\+: 39F907\+DA-\/8\+B5\+B-\/4984-\/9\+D19-\/33\+BAB7\+B71\+B3D
\item author\+: Mihael Pranjić
\item pub\+Date\+: Fri, 09 Jul 2021 10\+:19\+:29 +0200
\item short\+Desc\+: FUSE Tool, TOML Improvements, Elektra\+Settings GSettings Bindings
\end{DoxyItemize}

We are proud to release Elektra 0.\+9.\+7.\hypertarget{doc_news_2021-07-09_0_9_7_md_autotoc_md3502}{}\doxysection{What is Elektra?}\label{doc_news_2021-07-09_0_9_7_md_autotoc_md3502}
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}}.

You can also read the news \href{https://www.libelektra.org/news/0.9.7-release}{\texttt{ on our website}}.

You can try out the latest Elektra release using our docker image \href{https://hub.docker.com/r/elektra/elektra}{\texttt{ elektra/elektra}}. This is the quickest way to get started with Elektra without compiling and other obstacles, simply run\+:


\begin{DoxyCode}{0}
\DoxyCodeLine{docker pull elektra/elektra}
\DoxyCodeLine{docker run -\/it elektra/elektra}

\end{DoxyCode}
\hypertarget{doc_news_2021-07-09_0_9_7_md_autotoc_md3503}{}\doxysection{Highlights}\label{doc_news_2021-07-09_0_9_7_md_autotoc_md3503}
\hypertarget{doc_news_2021-07-09_0_9_7_md_autotoc_md3504}{}\doxysubsection{FUSE Tool}\label{doc_news_2021-07-09_0_9_7_md_autotoc_md3504}
We added an {\bfseries{experimental}} preview of the Filesystem in User Space FUSE tool. This tool enables the inspection and modification of the KDB, in the form of a classical filesystem. \+\_\+(\+Alexander Firbas)\+\_\+\hypertarget{doc_news_2021-07-09_0_9_7_md_autotoc_md3505}{}\doxysubsection{Elektra\+Settings GSettings Backend}\label{doc_news_2021-07-09_0_9_7_md_autotoc_md3505}
The {\bfseries{experimental}} Elektra\+Settings GSettings backend has been updated and is working well with GNOME 40. We do not recommend to use it on production systems yet, but we have been testing Elektra\+Settings as a replacement for {\ttfamily dconf} successfully and want to share the progess with you. If you want to try Elektra\+Settings back up all your data first. \+\_\+(Mihael Pranjić)\+\_\+\hypertarget{doc_news_2021-07-09_0_9_7_md_autotoc_md3506}{}\doxysubsection{TOML Improvements}\label{doc_news_2021-07-09_0_9_7_md_autotoc_md3506}
Multiple critical bugs have been fixed in the {\bfseries{experimental}} {\ttfamily TOML} plugin {\itshape \href{\#hl-1}{\texttt{ see below}}}. We are currently working towards using the {\ttfamily TOML} plugin as the default \href{https://github.com/ElektraInitiative/libelektra/blob/master/src/plugins/README.md\#storage}{\texttt{ storage plugin}} for Elektra. \+\_\+(Klemens Böswirth and Jakob Fischer)\+\_\+\hypertarget{doc_news_2021-07-09_0_9_7_md_autotoc_md3507}{}\doxysection{Plugins}\label{doc_news_2021-07-09_0_9_7_md_autotoc_md3507}
The following section lists news about the \href{https://www.libelektra.org/plugins/readme}{\texttt{ plugins}} we updated in this release.\hypertarget{doc_news_2021-07-09_0_9_7_md_autotoc_md3508}{}\doxysubsection{@ref src\+\_\+plugins\+\_\+email\+\_\+\+README\+\_\+md \char`\"{}email\char`\"{}}\label{doc_news_2021-07-09_0_9_7_md_autotoc_md3508}

\begin{DoxyItemize}
\item Introduce email address validation plugin based on regex. \+\_\+(a-\/kraschitzer)\+\_\+
\end{DoxyItemize}\hypertarget{doc_news_2021-07-09_0_9_7_md_autotoc_md3509}{}\doxysubsection{Resolver}\label{doc_news_2021-07-09_0_9_7_md_autotoc_md3509}

\begin{DoxyItemize}
\item Fix invalid cache key name. \+\_\+(Mihael Pranjić)\+\_\+
\end{DoxyItemize}\hypertarget{doc_news_2021-07-09_0_9_7_md_autotoc_md3510}{}\doxysubsection{Length}\label{doc_news_2021-07-09_0_9_7_md_autotoc_md3510}

\begin{DoxyItemize}
\item Implement a plugin that validates that a string length is less or equal to given number. \+\_\+(\+Philipp Oppel)\+\_\+
\end{DoxyItemize}\hypertarget{doc_news_2021-07-09_0_9_7_md_autotoc_md3511}{}\doxysubsection{Blacklist}\label{doc_news_2021-07-09_0_9_7_md_autotoc_md3511}

\begin{DoxyItemize}
\item Implement a blacklist plugin that rejects values specified in a metadata array. \+\_\+(\+Robert Sowula)\+\_\+
\end{DoxyItemize}

\label{_hl-1}%
\hypertarget{doc_news_2021-07-09_0_9_7_md_autotoc_md3512}{}\doxysubsection{TOML}\label{doc_news_2021-07-09_0_9_7_md_autotoc_md3512}

\begin{DoxyItemize}
\item Fixed a bug (\href{https://issues.libelektra.org/3896}{\texttt{ \#3896}}) that caused the {\ttfamily toml} plugin to swallow the first letter of all keys (after the namespace), if the parent key was a root key (e.\+g. {\ttfamily user\+:/}). \+\_\+(Klemens Böswirth)\+\_\+
\item The {\ttfamily type} metakey is now set for numbers on reading. \+\_\+(\+Jakob Fischer)\+\_\+
\item Rewrote some error messages, to make them less technical. \+\_\+(\+Jakob Fischer)\+\_\+
\item Fixed parsing of floats/empty keynames/multiline strings. \+\_\+(\+Jakob Fischer)\+\_\+
\end{DoxyItemize}\hypertarget{doc_news_2021-07-09_0_9_7_md_autotoc_md3513}{}\doxysubsection{Python}\label{doc_news_2021-07-09_0_9_7_md_autotoc_md3513}

\begin{DoxyItemize}
\item Fix format string overflow and add error checking when appending to {\ttfamily sys.\+path}. \+\_\+(Mihael Pranjić)\+\_\+
\end{DoxyItemize}\hypertarget{doc_news_2021-07-09_0_9_7_md_autotoc_md3514}{}\doxysection{Libraries}\label{doc_news_2021-07-09_0_9_7_md_autotoc_md3514}
The text below summarizes updates to the \href{https://www.libelektra.org/libraries/readme}{\texttt{ C (and C++)-\/based libraries}} of Elektra.\hypertarget{doc_news_2021-07-09_0_9_7_md_autotoc_md3515}{}\doxysubsection{Core}\label{doc_news_2021-07-09_0_9_7_md_autotoc_md3515}

\begin{DoxyItemize}
\item A few rare bugs (mostly related to empty keyname parts {\ttfamily /\%/}) in the keyname validation and canonicalization logic have been fixed. \+\_\+(Klemens Böswirth)\+\_\+
\item Fix default backend key name for cache compatibility. \+\_\+(Mihael Pranjić)\+\_\+
\end{DoxyItemize}\hypertarget{doc_news_2021-07-09_0_9_7_md_autotoc_md3516}{}\doxysection{Bindings}\label{doc_news_2021-07-09_0_9_7_md_autotoc_md3516}
Bindings allow you to utilize Elektra using \href{https://www.libelektra.org/bindings/readme}{\texttt{ various programming languages}}. This section keeps you up to date with the multi-\/language support provided by Elektra.\hypertarget{doc_news_2021-07-09_0_9_7_md_autotoc_md3517}{}\doxysubsection{JNA}\label{doc_news_2021-07-09_0_9_7_md_autotoc_md3517}

\begin{DoxyItemize}
\item Currently the binding\textquotesingle{}s automated clean-\/up of native keys and key sets is deactivated until JNI segmentation fault issues are resolved in an upcoming release. After these issues have been resolved, manual clean-\/up of native resources will be discouraged. Therefore the {\ttfamily Key\+::get$\ast$\+And\+Release} convenience methods introduced with the last release have been removed. \+\_\+(\+Michael Tucek)\+\_\+
\item Upgrade Gradle to 7.\+1.\+1. \+\_\+(Mihael Pranjić)\+\_\+
\end{DoxyItemize}\hypertarget{doc_news_2021-07-09_0_9_7_md_autotoc_md3518}{}\doxysubsection{Gsettings}\label{doc_news_2021-07-09_0_9_7_md_autotoc_md3518}

\begin{DoxyItemize}
\item Fix user and default (system) namespaces and key names. \+\_\+(Mihael Pranjić)\+\_\+
\item Rewrite {\ttfamily dbus} change notification mechanism. \+\_\+(Mihael Pranjić)\+\_\+
\end{DoxyItemize}\hypertarget{doc_news_2021-07-09_0_9_7_md_autotoc_md3519}{}\doxysection{Scripts}\label{doc_news_2021-07-09_0_9_7_md_autotoc_md3519}

\begin{DoxyItemize}
\item Add a script that automates the process of inserting source archive hashsums and git statistics into the release notes during a release. \+\_\+(\+Robert Sowula)\+\_\+
\end{DoxyItemize}\hypertarget{doc_news_2021-07-09_0_9_7_md_autotoc_md3520}{}\doxysection{Documentation}\label{doc_news_2021-07-09_0_9_7_md_autotoc_md3520}

\begin{DoxyItemize}
\item JNI docu updates and small fixes. \+\_\+(\+Markus Raab)\+\_\+
\item Small updates in notification tutorial. \+\_\+(\+Markus Raab)\+\_\+
\item Add \mbox{\hyperlink{doc_tutorials_specification_md}{tutorial about writing specifications}}. \+\_\+(Aaron Abebe \href{mailto:aaron.abebe@gmail.com}{\texttt{ aaron.\+abebe@gmail.\+com}})\+\_\+
\item Change GPG keyserver for receiving the apt key from keys.\+gnupg.\+net to keyserver.\+ubuntu.\+com \+\_\+(\+Robert Sowula)\+\_\+
\item The manpages now use the date of the last change recorded in git. \+\_\+(Klemens Böswirth)\+\_\+
\end{DoxyItemize}\hypertarget{doc_news_2021-07-09_0_9_7_md_autotoc_md3521}{}\doxysection{Tests}\label{doc_news_2021-07-09_0_9_7_md_autotoc_md3521}

\begin{DoxyItemize}
\item Upgrade Google\+Test frameworks to version 1.\+11.\+0. \+\_\+(Mihael Pranjić)\+\_\+
\item Add additional test cases for module {\ttfamily key}. \+\_\+(@lawli3t)\+\_\+
\item Add additional test cases for module {\ttfamily keyname}. \+\_\+(@lawli3t)\+\_\+
\item Add additional test cases for module {\ttfamily keyvalue}. \+\_\+(@lawli3t)\+\_\+
\item Add tests for module {\ttfamily keyset}. \+\_\+(@lawli3t)\+\_\+
\end{DoxyItemize}\hypertarget{doc_news_2021-07-09_0_9_7_md_autotoc_md3522}{}\doxysection{Packaging}\label{doc_news_2021-07-09_0_9_7_md_autotoc_md3522}

\begin{DoxyItemize}
\item Add packages for following bindings\+: {\ttfamily glib}, {\ttfamily io\+\_\+ev}, {\ttfamily io\+\_\+glib} and {\ttfamily io\+\_\+uv}. \+\_\+(\+Robert Sowula)\+\_\+
\end{DoxyItemize}\hypertarget{doc_news_2021-07-09_0_9_7_md_autotoc_md3523}{}\doxysection{Build}\label{doc_news_2021-07-09_0_9_7_md_autotoc_md3523}
\hypertarget{doc_news_2021-07-09_0_9_7_md_autotoc_md3524}{}\doxysubsection{Docker}\label{doc_news_2021-07-09_0_9_7_md_autotoc_md3524}

\begin{DoxyItemize}
\item Upgrade Alpine Linux images to 3.\+14.\+0. \+\_\+(Mihael Pranjić)\+\_\+
\end{DoxyItemize}\hypertarget{doc_news_2021-07-09_0_9_7_md_autotoc_md3525}{}\doxysection{Infrastructure}\label{doc_news_2021-07-09_0_9_7_md_autotoc_md3525}
\hypertarget{doc_news_2021-07-09_0_9_7_md_autotoc_md3526}{}\doxysubsection{Jenkins}\label{doc_news_2021-07-09_0_9_7_md_autotoc_md3526}

\begin{DoxyItemize}
\item Add the deployment of the \href{https://www.libelektra.org}{\texttt{ website}} to the release pipeline, therefore removing the need to wait until the main pipeline succeeds after a release. \+\_\+(\+Robert Sowula)\+\_\+
\item Restructure the release job stages to make it more failsafe and enable a re-\/run without any version conflict until the last stage. \+\_\+(\+Robert Sowula)\+\_\+
\item Fix invalid package artifact path in release pipeline. \+\_\+(\+Robert Sowula)\+\_\+
\item Clean Jenkins workspaces after builds. \+\_\+(Mihael Pranjić)\+\_\+
\end{DoxyItemize}\hypertarget{doc_news_2021-07-09_0_9_7_md_autotoc_md3527}{}\doxysection{Outlook}\label{doc_news_2021-07-09_0_9_7_md_autotoc_md3527}
We are currently working on following topics\+:


\begin{DoxyItemize}
\item Elektrify KDE \+\_\+(\+Dardan Haxhimustafa)\+\_\+, \+\_\+(\+Felix Resch)\+\_\+ and \+\_\+(Mihael Pranjić)\+\_\+
\item 1.\+0 API \+\_\+(\+Stefan Hanreich)\+\_\+ and \+\_\+(Klemens Böswirth)\+\_\+
\item Improve Java Development Experience \+\_\+(\+Michael Tucek)\+\_\+
\item Elektrify GNOME \+\_\+(Mihael Pranjić)\+\_\+
\item Continious Releases \+\_\+(\+Robert Sowula)\+\_\+
\item KDB access using FUSE \+\_\+(\+Alexander Firbas)\+\_\+
\item Default TOML plugin \+\_\+(\+Jakob Fischer)\+\_\+ and \+\_\+(Klemens Böswirth)\+\_\+
\item Improve Plugin Framework \+\_\+(Klemens Böswirth)\+\_\+
\item Improve 3-\/way merge \+\_\+(Dominic Jäger)\+\_\+
\item Shell completion \+\_\+(Ulrike Schäfer)\+\_\+
\item Ansible module \+\_\+(\+Thomas Waser)\+\_\+
\end{DoxyItemize}\hypertarget{doc_news_2021-07-09_0_9_7_md_autotoc_md3528}{}\doxysection{Statistics}\label{doc_news_2021-07-09_0_9_7_md_autotoc_md3528}
We closed \href{https://github.com/ElektraInitiative/libelektra/milestone/28?closed=1}{\texttt{ 40 issues}} for this release.

About 18 authors changed 307 files with 6547 insertions(+) and 1914 deletions(-\/) in 304 commits.

Thanks to all authors for making this release possible!\hypertarget{doc_news_2021-07-09_0_9_7_md_autotoc_md3529}{}\doxysection{Join the Initiative!}\label{doc_news_2021-07-09_0_9_7_md_autotoc_md3529}
We welcome new contributors! Read \href{https://www.libelektra.org/devgettingstarted/ideas}{\texttt{ here}} about how to get started.

As first step, you could give us feedback about these release notes. Contact us via our \href{https://issues.libelektra.org}{\texttt{ issue tracker}}.\hypertarget{doc_news_2021-07-09_0_9_7_md_autotoc_md3530}{}\doxysection{Get the Release!}\label{doc_news_2021-07-09_0_9_7_md_autotoc_md3530}
You can download the release from \href{https://www.libelektra.org/ftp/elektra/releases/elektra-0.9.7.tar.gz}{\texttt{ here}} or \href{https://github.com/ElektraInitiative/ftp/blob/master/releases/elektra-0.9.7.tar.gz?raw=true}{\texttt{ Git\+Hub}}

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


\begin{DoxyItemize}
\item name\+: elektra-\/0.\+9.\+7.\+tar.\+gz
\item size\+: 7712448
\item md5sum\+: 4355e7df0dcf4178974097604f996747
\item sha1\+: c418d344d72879dd2b3fd6fa8e9831c921cfaba5
\item sha256\+: 12b7b046004db29317b7b937dc794abf719c400ba3115af8d41849127b562681
\end{DoxyItemize}

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

The following GPG Key was used to sign this release\+: 12CC44541\+E1\+B8\+AD9\+B66\+AFAD55262\+E7353324914A

Already built API-\/\+Docu can be found \href{https://doc.libelektra.org/api/0.9.7/html/}{\texttt{ here}} or on \href{https://github.com/ElektraInitiative/doc/tree/master/api/0.9.7}{\texttt{ Git\+Hub}}.\hypertarget{doc_news_2021-07-09_0_9_7_md_autotoc_md3531}{}\doxysection{Stay tuned!}\label{doc_news_2021-07-09_0_9_7_md_autotoc_md3531}
Subscribe to the \href{https://www.libelektra.org/news/feed.rss}{\texttt{ 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 \href{http://issues.libelektra.org}{\texttt{ on Git\+Hub}}.

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

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

Best regards, \href{https://www.libelektra.org/developers/authors}{\texttt{ Elektra Initiative}} 