Skip to content
This repository has been archived by the owner on Nov 2, 2023. It is now read-only.

Releases: CiscoDevNet/ydk-py

0.6.2

02 Nov 23:35
bbed0a5
Compare
Choose a tag to compare
0.6.2 Pre-release
Pre-release

2017-10-30 version 0.6.2

Python

  • CRUD / Executor / Codec service improvements
    • Improved CRUDService support for openconfig-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 and iana-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)
  • Documentation improvements
    • Fixed YDK-Py installation documentation on macOS (#513)
    • Fixed libydk installation documentation (#584)

0.6.1

26 Sep 19:18
Compare
Choose a tag to compare
0.6.1 Pre-release
Pre-release

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 with ydk core version 0.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 to 16.6.1.post1 without any of the models being changed. This is because the already released 16.6.1 bundle is not compatible with the ydk core version 0.6.1. So, when upgrading your core version to be 0.6.1, please also update the XE bundle to version 16.6.1.post1.

Documentation

ydk-gen

  • Improved model API generation
    • reduced size of generated python model API (#544)
    • fixed issues with class names not following the CapWords style and models containing enum leafrefs (#538, #550, #475)

0.6.0

03 Aug 13:28
Compare
Choose a tag to compare
0.6.0 Pre-release
Pre-release

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 and OpenDaylightServiceProvider
    • 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 changed CRUDService to use XML subtree filtering to create filters for the read 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 changed CRUDService to use XML subtree filtering to create filters for the read operation (#489)
    • Added support for non-standard RPCs as well in path API (#498)

ydk-gen

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 the libydk 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 the close() 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 the READ and DELETE objects
    • When using logging, the suggested level for users of YDK is INFO as DEBUG provides highly detailed logging suitable for dvelopers working on YDK
    • The type names of enumerations and identities no longer have Enum or Identity in their names. For example, the identity InterfaceTypeIdentity in ydk.models.ietf.ietf_interfaces is now renamed to just InterfaceType.
    • 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

06 Jun 23:59
Compare
Choose a tag to compare
0.5.5 Pre-release
Pre-release

2017-06-06 version 0.5.5

  • Fixed bundle setup.py to match ydk core dependency in bundle profile (#433)
  • Updated lxml dependency for ydk core package (#427)
  • Improved reading of data using ExecutorService (#332) and CRUDService (#457)
  • Fixed encoding key elements of yang lists (#363) and operational data (#452, #455)
  • Added cisco-ios-xe bundle to support Cisco IOS XE 16.5.1 release

Documentation

  • Improved getting-started guides for YDK-Py and YDK-Cpp (#418, #419)
  • Made table of contents for bundle documentation be sorted alphabetically (#446, #419)
  • Improved documentation of rpc classes (#435)

0.5.4

22 Mar 21:45
Compare
Choose a tag to compare
0.5.4 Pre-release
Pre-release

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

  • Separated top data classes from type classes in table of contents (#372)
  • Fixed ydk version not being correctly printed for C++ documentation (#374)
  • Indicate bundle version in C++ and python bundle documentation (#383)

0.5.3

31 Jan 20:13
Compare
Choose a tag to compare
0.5.3 Pre-release
Pre-release

2017-01-30 version 0.5.3:

  • Fixed issues with netconf service (#323, #305)
  • Disambiguated model API classes called 'None' (#318)
  • Removed 'Bits' from classes representing bits leafs (#318, #320)

Documentation

  • Included model revision in documentation (#272)
  • Improved documentation for string leafs (#346), decimal64 leafs (#300, #294)
  • Improved look and feel of documentation (#361, #356)

0.5.2

02 Dec 05:20
Compare
Choose a tag to compare
0.5.2 Pre-release
Pre-release

2016-11-30 version 0.5.2:

  • CRUD service / Codec service / Netconf service improvements
    • Improved error handling for mismatched model API types (#241)
    • Fixed issues with certain operations in netconf service (#247, #248, #252, #235)
    • Fixed issue with CRUD service identityref keys (#257)
  • 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
    • Added YDK logos and reorganized to be more readable (#301, #296, #289)
    • Improved documentation of YANG attributes like data type (configuration or state), default value, units, status etc (#249, #290)
    • Improved netconf service documentation (#235)

0.5.1

10 Oct 23:42
Compare
Choose a tag to compare
0.5.1 Pre-release
Pre-release

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 and ydk-py
  • Bundle improvements
  • Documentation improvements
    • Improved documentation for bundle installation (#244)
    • Added documentation for executor service (#263)

0.5.0

16 Aug 20:14
Compare
Choose a tag to compare
0.5.0 Pre-release
Pre-release

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
  • 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

16 Jun 03:13
Compare
Choose a tag to compare
0.4.2 Pre-release
Pre-release

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
    • Added support for multiple objects to codec service (#122)
    • Added logging for codec service (#97)
    • Have logging hierarchy automatically follow package hierarchy (#100)
    • Have netconf service return YDK python objects instead of XML strings (#120)
    • Fixed decoding issue with leaf-list of enums (#150)
  • 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)