We are proud to release Elektra 0.9.3. This release again brings us a big step towards Elektra 1.0. It introduces the new soon-to-be-default storage plugin: TOML.
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
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, simply run
docker run -it elektra/elektra
.
The highlight of this release is the TOML plugin. The TOML plugin has a similar huge feature set as the INI plugin, but is written in a much cleaner and more maintainable way using flex and bison. Furthermore, it follows the popular TOML spec.
It has nearly no run-time dependency, it only needs base64
if binary values are needed.
A huge thanks to Jakob Fischer for this amazing work!
Warning: In one of the following
0.9.*
releases, INI will be removed and TOML will become the default plugin. If you are using INI, please migrate to TOML now.
The following section lists news about the plugins we updated in this release.
null
plugin dependency of the plugin. (Jakob Fischer)type
metakey is now set for numbers on reading. (Jakob Fischer)dump
plugin got a major update. The new version can read old files, but only write new files.
The new files cannot be read by the old version of the plugin and will result in a "version error" message. (Klemens Böswirth)dump
files can now be imported into a different mountpoint. (Klemens Böswirth)dump
no longer writes unnecessary zero-bytes into files. This means that as long as all key-values are human-readable, so is the dump
output.
This makes dump
usable for tests and demo purposes, as it is a very simple format closely modelled after a KeySet's structure.
This also makes it much easier to manually fix broken dump
files.
You only need a text editor most of the time. (Klemens Böswirth)Elektra 0.9.*
does not make any compatibility promises, as we want a clean 1.0.0 release.
In this release, we did the following changes:
keyswitch_t
renamed to elektraKeyFlags. (Markus Raab)option_t
renamed to elektraLockFlags and elektraLookupFlags. (Markus Raab)cursor_t
renamed to elektraCursor. (Markus Raab)Note: We made this release before merging larger changes. Please expect more fundamental changes in the next releases.
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.
Fix googletest framework path in debian configure script. (Mihael Pranjić)
The fish completion script does not fail any more, if you try to complete a simple command that expects a namespace. For example, completing
kdb ls ‸
with the tab key (⇥) (‸
represents the current cursor position) should work correctly again. (René Schwaiger)
The formatting scripts using prettier now use npx
, which is included in npm
v5.2.0 or newer. This allows us to specify an exact version of prettier to use. (Klemens Böswirth)
The reformat-shell
script now accepts the alias shfmt2
, in case shfmt
v3 is needed for another project. (Klemens Böswirth)
The config for restyled.io now specifies the image to use for each formatter. This clearly reflects the version used for formatting. (Klemens Böswirth)
Add a release script to automate the release process. (Robert Sowula)
stix
(part of texlive-fonts-extra
) andstmaryrd
(part of texlive-science
or texlive-math-extra
). (René Schwaiger)is_not_rw_storage
function. (Lukas Kilian)check_import
and check_export
tests run for at least one plugin. (Lukas Kilian)make uninstall
also uninstalls symlinks. (Markus Raab)external-links.txt
and extra_install_manifest.txt
are cleaned up at CMake runs. (Markus Raab)testscr_check_kdb_internal_suite
due to timouts reached on slow test machines. (Mihael Pranjić)libgtest-dev
from docker images. (Mihael Pranjić)The website is generated from the repository, so all information about plugins, bindings and tools are always up-to-date. Furthermore, we changed:
package-lock.json
to ensure repeatable builds. (Marvin Mall)We are intensively working on Elektra 1.0. The last details of the semantics of Elektra 1.0 are in discussion. The decisions are documented, but some of them are not finalized.
If you are interested in the discussions, please subscribe.
We are currently working on following topics:
We closed 15 issues for this release.
About 17 authors changed 533 files with 26133 insertions(+) and 15834 deletions(-) in 545 commits.
Thanks to all authors for making this release possible!
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