\label{doc_news_2021-02-01_0_9_4_md_md_doc_news_2021_02_01_0_9_4}%
\Hypertarget{doc_news_2021-02-01_0_9_4_md_md_doc_news_2021_02_01_0_9_4}%

\begin{DoxyItemize}
\item guid\+: a3f66c2f-\/ae6a-\/412b-\/bdbd-\/f8950adb2334
\item author\+: Mihael Pranjić
\item pub\+Date\+: Mon, 01 Feb 2021 22\+:54\+:30 +0100
\item short\+Desc\+: Key Name Improvements, Debian and Fedora Packaging
\end{DoxyItemize}

We are proud to release Elektra 0.\+9.\+4.\hypertarget{doc_news_2021-02-01_0_9_4_md_autotoc_md3431}{}\doxysection{What is Elektra?}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3431}
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.4-release}{\texttt{ on our website}}\hypertarget{doc_news_2021-02-01_0_9_4_md_autotoc_md3432}{}\doxysection{Highlights}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3432}

\begin{DoxyItemize}
\item Important Breaking Changes to key names et al. {\itshape \href{\#hl-1}{\texttt{ see below}}}
\item Debian and Fedora Packaging with CPack {\itshape \href{\#hl-2}{\texttt{ see below}}}
\end{DoxyItemize}

\label{_hl-1}%
\hypertarget{doc_news_2021-02-01_0_9_4_md_autotoc_md3433}{}\doxysubsection{Important Breaking Changes}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3433}

\begin{DoxyItemize}
\item The structure of key names has been changed. \href{\#br-1}{\texttt{ see below}} \+\_\+(Klemens Böswirth)\+\_\+ ~\newline
 {\bfseries{This change breaks mountpoint configurations.}} Please follow the upgrade procedure \href{\#mountpoint-upgrade}{\texttt{ shown below}}.
\item The backend fallback procedure introduced in Elektra 0.\+8.\+15 has been removed and the structure of the {\ttfamily warnings} metadata array has been changed. \href{\#br-2}{\texttt{ see below}} \+\_\+(Klemens Böswirth)\+\_\+
\item We removed the {\ttfamily ini} plugin (superseded by the TOML plugin), the {\ttfamily null} plugin (superseded by the base64 plugin) and the {\ttfamily tcl} plugin \+\_\+(\+Markus Raab, Philipp Gackstatter)\+\_\+
\end{DoxyItemize}

\label{_br-1}%
\hypertarget{doc_news_2021-02-01_0_9_4_md_autotoc_md3434}{}\doxysubsubsection{Important Changes to Key Names}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3434}
There have been significant changes to Elektra\textquotesingle{}s key names\+:


\begin{DoxyItemize}
\item The most important change is that you now need a {\ttfamily \+:} after the namespace. So instead of {\ttfamily system/elektra/version} you have to use {\ttfamily system\+:/elektra/version}.
\item The second big change is to array elements. From now on {\ttfamily key\+New (\char`\"{}/array/\#10\char`\"{}, KEY\+\_\+\+END)} will create a {\ttfamily Key} with name {\ttfamily /array/\#\+\_\+10}, to make arrays more user-\/friendly by preserving numerical ordering.
\item The whole implementation for {\ttfamily key\+Set\+Name}, {\ttfamily key\+Add\+Name}, etc. has been completely rewritten. If you rely on specific behavior of Elektra\textquotesingle{}s key names and have already taken the two changes above into account, please refer to the newly created \mbox{\hyperlink{doc_KEYNAMES_md}{key name documentation}} and Python reference implementation.
\item Metakeys now use the namespace {\ttfamily meta\+:/}. The accessor functions {\ttfamily key\+Get\+Meta} and {\ttfamily key\+Set\+Meta} automatically add this namespace to preserve compatibility. However, if you use the recently introduced {\ttfamily key\+Meta} or otherwise directly access the key name of a metakey, you will have to update your code.
\item {\ttfamily default\+:/} is a new namespace used for keys that exist purely to represent a default value (e.\+g. generated by the {\ttfamily spec} plugin).

Looking up cascading keys with {\ttfamily ks\+Lookup} now looks at namespaces in the following order\+:
\begin{DoxyItemize}
\item {\ttfamily proc\+:/}
\item {\ttfamily dir\+:/}
\item {\ttfamily user\+:/}
\item {\ttfamily system\+:/}
\item {\ttfamily default\+:/}
\item {\ttfamily /} (cascading key itself)
\end{DoxyItemize}

The final lookup of the cascading key itself, will be removed in a future release. Please update your code to generate {\ttfamily default\+:/} keys, if you rely on this feature.

Note\+: The {\ttfamily spec} plugin already generates {\ttfamily default\+:/} keys.
\item The function {\ttfamily key\+Inactive} has been removed. The concept of inactive keys no longer exists, use \href{/home/jenkins/workspace/libelektra-release/doc/METADATA.ini}{\texttt{ comment/\#}} instead.
\item {\ttfamily Elektra\+Namespace} is the new C++ {\ttfamily enum class} for the Elektra\textquotesingle{}s namespaces. You should prefer it to using {\ttfamily KEY\+\_\+\+NS\+\_\+\+SYSTEM} et al. directly, if you use C++.
\item {\ttfamily key\+Get\+Full\+Name} et al. have been removed. The concept of a \char`\"{}full name (with owner)\char`\"{} no longer exists.
\end{DoxyItemize}

A huge thanks to \+\_\+(Klemens Böswirth)\+\_\+ for doing these important changes and clean-\/ups.

\label{_mountpoint-upgrade}%
\hypertarget{doc_news_2021-02-01_0_9_4_md_autotoc_md3435}{}\doxysubsubsection{Mountpoint upgrade}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3435}
The change to key names breaks existing mountpoint configurations.

It is not hard to fix the mountpoint configs even after the updating to the new version.

There are two places that will still contain the old syntax after the update\+:


\begin{DoxyEnumerate}
\item Every key below (and including) {\ttfamily system\+:/elektra/mountpoints/$<$MOUNTPOINT$>$} uses an old key names as {\ttfamily $<$MOUNTPOINT$>$}, if the mountpoint was created with {\ttfamily kdb mount}.
\item The value of all keys matching {\ttfamily system\+:/elektra/mountpoints/$\ast$/mountpoint} must be valid key names.
\end{DoxyEnumerate}

Fixing the first instance is optional. There the key name is just used to create a unique name for the mountpoint.

The second instance, however, must be fixed or Elektra will be unusable.

\begin{quote}
{\bfseries{Disclaimer\+:}} We cannot guarantee that the commands below work for all cases. We also make no guarantees that the command will not break things.

Please report any \href{https://issues.libelektra.org/3633}{\texttt{ problems}}.

{\itshape You have been warned. Manually backup important data first.} \end{quote}
For the migration you can use the following commands\+:


\begin{DoxyCode}{0}
\DoxyCodeLine{\#! /usr/bin/env sh}
\DoxyCodeLine{kdb export system:/elektra/mountpoints ni > mountpoints.ini}
\DoxyCodeLine{sed -\/E 's\string~((\string^\(\backslash\)[?|/mountpoint = )(user|system))((\(\backslash\)\(\backslash\)\(\backslash\)\(\backslash\))?/)\string~\(\backslash\)1:\(\backslash\)4\string~g' mountpoints.ini > mountpoints\_corrected.ini}
\DoxyCodeLine{kdb mv -\/r system:/elektra/mountpoints system:/elektra/mountpoints-\/backup}
\DoxyCodeLine{kdb import system:/elektra/mountpoints ni < mountpoints\_corrected.ini}

\end{DoxyCode}


\begin{quote}
{\itshape Note\+:} The original {\ttfamily system\+:/elektra/mountpoints} data will be moved to {\ttfamily system\+:/elektra/mountpoints-\/backup} \end{quote}
\label{_hl-2}%
\hypertarget{doc_news_2021-02-01_0_9_4_md_autotoc_md3436}{}\doxysubsection{Debian and Fedora Packaging with CPack}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3436}
We are now using CPack to generate modular Debian, Ubuntu (DEB) and Fedora (RPM) packages. This simplifies the packaging process and solves problems where a PR, which introduces changes to installed files, fails. We can now also set distribution specific dependencies with CPack, which is needed for some packages. \+\_\+(\+Robert Sowula)\+\_\+

We now provide DEB and RPM packages for releases and for every commit on master in our own repositories using CPack for\+:


\begin{DoxyItemize}
\item DEB packages for Debian Buster
\item DEB packages for Ubuntu Bionic
\item DEB packages for Ubuntu Focal
\item RPM packages for Fedora 33
\end{DoxyItemize}

A big thanks to \+\_\+(\+Robert Sowula)\+\_\+ for introducing CPack and creating the repositories.\hypertarget{doc_news_2021-02-01_0_9_4_md_autotoc_md3437}{}\doxysubsubsection{Short Installation Guide}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3437}
\hypertarget{doc_news_2021-02-01_0_9_4_md_autotoc_md3438}{}\doxyparagraph{DEB packages}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3438}

\begin{DoxyEnumerate}
\item First, you need to obtain the repository key\+:
\end{DoxyEnumerate}


\begin{DoxyCode}{0}
\DoxyCodeLine{sudo apt-\/key adv -\/-\/keyserver keys.gnupg.net -\/-\/recv-\/keys F26BBE02F3C315A19BF1F791A9A25CC1CC83E839}

\end{DoxyCode}



\begin{DoxyEnumerate}
\item Add {\ttfamily deb \href{https://debs.libelektra.org/}{\texttt{ https\+://debs.\+libelektra.\+org/}}$<$DISTRIBUTION$>$ $<$DISTRIBUTION$>$ main} into {\ttfamily /etc/apt/sources.list} where {\ttfamily $<$DISTRIBUTION$>$} is the codename of your distributions e.\+g. {\ttfamily focal}, {\ttfamily bionic} or {\ttfamily buster}.
\end{DoxyEnumerate}


\begin{DoxyCode}{0}
\DoxyCodeLine{apt-\/get install libelektra5-\/all}

\end{DoxyCode}
\hypertarget{doc_news_2021-02-01_0_9_4_md_autotoc_md3439}{}\doxyparagraph{RPM packages}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3439}
Download our \href{https://rpms.libelektra.org/fedora-33/libelektra.repo}{\texttt{ .repo configuration file}} and add it to yum/dnf.

To get all packaged plugins, bindings and tools install\+:


\begin{DoxyCode}{0}
\DoxyCodeLine{dnf install libelektra5-\/all}

\end{DoxyCode}


For more available packages, further instructions on how to add our repositories or instructions on how to use our master built packages, please refer to our \mbox{\hyperlink{doc_INSTALL_md}{install documentation}}.\hypertarget{doc_news_2021-02-01_0_9_4_md_autotoc_md3440}{}\doxysubsubsection{Version Bump}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3440}
The 0.\+9.$\ast$ series of Elektra is for development of Elektra 1.\+0. Elektra 1.\+0 will be incompatible to 0.\+8 and as such, we need a SO version bump. We used this release to bump the SO version from 4 to 5 due to the breaking changes that are not visible in the API.

\begin{quote}
{\itshape Note\+:} that within 0.\+9.$\ast$ we likely introduce further breaking changes but we will not bump the SO version again. \end{quote}
The package names which consist of the SO Version also changed from libelektra4$\ast$ to libelektra5$\ast$. If you used our previous repository with master built packages, please make sure to migrate to our new package repositories described above or in our \mbox{\hyperlink{doc_INSTALL_md}{install documentation}}.

The version of the Java bindings was also bumped from 4 to 5, although the API is also work in progress.

A big thanks to \+\_\+(\+Robert Sowula)\+\_\+ for doing the necessary renamings.\hypertarget{doc_news_2021-02-01_0_9_4_md_autotoc_md3441}{}\doxysection{Plugins}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3441}
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-02-01_0_9_4_md_autotoc_md3442}{}\doxysubsection{jni}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3442}

\begin{DoxyItemize}
\item Fix rare memleak when the {\ttfamily jni} plugin is closed. \+\_\+(Mihael Pranjić)\+\_\+
\end{DoxyItemize}\hypertarget{doc_news_2021-02-01_0_9_4_md_autotoc_md3443}{}\doxysubsection{m\+INI}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3443}

\begin{DoxyItemize}
\item We changed the {\ttfamily provides} clause in the plugin contract. Now m\+INI offers support for the \href{https://en.wikipedia.org/wiki/.properties}{\texttt{ properties format}} ({\ttfamily storage/properties}) instead of the INI file format ({\ttfamily storage/ini}). This makes sense, since the plugin never supported the \href{https://en.m.wikipedia.org/wiki/INI_file\#Sections}{\texttt{ section syntax}} of INI files. \+\_\+(René Schwaiger)\+\_\+
\end{DoxyItemize}\hypertarget{doc_news_2021-02-01_0_9_4_md_autotoc_md3444}{}\doxysubsection{Quickdump}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3444}

\begin{DoxyItemize}
\item Support for the old quickdump v1 and v2 formats has been removed. \+\_\+(Klemens Böswirth)\+\_\+
\end{DoxyItemize}\hypertarget{doc_news_2021-02-01_0_9_4_md_autotoc_md3445}{}\doxysubsection{Simple INI}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3445}

\begin{DoxyItemize}
\item The plugin contract now correctly states that the plugin offers support for the \href{https://en.wikipedia.org/wiki/.properties}{\texttt{ properties format}}. Before it would state that the plugin offered support for the INI file format. This is not true, since the plugin does not support the \href{https://en.m.wikipedia.org/wiki/INI_file\#Sections}{\texttt{ section syntax}} of the INI file format.
\end{DoxyItemize}\hypertarget{doc_news_2021-02-01_0_9_4_md_autotoc_md3446}{}\doxysubsection{YAML CPP}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3446}

\begin{DoxyItemize}
\item We fixed an \href{https://issues.libelektra.org/3561}{\texttt{ use after free bug in the plugin}}. \+\_\+(René Schwaiger)\+\_\+
\end{DoxyItemize}\hypertarget{doc_news_2021-02-01_0_9_4_md_autotoc_md3447}{}\doxysubsection{Yan LR}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3447}

\begin{DoxyItemize}
\item The plugin now works (with and) requires \href{https://github.com/antlr/antlr4/releases/tag/4.9}{\texttt{ ANTLR {\ttfamily 4.\+9}}}. \+\_\+(René Schwaiger)\+\_\+
\end{DoxyItemize}\hypertarget{doc_news_2021-02-01_0_9_4_md_autotoc_md3448}{}\doxysection{Libraries}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3448}
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-02-01_0_9_4_md_autotoc_md3449}{}\doxysubsection{Compatibility}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3449}
\label{_br-2}%



\begin{DoxyItemize}
\item We removed the fallback procedure introduced in Elektra 0.\+8.\+15 (using {\ttfamily KDB\+\_\+\+DB\+\_\+\+FILE} ({\ttfamily default.\+ecf}) for {\ttfamily system\+:/elektra}, if the bootstrap backend {\ttfamily KDB\+\_\+\+DB\+\_\+\+INIT} ({\ttfamily elektra.\+ecf}) isn\textquotesingle{}t found). If you still rely on this feature, either use {\ttfamily kdb upgrade-\/bootstrap} {\bfseries{before}} upgrading, or manually extract {\ttfamily system\+:/elektra} into {\ttfamily elektra.\+ecf}.
\item There was an update to how warnings are generated. For users this means that the {\ttfamily warnings} metadata now forms a proper array. Specifically, the first 100 warnings are stored below to the meta keys {\ttfamily warnings/\#0}, {\ttfamily warnings/\#1}, ..., {\ttfamily warnings/\#9}, {\ttfamily warnings/\#\+\_\+10}, ..., {\ttfamily warnings/\#\+\_\+99}. After that, warnings will wrap around, so the 101st warning will be stored as {\ttfamily warnings/\#0}, 102nd as {\ttfamily warnings/\#1} etc.
\end{DoxyItemize}\hypertarget{doc_news_2021-02-01_0_9_4_md_autotoc_md3450}{}\doxysubsection{Core}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3450}

\begin{DoxyItemize}
\item {\ttfamily kdb\+Set} now properly handles, if the given {\ttfamily parent\+Key} is {\ttfamily NULL} or has read-\/only name, value or metadata. \+\_\+(Klemens Böswirth)\+\_\+
\end{DoxyItemize}\hypertarget{doc_news_2021-02-01_0_9_4_md_autotoc_md3451}{}\doxysubsection{Proposal}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3451}

