7.6.0
21 November 2025
The Clixon 7.6 release supports the private candidate draft and also NETCONF compare in RFC 9144, along with several smaller feature updates.
Features
- New: NETCONF and RESTCONF Private candidate datastores
- New: Compare RPC as defined in RFC9144 and yang module ietf-nmda-compare
- XPath:
- Support
concatandnumberXPath function XPATH_FUNCTION_NYI_IGNOREcompile-time constant to ignore unimplemented XPath functions
- Support
- All internal session clients start with NETCONF hello
- Yang features
- Tolerate "@latest.yang" as yang filename.
- New: Implement YANG "augment" as sub-statement of a "uses" statement
- New
[email protected]revision- Added
netconf-framing-type
- Added
- New
[email protected]revision- Added option:
CLICON_NETCONF_MONITORING_GETSCHEMA_CDATAto encode schema content with CDATA - Added option:
CLICON_XMLDB_PRIVATE_CANDIDATEto enable private candidate
- Added option:
C/CLI-API changes on existing features
Developers may need to change their code
- Renamed
clicon_strsep()-->clixon_strsep1() - Changed signature of send hello function:
clixon_client_hello(s, d, v)->clixon_client_hello(s, d, base10, base11, privcand)
- Change int to size_t in
cxvec_append()and related functions and data-types- Calling types may need to be adjusted
- Modified and re-factor datastore API
- Use API instead of direct access of db-elemnt struct
- eg
de->de_xml-->xmldb_cache_get(de)
- eg
clicon_db_elmnt_get()->xmldb_find()clicon_db_elmnt_set()is replaced byxmldb_new()but needs some rewritexmldb_get_cache(h, db, yb, xp, md, xe)->xmldb_get_cache(h, db, xp, xe)- Use indirect access to candidate-db, eg
- Instead of :
candidate_commit(h, xe, "candidate",...) - do:
xmldb_find_create(h, "candidate", ce->ce_id, &de, &db); candidate_commit(h, xe, db,...) - Same for
candidate_validate()
- Instead of :
- Use API instead of direct access of db-elemnt struct
- Modified and refactor rpc_msg API:
- Replaced
clicon_msgparameter with cbuf:clicon_rpc_msg(h, msg,...)->clicon_rpc_msg(h, cb,...)clicon_rpc_msg_persistent(h, msg, ...)->clicon_rpc_msg(h, cb, ...)clicon_rpc(..., msg, &xret, eof)->clixon_rpc11(..., cb, &cbret, eof)
- Removed
struct clicon_msgandclicon_msg_encode():- Replace:
struct clicon_msg *msg=clicon_msg_encode(..., cbuf_get(cb)); clicon_rpc_msg(h, msg, NULL);- With:
clicon_rpc_msg(h, cb, NULL); - Change receive message handling to create cb:
clixon_msg_rcv10(..., cb, eof)->clixon_msg_rcv10(..., &cb, eof)clixon_rpc10(..., cb, eof)->clixon_rpc10(, &cb, eof)
- Rename rpc connect API:
clicon_rpc_connect()->clixon_rpc_connect()clicon_rpc_connect_unix()->clixon_rpc_connect_unix()clicon_rpc_connect_inet()->clixon_rpc_connect_inet()
- Replaced
Corrected Bugs
- Fixed: RESTCONF GET/PUT across mountpoint for CLOSED device causes restconf_terminate
- Fixed: yang parsing of an identifier that is a multiline quoted string
- Fixed: Multiple deviations to same grouping when CLICON_YANG_USE_ORIGINAL doesnt work
- Fixed: YANG identityref from uses/grouping from separate module does not work
- Fixed: YANG error-app-tag identifies as error-message causing false duplicate
- Fixed: YANG error-app-tag not in range and length as it should
- Fixed: [https://github.com//issues/624](Circular YANG includes leads to SEGV)
- Fixed: Autocli of yang union if several elements are pattern strings may return ambiguos
- Fixed: YANG domain lost when parsing import/include YANGs
- Fixed: Restconf: Identity-refs in JSON RPC:s input statements did not work
- Fixed: Autocli: Completion in edit mode included other values
- Fixed: Restconf notification: Add "data:" as prefix to every line., not just first
- Fixed: memory error in rpc_get2 when error handling
- Fixed: RESTCONF crashes after sending request that ends with &
- Fixed: Do not use
d_typefromreaddir()