yuma123 (2.14) stable; urgency=medium

  * Added support for notifications defined inside list
  * Bug in cli parsing list keys containing spaces fixed
  * Added agt_fd_event_cb_register(fd, callback) function for file descriptor event interrupts
  * Fixed bug in --dump-session always reporting of received chunk size 0 in *-in.ts
  * Fixed bug in val_set_cplxval_obj function always returning NO_ERR even if validation fails

 -- Vladimir Vassilev <vladimir@lightside-instruments.com>  Sun, 23 Mar 2025 15:25:36 +0100

yuma123 (2.13) stable; urgency=medium

  * ncx
    - Added if-feature parsing support for YANG 1.1 logical expressions
    - Fixed bug in obj_next_child_deep processing of models with multiple
      levels of choice/case statements
    - Fixed bug in ncx_sprintf_num for decimal64 e.g. -0.000068623 was
      represented as 0.0000-68623
  * netconfd
    - Fixed bug causing netconfd to not handle --running-error=continue
  * yangcli
    - Fill for rpc issue solved by not serializing the virtual <input>
    - Fixed socket connection timeout and signal handlng e.g. ctrl-c now
      terminates stall connection attempt
  * autoconf
    - pkg-config is now used to find libxml2
  * python/test
    - transition to python3
  * examples
    - Added initial ietf-ip support as part of the ietf-interfaces example

 -- Vladimir Vassilev <vladimir@lightside-instruments.com>  Wed, 30 Nov 2022 17:20:00 +0100

yuma123 (2.12) stable; urgency=medium

  * Added val123_add_virtual_cb to support multiple calbacks "filling" common
    virtual container.
  * Fixed anyxml support for config=true data
  * Improved /system-state/clock/current-datetime resolution to nanoseconds and
    disabled value caching
  * Augmented set-my-session and get-my-session RPCs with cache-timeout param
    allowing cache to be disabled when cache-timeout=0
  * Fixed Xpath compare of nodeset to nodeset implementation for numeric nodesets
  * Updated IETF draft YANG modules

 -- Vladimir Vassilev <vladimir@lightside-instruments.com>  Wed, 18 Aug 2021 00:08:23 +0200

yuma123 (2.11) stable; urgency=medium

  * Improved stability and interoperability
  * Added more validation testcases
  * Preliminary NMDA support rfc8342
  * RPM build scripts (from ekinzie)
  * yangcli
    - Added --use-agent parm for use of ssh-agent authentication (from ekinzie)
  * yangdump
    - YANG tree format support rfc8340

 -- Vladimir Vassilev <vladimir@transpacket.com>  Fri, 17 Aug 2018 03:02:54 +0200

yuma123 (2.10) stable; urgency=medium

  * ncx
    - YANG 1.1 Xpath functions implementation.
    - Fixed bug in handling of deviations.
    - Fixed bug in apply_commit_deletes.
    - Fixed bug in val_make_serialized_string.
    - Refactored the base64 implementation. Fixed bugs and inconsistencies.
    - Added support for multiple obj callback registrations.
    - Fixed CDATA handling.
    - Splitted yuma-netconf.yang to yuma123-netconf.yang and yuma123-netconf-types.yang
    - Various ietf draft models updated. Erratas applied.
    - Removed circular libyumancx dependencies on libyumamgr
  * agt
    - Implementation of ietf-yang-library
    - Replaced proprietary notifications with the ietf-netconf-notifications.yang defined.
    - Moved agt_arp.c integrated module as standalone example-modules/yuma-arp
  * test
    - Added netconfd testsuite netconf/test/netconfd.
    - Added litenc client side session scripting python module.
  * yangcli
    - Implemented ietf-yang-library client side support.
    - Fixed bug caused by attempted reload of already loaded module.
    - Added yes/no container fill check promp.

 -- Vladimir Vassilev <vladimir@transpacket.com>  Fri, 29 Sep 2017 13:53:28 +0200

yuma123 (2.9) stable; urgency=medium

  * Removed IETF copyrighted MIBs to avoid the complications related to +dfsg releases
  * yangrpc API refactored for stability allowing new options passed as yangcli  parameter string
  * Added dump-session yangcli parameter

 -- Vladimir Vassilev <vladimir@transpacket.com>  Sat, 20 Aug 2016 11:46:34 +0200

yuma123 (2.8+dfsg) stable; urgency=medium

  * Removed IETF copyrighted MIBs and YANG models derived from them

 -- Vladimir Vassilev <vladimir@transpacket.com>  Sun, 07 Aug 2016 15:17:40 +0200

yuma123 (2.8) stable; urgency=medium

  * Resolved bobhash license-problem-non-free-RFC-BCP78
  * Fixed unescaped dots in man pages
  * Fixed debian lintian warning out-of-date-standards-version
  * Separated libyangrpc from the libyuma package

 -- Vladimir Vassilev <vladimir@transpacket.com>  Thu, 28 Jul 2016 23:19:24 +0200