\begin{DoxyItemize}
\item Removed {\ttfamily elektra\+Key\+Get\+Meta\+Key\+Set} and moved {\ttfamily key\+Set\+StringF} to the hosts plugin. \+\_\+(\+Philipp Gackstatter)\+\_\+
\item Removed {\ttfamily ks\+Pop\+At\+Cursor}. \+\_\+(\+Philipp Gackstatter)\+\_\+
\end{DoxyItemize}\hypertarget{doc_news_2021-02-01_0_9_4_md_autotoc_md3452}{}\doxysection{Bindings}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3452}
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-02-01_0_9_4_md_autotoc_md3453}{}\doxysubsection{Lua}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3453}

\begin{DoxyItemize}
\item Remove ipairs support and add our own iterator to add support for Lua 5.\+4, since {\ttfamily \+\_\+\+\_\+ipairs} was deprecated. \+\_\+(\+Manuel Mausz)\+\_\+
\end{DoxyItemize}\hypertarget{doc_news_2021-02-01_0_9_4_md_autotoc_md3454}{}\doxysubsection{JNA}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3454}

\begin{DoxyItemize}
\item Fixed allocation not correctly conveyed on key set initialization \+\_\+(\+Michael Tucek)\+\_\+
\end{DoxyItemize}\hypertarget{doc_news_2021-02-01_0_9_4_md_autotoc_md3455}{}\doxysubsection{C++}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3455}

