Elektra
0.9.10
|
According to src/libs/elektra/symbols.map the public core API has 124 symbols¹, which is arguable too much for a key-value API which has as highest goal simplicity.
In particular following areas have many functions and are not simple:
The urgency of this decision is that API can be easily introduced later but we cannot get rid of it after 1.0.
To not disturb main features such as:
Binary data is not a core feature, if needed the plugin system can also work without (properly tagged) binary data in key sets.
The exact API changes are not listed here, because it would just a long list that could just as easily be found in the git history.
However, the API changes follow these rules:
ksHead
and ksTail
keyMeta
/keySetMeta
to directly read/write the metadata KeySet of a KeykeyGet*Size
to key*Size
ksRemove
function to remove a Key at a specific indexelektraMalloc
(e.g. elektraFormat
), as well as all the helper functions that only enhance standard APIs with additional error checks (e.g. elektraStrCmp
)ksCut
, ksDeepDup
, ksCopyInternal
and other functions that should never have been publicksPop
)elektra
as described in Elektra Prefix, and use KeySet
instead of ks
(also applies to names above)¹ the 124 symbols are (as found by @kodebach):