Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Clixon 7.6.0

Latest

Choose a tag to compare

@olofhagsand olofhagsand released this 21 Nov 11:48
· 24 commits to master since this release

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 concat and number XPath function
    • XPATH_FUNCTION_NYI_IGNORE compile-time constant to ignore unimplemented XPath functions
  • 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
    • New [email protected] revision
      • Added option: CLICON_NETCONF_MONITORING_GETSCHEMA_CDATA to encode schema content with CDATA
      • Added option: CLICON_XMLDB_PRIVATE_CANDIDATE to enable private candidate

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)
    • clicon_db_elmnt_get() -> xmldb_find()
    • clicon_db_elmnt_set() is replaced by xmldb_new() but needs some rewrite
    • xmldb_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()
  • Modified and refactor rpc_msg API:
    • Replaced clicon_msg parameter 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_msg and clicon_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()

Corrected Bugs