Fri, 09 Jul 2021 00:00:00 GMT

0.9.7 Release

guid: 39F907DA-8B5B-4984-9D19-33BAB7B71B3D

author: Mihael Pranjić

pubDate: Fri, 09 Jul 2021 10:19:29 +0200

shortDesc: FUSE Tool, TOML Improvements, ElektraSettings GSettings Bindings

We are proud to release Elektra 0.9.7.

What is Elektra?

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 pull elektra/elektra
docker run -it elektra/elektra

Highlights

FUSE Tool

We added an 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)

ElektraSettings GSettings Backend

The experimental ElektraSettings 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 ElektraSettings as a replacement for dconf successfully and want to share the progess with you. If you want to try ElektraSettings back up all your data first. (Mihael Pranjić)

TOML Improvements

Multiple critical bugs have been fixed in the experimental TOML plugin see below. We are currently working towards using the TOML plugin as the default storage plugin for Elektra. (Klemens Böswirth and Jakob Fischer)

Plugins

The following section lists news about the plugins we updated in this release.

email

Introduce email address validation plugin based on regex. (a-kraschitzer)

Resolver

Fix invalid cache key name. (Mihael Pranjić)

Length

Implement a plugin that validates that a string length is less or equal to given number. (Philipp Oppel)

Blacklist

Implement a blacklist plugin that rejects values specified in a metadata array. (Robert Sowula)

TOML

Fixed a bug (#3896) that caused the toml plugin to swallow the first letter of all keys (after the namespace), if the parent key was a root key (e.g. user:/). (Klemens Böswirth)

The type metakey is now set for numbers on reading. (Jakob Fischer)

Rewrote some error messages, to make them less technical. (Jakob Fischer)

Fixed parsing of floats/empty keynames/multiline strings. (Jakob Fischer)

Python

Fix format string overflow and add error checking when appending to sys.path. (Mihael Pranjić)

Libraries

The text below summarizes updates to the C (and C++)-based libraries of Elektra.

Core

A few rare bugs (mostly related to empty keyname parts /%/) in the keyname validation and canonicalization logic have been fixed. (Klemens Böswirth)

Fix default backend key name for cache compatibility. (Mihael Pranjić)

Bindings

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.

JNA

Currently the binding'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 Key::get*AndRelease convenience methods introduced with the last release have been removed. (Michael Tucek)

Upgrade Gradle to 7.1.1. (Mihael Pranjić)

Gsettings

Fix user and default (system) namespaces and key names. (Mihael Pranjić)

Rewrite dbus change notification mechanism. (Mihael Pranjić)

Scripts

Add a script that automates the process of inserting source archive hashsums and Git statistics into the release notes during a release. (Robert Sowula)

Documentation

JNI documentation updates and small fixes. (Markus Raab)

Small updates in notification tutorial. (Markus Raab)

Add tutorial about writing specifications. (Aaron Abebe aaron.abebe@gmail.com)

Change GPG keyserver for receiving the apt key from keys.gnupg.net to keyserver.ubuntu.com (Robert Sowula)

The man pages now use the date of the last change recorded in git. (Klemens Böswirth)

Tests

Upgrade GoogleTest frameworks to version 1.11.0. (Mihael Pranjić)

Add additional test cases for module key. (@lawli3t)

Add additional test cases for module keyname. (@lawli3t)

Add additional test cases for module keyvalue. (@lawli3t)

Add tests for module keyset. (@lawli3t)

Packaging

Add packages for following bindings: glib, io_ev, io_glib and io_uv. (Robert Sowula)

Build

Docker

Upgrade Alpine Linux images to 3.14.0. (Mihael Pranjić)

Infrastructure

Jenkins

Add the deployment of the website to the release pipeline, therefore removing the need to wait until the main pipeline succeeds after a release. (Robert Sowula)

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)

Fix invalid package artifact path in release pipeline. (Robert Sowula)

Clean Jenkins workspaces after builds. (Mihael Pranjić)

Outlook

We are currently working on following topics:

Elektrify KDE (Dardan Haxhimustafa), (Felix Resch) and (Mihael Pranjić)

1.0 API (Stefan Hanreich) and (Klemens Böswirth)

Improve Java Development Experience (Michael Tucek)

Elektrify GNOME (Mihael Pranjić)

Continious Releases (Robert Sowula)

KDB access using FUSE (Alexander Firbas)

Default TOML plugin (Jakob Fischer) and (Klemens Böswirth)

Improve Plugin Framework (Klemens Böswirth)

Improve 3-way merge (Dominic Jäger)

Shell completion (Ulrike Schäfer)

Ansible module (Thomas Waser)

Statistics

We closed 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!

Join the Initiative!

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.

Get the Release!

You can download the release from here or GitHub

The hashsums are:

name: elektra-0.9.7.tar.gz

size: 7712448

md5sum: 4355e7df0dcf4178974097604f996747

sha1: c418d344d72879dd2b3fd6fa8e9831c921cfaba5

sha256: 12b7b046004db29317b7b937dc794abf719c400ba3115af8d41849127b562681

The release tarball is also available signed using GnuPG from here or on GitHub

The following GPG Key was used to sign this release: 12CC44541E1B8AD9B66AFAD55262E7353324914A

Already built API documentation can be found here or on GitHub.

Stay tuned!

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.

Permalink to this NEWS entry

For more information, see https://libelektra.org.