yuma123 (2.7-1) stable; urgency=medium

  * Cleaned up debian
  * Renamed yuma libraries libncx->libyumancx, libagt->libyumaagt, libmgr->libyumamgr

 -- Vladimir Vassilev <vladimir@transpacket.com>  Thu, 21 Jul 2016 18:16:16 +0200

yuma123 (2.6-1) stable; urgency=medium

  * ncx
    - Added val_make_serialized_string to the API
  * netconfd
    - Fixed a bug caused by system time adjustments and the use of nonmonotonic time function for timer callback implementation
    - Fixed bugs both in netconf 1.0 and netconf 1.1 message parsers
    - Added readline as default cli interface library with option to build with tecla instead
    - Fixed bugs in must statement validation
  * yangcli
    - Added readline as default cli interface library with option to build with tecla instead
  * examples
    - Added standalone automake based example projects building ietf-interfaces.yang and ietf-system.yang implementations for linux
  * yangrpc
    - Added yangrpc_parse_cli API parsing yangcli style command lines based on the schema context of the connection
  * python/perl
    - Initial perl and python bindings

 --  <vladimir@transpacket.com>  Sun, 17 Jul 2016 10:10:00 +0200

yuma123 (2.5-1) stable; urgency=low

  * Implemented direct-must-augment-ex:augment extension

 --  <vladimir@transpacket.com>  Thu, 18 Jun 2015 14:48:12 +0200

yuma123 (2.4-1) stable; urgency=low

  * netconfd
    - NACM implemented
    - Debian build system cleanup
    - Memory leak fixed in xml_rd_open_file

 --  <vladimir@transpacket.com>  Mon, 02 Feb 2015 13:37:12 +0100

yuma123 (2.3-1) stable; urgency=medium

  * Added autotools files to build yuma in standard and portable way.

  * netconfd
    - functionality allowing direct connection form yangcli to netconfd over unencrypted tcp socket (--tcp-direct-address="0.0.0.0" --tcp-direct-port=12024 netconfd parameters).
    - introduced agt_not_queue_notification_cb API adding functionality to allow registering global notification callback
    - bug in commit_complete code causing problem when more then two different modules register calbacks
    - changed AGT_TIMER_SKIP_COUNT from 10 to 1 for better resolution
    - decreased NCX_DEF_VTIMEOUT from 2 to 1 second
    - introduced val_set_cplxval_obj which initializes a container and populates it with subcontainers and leafs according to xml string
    - fixed memory leaks caused by un xmlFree -ed buffers
    - added example-modules directory and a very simple helloworld module to be used as template
    - fix for the b64_encode which generated \r\n for every fourth byte after > linesize bytes are generated
    - fixed bug causing memory leak when notification_count of queued notifications exceeded the limit set by agt_profile->agt_eventlog_size
    - bug causing segmentation fault when session scb is agt_ses_kill_session-ed twice incase of bad <hello>
    - added agt_check_feature function for getting the state of given feature
    - added command line parameter --non-advertised-module=<module-name> allowing to "hide" certain modules by taking them out of the hello capabilities list
    - fixed bug in get_object_string. The function was returning wrong retlen value when called with buf==NULL
    - added max-sessions netconfd argument to replace the constant (1024) used
    - fixed bug in log_error format string causing segmentation fault when the error happened
    - fixed bug caused by unresolved/uninitialized tdef->def.simple.xrefdef members of leafref objects defined within augment sections
    - added support for 'refine' objects in resolve_xpath
    - added val_add_meta API function
    - added autoloading of the server modules based on the received capabilities list from the <hello>
    - fixed memory leak - session and reader in xml_rd_open_file were not freed
    - added new API function val_get_leafref_targval
    - added ncxserver-sockname parameter to netconfd and netconf-subsystem. Now multiple instances of netconfd can be started on the same system
    - replaced the makeshif timplementation of val_find_node with call to xpath1_eval_expr
    - fixed bug relevant to presistent commit validation check result variables not reinitialized before a new commit validation attempt was made. For example unresolved leafref causes a commit to fail then the missing leaf is added but the commit keeps failing
    - fixed ancient bug in check_prune_obj causing pruning/skiping of the leafref validation. The bug can be reproduced when the leaf referenced by the leafref is deleted without making changes in the toplevel container containing the leafref.
    - moved /yuma-system:system to /ieft-system:system-state/yuma-system:yuma

  * yangcli
    - patch allowing leaf objects which are not keys to be initialized in the predicate of create target Xpath
    - taken the config=false objects out of the Xpath tab completion choices for create,replace and delete RPCs
    - introduced new method for entry of container leafs: create /interfaces/interface -- name='ge0' mtu=1500
    - added basic predicate tab completion and seamless tab completion of xpaths after predicate blocks
    - fixed bug in yangcli tab completion in the cases when the cursor was stending under (not after) the initial '/'
    - fixed tab completion for paths defined in augment modules
    - fixed bug in parsing top augment leafs in var_get_script_val. val->nsid was overwritten by 0 and no xmlns meta was added to the generated xml causing netconfd to not accept the data

  * YANG modules:
    - replaced yuma-interfaces.yang with ietf-interfaces.yang (rfc7223)
    - replaced yuma-system.yang with ietf-system.yang (rfc7317)
    - replaced yuma-nacm.yang with ietf-netconf-acm.yang (rfc6536)

  * yangrpc:
    - added experimental blocking (non-callback) API for clients called yangrpc_* (yangrpc_connect, yangrpc_exec, yangrpc_close). An alternative to the mgr_* API suited better for certain applications
    - added simple apache2 module as yangrpc usage example. Reading state and configuration root as xml and submit form for configurations
 --  <vladimir@transpacket.com>  Wed, 10 Dec 2014 17:08:11 +0100