\begin{DoxyItemize}
\item {\ttfamily Elektra\+Namespace} is the new C++ {\ttfamily enum class} for the Elektra\textquotesingle{}s namespaces. You should prefer it to using {\ttfamily KEY\+\_\+\+NS\+\_\+\+SYSTEM} et al. directly, if you use C++. The array {\ttfamily ELEKTRA\+\_\+\+NAMESPACES} can be used to iterate over all namespaces. \+\_\+(Klemens Böswirth)\+\_\+
\end{DoxyItemize}\hypertarget{doc_news_2021-02-01_0_9_4_md_autotoc_md3456}{}\doxysubsection{Ruby}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3456}

\begin{DoxyItemize}
\item Enable {\ttfamily \+\_\+\+\_\+declspec} attributes for Ruby 3.\+0. \+\_\+(Mihael Pranjić)\+\_\+
\end{DoxyItemize}\hypertarget{doc_news_2021-02-01_0_9_4_md_autotoc_md3457}{}\doxysection{Tools}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3457}

\begin{DoxyItemize}
\item The kdb cmd-\/line tool outputs better error messages on wrong names like {\ttfamily user} or {\ttfamily user\+:} as {\ttfamily user\+:/} is now required. \+\_\+(\+Markus Raab)\+\_\+
\item The Qt\+GUI was updated to be compatible with the new key name structure. \+\_\+(Klemens Böswirth)\+\_\+
\end{DoxyItemize}\hypertarget{doc_news_2021-02-01_0_9_4_md_autotoc_md3458}{}\doxysection{Scripts}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3458}

