7.2.0
28 October 2024
The 7.2.0 release feature lots of minor changes and bug-fixes including memory optimizations and package builds.
Features
- Restconf: Support for list of media in Accept header
- Rearranged YANG top-levels into YANG domains, mounts, and specs
- Deb build script
- Optimize YANG memory
- Autocli
- Late evaluation of uses/grouping
- YANG
- Added union and extended struct for uncommon fields
- Removed per-object YANG linenr info
- Yang-type cache only for original trees (not derived via grouping/augment)
- Added option
CLICON_YANG_USE_ORIGINAL
to use original yang object in grouping/augment
- Autocli
- New: CLI simple alias
- List pagination more ietf-draft compliance
- Added where, sort-by and direction parameter for configured data
- New
clixon-autocli@2024-08-01.yang
revision- Added: disable operation for module rules
- New
clixon-config@2024-08-01.yang
revision- Added:
CLICON_YANG_DOMAIN_DIR
- Added:
CLICON_YANG_USE_ORIGINAL
- Added:
API changes on existing protocol/config features
Users may have to change how they access the system
- Capability announce urn:ietf:params:netconf:capability:yang-library:1.1 (instead of 1.0)
- RFC 7950->8526
- New version string on the form:
7.1.0-1+11+g2b25294
- Restconf: Better RFC compliance with Accept errors: 406 vs 415
- Removed YANG line-number in error-messages for memory optimization
- Re-enable by setting
YANG_SPEC_LINENR
compile-time option
- Re-enable by setting
- NETCONF error returns of failed leafref references, see #536
C/CLI-API changes on existing features
Developers may need to change their code
- Added
domain
argument to yang parse functions. Upgrade as follows:yang_file_find_match(h, m, r, f)
->yang_file_find_match(h, m, r, NULL, f)
yang_parse_module(h, m, r, y, o)
->yang_parse_module(h, m, r, y, NULL, o)
- Replaced
clixon_get_logflags()
withclixon_logflags_get()
- New
yn_iter()
yang iterator replacesyn_each()
- Use an integer iterator instead of yang object
- Replace:
y1 = yn_each(y0, y1) { ...
- with:
int inext = 0; y1 = yn_iter(y0, &inext) { ...
- Add
keyw
argument toyang_stats()
Corrected Bugs
- Fixed: YANG 'when' does not work in multiple grouping
- Fixed: Error when changing choice/case with different structure
- Fixed: Clixon <handle if-feature incorrectly
- Fixed: Clixon fails to load yang with extension
- Fixed: Double top-levels in xmldb_get that could occur with xpath containing choice.
- Fixed: RESTCONF exit on cert error + complex accept
- Fixed: Deletion of leaf in YANG choice removes leaf in a different choice/case
- Fixed: Deviated types were resolved in target context, not lexically in deviation context
- Fixed: Signal handling of recv message
Revert to signal handling in 6.5 that was changed in the netconf uniform handling in 7.0 - Fixed: NETCONF error reply from failed leafref rquire-instance does not comply to RFC 7950