This repository has been archived by the owner on Nov 2, 2023. It is now read-only.
Releases: CiscoDevNet/ydk-py
Releases · CiscoDevNet/ydk-py
0.6.2
2017-10-30 version 0.6.2
Python
- 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
- 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
- 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)
- Introduced
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
Note on backward compatibility
The backward incompatible changes introduced with 0.6.0
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 dvelopers 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
. - The
is_config()
method is no longer available for the YDK model APIs. This may be added back in a future release. - For
CRUDService
and other services, using a child container or list, which is not the top-level node in a yang model is no longer supported. For example:
from ydk.models.cisco_ios_xe import Cisco_IOS_XE_bgp_oper as bgp_oper
from ydk.services import CRUDService
from ydk.providers import NetconfServiceProvider
... # connect to provider etc
neighbors = bgp_oper.BgpStateData.Neighbors()
crud.read(provider, neighbors)
now has to be changed to:
from ydk.models.cisco_ios_xe import Cisco_IOS_XE_bgp_oper as bgp_oper
from ydk.services import CRUDService
from ydk.providers import NetconfServiceProvider
... # connect to provider etc
bgp_state = bgp_oper.BgpStateData()
crud.read(provider, bgp_state)
0.5.5
2017-06-06 version 0.5.5
- 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) - Added
cisco-ios-xe
bundle to support Cisco IOS XE 16.5.1 release
Documentation
0.5.4
2017-03-17 version 0.5.4
- 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) - Updated
cisco-ios-xr
bundle to support Cisco IOS XR 6.2.1 release - Update Python package generation and post YDK-Py on the Python package index - PyPi (#404, #406)
Documentation
0.5.3
0.5.2
2016-11-30 version 0.5.2:
- CRUD service / Codec service / Netconf service improvements
- Bundle improvements
- Made generate.py executable (#227)
- Removed auto capitalization of enum literals (#230)
- Updated
cisco-ios-xr
bundle to support Cisco IOS XR 6.1.2 release (#316)
- Logging improvements
- Documentation improvements
0.5.1
2016-08-03 version 0.5.1:
- Support for Python3
- Introduced support for Python 3 (#60)
- Both Python 2 and Python 3 are now supported for
ydk-gen
andydk-py
- Bundle improvements
- Improved usage of import statements in YDK model API to reduce chances of circular import dependency (#216)
- Updated
cisco-ios-xr
bundle to support Cisco IOS XR 6.1.1 release (#258) - Updated
openconfig
bundle (#258)
- Documentation improvements
0.5.0
2016-08-03 version 0.5.0:
- Introduced YDK bundles (#43, #148, #149)
- Created YDK core library and pluggable namespace packages that share the same module prefix
ydk.models
- Generated documentation for YDK core and bundles
- Created YDK core library and pluggable namespace packages that share the same module prefix
- CRUD service / Codec service / Netconf service improvements
- Improved support for presence containers, nested enum and identity classes (#169)
- Improved support for lists with multiple keys by ensuring that the order of keys is preserved (#179)
- Improved support for leaf-list of identity type (#186)
- Added check for user error which can occur when self-referencing YDK object as parent object (#184)
- Improved error-reporting for commit-time error (#190)
- Fixed CRUD read support for modules containing top-level list (#194)
- Testing improvements
- Added Mac OS X installation and running codec service sanity tests to CI (#175)
- Documentation improvements
- Indicated mandatory leafs in the documentation (#177)
- Specified path to referred leaf for leafrefs (#177)
- Fix documentation of presence containers (#192)
- Enhanced documentation of leafs of identityref type by indicating all the subclasses of identity base class referred to by the identityref (#161)
- Added documentation on how to use YDK delete operation and improved documentation for YDK read operation (#204)
0.4.2
2016-06-17 version 0.4.2:
- Error handling improvements
- Fixed local validation to correctly check for types and values (#116)
- Introduced error hierarchy to represent errors from various components, viz.: YPYModelErrors, YPYServiceError, YPYServiceProviderError (#133)
- When raising YPYModelErrors, include errors dictionary with key as path to data, and value as tuple of error code and error message
- Added more extensive negative test cases to ydk-gen to test handling of error (#134)
- CRUD service / Codec service / Netconf service provider improvements
- Removed requirements.txt from ydk-py and added all requirements to setup.py
- Enforce PEP8 naming for Identity classes (#152)
- Added full ydk-py version to the documentation (#144)