yuma123 (2.2-5.1) stable; urgency=high
  * Integrated last official yuma release 2.2-5
 -- Vladimir Vassilev <vladimir@transpacket.com>  Thu, 7 Feb 2013 18:22:00 +0100
yuma (2.2-5) stable; urgency=high
  * netconfd:
    - fix error-path bugs
      - extra  'input' node removed from error-path
      - suppress error-path for RPC access-denied
    - yuma-proc.yang: add 2 missing leafs to yuma-proc that have
      been added recently to /proc/cpuinfo
    - fix sourceforge bug 3572696 Double free memory issue related
      to subtree filtering and virtual nodes
    - change server so by default it does not allow port 22 on MACOSX

  * yangcli:
     - fix SSH key bug reported on yuma-developers list
       The filenames were not expanded with ncx_get_source

  * CLI parse:
     - fix error message in raw CLI handler code
     - fix bug where cli_parse_raw can write past the end of
       the malloced buffer

  * yangdump:
     - fix bug in code generation for union;
       parameter should be string, not val_value_t
     - fix bug with --identifiers parameter where container
       with no children caused output to terminate
     - put correct ietf-netconf-notifications module in ietf module dir
     - converge yuma-app-common with yumapro version

  * YANG modules:
    - update 3 IETF modules
    - fix test.yang so the default NP containers do not cause errors
    - refactor yuma-app-common to support --no-config in YumaPro
    - update metconfcentral YANG modules so they align with Yuma
 -- Andy Bierman <andy@yumaworks.com>  Mon, 29 Oct 2012 11:28:00 -0700

yuma (2.2-4) stable; urgency=medium
  * netconfd
    * fixed bug where invalid YANG identifier strings are
      allowed in NACM module.  Now strings such as module-name
      or rpc-name must be legal YANG identifier strings

    * fixed bug where error nodes were not getting properly
      pruned from the <config> element if --startup-error=continue
      Instead the entire subtree from root would be deleted.
      Now just the error nodes are deleted during load_running_config

    * fixed bug where validation errors were not detected by
      the agt_init function so it reported the startup loaded OK

    * added agt_load_top_rootcheck_errors flag to profile state.
      If --running-error=stop is set, the server would reject the
      config if any errors occurred in agt_val_root_check.
      Now only root-check failure of top-level nodes cause
      an error in this case.

    * fixed bug where the name field for identityref value nodes
      is not getting set if the value is invalid; now saving name
      for logging and error purposes (netconfd and yangcli)

    * fixed bug NACM not checking always nacm:very-secure on
      default data response

    * fixed missing unregister-callback (benign)

    * fixed bug where delete of nested node from candidate does
      not always get applied to running during a commit (it
      gets ignored instead)

    * fixed bug where YANG bits data type (ncx_list_t) function
      did not check it the embedded Q had been initializing
      before accessing it

    * fixed bug where check simval for union containing YANG bits
      type could cause a segfault when called due to btyp getting
      set to NCX_BT_BITS but the ncx_list_t was never initialized.

   * fix bug in log_debug stmt that causes intermittent
     segfault if log-level >= debug and build is optimized (e.g. -O2)
     wrong number of printf args passed, not detected by gcc!

   * fix bug 'netconfd --config=' crash due to assert-fail
     now checking for empty string before trying to call ncx_get_source
     updating IETF YANG modules with latest versions

   * fix bug where session counters were not being returned in
     the /netconf-state/sessions/session list entry


  * yangcli:

    * fixed bug where XPath tab completion did not find
      objects from new modules loaded with the 'mgrload' command

    * fixed bug in yangcli where notification nodes were not getting
      found correctly.

    * Added more checks in setting NCX extension flags so they are
      ignored unless they appear in the proper node type.

    * Fix SF bug 3459707 YangCLI crashes when replacing container

    * Now allowing value=$var to be a complex type like list or container
      Now checking for NULL parm val (due to type ANY corner-case)
      instead of segfault in this case


  * YANG Parse:

    * fixed bug in error message printing and resolve_identity
      that caused SET_ERROR messages to be generated because
      not all NULL pointers were checked

    * fixed bug in ncx_mod_exp_err where not all types of
      string tokens were not being handled properly

    * fix logging bugs reported by Graham Phillips

    * YANG parse: fix bug where YANG modules where not getting
      found sometimes if they are in the form acme-foo@2012-07-12.yang

    * fixed XPath bug where object testing of the
      must or when expression uses a top-level object from
      a different submodule.  Caused 'no child node' warning;
      Value node testing during real XPath is not affected by this bug.

    * fixed bug must-stmt was not accepted in anyxml-stmt


  * Build:

    * fix make distclean in makefiles
      Do not use 'make superclean' from the top-dir;
      Use 'make distclean' instead

    * removed YUMA_HOME from toaster Makefile build dependency

    * Add gitversion to build to help identify builds during debugging.
      The last commit ID is used as the ID tag.
      Derived from 'git describe --always'

         yangdump 2.2.4f701be

      If the current branch has been modified, a -M will be added
      at the end:

         yangdump 2.2.4f701be-M

    * Make HTML docs generation part of the build
      Removed the html files.
      Now generating xhtml files
      Need /usr/binwriter2latex12 installed
      Use 'make htmls' to build out of date HTML files
      Use 'make DOC=1' to update all PDF and xHTML files
      update Makefile for better HTML output

 -- Andy Bierman <andy@yumaworks.com>  Wed, 08 Aug 2012 09:12:00 -0800
