It is very easy to upgrade from 16.10 to 18.10 or 17.10 to 18.10.

YumaWorks follows the following strict programming rules that ensure backward compatibility with existing server behaviour

  • No API Changes: Customer facing API functions are never changed. Instead, new variants are added over time as needed.
  • No CLI Changes: Existing CLI parameters are almost never changed. If a CLI parameter has been found to cause operational problems, it might be changed in a future release. 
  • Deprecation before Removal: In the rare case where an existing API or CLI parameter is removed, it will be marked as "deprecated" for at least a year before removal.

The following changes apply to the YumaPro SDK 18.10 release train:

  • Default value of the --with-yuma-system CLI parameter has been changed from 'true' to 'false'.
    • The <load> and <unload> operations have been copied from the yuma-system YANG module to the yumaworks-system module. The yuma-system module is deprecated so it is no loaded by default. 
    • The parameter --with-yuma-system=true must be used to enable the yuma-system module in YumaPro SDK 18.10.
  • Default order of the 'root check' edit transaction validation has changed if --target=candidate is used.
    • In older releases, the root check was done after the SIL or SIL-SA Validate Phase callbacks for the edited data were invoked.
    • In the 18.10 release train, the root check is done before the SIL or SIL-SA Validat Phase callbacks are invoked (by default).
    • To preserve the old root check behavior, set the --sil-root-check-first CLI parameter to 'false'.
  • Value of the --delete-empty-npcontainers CLI parameter is ignored
    • YANG 1.1 clarified behaviour for non-presence containers. They are treated as if they always exist to make operations consistent for clients.
    • In 18.10 configuration data nodes which are default NP containers are not deleted, even if --delete-empty-npcontainers=true is used.
  • Invalid schema identifiers for deviation and augment statements are no longer (incorrectly) accepted
    • The schema identifier string in YANG contains "choice" and "case" nodes that MUST be present in the identifier string.
    • The 17.10 release train has a bug where these nodes can be omitted and the YANG compiler will not complain.
    • The 18.10 release train will not accept the invalid YANG and will generate an error instead
    • The invalid YANG MUST be corrected before it can be used in the 18.10 release train.
    • Example (augment the 'C' container)
container A {
   choice B {
       container C { ... }
       container D { ... }

Correct path:

   augment /A/B/C/C { ... }

Incorrect path:

   augment /A/C { ... }

Refer to the CLI Parameter List for details on parameters added to each release train.