Skip to content

Releases: CESNET/libyang

version 1.0 - release 2

05 Apr 14:22
Compare
Choose a tag to compare

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.

version 0.16 - release 3

16 Jan 08:57
Compare
Choose a tag to compare

Main features of this release are:

  • LYB format pathological meta data case fix
    • caused data corruption
  • new lyd_validate() flag LYD_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() and lyd_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

17 Oct 11:54
Compare
Choose a tag to compare

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

19 Sep 09:05
Compare
Choose a tag to compare

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

06 Jun 08:58
Compare
Choose a tag to compare

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 to xml
  • static build support
  • loads of minor or major bugfixes and enhancements

version 0.14 - release 1

07 Dec 07:50
Compare
Choose a tag to compare

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

21 Sep 12:30
Compare
Choose a tag to compare

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

14 Aug 13:36
Compare
Choose a tag to compare

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 and leafref (x)path fixed according to RPC
    • this change also included modified path arguments of several API functions (lys_find_path, lyd_find_path)

version 0.12 - release 2

11 May 07:18
Compare
Choose a tag to compare

The main features of this release are:

  • various bugfixes
  • ly_ctx_new_ylpath() and ly_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

09 Mar 15:47
Compare
Choose a tag to compare

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 and when 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