\begin{DoxyItemize}
\item We fixed the (possibly) infinitely running function {\ttfamily generate-\/random-\/string} in check-\/env-\/dep. \+\_\+(René Schwaiger)\+\_\+
\end{DoxyItemize}\hypertarget{doc_news_2021-02-01_0_9_4_md_autotoc_md3459}{}\doxysection{Documentation}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3459}

\begin{DoxyItemize}
\item Finalize 1.\+0 \mbox{\hyperlink{doc_decisions_README_md}{decisions}}. \+\_\+(\+Markus Raab)\+\_\+
\item Update \mbox{\hyperlink{doc_DESIGN_md}{API design document}} \+\_\+(\+Markus Raab and Stefan Hanreich)\+\_\+
\item Update release instructions \+\_\+(\+Robert Sowula)\+\_\+
\item Changed API documentation terms \mbox{[}current, latest\mbox{]} to \mbox{[}latest, master\mbox{]}. The API documentation of the latest release is now available at \href{https://doc.libelektra.org/api/latest/html/}{\texttt{ https\+://doc.\+libelektra.\+org/api/latest/html/}} and of the current git master at \href{https://doc.libelektra.org/api/master/html/}{\texttt{ https\+://doc.\+libelektra.\+org/api/master/html/}}. \+\_\+(\+Robert Sowula)\+\_\+
\end{DoxyItemize}\hypertarget{doc_news_2021-02-01_0_9_4_md_autotoc_md3460}{}\doxysection{Tests}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3460}