yuma-transpacket (2.2-3.1-2012-07-24-27096e8e1b4ef9540489a435d058169958b641a41) stable; urgency=low

  * Added non-interactive filling of created containers

 -- Vladimir Vassilev <vladimir@bmf.yourdomainname.com>  Tue, 24 Jul 2012 23:20:31 +0000
yuma123 (2.2-3.1) stable; urgency=high
  * Fixed bug deleting list nodes from the configuration
  * Added non-interactive filling of created nodes
  * Added cross module dependencies validation mechanism with commit_validate
  * Added rpc-aware xpath tab completion. Ignores status nodes for RPCs dealin$
  * Added autoconf/automake build scripts
  * Fixed printout bug in ncx.c
 -- Vladimir Vassilev <vladimir@transpacket.com>  Fri, 20 Jul 2012 18:48:00 +0100
yuma (2.2-3) stable; urgency=medium
  * netconfd
    * fix bug in agt_val_root_check where a 'missing-instance'
      error is incorrectly generated sometimes for an NP-container.
      This can happen if the NP container has children (or nested
      NP-container children) which are mandatory (or min-elements > 0)
      but there are also when-stmts that affect the node.
      Do not generate an error for NP-container here; if child nodes
      exist then instance_check for those nodes will check must/when nodes
    * add 'editing' parameter to val_compare_max because it assumed
      config=true meant test for editing, so any change will cause
      the 2 val_value_t nodes to be different (meta-data such as
      set-by-default vs. client-set-to-default).
      To simply compare the values and just the config=true nodes,
      use val_compare_max(val1, val2, TRUE, TRUE, FALSE)
    * fix bug where edits to candidate are not applied to running
      during the commit if validate is done on the candidate, e.g.:
         1) create /foo
         2) validate source=candidate
         3) commit
    * change yuma_arp  so it does not build on MACOSX
    * fix yuma_arp so it does not include any system files on MAC
    * change SIL makefile for MacOSX to make bundle instead of dynamiclib
    * change agt.c to load .so file for Mac instead of .dylib for a SIL library
    * add check to prevent false SET_ERROR trace from  occurring in when-check

  * YANG Parse
    * fixed bug 3517498
      memory leak occurs when the file parsed starts with an
      invalid token (not a valid module name string)
    * added NULL pointer checks in typ.c to prevent SET_ERROR
      and referencing a non-existent typedef in a named type.
      This can happen sometimes if the YANG module has errors like
      a leaf that uses a type that does not exist

 -- Andy Bierman <andy@netconfcentral.org>  Fri, 18 May 2012 15:00:00 -0800
