diff --git a/README.en.md b/README.en.md index 235bf5eef2ed03a11bee8c7f6f9081d56831ae9e..9157a29ea1b810d306222fe817979bd5c6570e82 100644 --- a/README.en.md +++ b/README.en.md @@ -1,36 +1,7 @@ # sysrepo +Sysrepo is a [YANG](http://tools.ietf.org/html/rfc7950)-based configuration and operational state data store for Unix/Linux applications. -#### Description -YANG-based system repository for all-around configuration management +Applications can use sysrepo to store their configuration modeled by provided YANG model instead of using e.g. flat configuration files. Sysrepo will ensure data consistency of the data stored in the datastore and enforce data constraints defined by YANG model. Applications can currently use [C language API](inc/sysrepo.h) of sysrepo Client Library to access the configuration in the datastore, but the support for other programming languages is planed for later, too. -#### Software Architecture -Software architecture description +Sysrepo can be easily integrated with management agents such as [NETCONF](https://tools.ietf.org/html/rfc6241) or [RESTCONF](https://tools.ietf.org/html/rfc8040) servers, using the same client library API that applications use to access their configuration. As of now, sysrepo is integrated with the [Netopeer 2 NETCONF server](https://github.com/CESNET/Netopeer2). This means that applications that use sysrepo to store their configuration can automatically benefit from the ability to being controlled via NETCONF. -#### Installation - -1. xxxx -2. xxxx -3. xxxx - -#### Instructions - -1. xxxx -2. xxxx -3. xxxx - -#### Contribution - -1. Fork the repository -2. Create Feat_xxx branch -3. Commit your code -4. Create Pull Request - - -#### Gitee Feature - -1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md -2. Gitee blog [blog.gitee.com](https://blog.gitee.com) -3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore) -4. The most valuable open source project [GVP](https://gitee.com/gvp) -5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help) -6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/README.md b/README.md index 02e789d08164032995a40efabad6a48558024f44..76f8acca699d840a1135da77554a7a75e16ab6bf 100644 --- a/README.md +++ b/README.md @@ -1,37 +1,6 @@ # sysrepo +Sysrepo 是一个用于 Unix/Linux 应用程序的基于 [YANG](http://tools.ietf.org/html/rfc7950) 的配置和操作状态数据存储。 -#### 介绍 -YANG-based system repository for all-around configuration management +应用程序可以使用 sysrepo 来存储由提供的 YANG 模型建模的配置,而不是使用例如平面配置文件。 Sysrepo 将确保存储在数据存储中的数据的数据一致性,并强制执行 YANG 模型定义的数据约束。应用程序目前可以使用 sysrepo 客户端库的 [C 语言 API](inc/sysrepo.h) 来访问数据存储中的配置,但对其他编程语言的支持也计划在以后支持。 -#### 软件架构 -软件架构说明 - - -#### 安装教程 - -1. xxxx -2. xxxx -3. xxxx - -#### 使用说明 - -1. xxxx -2. xxxx -3. xxxx - -#### 参与贡献 - -1. Fork 本仓库 -2. 新建 Feat_xxx 分支 -3. 提交代码 -4. 新建 Pull Request - - -#### 特技 - -1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md -2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) -3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 -4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 -5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) -6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) +Sysrepo 可以轻松地与管理代理集成,例如 [NETCONF](https://tools.ietf.org/html/rfc6241) 或 [RESTCONF](https://tools.ietf.org/html/rfc8040) 服务器,使用应用程序用于访问其配置的相同客户端库 API。截至目前,sysrepo 已与 [Netopeer 2 NETCONF 服务器](https://github.com/CESNET/Netopeer2) 集成。这意味着使用 sysrepo 存储其配置的应用程序可以自动受益于通过 NETCONF 进行控制的能力。 diff --git a/sysrepo-1.4.122.tar.gz b/sysrepo-1.4.122.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..28c4622c9b458baf12207a13346db9a9b2c84f52 Binary files /dev/null and b/sysrepo-1.4.122.tar.gz differ diff --git a/sysrepo.spec b/sysrepo.spec new file mode 100644 index 0000000000000000000000000000000000000000..6f95704aacda6384afc8fe45d07775bc58e20a2b --- /dev/null +++ b/sysrepo.spec @@ -0,0 +1,691 @@ +Name: sysrepo +Version: 1.4.122 +Release: 1.2 +Summary: Sysrepo library +Url: https://github.com/sysrepo/sysrepo +Source: https://github.com/sysrepo/sysrepo/archive/sysrepo-1.4.122.tar.gz +Source1: sysrepo.rpmlintrc +License: Apache-2.0 +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release} + +%if 0%{?scientificlinux_version} == 700 + %define with_lang_bind 0 +%else + %define with_lang_bind 1 +%endif + +Requires: libyang1 >= 1.0.194 +BuildRequires: cmake +BuildRequires: doxygen +BuildRequires: libyang-devel >= 1.0.194 +BuildRequires: gcc +BuildRequires: libcmocka-devel + +%if %{with_lang_bind} + +BuildRequires: gcc-c++ +BuildRequires: libyang-cpp-devel >= 1.0.194 +BuildRequires: python3-yang1 >= 1.0.194 +%if 0%{?centos_version} +BuildRequires: swig3 >= 3.0.12 +%else +BuildRequires: swig >= 3.0.12 +%endif + +BuildRequires: python3-devel + +%endif + +%package devel +Summary: Headers of Sysrepo library +Requires: %{name} = %{version}-%{release} +Requires: libyang-devel >= 1.0.194 + +%if %{with_lang_bind} +%package -n sysrepo-cpp +Summary: Sysrepo bindings to C++ +Requires: %{name} = %{version}-%{release} +Requires: libyang-cpp1 >= 1.0.194 + +%package -n sysrepo-cpp-devel +Summary: Headers of bindings to C++ +Requires: sysrepo-cpp = %{version}-%{release} +Requires: libyang-cpp-devel >= 1.0.194 + +%package -n python3-sysrepo +Summary: Sysrepo bindings to Python3 +Requires: sysrepo-cpp = %{version}-%{release} +Requires: %{name} = %{version}-%{release} +Requires: python3-yang1 >= 1.0.194 + +%description -n sysrepo-cpp +Sysrepo library bindings in C++ language. + +%description -n sysrepo-cpp-devel +Headers of Sysrepo library bindings in C++ language. + +%description -n python3-sysrepo +Sysrepo library bindings in Python3 language. +%endif + +%description devel +Sysrepo library headers for C. + +%description +YANG-based system repository for all-around configuration management. + +%prep +%setup -n sysrepo-1.4.122 +mkdir build + +%build +cd build +%if %{with_lang_bind} + %define cmake_lang_bind "-DGEN_LANGUAGE_BINDINGS=ON" +%else + %define cmake_lang_bind "-DGEN_LANGUAGE_BINDINGS=OFF" +%endif +cmake -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE="Package" \ + %{cmake_lang_bind} .. +make + +##%check +#cd build +#SYSREPO_REPOSITORY_PATH=$PWD ctest --output-on-failure + +%install +cd build +make DESTDIR=%{buildroot} install + +%post -p /sbin/ldconfig +%if %{with_lang_bind} +%post -n sysrepo-cpp -p /sbin/ldconfig +%endif + +%postun -p /sbin/ldconfig +%if %{with_lang_bind} +%postun -n sysrepo-cpp -p /sbin/ldconfig +%endif + +%files +%defattr(-,root,root) +%{_bindir}/sysrepoctl +%{_bindir}/sysrepocfg +%{_bindir}/sysrepo-plugind +%{_libdir}/libsysrepo.so.* + +%files devel +%defattr(-,root,root) +%{_libdir}/libsysrepo.so +%{_libdir}/pkgconfig/sysrepo.pc +%{_includedir}/sysrepo.h +%{_includedir}/sysrepo/*.h +%dir %{_includedir}/sysrepo/ + +%if %{with_lang_bind} +%files -n sysrepo-cpp +%defattr(-,root,root) +%{_libdir}/libsysrepo-cpp.so.* + +%files -n sysrepo-cpp-devel +%defattr(-,root,root) +%{_libdir}/libsysrepo-cpp.so +%{_includedir}/sysrepo-cpp/*.hpp +%{_libdir}/pkgconfig/sysrepo-cpp.pc +%dir %{_includedir}/sysrepo-cpp/ + +%files -n python3-sysrepo +%defattr(-,root,root) +%{_libdir}/python* +%endif + +%changelog +* Fri Mar 05 2021 Michal Vasko 1.4.122 +- shm ext BUGFIX revert sub if oper data update fails (Michal Vasko) + + +* Fri Mar 05 2021 Michal Vasko 1.4.121 +- shm ext BUGFIX revert sub if oper data update fails (Michal Vasko) +- sysrepo FEATURE optional group to own all sysrepo files (Michal Vasko) +- common BUGFIX set correct permissions for YANG files (Michal Vasko) +- common BUGFIX shm copy function alignment (Michal Vasko) +- lyd mods BUGFIX even data with changed context must be stored (Michal Vasko) +- lyd mods CHANGE more efficient data storage (aPiecek) +- common BUGFIX remove obsolete code (Michal Vasko) +- sysrepo BUGFIX avoid new session messages on enabled event (Michal Vasko) +- sysrepo BUGFIX avoid caching data for enabled event (Michal Vasko) +- sysrepo BUGFIX prevent lost data changes between events (Michal Vasko) +- sysrepo BUGFIX forbid downgrading modules (Michal Vasko) +- build FEATURE make installing sysctl conf file optional (Michal Vasko) +- common BUGFIX allow write access to conn lock files (Michal Vasko) +- log FEATURE special error macro for open calls (Michal Vasko) +- sysrepo BUGFIX use standard session even for diff callback (Michal Vasko) +- doc FEATURE details on session datastore and subscriptions (#2330) (Václav Kubernát) +- modinfo BUGFIX prevent concurrent cache update (Michal Vasko) +- modinfo BUGFIX missing locks when reading running subs (Michal Vasko) +- shm mod BUGFIX unlock sid data races (Michal Vasko) +- test BUGFIX use atomics instead of `volatile` (#2322) (Jan Kundrát) +- shm mod BUGFIX instid dependencies may be a union (Michal Vasko) +- shm mod BUGFIX atomic access to atomic variables (Michal Vasko) +- sysrepo FEATURE use standard sessions as implicit sessions (Michal Vasko) +- common BUGFIX internal data failes should not be world-writable (Michal Vasko) +- shm sub BUGFIX remove obsolete remap (Michal Vasko) +- shm sub BUGFIX memory leak of session username (Michal Vasko) +- sysrepo BUGFIX output memory leak (Michal Vasko) +- C++ BUGFIX output memory leak (Michal Vasko) +- modinfo BUGFIX generate LY errors when possible (Michal Vasko) +- log BUGFIX use static errinfo on memory error (Michal Vasko) +- python BUGFIX obsolete function call (Michal Vasko) +- sub shm BUGFIX enlarge sub SHM for all the data written (Michal Vasko) +- shm BUGFIX increase SHM version (Michal Vasko) +- ext shm FEATURE make ext SHM smaller when possible (Michal Vasko) +- ext shm BUGFIX synchronize access to holes (Michal Vasko) +- ext shm FEATURE change SHM memory management (Michal Vasko) +- edit diff BUGFIX handling of anyxml/anydata nodes (Michal Vasko) +- ext shm BUGFIX align even ext SHM structure itself (Michal Vasko) +- doc CHANGE update recovery section (Michal Vasko) + + +* Thu Jan 28 2021 Michal Vasko 1.4.104 +- packages BUGFIX exact main package version dependency (Michal Vasko) +- bindings BUGFIX do not subscribe to an RPC twice with same priority (Michal Vasko) + + +* Wed Jan 27 2021 Michal Vasko 1.4.103 +- bindings BUGFIX do not subscribe to an RPC twice with same priority (Michal Vasko) +- shm ext FEATURE recover subscriptions when new are added (Michal Vasko) +- shm ext BUGFIX use iterator variable (Michal Vasko) +- modinfo BUGFIX avoid passing invalid arguments (Michal Vasko) +- modinfo BUGFIX copy-paste error (Michal Vasko) +- shm mod FEATURE data file backup and recovery (Michal Vasko) +- common FEATURE use robust mutexes to allow recovery (Michal Vasko) +- sysrepo FEATURE better conn/session creation messages (Michal Vasko) +- sysrepo FEATURE ad-hoc subscription recovery (Michal Vasko) +- shm ext BUGFIX recover any leftover subs in ext SHM (Michal Vasko) +- shm sub BUGFIX notif stop time lock fixes (Michal Vasko) +- shm sub BUGFIX avoid sub SHM creation data races (Michal Vasko) +- ext shm BUGFIX ext SHM mapping data race (Michal Vasko) +- common BUGFIX minor fixes and improvements (Michal Vasko) +- shm ext BUGFIX rpc subs offset is now in main SHM (Michal Vasko) +- shm ext BUGFIX new ext SHM truncate lock (Michal Vasko) +- sysrepo FEATURE recovery refactored (Michal Vasko) +- shm CHANGE dedicated variable for replay support (Michal Vasko) +- sysrepo FEATURE support for read-upgr main SHM lock recovery (Michal Vasko) +- sub shm FEATURE use lock upgrade to prevent some corner cases (Michal Vasko) +- sysrepo FEATURE upgrade feature for custom SHM locks (Michal Vasko) +- edit diff FEATURE support for duplicit push oper state (leaf)lists (Michal Vasko) +- edit diff BUGFIX wrong loop iterator (Michal Vasko) +- doc BUGFIX logging macros doxygen (Michal Vasko) +- doc BUGFIX mention specific threading limitations of pull oper subs (Michal Vasko) +- modinfo BUGFIX support union in xpath for oper data get (Michal Vasko) +- sysrepo FEATURE compile-time superuser UID variable (Michal Vasko) +- uncrustify FEATURE new make target for formatting (#2261) (lePici) +- sysrepo-plugind FEATURE added plugin order configuration (#2254) (lePici) +- build BUGFIX valgrind environment vars name typo (Michal Vasko) +- build BUGFIX coverage tools wrong vars (#2255) (Fred Gan) +- common BUGFIX subscribing with a present timeouted event (Michal Vasko) +- sysrepo BUGFIX convert any node changes from lyd to sr (Michal Vasko) +- common BUGFIX duplicated enabled data must preserve when (Michal Vasko) +- examples BUGFIX getting changes of a whole module (Michal Vasko) +- shm main BUGFIX connection lock directory correct prefix (#2235) (imiller0) +- edit diff FEATURE allow creating NP containers (Michal Vasko) +- main shm BUGFIX non-local connections are not in our conn list (Michal Vasko) +- sysrepo FEATURE track connections by unique ID (#2218) (imiller0) +- sub shm BUGFIX if processing events times out, retry (Michal Vasko) +- shm sub BUGFIX invalid free (Michal Vasko) +- shm sub FEATURE dismiss pending events on unsubscribe (Michal Vasko) +- travis FEATURE add sanitizer test job (Juraj Vijtiuk) +- sysrepo FEATURE no multiple rpc subscriptions with equal priority (Michal Vasko) +- sysrepo BUGFIX proper rpc subscribe error cleanup (Michal Vasko) +- examples BUGFIX generate correct path for changes (Michal Vasko) +- sysrepo FEATURE unified file open (#2196) (imiller0) +- docker FEATURE use libssh stable-0.9 branch in sysrepo-netopeer2 latest Dockerfile (Jakov Smolic) +- docker FEATURE use libssh stable-0.9 branch in sysrepo-netopeer2 latest Dockerfile (Jakov Smolic) +- shm sub FEATURE check update edit for foreign data (Michal Vasko) +- test BUGFIX use special environment for valgrind tests too (Michal Vasko) +- replay BUGFIX timeout units (Michal Vasko) +- build FEATURE add comment for sr_clean and shm_clean targets (Michal Vasko) +- c++ BUGFIX oper_data output (Václav Kubernát) +- sysrepo BUGFIX handle no validation modules for rpc and notif (Michal Vasko) +- edit diff BUGFIX removing leaf with a default value (Michal Vasko) +- common BUGFIX creating containers from submodules (Michal Vasko) +- sysrepo FEATURE suspending notification subscriptions (Michal Vasko) +- sysrepo FEATURE assign sub ID for every notif subscription (Michal Vasko) +- build FEATURE allow to customize umask (Michal Vasko) +- sysrepo BUGFIX properly lock all accessed data (Michal Vasko) +- sysrepocfg BUGFIX add null byte after stdin config (#2142) (Václav Kubernát) +- examples BUGFIX use proper xpath in change callback (Michal Vasko) +- shm main BUGFIX wrong size of subscriptions in ext shm (Michal Vasko) +- shm mod BUGFIX dependencies are not needed when returning data (Michal Vasko) +- tests BUGFIX increase timeout in test_process (#2136) (Václav Kubernát) +- build FEATURE test_clean target for removing all test files (Michal Vasko) +- python BUGFIX adjust tests based on C++ changes (Michal Vasko) +- sysrepo BUGFIX update oper data on new running subscr (Michal Vasko) +- c++ BUGFIX do not return empty data objects (Michal Vasko) +- sysrepo FEATURE unify logging macros (Michal Vasko) +- log FEATURE log macros to allow empty variable arguments (#2119) (Heiko Thiery) +- shm mod BUGFIX fix undefined behavior with qsort (#2130) (Václav Kubernát) +- tests FEATURE run tests in a separate repositories (Václav Kubernát) +- test FEATURE non-existing RPC path (#2117) (Václav Kubernát) +- sysrepo BUGFIX invalid memory access (Michal Vasko) +- docker BUGFIX switch to libssh 0.9.2 (Jakov Smolic) +- docker BUGFIX switch to libssh 0.9.2 (Jakov Smolic) +- sysrepo BUGFIX memory leak (Michal Vasko) +- edit diff BUGFIX create op in diff may need to be adjusted (Michal Vasko) +- python binding BUGFIX Should be taking global lock before calling back to python code (John Beckett) +- build CHANGE bump required libyang version (Michal Vasko) +- tests FEATURE prefixed keys in edit anchor keys (Michal Vasko) +- docker FEATURE update the dockerfile (#2097) (Luka Paulić) +- build FEATURE forbid compilation on WSL (Michal Vasko) +- examples FEATURE pull and push oper data example (Michal Vasko) +- common BUGFIX create only NP container without meaning (Michal Vasko) +- shm mod BUGFIX clear even SID on failed lock (Michal Vasko) +- modinfo BUGFIX uninitialized variable (Michal Vasko) +- sysrepo BUGFIX operational default value handling (Michal Vasko) +- edit diff BUGFIX recursive delete to create merge (Michal Vasko) +- edit diff BUGFIX accept nested delete operations (Michal Vasko) +- edit diff BUGFIX merging create into delete (Michal Vasko) +- sysrepocfg FEATURE allow printing default values (Michal Vasko) +- value BUGFIX sr_val_t does not support rpc/action envelopes (Michal Vasko) + + +* Tue Jul 21 2020 Radek Krejci 1.4.70 +- shm BUGFIX use atomics for shmlock rcount (Michal Vasko) +- common FEATURE decrease macro for atomics (Michal Vasko) +- python FEATURE added get_change_tree_next (#2052) (chaichairiko) +- shm CHANGE allow setting a custom prefix for SHM files (#2041) (Robin Jarry) +- sysrepo CHANGE candidate reset on unlock (Michal Vasko) +- sysrepoctl FEATURE exact information about feature state (Michal Vasko) +- sysrepo FEATURE simplify YANG feature handling (Michal Vasko) +- sysrepo BUGFIX stop sess notif buf before removing conn from state (Michal Vasko) +- replay BUGFIX notif buf thread remap lock (Michal Vasko) +- sysrepoctl BUGFIX list imports of submodules (#2028) (Peter Feige) +- test FEATURE input params of edit/notification functions (#2019) (Fred Gan) +- edit FEATURE forbid setting operation nodes (Michal Vasko) +- build BUGFIX obsolete repo variable (#2015) (Heiko Thiery) +- test BUGFIX invalid cast (Michal Vasko) + + +* Tue Jun 02 2020 Michal Vasko 1.4.66 +- edit diff BUGFIX skip default nodes for replace (Michal Vasko) +- test FEATURE rpc/action parameters and no thread (#2008) (Fred Gan) +- build BUGFIX vasprintf detection on BSD (Michal Vasko) +- modinfo BUGFIX do not use cache directly for operational DS (Michal Vasko) +- modinfo BUGFIX lock cached data on running or oper ds (Michal Vasko) +- common BUGFIX xpath trim predidcates heap overflow (#2000) (Fred Gan) +- edit diff BUGFIX removing case lefover default nodes (Michal Vasko) +- sysrepo FEATURE use exact xpath for val rpc_cb (Michal Vasko) +- build BUGFIX set PIC for compat explicitly (Michal Vasko) +- c++ FEATURE get_data example (Michal Vasko) +- test FEATURE edit testcases (#1983) (FredGan) +- sysrepo FEATURE clarify edit errors (Michal Vasko) +- sub shm BUGFIX checking actual changes for subs with xpath (Michal Vasko) +- test CHANGE handle return values on different platforms (Michal Vasko) +- test BUGFIX do not use assert() (Michal Vasko) +- c++ CHANGE update validate function API (Michal Vasko) + + +* Thu May 07 2020 Michal Vasko 1.4.58 +- test BUGFIX skip access test if executed as root (Michal Vasko) +- doc BUGFIX typo (Michal Vasko) +- build BUGFIX incorrectly removed libyang CPP bindings cmake search (Michal Vasko) +- sysrepo CHANGE allow validating only specific modules (Michal Vasko) +- build BUGFIX put back libyang required version (Michal Vasko) +- sub shm BUGFIX empty edits should not replace previous edits from update (Michal Vasko) +- sub shm BUGFIX correctly handle empty updated edits (Michal Vasko) +- build CHANGE check libyang version using standard means (Michal Vasko) +- edit diff BUGFIX changing implicit default to explicit (Michal Vasko) +- modinfo BUGFIX handle edits with interleaved module data (Michal Vasko) +- build CHANGE dump required libyang version (Michal Vasko) +- test CHANGE use list name with : (Michal Vasko) +- sysrepo BUGFIX we cannot use cached data for validation (Michal Vasko) +- edit diff CHANGE include dflt flag changes in diff (Michal Vasko) +- sub shm BUGFIX SHM re-lock checking (Michal Vasko) +- sub shm BUGFIX unset SID username (Michal Vasko) +- common BUGFIX directory creation and umask (Michal Vasko) +- log BUGFIX syslog log level comparison (Michal Vasko) +- sysrepo CHANGE improve sr_move_item options and docs (Michal Vasko) +- sysrepoctl FEATURE allow changing perms for updated modules (Michal Vasko) +- sum shm BUGFIX do not generate ABORT events for DONE_ONLY subs (Michal Vasko) +- shm FEATURE use version number to track shm structure changes (Michal Vasko) +- build CHANGE bump required libyang version (Michal Vasko) +- test CHANGE use "//*" xpath (Michal Vasko) +- packages BUGFIX wrong version var (Michal Vasko) +- doc BUGFIX typo (Michal Vasko) +- main shm BUGFIX iterating over RPCs that are being removed (Michal Vasko) +- sysrepo BUGFIX implicit diff check cb session creation (Michal Vasko) +- compat BUGFIX avoid macro collision (Michal Vasko) +- replay BUGFIX continue on failed replay (Michal Vasko) +- sysrepo CHANGE changing replay of all modules supported (Michal Vasko) +- examples CHANGE add feature flag for sleep on QNX (#1929) (apropp-molex) +- sysrepo CHANGE no error when reading data without access (Michal Vasko) +- common CHANGE use shmrealloc functions where possible (Michal Vasko) +- common BUGFIX disable cwd searchdir in libyang context (#1922) (Robin Jarry) +- doc CHANGE add editorconfig file (Robin Jarry) +- common CHANGE shm subscription allocation refactor (Michal Vasko) +- examples BUGFIX add missing compat header (Michal Vasko) +- build CHANGE selectively link librt (apropp-molex) +- doc CHANGE added more details about shelve return value (Michal Vasko) +- sub shm CHANGE completely interrupt RPC processing when shelved (Michal Vasko) +- log BUGFIX handle missing libyang errors (Michal Vasko) +- edit diff BUGFIX support for userord leaflist defaults (Michal Vasko) +- common BUGFIX mark new internal modules as internal (Michal Vasko) +- test BUGFIX should pass for all yang-lib revisions (Michal Vasko) +- sysrepo BUGFIX add proper operational data locks (Michal Vasko) +- build CHANGE dump required libyang version (Michal Vasko) +- fixup! shm mod BUGFIX clear write_lock flag on error (Michal Vasko) +- lyd mods CHANGE support both yang-library revisions (Michal Vasko) +- build BUGFIX linking compat object library (Michal Vasko) +- build BUGFIX link compat as objects (Michal Vasko) +- compat CHANGE use compat functions in a separate object (Michal Vasko) +- sysrepocfg CHANGE remove vfork (Michal Vasko) +- sysrepo BUGFIX add missing strdup feature test macro (Michal Vasko) +- build BUGFIX link dl library in a portable way (Michal Vasko) +- build CHANGE dump required libyang version (Michal Vasko) +- sysrepo BUGFIX convert value according to ist real type (Michal Vasko) +- build CHANGE print found libyang header (Michal Vasko) +- bindings CHANGE generate doxygen docs if enabled (Michal Vasko) +- sysrepocfg CHANGE make mkstemps support optional (Michal Vasko) +- doc CHANGE minor improvement (Michal Vasko) +- shm mod CHANGE fail to downgrade lock is a fatal error (Michal Vasko) +- shm mod BUGFIX clear write_lock flag on error (Michal Vasko) +- common BUGFIX support for decimal64 in union (Michal Vasko) +- modinfo CHANGE generate datastores for yang-library data (Michal Vasko) +- lyd mods CHANGE implement libyang ietf-datastores module (Michal Vasko) + + +* Tue Feb 04 2020 Michal Vasko 1.4.2 +- sysrepo CHANGE robust oper sub type checking (Michal Vasko) +- doc BUGFIX missing reference deleted (Michal Vasko) +- doc BUGFIX missing reference deleted (Michal Vasko) +- c++ CHANGE adjust based on C API changes (Michal Vasko) +- main shm CHANGE print msg before asserts (Michal Vasko) +- sysrepo CHANGE allow waiting for all change events (Michal Vasko) +- doc CHANGE mentioned used runtime env variables (Michal Vasko) +- doc CHANGE note about switching DS (Michal Vasko) +- build BUGFIX add specific package target compile options (Michal Vasko) +- common CHANGE information about path on failed mkdir (Michal Vasko) +- c++ CHANGE adjustments for change in C API (Michal Vasko) + + +* Fri Jan 31 2020 Michal Vasko 1.4.0 +- c++ CHANGE adjustments for change in C API (Michal Vasko) +- sysrepo CHANGE remove redundant conn recovery (Michal Vasko) +- sysrepo CHANGE allow specifying flags for sr_get_items (Michal Vasko) +- sysrepo CHANGE allow creating isolated move edits (Michal Vasko) +- sysrepo CHANGE remove redundant error codes (Michal Vasko) +- sysrepo CHANGE use session DS as the target datastore (Michal Vasko) +- lyd mods CHANGE log installing dependency modules (Michal Vasko) +- tests BUGFIX proper candidate reset (Michal Vasko) +- sysrepo CHANGE allow parsing invalid data in candidate (Michal Vasko) +- edit diff BUGFIX inserting userord list into another list (Michal Vasko) +- main shm BUGFIX wrong unlocks (Michal Vasko) +- build CHANGE increase required libyang version (Michal Vasko) +- main shm CHANGE check alignment of starting offsets as well (Michal Vasko) +- lyd mods BUGFIX submodule feature change order checking (Michal Vasko) +- mod shm BUGFIX notif subs need alignment (Michal Vasko) +- main shm BUGFIX missing notif subs handling (Michal Vasko) +- main shm BUGFIX do not access removed rpc struct (Michal Vasko) +- main shm CHANGE make ext shm dbg print more robust (Michal Vasko) +- main shm BUGFIX incorrect skip of dbg print (Michal Vasko) +- sysrepo BUGFIX merging diff from update event (Michal Vasko) +- edit diff CHANGE create op cannot be merged into create (Michal Vasko) +- edit diff BUGFIX remove dflt flags from diff parents (Michal Vasko) +- sysrepo CHANGE check for invalid update subscriptions (Michal Vasko) +- doc CHANGE highlight important information (Michal Vasko) +- lyd mods CHANGE fully managed feature changing (Michal Vasko) +- lyd mods BUGFIX feature change can fail because of its iffeature (Michal Vasko) +- fixup! edit diff BUGFIX handle cases in repalce config diff correctly (Michal Vasko) +- edit diff BUGFIX handle cases in repalce config diff correctly (Michal Vasko) +- sysrepo CHANGE share code for applying changes (Michal Vasko) +- doc CHANGE improve update event subscriber description (Michal Vasko) +- doc CHANGE improve update flag description (Michal Vasko) +- bindings BUGFIX compile errors with old GCC (Michal Vasko) +- sysrepo CHANGE unlock modules as sonn as possible in enabled event (Michal Vasko) +- build BUGFIX typo in coverage report name (Michal Vasko) +- modinfo BUGFIX proper mod cache unlock on error (Michal Vasko) +- bindings CHANGE find python interpreter first (Michal Vasko) +- lyd mods CHANGE automatic unknown data removal (Michal Vasko) +- lyd mods BUGFIX wrong return value (Michal Vasko) +- sysrepo BUGFIX free all data of context before itself (Michal Vasko) +- sysrepo BUGFIX missing rwlock init (Michal Vasko) +- doc CHANGE add a warning regarding usage of SR_SUBSCR_UPDATE flag (Michal Vasko) +- sysrepo BUGFIX always duplicate enabled data in case they are cached (Michal Vasko) +- main shm BUGFIX main SHM none locks handled (Michal Vasko) +- common BUGFIX always print exact size variables (Michal Vasko) +- doc BUGFIX typo (Michal Vasko) +- build CHANGE increase libyang dep version (Michal Vasko) +- edit diff BUGFIX do not create only dflt flag change leaf diff (Michal Vasko) +- lyd mods CHANGE remove unused YANG modules (Michal Vasko) +- test CHANGE new test for specific default use-case (Michal Vasko) +- edit diff BUGFIX default leaf comparison (Michal Vasko) +- build BUGFIX use repository include files with highest priority (Michal Vasko) +- sysrepoctl BUGFIX typo (Michal Vasko) +- sysrepocfg CHANGE support setting custom timeout (Michal Vasko) +- sub shm CHANGE generate abort after callback success after timeout (Michal Vasko) +- sub shm CHANGE better message if a callback times out (Michal Vasko) +- sub shm BUGFIX handle timeout after next event (Michal Vasko) +- shm BUGFIX enabled is not an event that can appear in shm (Michal Vasko) +- fixup! build CHANGE detect libyang version (Michal Vasko) +- build CHANGE detect libyang version (Michal Vasko) +- sysrepo CHANGE support for deleting all (leaf-)list instances (Michal Vasko) +- mod shm CHANGE no need to lock modules (Michal Vasko) +- main shm BUGFIX missed unlock (Michal Vasko) +- sysrepo BUGFIX do not use EXPLICIT when merging default values (Michal Vasko) +- edit BUGFIX redundat node detection (Michal Vasko) +- common CHANGE if process existence check fails, assume it exists (Michal Vasko) +- sysrepo CHANGE new edit option for isolated edits (Michal Vasko) +- main shm CHANGE proper error in case client srashed with SHM write lock (Michal Vasko) +- fixup! sysrepo CHANGE major lock refactor (Michal Vasko) +- sysrepo CHANGE make defragmentation part of unlocking (Michal Vasko) +- sysrepo CHANGE major lock refactor (Michal Vasko) +- main shm CHANGE debug ext shm output improved (Michal Vasko) +- edit diff BUGFIX remove invalid assert (Michal Vasko) +- edit CHANGE support for replace operation in API (Michal Vasko) +- doc CHANGE note about doc state (Michal Vasko) +- sysrepoctl CHANGE update search dirs parameter (Michal Vasko) +- sysrepo CHANGE support for multiple search dirs (Michal Vasko) +- sysrepo BUGFIX forbid uninstalling internal modules (Michal Vasko) +- sysrepoctl CHANGE list even all internal modules (Michal Vasko) +- doc CHANGE update info about bindings (Michal Vasko) +- doc CHANGE minor updates (Michal Vasko) +- sysrepo CHANGE lock only required locks (Michal Vasko) +- shm main BUGFIX memory leak (Michal Vasko) +- shm mod BUGFIX lock oper modules when changing their data (Michal Vasko) +- doc CHANGE doxygen update (Michal Vasko) +- sysrepoctl CHANGE forbid ignored parameters (Michal Vasko) +- sysrepo CHANGE unlock modules when executing RPC/action (Michal Vasko) +- sysrepo BUGFIX use explicit path if given (Michal Vasko) +- edit CHANGE forbid invalid operation combinations (Michal Vasko) +- lyd mods BUGFIX enable also features form submodules (Michal Vasko) +- sysrepo BUGFIX allow value to be NULL (Michal Vasko) +- shm CHANGE use a separate lock for conn state access (Michal Vasko) +- sysrepo BUGFIX candidate validation should be always performed (Michal Vasko) +- modinfo BUGFIX accept empty data when iterating (Michal Vasko) +- lyd mods BUGFIX iteration must stop after nodes are freed/modified (Michal Vasko) +- lyd mods BUGFIX install all newly implemented modules (Michal Vasko) +- sysrpeo-plugind BUGFIX create plugins dir recursively (Michal Vasko) +- edit diff BUGFIX choice/case support (Michal Vasko) +- lyd mods CHANGE module dependency collecting refactored (Michal Vasko) +- common BUGFIX prepare also include files for new modules (Michal Vasko) +- sysrepo-plugind CHANGE create plugins dir if it does not exist (Michal Vasko) +- sub shm BUGFIX abort event sent to 0 subscribers (Michal Vasko) +- sub shm BUGFIX missing unlock on error (Michal Vasko) +- test BUGFIX increase timeout in timeout test (Michal Vasko) +- tests CHANGE use barriers instead of usleep to timeout (Michal Vasko) +- tests CHANGE default case added (Michal Vasko) +- deploy CHANGE package names changed (Michal Vasko) +- build CHANGE somewhat improved description (Michal Vasko) +- c++ BUGFIX link both sysrepo and libyang-cpp (Michal Vasko) +- sysrepo BUGFIX getting data of default siblings (Michal Vasko) +- cmake BUGFIX invalid fing libyang if (Michal Vasko) +- build BUGFIX do not link libyang directly for examples and tests (Michal Vasko) +- test CHANGE honor custom repo path in notif test (Michal Vasko) +- example BUGFIX set top-level state container (Michal Vasko) +- common BUGFIX missing include (Michal Vasko) +- fixup! deploy CHANGE pkg-config packages renamed (Michal Vasko) +- fixup! deploy CHANGE pkg-config packages renamed (Michal Vasko) +- deploy CHANGE pkg-config packages renamed (Michal Vasko) +- edit diff BUGFIX wrong struct cast (Michal Vasko) +- common CHANGE align based on pointer size (Michal Vasko) +- travis CHANGE use newer ubuntu for ppc64 (Michal Vasko) +- travis BUGFIX install missing libpcre3-dev package (Michal Vasko) +- travis CHANGE python3-dev package is required (Michal Vasko) +- fixup! travis CHANGE enable additional architectures (Michal Vasko) +- travis CHANGE enable additional architectures (Michal Vasko) +- sub shm BUGFIX subscriber timeout corner-case (Michal Vasko) +- python BUGFIX install to platform-specific path (Michal Vasko) +- fixup! sysrepo CHANGE cpp and pkg-config package names changed (Michal Vasko) +- common CHANGE use less restrictive permissions for internal data files (Michal Vasko) +- sysrepo CHANGE cpp and pkg-config package names changed (Michal Vasko) +- travis CHANGE allow failures on OSX (Michal Vasko) +- fixup! tests CHANGE use own pthread_barrier if not available (Michal Vasko) +- tests CHANGE use own pthread_barrier if not available (Michal Vasko) +- main shm CHANGE ignore invalid permission bits (Michal Vasko) +- sysrepo-plugind CHANGE skip dir check when loading plugins (Michal Vasko) +- common BUGFIX implicit declaration fix (Michal Vasko) +- build CHANGE set check_function_exist policy (Michal Vasko) +- fixup! build CHANGE osx does not implement pthread_mutex_timedlock (Michal Vasko) +- build CHANGE osx does not implement pthread_mutex_timedlock (Michal Vasko) +- sysrepo-plugind BUGFIX uninitialized variable (Michal Vasko) +- deploy BUGFIX libyang C++ bindings are required (Michal Vasko) +- build BUGFIX apple does not require rt library (Michal Vasko) +- sysrepo-plugind CHANGE add information about an improper termination (Michal Vasko) +- build CHANGE new target shm_clean (Michal Vasko) +- c++ CHANGE always use ctx_reuse susbcribe flag (Michal Vasko) +- test BUGFIX uninitalized variable access (Michal Vasko) +- sysrepo CHANGE refactor operational defaults handling (Michal Vasko) +- modinfo BUGFIX assert condition fixed for actions (Michal Vasko) +- shm mod BUGFIX nested op have dependencies in top-level module (Michal Vasko) +- lyd mods BUGFIX sysrepo YANG module update fix (Michal Vasko) +- lyd mods BUGFIX check op deps for duplicities (Michal Vasko) +- lyd mods BUGFIX enabling operation by an imported feature (Michal Vasko) +- python CHANGE remove redundant python test script (Michal Vasko) +- lyd mods CHANGE permissive access for main startup file (Michal Vasko) +- sysrepoctl CHANGE enable connection recovery (Michal Vasko) +- sysrepo CHANGE process modules in the order of the changes (Michal Vasko) +- common BUGFIX when creating files set umask (Michal Vasko) +- lyd mods CHANGE allow transparent sysrepo module update (Michal Vasko) +- modinfo BUGFIX config trimming of enabled running data (Michal Vasko) +- python BUGFIX fix test parameters (Michal Vasko) +- sysrepo BUGFIX when SHM is created, also create SHM data files (Michal Vasko) +- common CHANGE simple function for checking file existence (Michal Vasko) +- python CHANGE cmake files for python bindings refactored (Michal Vasko) +- doc BUGFIX typo fixed (Michal Vasko) +- main shm BUGFIX clear conn state when it is added to SHM (Michal Vasko) +- sysrepo BUGFIX change also operational file access (Michal Vasko) +- common CHANGE more strict module data file creation (Michal Vasko) +- main shm CHANGE align conn state evpipes (Michal Vasko) +- main shm BUGFIX wrong conn state mod locks size (Michal Vasko) +- shm CHANGE held module locks recovery (Michal Vasko) +- shm CHANGE store held module read locks in SHM (Michal Vasko) +- main shm CHANGE keep count of installed modules (Michal Vasko) +- test CHANGE increase sleep time (Michal Vasko) +- common CHANGE refactor aligned SHM len/size (Michal Vasko) +- common BUGFIX memory leak (Michal Vasko) +- sysrepo CHANGE store info in SHM about held locks (Michal Vasko) +- c++ BUGFIX do not disconnect change nodes (Michal Vasko) +- main shm BUGFIX do not print pointer mark twice (Michal Vasko) +- c++ CHANGE update for C API changes (Michal Vasko) +- sysrepo CHANGE suport notification buffering (Michal Vasko) +- sysrepo CHANGE use scheduled startup data for running, too (Michal Vasko) +- c++ BUGFIX get_module_info() memory leak (Michal Vasko) +- doc CHANGE session datastore importance clarified (Michal Vasko) +- main shm CHANGE remove leftover event pipes (Michal Vasko) +- doc CHANGE major update (Michal Vasko) +- c++ CHANGE set_item_example fix (Michal Vasko) +- test BUGFIX fix non-deterministic test (Michal Vasko) +- sysrepo CHANGE never remove session changes if they are not applied (Michal Vasko) +- sub shm CHANGE continue normally on callback timeout (Michal Vasko) +- sysrepo CHANGE free even subscriptions on disconnect (Michal Vasko) +- modinfo CHANGE filter out more redundant oper data (Michal Vasko) +- doc CHANGE highligh important bits in schema info (Michal Vasko) +- sysrepo CHANGE new message when not applying scheduled changes (Michal Vasko) +- sysrepoctl BUGFIX initialize change flag (Michal Vasko) +- sub shm CHANGE check errno after select only when ret = -1 (Barbaros Tokaoglu) +- modinfo BUGFIX invalid optimization (Michal Vasko) +- modinfo BUGFIX restrictive xpath module name filtering (Michal Vasko) +- common CHANGE allow simple keys skip (Michal Vasko) +- modinfo BUGFIX never trim keys from returned data (Michal Vasko) +- modinfo BUGFIX handle default data from foreign augments (Michal Vasko) +- edit diff BUGFIX obsolete assert removed (Michal Vasko) +- lyd mods CHANGE better inf message about scheduled changes (Michal Vasko) +- lyd mods BUGFIX do not install modules twice (Michal Vasko) +- lyd mods BUGFIX invalid failure of applying scheduled changes (Michal Vasko) +- sysrepoctl CHANGE display shceduled installed modules (Michal Vasko) +- lyd mods BUGFIX handle dependant module not being implemented (Michal Vasko) +- edit diff BUGFIX do not use a freed node (Michal Vasko) +- sysrepo BUGFIX support for transforming leafref to sr_val_t (Michal Vasko) +- test BUGFIX invalid options (Michal Vasko) +- sub shm CHANGE handle timeout gracefully (Michal Vasko) +- modinfo CHANGE do not get rednundat state data (Michal Vasko) +- doc CHANGE detailed information about paths (Michal Vasko) +- doc CHANGE client architecture picture updated (Michal Vasko) +- sysrepo CHANGE major update (Michal Vasko) +- cpp BUGFIX fix sysrepo includes (Michal Vasko) +- sysrepo CHANGE support var arg session errors (Michal Vasko) +- lyd_mods CHANGE libyang JSON parser change (Michal Vasko) +- sysrepo BUGFIX always use search path (Michal Vasko) +- common CHANGE handle non-existing running file (Michal Vasko) +- lydmods BUGFIX set running data for new modules (Michal Vasko) +- lydmods BUGFIX always implement non-implemented modules (Michal Vasko) +- build BUGFIX set vars if memmber not found (Michal Vasko) +- sysrepo BUGFIX always parse module data (Michal Vasko) +- common CHANGE use int instead of char (Michal Vasko) +- log CHANGE do not test vargs for NULL (Michal Vasko) +- c++ CHANGE bindings adjusted for C API changes (Michal Vasko) +- sysrepo CHANGE timeout added to API functions (Michal Vasko) +- sysrepo CHANGE separate lock for module changes (Michal Vasko) +- sysrepo CHANGE module installation is now deferred as well (Michal Vasko) +- build BUGFIX correct version and soversion (Michal Vasko) +- main shm BUGFIX include rpcs/subscriptions in ext size (Michal Vasko) +- cmake CHANGE findyang module updated (Michal Vasko) +- modinfo BUGFIX add default nodes before first state callback (Michal Vasko) +- main shm BUGFIX wrong value used (Michal Vasko) +- sysrepoctl BUGFIX too short string (Michal Vasko) +- edit diff BUGFIX double free (Michal Vasko) +- edit diff BUGFIX edit same leaf with different value (Michal Vasko) +- main shm CHANGE load all modules for data validation after changes (Michal Vasko) +- sub shm BUGFIX do not validate data for operatioanl event (Michal Vasko) +- main shm BUGFIX store files of module submodules (Michal Vasko) +- sysrepoctl BUGFIX leading space in submodules list (Michal Vasko) +- srpd BUGFIX do not fork with existing connections (Michal Vasko) +- shm main CHANGE handle fork() with connections better (Michal Vasko) +- shm main BUGFIX dependencies in foreign augments (Michal Vasko) +- doc BUGFIX single change mentioned twice (Michal Vasko) +- sysrepocfg BUGFIX do not validate input data at all (Michal Vasko) +- modinfo BUGFIX properly return mixed oper subs for state DS (Michal Vasko) +- doc BUGFIX fix typo (Michal Vasko) +- shm sub BUGFIX handle callback timeouts (Michal Vasko) +- sysrepocfg BUGFIX do not check ext deps when parsing files (Michal Vasko) +- edit BUGFIX allow same edits in sessions (Michal Vasko) +- edit CHANGE allow duplicate edits if they are equal (Michal Vasko) +- modinfo BUGFIX do not apply diff on enabled event (Michal Vasko) +- sysrepo BUGFIX recursive oper subscription type analysis (Michal Vasko) +- sysrepo BUGFIX avoid segfault if conn is NULL (Michal Vasko) +- sysrepo BUGFIX invalid internal error changed (Michal Vasko) +- doc CHANGE include information about bindings (Michal Vasko) +- shm CHANGE align all strings to a multiple of pointer size (Michal Vasko) +- log CHANGE helper functions for string printing (Michal Vasko) +- sysrepo CHANGE getters return new configuration in callbacks (Michal Vasko) +- sysrepo CHANGE error when sr_get_item does not find the value (Michal Vasko) +- sysrepo CHANGE allow CTX_REUSE flag with subscription NULL (Michal Vasko) +- sysrepoctl CHANGE do not consider adding already added module an error (Michal Vasko) +- sysrepoctl CHANGE allow uninstalling several modules at once (Michal Vasko) +- main shm BUGFIX installing module with import with inverse dependency (Michal Vasko) +- sysrepo CHANGE request xpath and id added to callbacks (Michal Vasko) +- doc CHANGE brief migration info added (Michal Vasko) +- utils BUGFIX make utils part of api (Michal Vasko) +- doc CHANGE updated information about utilities (Michal Vasko) +- sysrepo CHANGE forbid mixing libyang contexts (Michal Vasko) +- sysrepo BUGFIX for merging top-level parent is always needed (Michal Vasko) +- sysrepo BUGFIX get_item may not return any data (Michal Vasko) +- sysrepo BUGFIX connection cleanup on connect fail (Michal Vasko) +- sysrepo BUGFIX add operation on all top-level nodes (Michal Vasko) +- sub shm BUGFIX action output checking (Michal Vasko) +- sub shm CHANGE check better output returned from rpc/action (Michal Vasko) +- operational CHANGE allow operational to not be valid (Michal Vasko) +- sysrepo BUGFIX correct operation for get_next_change val variant (Michal Vasko) + +