\begin{DoxyItemize}
\item Tests that use additional executables can now be installed and run via {\ttfamily kdb $<$testname$>$}. Existing tests have been update to support this. \+\_\+(Klemens Böswirth)\+\_\+
\item Update source formatting check to clang-\/format 11. \+\_\+(Mihael Pranjić)\+\_\+
\end{DoxyItemize}\hypertarget{doc_news_2021-02-01_0_9_4_md_autotoc_md3461}{}\doxysection{Build}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3461}
\hypertarget{doc_news_2021-02-01_0_9_4_md_autotoc_md3462}{}\doxysubsection{CMake}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3462}

\begin{DoxyItemize}
\item Use Lua 5.\+4 when available. \+\_\+(Mihael Pranjić)\+\_\+
\item Force {\ttfamily RTLD\+\_\+\+NODELETE} on dlopen() when the {\ttfamily ENABLE\+\_\+\+ASAN} CMake option is used. This enables ASAN to find symbols which otherwise might be unloaded. \+\_\+(Mihael Pranjić)\+\_\+
\end{DoxyItemize}\hypertarget{doc_news_2021-02-01_0_9_4_md_autotoc_md3463}{}\doxysubsection{Docker}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3463}

\begin{DoxyItemize}
\item We added a Docker image for \href{https://github.com/ElektraInitiative/libelektra/blob/799fecd94dcb482ea9338facaf63d39f8e5ab5bd/scripts/docker/debian/sid/doc.Dockerfile}{\texttt{ building the documentation on Debian Sid}}. \+\_\+(René Schwaiger)\+\_\+
\item We removed the Docker image for building the documentation on Debian Stretch. \+\_\+(René Schwaiger)\+\_\+
\item Add Fedora 33 Dockerfile for Cirrus and Jenkins CI. \+\_\+(Mihael Pranjić)\+\_\+
\item Debian Sid\+: update to clang 11. \+\_\+(Mihael Pranjić)\+\_\+
\end{DoxyItemize}\hypertarget{doc_news_2021-02-01_0_9_4_md_autotoc_md3464}{}\doxysection{Infrastructure}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3464}
\hypertarget{doc_news_2021-02-01_0_9_4_md_autotoc_md3465}{}\doxysubsection{Cirrus}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3465}

\begin{DoxyItemize}
\item Upgrade Cirrus Fedora docker image to Fedora 33. \+\_\+(Mihael Pranjić)\+\_\+
\item Upgrade to Ruby 3.\+0 for mac\+OS builds. \+\_\+(Mihael Pranjić)\+\_\+
\end{DoxyItemize}\hypertarget{doc_news_2021-02-01_0_9_4_md_autotoc_md3466}{}\doxysubsection{Git\+Hub Actions}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3466}

\begin{DoxyItemize}
\item We added a build job that translates Elektra with GCC on mac\+OS. \+\_\+(Mihael Pranjić, René Schwaiger)\+\_\+
\end{DoxyItemize}\hypertarget{doc_news_2021-02-01_0_9_4_md_autotoc_md3467}{}\doxysubsection{Jenkins}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3467}

\begin{DoxyItemize}
\item We refactored shared code between pipelines into a \href{https://github.com/ElektraInitiative/jenkins-library}{\texttt{ Jenkins Shared Library}}. \+\_\+(\+Robert Sowula)\+\_\+
\item We now use Debian Sid to build the documentation instead of Debian Stretch. The Doxygen version in Debian stretch \href{https://github.com/doxygen/doxygen/issues/6456}{\texttt{ contains a bug}} that causes the generation of the PDF documentation to fail. \+\_\+(René Schwaiger)\+\_\+
\item Use Fedora 33 and 32, drop Fedora 31 use in Jenkins. \+\_\+(Mihael Pranjić)\+\_\+
\item The Main and Release Pipeline now creates packages for Debian Buster, Ubuntu Bionic, Ubuntu Focal and Fedora-\/33. These packages are also installed and automatically tested before they are published. To install these packages, please refer to our \mbox{\hyperlink{doc_INSTALL_md}{Install documentation}}. \+\_\+(\+Robert Sowula)\+\_\+
\item We updated our Release Pipeline to push changes directly to our git repositories. \+\_\+(\+Robert Sowula)\+\_\+
\end{DoxyItemize}\hypertarget{doc_news_2021-02-01_0_9_4_md_autotoc_md3468}{}\doxysubsection{Travis}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3468}

\begin{DoxyItemize}
\item Move mac\+OS GCC 10 build job to Git\+Hub Actions. \+\_\+(Mihael Pranjić)\+\_\+
\end{DoxyItemize}\hypertarget{doc_news_2021-02-01_0_9_4_md_autotoc_md3469}{}\doxysection{Website}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3469}
The website is generated from the repository, so all information about plugins, bindings and tools are always up-\/to-\/date.\hypertarget{doc_news_2021-02-01_0_9_4_md_autotoc_md3470}{}\doxysection{Outlook}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3470}
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)\+\_\+
\item Improve Plugin Framework \+\_\+(\+Vid Leskovar)\+\_\+
\item Improve 3-\/way merge \+\_\+(Dominic Jäger)\+\_\+
\item Shell completion \+\_\+(Ulrike Schäfer)\+\_\+
\item Ansible bindings \+\_\+(\+Thomas Waser)\+\_\+
\end{DoxyItemize}\hypertarget{doc_news_2021-02-01_0_9_4_md_autotoc_md3471}{}\doxysection{Statistics}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3471}
We closed \href{https://github.com/ElektraInitiative/libelektra/milestone/25?closed=1}{\texttt{ 21 issues}} for this release.

About 13 authors changed 1280 files with 26471 insertions(+) and 29959 deletions(-\/) in 428 commits.

Thanks to all authors for making this release possible!\hypertarget{doc_news_2021-02-01_0_9_4_md_autotoc_md3472}{}\doxysection{Join the Initiative!}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3472}
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-02-01_0_9_4_md_autotoc_md3473}{}\doxysection{Get the Release!}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3473}
You can download the release from \href{https://www.libelektra.org/ftp/elektra/releases/elektra-0.9.4.tar.gz}{\texttt{ here}} or \href{https://github.com/ElektraInitiative/ftp/blob/master/releases/elektra-0.9.4.tar.gz?raw=true}{\texttt{ Git\+Hub}}

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


\begin{DoxyItemize}
\item name\+: elektra-\/0.\+9.\+4.\+tar.\+gz
\item size\+: 7562103
\item md5sum\+: 670a3e9ab225ef53cb2db9058225d7d9
\item sha1\+: 2a5729462fc61694f2b81ca7dbd3620f09cbbf72
\item sha256\+: e1f11f063ab262ce056238ca17aa60442a450a0bb6c5f57a9959df0365576bc6
\end{DoxyItemize}

The release tarball is also available signed using Gnu\+PG from \href{https://www.libelektra.org/ftp/elektra/releases/elektra-0.9.4.tar.gz.gpg}{\texttt{ here}} or on \href{https://github.com/ElektraInitiative/ftp/blob/master/releases/elektra-0.9.4.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.4/html/}{\texttt{ here}} or on \href{https://github.com/ElektraInitiative/doc/tree/master/api/0.9.4}{\texttt{ Git\+Hub}}.\hypertarget{doc_news_2021-02-01_0_9_4_md_autotoc_md3474}{}\doxysection{Stay tuned!}\label{doc_news_2021-02-01_0_9_4_md_autotoc_md3474}
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.4-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}} 