yuma (2.2-2) stable; urgency=medium
  * netconfd
    * enhanced unique-stmt checking to support embedded lists
      change val_unique_t to hold XPath struct instead of value back-ptr
      Note:  <non-unique> value in error reporting for unique-error may not
      be correct if list with multiple instances has error.  Will indicate
      the first node in the node-set with an error, which may not be
      the instance that caused a non-unique error within a nested list
    * fix bug in yuma-arp: SIL callbacks not getting loaded
      properly because revision date was wrong
    * fix bug in new instance_check code where false when-stmt may
      get ignored and falsely flag a missing mandatory node error

  * yangdump
    * fix bug where xpath is checked for an external augment
      even if context node is NULL because of some error in the
      external module, so target node not available
    * removed the list-in-unique-path error check
    * add auto-generated code for YANG features
      Conditional code allows features to be enabled
      at compile-time, boot-time, and/or module-load time
      Usage:
       1) Compile-time
         The H file will contain a #define for <mod>_F_<feature>
         The default is to enable features at compile-time.
         To disable, comment out this #define.  All code related
         to the feature will be #ifdef removed from the image.
       2) Boot-time
         If --feature-enable-default=true (d), then --feature-disable
         parameters should be added to turn features off.
         If --feature-enable-default=false, then --feature-enable
         parameters should be added to turn features on.
       3) Module Load time
         During the module SIL init callback, the module features
         will be enabled or disabled according to the #define
         constancts in step 1.  However these settings will
         not override any CLI/conf settings in step 2 (at this time)
    * fixed bug where --feature-enable-default=false would
      cause the server to shutdown if any modules with features
      were loaded
    * now allowing just feature name in --feature-enable and
      --feature-disable parameters instead of only module-name:feature-name
    * --format=uc or --format=uh now cause the notification send functions
      to be generated in the user SIL files, not the yuma SIL files.
      All code which may be edited by the user is now in the user SIL files
      if make_sil_dir --split is used
    * deprecated --feature-code-default parameter.  This is ignored
      by yangdump. Same init sequence is always generated.
    * deprecated --feature-static and feature-dynamic parameters.
      These ares ignored by yangdump.  See Usage section above for new
      YANG feature management procedure.

  * YANG modules
    * update latest NETMOD WG modules
    * add 2 new test modules used to test recent code additions

  * Documentation
    * update developer manual
    * update utility scripts and man pages
 -- Andy Bierman <andy@netconfcentral.org>  Fri, 09 Mar 2012 15:00:00 -0800
