Releases: CiscoDevNet/ydk-gen
Releases · CiscoDevNet/ydk-gen
0.7.2
2018-07-02 version 0.7.2
Python, C++ & Go
Bundle improvements
- Released
cisco-nx-os
bundle to support Cisco NX OS 7.0-3-I7-4 release - Updated
cisco-ios-xr
bundle to support Cisco IOS XR 6.4.1 release - Updated
openconfig
to introduce support for additional AFT models. - Updated
cisco-ios-xe
bundle to continue to support Cisco IOS XE 16.8.1 release and make it compatible withydk core
version 0.7.2 - Also updated
ietf
bundle to make it compatible withydk core
version 0.7.2
CRUD / Netconf / Codec / Path API improvements
- Introduced support for key-based access to list items in Python, C++ and Go model API (#231)
- Introduced support for multiple entities in Go (#768)
- Improved support for YANG
presence
nodes (#629, #738, #763) - Fixed issue with invoking sequential CRUD operations on different model APIs (#727)
- Improved NETCONF service commit API (#796)
- Enhanced support for leaf value patterns (#786)
Netconf provider improvements
- Improved support for YANG
feature
s included in NETCONF hello message (#777)
Documentation improvements
ydk-gen improvements
- Fixed issue with mixed case objects in Go language model API (#686)
0.7.1
Bundle improvements
NOTE: #604 and #748 introduced a backward incompatibility for python bundles. The below bundles generated with 0.7.1
or newer ydk-gen will only work with ydk core
version 0.7.1
or newer
- Updated
cisco-ios-xr
to support Cisco IOS XR 6.3.2 release - Updated
cisco-ios-xe
to support Cisco IOS XE 16.8.1 release - Updated
openconfig
to introduce support for AFT, ISIS, LLDP, Network Instance and Segment Routing models. - Updated
ietf
bundles to introduce support for NETCONF access control model (ACM)
CRUD / Netconf / Codec / Path API improvements
- Introduced support for multiple entities in Python and C++ (#713, #719, #726, #736)
- Added support for yang models with more than 256 typedefs (#678, #607)
- Fixed segfault with
cisco-ios-xe
model (#627) - Changed default arguments to be more pythonic (#682)
- Handled XML escape characters included in yang models (#683)
- Improved handling XML declaration in XML payloads (#662)
- Fixed support for yang models with lists as top-level nodes (#728)
- Added support for yang 1.1
action
statement in path API (#717)
Netconf provider improvements
- Added support for connecting to devices with no
get-schema
support (#554)
ydk-gen improvements
- Updated leafs in python model APIs to use native python types (#604)
- Improved the size and performance of Golang model APIs (#604)
- Fixed issue with handling of some typedefs in Golang (#706, 747)
Documentation improvements
Testing/error improvements
- Improved ydk-gen error reporting and fixed
--one-class-per-module
option of generating python packages (#604) - Added coverage for Golang and C++ (#740, #705)
Installation improvements
0.7.0
2018-01-31 version 0.7.0
Python, C++ & Go
Introduced Go language YDK support (alpha version)
- Added support for all existing
ydk core
services, providers, types and errors in Go - Added support for all existing
ydk bundles
includingietf
,openconfig
,cisco-ios-xr
andcisco-ios-xe
in Go - #673, #663, #660, #658, #606, #605
CRUD service improvements
- Fixed handling of reading operational data nodes (#664)
- Improved formatting of payloads in logging output (#670)
Error handling improvements
- Fixed naming of errors across C++ and Go to be consistent. Changed YCPPError, YError etc to YError (#669, #668)
- Fixed warning in CMake build system to look for CMake version of
3.0.0
or greater (#655)
Documentation improvements
- Improved documentation for models which augment other models (#426)
0.6.3
2017-12-15 version 0.6.3
Python & C++
Model API updates
Netconf provider improvements
- Added support for keybase authentication (#619)
CRUD service improvements
- Fixed various issues with usage of XE model API (#640, #535, #612, #632)
- Improved handling of leaf-lists (#621, #631, #646)
Documentation improvements
- Improved documentation for unions (#642) and string patterns (#651)
- Improved developer guide (#622, #625)
Testing improvements
0.6.2
Python & C++
- CRUD / Executor / Codec service improvements
- Improved
CRUDService
support foropenconfig-routing-policy
yang module (#580, #540) - Improved CRUD support for parent-child yang nodes with the same name (#566, #598, #596)
- Improved CRUD support for
openconfig-if-ethernet
andiana-if-types
modules (#513) - Fixed CRUD issue with encoding containers and list instances in user-selected order (#563, #564)
- Fixed issue with
ExecutorService
(#590, #558) - Improved
CodecService
performance (#537)
- Improved
- Documentation improvements
0.6.1
2017-09-25 version 0.6.1
Python & C++
- Updated
cisco-ios-xr
bundle to support Cisco IOS XR 6.3.1 release - Updated
cisco-ios-xe
bundle to continue to support Cisco IOS XE 16.6.1 release and make it compatible withydk core
version0.6.1
- Also updated
openconfig
bundle version 0.1.4 with additional support for optical transport (channel monitor, optical amplifier, terminal device and transport line) - Improved Service Providers
- Improved Netconf Service Provider to support timeout and retrieving device capabilities (#217, #492, #557)
- Decoupled path API-specific details from Service Provider and created Netconf & Restconf Session to be used instead of Provider in path API (#494, #511)
- Fixed segmentation fault with the
openconfig-platform
model (#527)
- Improved Netconf Service's
kill_session
method (#528)
Note on cisco-ios-xe bundle
- As specified above, the
cisco-ios-xe
bundle version was updated to16.6.1.post1
without any of the models being changed. This is because the already released16.6.1
bundle is not compatible with theydk core
version0.6.1
. So, when upgrading yourcore
version to be0.6.1
, please also update the XE bundle to version16.6.1.post1
.
Documentation
- Fixed documentation issues for installation (#529, #531, #542, #541)
- Improved API documentation (#424, #94)
ydk-gen
0.6.0
2017-08-01 version 0.6.0
Python
- Introduced new YDK python
core
package using pybind11 to wrap around YDK C++core
(#507)- Introduced
ydk.path
module consisting of APIs to read, manipulate and write YANG data using XPath-like expressions - Updated YDK services and providers to internally use the path API
- Introduced
RestconfServiceProvider
andOpenDaylightServiceProvider
- Updated
NetconfServiceProvider
to be able to download the device yang models on connecting to a device - Introduced ability to encode/decode subtree XML in
CodecService
and changedCRUDService
to use XML subtree filtering to create filters for theread
operation - Added equality/inequality operators to compare YDK model API objects
- Introduced
Note on backward compatibility
The backward incompatible changes introduced with 0.6.0
python release include:
- Installation: When installing
YDK-Py
, there is a new system requirement which needs to be installed. This is thelibydk
library, which is available on the DevHub website for various OS platforms. Please refer to the system requirements for details. - Windows support: From release
0.6.0
onwards, YDK is no longer supported on the Windows platform. We plan to add back support for this platform in the future. - API changes: Please refer to the developer guide and API guide for details about APIs and how to use them.
NetconfServiceProvider
no longer has theclose()
method. There is no need to explicitly close the provider as it will be automatically cleaned up when the object goes out of scope.YFilter
has replaced the functionality of theREAD
andDELETE
objects- When using logging, the suggested level for users of YDK is
INFO
asDEBUG
provides highly detailed logging suitable for developers working on YDK - The type names of
enumerations
andidentities
no longer haveEnum
orIdentity
in their names. For example, the identityInterfaceTypeIdentity
inydk.models.ietf.ietf_interfaces
is now renamed to justInterfaceType
C++
- Renamed some of the methods in path API to be verbs like
DataNode::get_schema()
instead of nouns likeDataNode::schema()
(#498) - Add option for TCP transport in
NetconfServiceProvider
(#476, #444) - Support
get
/get-config
with no filter in path API (#503) - Introduce optimized on-demand yang model downloading for
NetconfServiceProvider
(#499) - Add support for choosing either a per-device or a common cache for storing downloaded yang models (#502)
- Introduced encoding/decoding subtree XML in
CodecService
and changedCRUDService
to use XML subtree filtering to create filters for theread
operation (#489) - Added support for non-standard RPCs as well in path API (#498)
- Add ability to generate Linux and Mac OSX packages in cmake using cpack (#466)
ydk-gen
- Updated
cisco-ios-xr
to support Cisco IOS XR 6.2.2 release - Updated
cisco-ios-xe
to support Cisco IOS XE 16.6.1 release - Also updated
openconfig
andietf
bundles
0.5.5
2017-06-06 version 0.5.5
Python
- Fixed bundle
setup.py
to match ydkcore
dependency in bundle profile (#433) - Updated
lxml
dependency for ydkcore
package (#427) - Improved reading of data using
ExecutorService
(#332) andCRUDService
(#457) - Fixed encoding key elements of yang
list
s (#363) and operational data (#452, #455)
C++
- Added equality operator for model API objects (#432)
- Improved handling of presence
container
s (#437)
ydk-gen
- Added
cisco-ios-xe
bundle to support Cisco IOS XE 16.5.1 release - Improved exception handling in the ydk-gen
generate.py
script (#440)
Documentation
0.5.4
2017-03-17 version 0.5.4
Python
- Improved logging to indicate message directionality (#388)
- Provide more details for validation error message for leaf-lists (#398)
- Remove indirect python requirements from
setup.py
(#392) - If validation error occurs when decoding payload, include payload as an attribute of the
YPYModelError
raised (#381) - Update Python package generation and post YDK-Py on the Python package index - PyPi (#404, #406)
C++
- Changed dependent libraries (#382)
- Create default yang models repository for each bundle. Install yang models as part of bundle shared library (#292)
- Make passing in
path::Repository
object optional forCodecServiceProvider
- Make passing in
- Fix issue with handling augmented leafs in
CrudService
(#351) - Use smart pointers (like
shared_ptr
) in place of raw pointers (#382), (#393) - Support linking to multiple bundles (#349)
- Added sample code for using YDK with JSON configs in combination with CRUD service (#387)
ydk-gen
- Improved generation of C++ code to consume less compile-time memory for large yang models (#386), (#336)
- Add check for valid profile file to ydkgen (#378)
- Added code coverage for C++ code (#373)
- Updated
cisco-ios-xr
bundle to support Cisco IOS XR 6.2.1 release
Documentation
0.5.3
2017-01-30 version 0.5.3:
Python
- Fixed issues with netconf service (#323, #305)
- Disambiguated model API classes called 'None' (#318)
- Removed 'Bits' from classes representing bits leafs (#318, #320)
C++
- Introduced support for two new service providers (#365)
- RestconfServiceProvider
- OpenDaylightServiceProvider
- Introduced support for netconf service (#341, #352)
- Released ydk-cpp for OSX platform (on Homebrew) and on Ubuntu platform (on Lauchpad) (#362, #322)
- Added support for generated CRUD model tests based on bundles (#354)
- Improved negative test cases and added support for netconf operations on leafs and leaf-lists (#324)
Documentation
- Added documentation with examples for C++ OpenDaylightServiceProvider and RestconfServiceProvider (#365)
- Included model revision in documentation (#272)
- Improved documentation for string leafs (#346), decimal64 leafs (#300, #294)
- Added more detailed documentation for ydk-gen (#335, #364)
- Improved look and feel of documentation (#361, #356)
- Cleaned up unused bundle profiles and added READMEs (#208)