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.