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` and `LYD_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` or `LYTYPE_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` and `ietf-int-types` data types.
- Many bugfixes as usual.