Elektra  0.8.24
0.8.24 Release

This release did not happen yet.

We are proud to release Elektra 0.8.24.

Number commits: 1734 1 Author: Mihael Pranjic mpran.nosp@m.j@li.nosp@m.mun.o.nosp@m.rg 1 Author: Peter Nirschl peter.nosp@m.max2.nosp@m.@user.nosp@m.s.no.nosp@m.reply.nosp@m..git.nosp@m.hub.c.nosp@m.om 2 Author: Michael Zronek Micha.nosp@m.el.Z.nosp@m.ronek.nosp@m.@gma.nosp@m.il.co.nosp@m.m 2 Author: Thomas Waser thoma.nosp@m.s.wa.nosp@m.ser@l.nosp@m.ibel.nosp@m.ektra.nosp@m..org 4 Author: René Schwaiger sanss.nosp@m.ecou.nosp@m.rs@me.nosp@m..com 5 Author: Michael Zronek micha.nosp@m.el.z.nosp@m.ronek.nosp@m.@gma.nosp@m.il.co.nosp@m.m 12 Author: Kurt Micheli e1026.nosp@m.558@.nosp@m.stude.nosp@m.nt.t.nosp@m.uwien.nosp@m..ac..nosp@m.at 16 Author: Peter Nirschl peter.nosp@m..nir.nosp@m.schl@.nosp@m.gmai.nosp@m.l.com 21 Author: Klemens Böswirth k.boe.nosp@m.swir.nosp@m.th+gi.nosp@m.t@gm.nosp@m.ail.c.nosp@m.om 22 Author: winlu derwi.nosp@m.nlu+.nosp@m.git@g.nosp@m.mail.nosp@m..com 96 Author: Markus Raab elekt.nosp@m.ra@m.nosp@m.arkus.nosp@m.-raa.nosp@m.b.org 101 Author: markus2330 marku.nosp@m.s233.nosp@m.0@use.nosp@m.rs.n.nosp@m.orepl.nosp@m.y.gi.nosp@m.thub..nosp@m.com 102 Author: Thomas Wahringer thoma.nosp@m.s.wa.nosp@m.hring.nosp@m.er@l.nosp@m.ibele.nosp@m.ktra.nosp@m..org 117 Author: Daniel Bugl me@om.nosp@m.nida.nosp@m.n.net 243 Author: derwinlu derwi.nosp@m.nlu+.nosp@m.git@g.nosp@m.mail.nosp@m..com 249 Author: e1528532 e1528.nosp@m.532@.nosp@m.stude.nosp@m.nt.t.nosp@m.uwien.nosp@m..ac..nosp@m.at 740 Author: René Schwaiger sanss.nosp@m.ecou.nosp@m.rs@me.nosp@m..com 792 files changed, 27677 insertions(+), 39176 deletions(-)

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.

For a small demo see here:

You can also read the news on our website

Highlights

Type system prototype

Elektra supports specifying the semantics of keys via metakeys in the spec namespace. An example is the metakey check/range which can be used to specify that a key only holds numbers in a given range. Another metakey is check/enum which only allows specific keywords to be the content of a key. Up to now these semantics are being checked at runtime. Therefore a type system was developed to be able to check configuration specifications statically. As an example, it would detect when one accidentally adds both a range and an enum check if their possible contents are not compatible with each other.

The type system is available as a plugin that gets mounted along with a configuration specification into the spec namespace. Furthermore we include a set of type definitions for commonly used metakeys such as check/range, check/enum, check/validation, fallback or override.

For more details see the typechecker readme

Thanks to Armin Wurzinger.

Chef Cookbook

Next to the Puppet Resource Type we now also prepared a Chef Cookbook which allows us to use Elektra from within chef.

For example, to set mount a configuration file, you can use:

kdbmount 'system/hosts' do
file '/etc/hosts'
plugins 'hosts'
action :create
end

And to add an hosts entry, you can use:

kdbset '/hosts/ipv4/showthatitworks' do
namespace 'system'
value '127.0.0.33'
action :create
end

Note that currently kdb is invoked and Elektra needs to be installed for managed systems.

Thanks to Michael Zronek and Vanessa Kos.

Elektra Web 1.6

The new release of Elektra Web features many UX improvements from the usability test!

Try it out now on: http://webdemo.libelektra.org/

1.5 changelog:

1.6 changelog:

Thanks to Daniel Bugl.

Notifications

Elektra's notification feature which allows applications to keep persistent configuration settings in sync with the key database and other applications was greatly improved with this release:

More details can be found in this news. Check out the updated notification tutorial and notification examples (polling, async and reload.

Plugins

CCode

CPP Template

scripts/copy-template -p pluginname

, where pluginname specifies the name of your new plugin. *(René Schwaiger)*

Crypto

CSVStorage

Directory Value

fcrypt

fstab

Haskell

Interpreter Plugins

JNI

HexNumber

List

mINI

network

Regex Dispatcher

Type

Typechecker

Tcl

YAJL

YAML CPP

# Mount plugin
kdb mount config.yaml /tests/yamlcpp yamlcpp
# Store single key-value pair
kdb set /tests/yamlcpp/level1/level2/level3 value
# Old behavior
kdb ls /tests/yamlcpp
#> user/tests/yamlcpp/level1
#> user/tests/yamlcpp/level1/level2
#> user/tests/yamlcpp/level1/level2/level3
# New behavior
kdb ls /tests/yamlcpp
#> user/tests/yamlcpp/level1/level2/level3

. *(René Schwaiger)*

kdb mount test.yaml user/tests/yamlcpp yamlcpp
kdb setmeta user/tests/yamlcpp/array array ''
kdb export user/tests/yamlcpp/array yamlcpp
#> []
kdb mount test.yaml user/tests/yamlcpp yamlcpp
kdb set user/tests/yamlcpp/null
kdb setmeta user/tests/yamlcpp/null comment 'Null Key'
kdb export user/tests/yamlcpp/null yamlcpp
#> !<!elektra/meta>
#> - ~
#> - comment: Null Key

YAML Smith

Yan LR

ZeroMQ transport plugins

Misc

Libraries

Core

General

pluginprocess

Bindings

Notifications

Tools

Scripts

Copy Template

Documentation

Tests

(Markdown) Shell Recorder

General

Build

Debian Wheezy is not supported anymore. As written in the previous release notes: Jessie (oldstable) with gcc 4.8.4 is now the oldest supported platform.

CMake

Docker

Infrastructure

Jenkins

Travis

Compatibility

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).

Following changes were made:

New plugins:

New tool: kdb-find

Website

The website is generated from the repository, so all information about plugins, bindings and tools are always up to date. Furthermore, we changed:

Outlook

We are currently working on following topics:

Get It!

You can download the release from here or GitHub

The hashsums are:

<<scripts/generate-hashsums>>

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

Already built API-Docu can be found online or GitHub.

Stay tuned!

Subscribe to the RSS feed to always get the release notifications.

For any questions and comments, please contact the issue tracker on GitHub or Markus Raab by email using elekt.nosp@m.ra@m.nosp@m.arkus.nosp@m.-raa.nosp@m.b.org.

Permalink to this NEWS entry

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

Best regards, Elektra Initiative