yuma (2.2-1) stable; urgency=high
  * netconfd
    * Added server regression testing and Coverity static code cleanup
      by Marc Pashley, James Parkin, and Joe Handford
    * fix bug where RPC SIL validate or invoke callback returns an error
      but does not call agt_record_error; server returns <ok>
      and ignores the error return status; now adding an
      <rpc-error> if none, when RPC SIL validate or invoke callback returns
      an error.
    * fixed bug in load module where a module with errors could
      sometimes be loaded anyway.  Now server will exit if
      initial modules loaded have errors, even if YANG parse
      returns NO_ERR for a module with a non-zero error count
    * fixed bug where unknown namespace error caused server to incorrectly
      skip the entire rest of the XML message.  During load_running_config
      it is possible the server is configured to remove bad nodes
      and continue to the next XML sibling node.
    * implemented recoverable edits in agt_val.c;
      * add transactions to cfg.c; now saving an auto-incrementing
        transaction ID across reboots so new ID always used any time
        a config edit request is processed;
      * val_merge is now always non-destructive to the source value
      * newval and curval are always rooted in a source XML tree
      * add VAL_FL_DELETED to mark curval as deleted and not remove
        until commit finalized
      * update undo record handling so it is always used and supports
        recoverable edits
      * refactor edit code and move some ncx code to new module
        agt/agt_cfg.c
      * agt_val_root_check rewrite:
        Commit tests (see RFC 6020, Sec. 8.3.3) are separated out
        from agt_val_instance_check), instead of searching the
        target config for nodes that need commit tests.
        Started undo_rec based test pruning.
      * update commit procedure to use VAL_FL_SUBTREE_DIRTY flag
        to prune unchanged subtrees in the candidate config
        instead of expensive subtree-compare.
      * now cleaning all edit records from candidate so commit
        will not get fooled by delete x, then create x
      * remove agt_val_split_root_check code
        * callback states AGT_CB_COMMIT_CHECK and AGT_CB_TEST_APPLY
          have been removed and the agt_val code simplified
        * val_clone removed; changed applied to real data tree and
          undone if needed; no special test phase, just recoverable apply phase
      * changed user SID to 0 (for superuser) when a commit is rolled
        back; the old user id should not be used; must force all edits
        to be reverted.
      * now only restoring backup from disk if rollback failed,
        not if commit failed
      * add reverse_edit to send SIL callbacks for a reverse edit
        during a rollback; needed when the SIL already returned
        NO_ERR for a COMMIT callback
      * optimized 'applyhere' compares to test just child nodes
        and not all descendent nodes to speed up agt_val processing
      * optimize unique-stmt checking to minimize data retrieval
        and test duplication
      * add code to prune commit tests for objects do not need new
        tests because they have not changed value;
      * optimized instance_check so if-feature and when-stmts
        do not need to be evaluated again (done pre-root-check)
    * fixed bug in delete_config_validate where error path and
      error info parms are reversed; set errval for <url> if needed
    * fix object ID for XPath so choices and cases are removed
      from the path extression; also add module prefix to prevent
      external augment with same local-name from matching expression
    * fix bug where deleting a default leaf did not re-mark the leaf
      as set-by-default
    * fix bug in commit code where newval was not checked for NULL
      before accessing a field in it
    * change output buffer logging from debug4 to debug3
    * updated agt_acm debug logging
    * remove all #ifdefs around log_debug code
    * added agt_log_acm_reads and agt_log_acm_writes
      to the agt_profile to control log output for NACM access
    * fixed bug in error-path generation where /nc:config node
      was incorrectly added as the starting node, instead of the
      top-level YANG object from the database
    * fixed bug where error-path is not getting set if the
      error node is the <url> parameter
    * fixed bug where error-path = '/' was not generated correctly
      so that field would be missing for <validate> and other rpc-error
      responses
    * fix error-path generation so it conforms to RFC 6241
    * fix memory leak in generating unique-error
    * updated error message for list within the path of a
      unique statement component; clarified with YANG author that
      lists not allowed since nodes from different lists cannot
      be in the same unique test tuple
    * added a <bad-value> element to the <error-info> for a
      missing value instance error (310), containing the name of the
      missing node.
    * fix bug where no namespace ID is set for an <rpc-error>
      where the 'select' attribute in the <filter> parameter
      is invalid; set to NETCONF instead of 0
    * fixed bug in XML generation where XML-safe string was not
      generated in string node content
    * fixed bug in copy-config where copy from inline to
      candidate was not getting fully validated or applied correctly
    * fix bug in val_set_canonical_order where list sometimes not
      inserted in sorted order
    * fixed bug in load_config where invoke could be called even
      if validate phase failed
    * add ncx:user-write extension
      see extension 'user-write' in yuma-ncx.yang for details
      Server will block user access to specific edit operations
      if this extension is present in a YANG database node definition
    * add /system/sysNetconfServerCLI monitoring data to
      inspect the CLI parameters used at boot-time
    * add boolean flags to agt_profile to track load-config
      error progress so startup-error and running-error parameters
      can be processed correctly:
       - agt_load_validate_errors    (OK if --startup-error=continue)
       - agt_load_rootcheck_errors   (OK if --running-error=continue)
       - agt_load_apply_errors       (fatal error if SIL apply/commit fails)
    * fixed bug 3476123; leafrefs not getting written to XML correctly
    * fixed bug where inherited when-stmt and if-feature
      statements (from choice or case nodes) were not
      checked when deleting dead nodes
    * fixed bug in check_editop where create on duplicate leaf-list was not
      properly rejected with a data-exists error
    * added support to make sure modules with top-level mandatory nodes
      are rejected by the server if the --running-error parameter is
      set to 'stop'.  This prevents a user from loading such a module
      and causing the server to shutdown.
    * added agt_validate_all (d:T) to agt_profile to control
      <validate> op behavior.  Set to false to have <validate> only
      call SILs for the nodes that are changed in the candidate,
      which is how <commit> validate works.
    * fix bug in NACM where read or write access was wrongly denied
      when read-default=deny and write-default=deny
    * fixed bug where the server would terminate the <load-config> op
      if parse or rpc-instance-check errors occurred, even though
      --startup-error=continue and the nodes with errors were optional
      so they could be removed without making the running config invalid

  * yangcli:
    * fixed bug in filling database content for a OBJ_TYP_CASE
      when the 1 and only case member was a complex type
    * fix bug deleting containers or lists where mandatory child nodes
      were incorrectly filled in, instead of skipped
    * enhance CLI parsing so container can be something other
      than a choice of empty leafs. e.g:
        validate source=@myconfig.xml
        myconfig.xml:
        <config xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
           ...
        </config>
      This does not work if a 'source' parameter is given by
      selecting a case number when filling in a choice.
    * fix bug where user is prompted for a case number even if
       there is only 1 enabled case in the choice
    * fix bug where user is prompted if flag should be set y/n
      when editing a leaf of type 'empty'; leaf value already
      implicitly entered by selecting this leaf as the edit target
    * fix bug in val_set_canonical_order where list sometimes not
      inserted in sorted order
    * fixed bug 3476123; leafrefs not getting written to XML correctly
    * added XPath tab completion provided by Zesi Cai (thanks!)
      When a '/' is entered instead of the start of a command,
      the tab key will show all top-level objects available.
      After each '/', the tab shows the next level of child nodes.
      Does not support index (predicate) insertion.

  * yangdump:
    * fix segfault bug where stale backptr was accessed that
      contained heap garbage
    * fixed memory leak where submodule with errors was not freed
      correctly after it was processed
    * added '--full' parameter to yangdump --identifiers to show
      identifiers with module name of each node expanded

  * YANG Parse:
    * fixed bug where conditional descendant nodes specified in
      a unique-stmt are treated as an error.  This is only an error
      is a key-stmt test fails; For unique-stmt, missing nodes
      in a unique test tuple cause the test to be skipped
    * fix bug where nested leafref types within unions were not always getting
      checked in final resolve steps
    * fix off-by-1 bug in object-id generation when module names
      are added
    * Remove memory leak from consume_revision
    * fix bug where default value for union data type sometimes
      incorrectly flagged as invalid value; can cause segfault
    * fix bug where checking if a parameter is set to its default for
      an identityref, bits, or leafref always returned FALSE
    * fixed bug where XPath context node for when-stmt
      in an augment-stmt was not set correctly
    * fixed bug where errors in consume_body_stmts were not
      always rippled all the way back to ncxmod.c, causing
      mod->res == NO_ERR but mod->errors > 0

  * Build
    * Fixed makefile.sil so that yuma symbols are always
      checked first before standard library module names
      Also removed extra libraries libagt and libncx from
      the SIL link command.  This is not needed and will
      cause an error if these libraries are not found.
   * Fixed bug in several Makefiles where libm is not explicitly
      declared in the link command.  This causes STATIC=1 builds
      to fail on Ubuntu 11.10 (symbol 'round' not found from libm)
   * Cleaned up static build of yangcli
 -- Andy Bierman <andy@netconfcentral.org>  Fri, 27 Jan 2012 19:55:00 -0800
