4.3.0 commit
This commit is contained in:
parent
c1903916f9
commit
e8ae628d06
7 changed files with 34 additions and 30 deletions
38
CHANGELOG.md
38
CHANGELOG.md
|
|
@ -1,24 +1,12 @@
|
||||||
# Clixon Changelog
|
# Clixon Changelog
|
||||||
|
|
||||||
## 4.3.0 (Expected: December 2019)
|
## 4.3.0 (1 January 2020)
|
||||||
|
|
||||||
### Minor changes
|
There were several issues with multiple namespaces with augmented yangs in 4.2 that have been fixed in 4.3. Some other highlights include: several issues with XPaths including "canonical namespace context" support, a reorganization of the YANG files shipped with the release, and a wildchar in the CLICON_MODE variable.
|
||||||
* C-API: Added `xpath_first_localonly()` as an xpath function that skips prefix and namespace checks.
|
|
||||||
* Added experimental code for optimizing XPath search using binary search.
|
|
||||||
* Enable with XPATH_LIST_OPTIMIZE in include/clixon_custom.h
|
|
||||||
* Optimizes xpaths on the form: `a[b=c]` on sorted, yangified config lists.
|
|
||||||
* Removed most assert.h includes
|
|
||||||
* Created two sub-files (clixon_validate.c and clixon_api_path.c) from large lib/src/clixon_xml_map.c source file.
|
|
||||||
* Added "canonical" global namespace context: `nsctx_global`
|
|
||||||
* This is a normalized XML prefix:namespace pair vector computed from all loaded Yang modules. Useful when writing XML and XPATH expressions in callbacks.
|
|
||||||
* Get it with `clicon_nsctx_global_get(h)`
|
|
||||||
* Added wildcard `*` as a mode to `CLICON_MODE` in clispec files
|
|
||||||
* If you set "CLICON_MODE="*";" in a clispec file it means that syntax will appear in all CLI spec modes.
|
|
||||||
* State callbacks provided by user are validated. If they are invalid an internal error is returned, example, with error-tag: `operation-failed`and with error-message containing. `Internal error, state callback returned invalid XML`.
|
|
||||||
* Fixed multi-namespace for augmented state which was not covered in 4.2.0.
|
|
||||||
|
|
||||||
### API changes on existing features (you may need to change your code)
|
### API changes on existing features (you may need to change your code)
|
||||||
* Yang files reorganized into three classes: clixon, mandatory, optional (previous "standard" split into mandatory and optional).
|
* Yang files shipped with Clixon are reorganized into three classes: clixon, mandatory, optional, this is to enable users more flexibility in intergating with their own YANG files.
|
||||||
|
* Previously there was only "standard" and "clixon", "standard" is now split into mandatory and optional.
|
||||||
* Clixon and mandatory yang spec are always installed
|
* Clixon and mandatory yang spec are always installed
|
||||||
* Optional yang files are loaded only if configured with `--enable-optyangs` (flipped logic and changed from `disable-stdyangs`). NOTE: you must do this to run examples and tests.
|
* Optional yang files are loaded only if configured with `--enable-optyangs` (flipped logic and changed from `disable-stdyangs`). NOTE: you must do this to run examples and tests.
|
||||||
* Optional yang files can be installed in a separate dir with `--with-opt-yang-installdir=DIR` (renamed from `with-std-yang-installdir`)
|
* Optional yang files can be installed in a separate dir with `--with-opt-yang-installdir=DIR` (renamed from `with-std-yang-installdir`)
|
||||||
|
|
@ -29,6 +17,22 @@ xpath_first_nsc` are removed).
|
||||||
* Added clicon_handle as parameter to all `clicon_connect_` functions to get better error message
|
* Added clicon_handle as parameter to all `clicon_connect_` functions to get better error message
|
||||||
* Added nsc parameter to `xmldb_get()`
|
* Added nsc parameter to `xmldb_get()`
|
||||||
* The multi-namespace augment state may rearrange the XML namespace attributes.
|
* The multi-namespace augment state may rearrange the XML namespace attributes.
|
||||||
|
|
||||||
|
### Minor changes
|
||||||
|
* Added experimental code for optimizing XPath search using binary search.
|
||||||
|
* Enable with XPATH_LIST_OPTIMIZE in include/clixon_custom.h
|
||||||
|
* Optimizes xpaths on the form: `a[b=c]` on sorted, yangified config lists.
|
||||||
|
* Added "canonical" global namespace context: `nsctx_global`
|
||||||
|
* This is a normalized XML prefix:namespace pair vector computed from all loaded Yang modules. Useful when writing XML and XPATH expressions in callbacks.
|
||||||
|
* Get it with `clicon_nsctx_global_get(h)`
|
||||||
|
* Added wildcard `*` as a mode to `CLICON_MODE` in clispec files
|
||||||
|
* If you set "CLICON_MODE="*";" in a clispec file it means that syntax will appear in all CLI spec modes.
|
||||||
|
* State callbacks provided by user are validated. If they are invalid an internal error is returned, example, with error-tag: `operation-failed`and with error-message containing. `Internal error, state callback returned invalid XML`.
|
||||||
|
* C-code:
|
||||||
|
* Added `xpath_first_localonly()` as an xpath function that skips prefix and namespace checks.
|
||||||
|
* Removed most assert.h includes
|
||||||
|
* Created two sub-files (clixon_validate.c and clixon_api_path.c) from large lib/src/clixon_xml_map.c source file.
|
||||||
|
* Fixed multi-namespace for augmented state which was not covered in 4.2.0.
|
||||||
* Main example yang changed to incorporate augmented state, new revision is 2019-11-15.
|
* Main example yang changed to incorporate augmented state, new revision is 2019-11-15.
|
||||||
|
|
||||||
### Corrected Bugs
|
### Corrected Bugs
|
||||||
|
|
@ -39,7 +43,7 @@ xpath_first_nsc` are removed).
|
||||||
* Mandatory variables can no longer be deleted.
|
* Mandatory variables can no longer be deleted.
|
||||||
* [Add missing includes](https://github.com/clicon/clixon/pulls)
|
* [Add missing includes](https://github.com/clicon/clixon/pulls)
|
||||||
|
|
||||||
## 4.2.0 (October 27 2019)
|
## 4.2.0 (27 October 2019)
|
||||||
|
|
||||||
### Summary
|
### Summary
|
||||||
|
|
||||||
|
|
|
||||||
8
configure
vendored
8
configure
vendored
|
|
@ -1355,8 +1355,8 @@ Optional Features:
|
||||||
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
|
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
|
||||||
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
|
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
|
||||||
--enable-debug Build with debug symbols, default: no
|
--enable-debug Build with debug symbols, default: no
|
||||||
--enable-optyangs Include standard yang files in clixon install,
|
--enable-optyangs Include optional yang files for examples and testing
|
||||||
default: no
|
in clixon install, default: no
|
||||||
--enable-publish Enable publish of notification streams using SSE and
|
--enable-publish Enable publish of notification streams using SSE and
|
||||||
curl
|
curl
|
||||||
|
|
||||||
|
|
@ -1369,7 +1369,7 @@ Optional Packages:
|
||||||
--with-configfile=FILE set default path to config file
|
--with-configfile=FILE set default path to config file
|
||||||
--with-libxml2 use gnome/libxml2 regex engine
|
--with-libxml2 use gnome/libxml2 regex engine
|
||||||
--with-yang-installdir=DIR Install Clixon yang files here (default: ${prefix}/share/clixon)
|
--with-yang-installdir=DIR Install Clixon yang files here (default: ${prefix}/share/clixon)
|
||||||
--with-opt-yang-installdir=DIR Install standard yang files here (default: ${prefix}/share/clixon)
|
--with-opt-yang-installdir=DIR Install optional yang files here (default: ${prefix}/share/clixon)
|
||||||
|
|
||||||
Some influential environment variables:
|
Some influential environment variables:
|
||||||
CC C compiler command
|
CC C compiler command
|
||||||
|
|
@ -2174,7 +2174,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
|
||||||
CLIXON_VERSION_MAJOR="4"
|
CLIXON_VERSION_MAJOR="4"
|
||||||
CLIXON_VERSION_MINOR="3"
|
CLIXON_VERSION_MINOR="3"
|
||||||
CLIXON_VERSION_PATCH="0"
|
CLIXON_VERSION_PATCH="0"
|
||||||
CLIXON_VERSION="\"${CLIXON_VERSION_MAJOR}.${CLIXON_VERSION_MINOR}.${CLIXON_VERSION_PATCH}.PRE\""
|
CLIXON_VERSION="\"${CLIXON_VERSION_MAJOR}.${CLIXON_VERSION_MINOR}.${CLIXON_VERSION_PATCH}\""
|
||||||
|
|
||||||
# Check CLIgen
|
# Check CLIgen
|
||||||
if test "$prefix" = "NONE"; then
|
if test "$prefix" = "NONE"; then
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,7 @@ AC_INIT(lib/clixon/clixon.h.in)
|
||||||
CLIXON_VERSION_MAJOR="4"
|
CLIXON_VERSION_MAJOR="4"
|
||||||
CLIXON_VERSION_MINOR="3"
|
CLIXON_VERSION_MINOR="3"
|
||||||
CLIXON_VERSION_PATCH="0"
|
CLIXON_VERSION_PATCH="0"
|
||||||
CLIXON_VERSION="\"${CLIXON_VERSION_MAJOR}.${CLIXON_VERSION_MINOR}.${CLIXON_VERSION_PATCH}.PRE\""
|
CLIXON_VERSION="\"${CLIXON_VERSION_MAJOR}.${CLIXON_VERSION_MINOR}.${CLIXON_VERSION_PATCH}\""
|
||||||
|
|
||||||
# Check CLIgen
|
# Check CLIgen
|
||||||
if test "$prefix" = "NONE"; then
|
if test "$prefix" = "NONE"; then
|
||||||
|
|
|
||||||
|
|
@ -110,7 +110,7 @@ What to think about when doing a new release.
|
||||||
* Run autoconf
|
* Run autoconf
|
||||||
* Git stuff:
|
* Git stuff:
|
||||||
```
|
```
|
||||||
git tag -a <version"
|
git tag -a <version>
|
||||||
git push origin <version>
|
git push origin <version>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,7 @@
|
||||||
/* Define to 1 if you have the `sigvec' function. */
|
/* Define to 1 if you have the `sigvec' function. */
|
||||||
#undef HAVE_SIGVEC
|
#undef HAVE_SIGVEC
|
||||||
|
|
||||||
/* Have getsockopt peercred */
|
/* Have getsockopt SO_PEERCRED */
|
||||||
#undef HAVE_SO_PEERCRED
|
#undef HAVE_SO_PEERCRED
|
||||||
|
|
||||||
/* Define to 1 if you have the <stdint.h> header file. */
|
/* Define to 1 if you have the <stdint.h> header file. */
|
||||||
|
|
|
||||||
|
|
@ -78,8 +78,8 @@ testname=
|
||||||
: ${RCLOG:=}
|
: ${RCLOG:=}
|
||||||
|
|
||||||
# Wait after daemons (backend/restconf) start. See mem.sh for valgrind
|
# Wait after daemons (backend/restconf) start. See mem.sh for valgrind
|
||||||
if [ "$(arch)" = "armv7l" ]; then
|
if [ "$(uname -m)" = "armv7l" ]; then
|
||||||
: ${RCWAIT:=4}
|
: ${RCWAIT:=8}
|
||||||
else
|
else
|
||||||
: ${RCWAIT:=2}
|
: ${RCWAIT:=2}
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
|
|
@ -98,9 +98,9 @@ done
|
||||||
|
|
||||||
# Then actual run
|
# Then actual run
|
||||||
testnr=0
|
testnr=0
|
||||||
for c in $cmds; do
|
for cmd in $cmds; do
|
||||||
if [ $testnr != 0 ]; then echo; fi
|
if [ $testnr != 0 ]; then echo; fi
|
||||||
println "Mem test $c begin"
|
println "Mem test $cmd begin"
|
||||||
memonce $c
|
memonce $cmd
|
||||||
println "Mem test $c done"
|
println "Mem test $cmd done"
|
||||||
done
|
done
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue