Releases: CESNET/libyang
version 1.0 - release 2
With this release we close active development of new features on the current codebase. We are currently working on libyang2
branch to rewrite problematic parts. The main issue, we see, is maintainability of the current codebase. We were trying to bring so many features for very different purposes, which are often opposite, that certain parts of the code are quite complex and it is more and more challenging to maintain or extend it.
We still plan to maintain this stable version 1.0 for at least 1 year, we just stop adding new features here to have more time for the development of libyang2.
Here is the list of main features and changes since previous version 0.16 release 3:
- New
LYD_DUP_OPT_WITH_WHEN
andLYD_DUP_OPT_WITH_KEYS
options for duplicating data nodes. - New
--disable-searchdir
option of yanglint(1) to allow forcing explicit specification of all the loaded modules. - Plugins (extension and user type) are now more strictly checked for compatibility - all plugins are now supposed to use
LYEXT_VERSION_CHECK
orLYTYPE_VERSION_CHECK
macro to be compatible with libyang 1.0. - User type plugins are now able not only to store the value in a specific way, but also to change its original string value (e.g. to make the value canonical). Change to the canonical value is also used in the provided user types plugins implementing
ietf-yang-types
andietf-int-types
data types. - Many bugfixes as usual.
version 0.16 - release 3
Main features of this release are:
- LYB format pathological meta data case fix
- caused data corruption
- new
lyd_validate()
flagLYD_OPT_VAL_DIFF
- causes validation to output the data node changes it made
- new
lyd_validate_modules()
function- allows validating data of specified modules instead of the whole context
- greatly improved efficiency of
lyd_free_withsiblings()
andlyd_dup_withsiblings()
- false
when
autodelete behavior fixes - new
yanglint
load
command - new make
uninstall
target - support for GCC version
4.8.4
and lower - many other small improvements and bugfixes
version 0.16 - release 2
Main features of this release are:
- both little and big endianity support for LYB
- auto-delete
when
corrections - minor bugfixes
version 0.16 - release 1
Main features of this release are:
- new libyang proprietary binary format LYB
- JSON parser order fixes
- proper list
unique
validation - new context dictionary implementation
- major C++ bindings improvements
- proprietary JSON schema printer
- many other smaller enhancements and bugfixes
version 0.15 - release 1
Main features of this release are:
- data cache compilation option
ENABLE_CACHE
enabled by default- data trees require ~20% more memory
- operations on these trees are much faster (depends on their size, on 20k nodes around 100-times faster)
- internal
ietf-yang-library
model updated - new schema printer format
tree-rfc
- extension validation callback
- error handling overhaul (more in DOCs)
yang-data
extension support- support for user type plugins
- that can perform additional validation or custom value storing
json
data printer fixes so that it should be equal toxml
- static build support
- loads of minor or major bugfixes and enhancements
version 0.14 - release 1
Main features of this release are:
- XPath evaluation optimized
- C++ bindings updated
- new function
ly_path_data2schema()
for transforming data paths to schema paths - large number of bugfixes and minor enhancements
version 0.13 - release 2
There are no API/ABI differences with the previous release.
Main features of this release are:
- large number of bugfixes
- mostly corner cases and complex YANG statement bugs
version 0.13 - release 1
The complete API/ABI diff to the previous release is available at netopeer.liberouter.org.
Main features of this release are:
- yanglint enhancements
- parsing and validating of RPCs, RPC replies, and notifications
- processing input files customization
- large number of bugfixes
- most notably
augment
andleafref
(x)path fixed according to RPC - this change also included modified
path
arguments of several API functions (lys_find_path
,lyd_find_path
)
- most notably
version 0.12 - release 2
The main features of this release are:
- various bugfixes
ly_ctx_new_ylpath()
andly_ctx_new_ylmem()
to create context according to yang-library data (reflected in yanglint(1))- allow multiple search paths for the context (reflected in yanglint(1))
- shorthand cases in choice are now implicitly created in schema trees
- default values are not checked in grouping but when the grouping is instantiated
- extended checking of all XPATH expressions
- added pointer to private data in extension instances structures
- number of internal schemas in the context is available in API as
LY_INTERNAL_MODULE_COUNT
strict
option in yanglint(1) non-interactive mode
version 0.12 - release 1
The complete API/ABI diff to the previous release is available at netopeer.liberouter.org.
The main features of this release are:
- various bugfixes
- support for YANG extensions (libyang's schema tree structures changed)
- ietf-metadata implemented - support for annotations represented in data as data nodes' attributes
- added possibility to set all the imported modules as implemented
- YANG parser's error messages extended by the path of the invalid node
- nodes, used in
must
andwhen
XPath expressions, which are not found in schema are reported as warnings, not errors - refering non-exiting nodes is generally allowed despite it is useless