yuma (2.1-2) unstable; urgency=medium
  * Build
    * fix bug added recently that breaks build in libtoaster
      in a plain build (YUMA_HOME not set) and breaks CYGWIN
      build as well
 -- Andy Bierman <andy@netconfcentral.org>  Sun, 27 Sep 2011 19:00:00 -0700
yuma (2.1-1) unstable; urgency=medium
  * netconfd
    * add --runpath to netconfd.yang
    * fix bug reported by Sara Dickinson where leafref was
      not getting validated during commit; turned out leafrefs and
      instance-identifiers were not getting validated for
      target=running or during commit
    * fix bug where <validate> parameters were not handled correctly
      and <ok> was returned without validating the target config.
    * add --factory-startup CLI parameter.
      Currently there is no way to rewrite the invisible
      startup-cfg.xml if --with-startup=false, except
      by modifying the factory settings and saving the config.
      This parameter forces the startup config and the running
      config to contain the factory default settings during
      initialization.
    * fixed bug (reported by Sara Dickinson) where must-stmt tests
      for sibling nodes were getting skipped as soon as 1 must-test
      failed.  This could result in nodes that should be invalid
      left in the running config during load_running_config
      if --startup-error=continue (the default)
    * fix bug in agt_proc.c where CPU cores were not causing
      a new val entry to be created.  Introduced with vi-cov commit
    * add yuma-arp module, implemented by Igor Smolyar
    * fixed bug 3404233
      The client and server both incorrectly accepted
      an XML node for a YANG choice or case node.
      These nodes do not exist in a YANG data tree, just
      in the YANG object tree
    * fix bug in COMMIT phase where SIL callback functions
      for nested nodes were not getting invoked for create
      and merge edit operations.
    * fixed bug introduced in last release where SIL validation
      callbacks are being called multiple times
    * fixed bug where commit callback for editop=OP_EDITOP_DELETE
      the curnode is a detached node -- the parent node is NULL.
    * fixed bug 3395740
    * source tree specified by YUMA_HOME environment variable
      no longer required to be present
    * added libagt.so to shared library install location (d: /usr/lib)
    * using shared libraries in default location for libagt and libncx
      for ubuntu and RPM packaging.  Not static libraries anymore!
    * building and installing libncx.a and libagt.a if STATIC=1
      present in make cmd
    * updated SIL makefile so YUMA_HOME is not used unless
      FORCE_YUMA_HOME=1 is present in the make cmd;
      /usr/lib/yuma is used by default
    * make /arp node present by default, using refactored code from agt_acm.c

  * yangcli
    * add JSON output support for --display-mode=json
      and saving data with @foo.json
    * fix bug where manager session control block not checked for NULL
    * add external parameter support for RPC commands

      yangcli> some-command @filespec.xml

      filespec.xml (in YUMA_DATAPATH) == RPC <input> element
      <input>
        <a>10</a>
        <b>fred</b>
      </input>
    * fixed bug where an edit command (e.g., create) on
      a choice or case node would generate an XML node
      for the choice or case.  Now being removed from
      the XML payload before an <edit-config> is sent

  * yangdump:
    * added support for split SIL files or combined (old way):
      * --format=yc : Yuma SIL C file
      * --format=yh : Yuma SIL H file
      * --format=uc : User SIL C file
      * --format=uc : User SIL H file
      * --format=c  : Combined Yuma/User SIL C file
      * --format=h  : Combined Yuma/User SIL H file
    * added support for code generation for automatic retrieval
      of ancestor-or-self key values in user SIL callbacks
    * Remove #ifdef around #include directives for generated files.
    * fixed bug 3404234
      --format=c output (SIL code) was not handling nested
        config=false containers (lists and leaf-lists still
        not handled!).  Now nested config=false containers
        will automatically be created
    * fixed bug for --format=c where edit callbacks were being
      generated for OBJ_TYP_CHOICE and OBJ_TYP_CASE nodes.
      Since these nodes never exist in a database, these callbacks
      get registered but never invoked
    * fixed bug where SIL code generated for boolean, union, and identityref
      datatypes is incorrect -- the data type will be whatever the union
      was parsed will be treated as a string; causes segfault;
      !!! not fixed in v1
      * union now passed to User SIL function as val_value_t
        instead of string
      * affected edit callback functions and notification send functions
   * added __cplusplus 'extern C' wrappers to H file generation
     for --format=h|uh|yh

  * Build:
   * added --split parameter to make_sil_dir
     * make_sil_dir --split foo  : makes files in foo/src/
        * y_foo.c : Yuma SIL C file
        * y_foo.h : Yuma SIL H file
        * u_foo.c : User SIL C file
        * u_foo.h : User SIL H file
    * building and installing libagt as a dynamic library
    * building Ubuntu package will mostly dynamic libraries
      instead of STATIC=1 and FULL_STATIC=1
    * bumped version to 2.1
    * updated Makefiles to allow debian debuild of 3 packages
      when DEBIAN=1 set:
        no flag: build yuma package
        DEVELOPER=1: build yuma-dev package
        DOC=1: build  yuma-doc package
    * add HTML versions of manuals to install process
    * move PDFs from /usr/share/doc/yuma to /usr/share/doc/yuma/pdf
    * updated user manuals

  * YANG parse:
    * fix error message for leafref-stmt
    * fix bug 3404231
      * incorrect handling of object type when checking
        leaf/leaf-list leafref loops, which could cause
        the wrong struct in a union to be used
    * fixed bug 3404239
      All YANG data-def constructs were being checked for
      config, default, mandatory, min/max-elements
      before refine-stmts were applied.
      Moved all relevant tests from 'resolve' phase to
      'resolve_final' phase.
    * Added modules/test/fail/t13.yang test case for compiler
      to check mandatory+default combo after refine applied.
    * fixed bug: anyxml objects were not getting checked during
      resolve_final phase (mandatory-stmt warnings)
    * suppress error messages when invalid XPath detected during
      validation of a union datatype.  Unions are only required
      to be valid for 1 of N union types, not any particular type.
 -- Andy Bierman <andy@netconfcentral.org>  Sun, 25 Sep 2011 11:50:00 -0700
yuma (2.0-2) unstable; urgency=medium
  * yangcli
    * fixed bug where --batchmode is ignored if --run-command
      is also used
    * added support to connect to tailf confd servers over TCP;
      added --transport=ssh|tcp parameter to connect command
      and CLI parameter for startup connecting via TCP
    * Fix potential double calls to free and memory leaks resulting from
      calls to set_str(). In some paths the function set_str()
    * fixed bugs in autoload procedure

  * netconfd
    * fixed 2 framing bugs in base:1.1 mode
    * rewrote buffer code to pack incoming message buffers instead
      of using client buffer size as-is
    * fixed memory leak in new support code for malformed-message
      only occurred when malformed-message error generated
    * Improve logging for debug purposes from netconf-subsys.c
      (by Mark Pashley)
    * Many bugfixes and dead code removal detected by Coverity
      static analysis (from vi-cov branch by Mark Pashley)
    * Removed potential memory leak in cache_data_rules in NACM
    * Summary of bugfixes to copy_config_validate():
      Coverity reported the following issues:
        DEAD CODE
        Code with no effect.
        Use after free
        Null pointer dereference
        Resource Leaks
    * sprintf changed to snprintf and strcpy changed to strncpy
      in some cases, to make sure no buffer overrun can occur
    * add module yuma-time-filter.yang
    * add last-modified XML attribute to <rpc-reply> for <get>
      and <get-config> replies
    * add if-modified-since parameter to <get> and <get-config>
      protocol operations
    * make logging from netconf-subsystem configurable via command line options
    * updated netconfd user manual

  * yangdump
    * fix bug in format=html or format=yang where pattern may
      not get generated in the output
    * add support for path links in leafrefs in --format=html

  * YANG parse:
    * fixed bug where val_clone of enum sometimes had static enu.name
      pointing at old.enu.dname so if old was freed, new.enu.name
      would point at garbage in the heap
    * fixed some memory leaks in error corner-cases
    * fixed bug where valid patterns parsed as non-strings
      were not correctly processed and no compiled pattern
      was created
    * fixed bug where unquoted prefixed string (foo:bar) would
      not be saved correctly in the compiled pattern (bar)

  * XML parse:
    * add tracefile support to debug input fed to XML textReader

  * CLI:
    * Change the signature of all instances of main to meet the 'c'
      standard.
 -- Andy Bierman <andy@netconfcentral.org>  Sun, 21 Aug 2011 12:02:00 -0700
yuma (2.0-1) unstable; urgency=low
   * initial 2.0 release;
     contains all yuma 1.15 features, plus major features
      * NETCONF base:1.1 support (RFC 6241 and RFC 6242)
      * with-defaults 'report-all-tagged' mode (RFC 6243)
      * --urltarget path selection mechanism (UrlPath)
 -- Andy Bierman <andy@netconfcentral.org>  Wed, 20 Jul 2011 19:00:00 -0700
