- 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)
- 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)
- Fixed issues with netconf service (#323, #305)
- Disambiguated model API classes called 'None' (#318)
- Removed 'Bits' from classes representing bits leafs (#318, #320)
- Included model revision in documentation (#272)
- Improved documentation for string leafs (#346), decimal64 leafs (#300, #294)
- Improved look and feel of documentation (#361, #356)
-
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
-
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
-
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)
- 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)
- Added openconfig bgp-policy APIs to ydk-py (#102)
- Introduced ability to programmatically retrieve SDK version of ydk-py (#8)
- Removed unused dependencies from ydk-py's requirements.txt (#48)
- Introduced coveralls and improved travis CI integration for ydk-gen github (#84, #54, #15, #46)
- CRUD service / Netconf service provider improvements
- Added timeout parameter to NetconfServiceProvider (#1)
- Fixed issues with decoding leafs of union type and nodes defined in sub-modules (#5, #56)
- Fixed issue with encoding enums, identities defined in external modules (#30, #103)
- Improved support for deleting leafs, leaf-lists and lists (#55, #103)
- Documentation improvements
- Added 'About ydk-py' page with information about ydk-gen used to generate ydk-py (#6)
- Indicate in documentation YDK class attributes that are keys (#41)
- Made top containers show up at the top of the table of contents for every module document (#39)
- Introduced netconf service and codec service
- Netconf service provides APIs to execute netconf operations
- Codec service provides APIs to encode python objects and decode payloads
- Support for yang deviation
- Support for subscribing to model-driven telemetry
- Logging made more consistent
- CRUDService outputs type of operation
- When logging is enabled, all NETCONF messages are logged including commit
- Log messages at various stages (send RPC request, receive reply, commit etc) instead of logging all at once at the end
- Updated enums in YDK classes to use enum34
- Improved enum documentation
- Improved error reporting for ydk-py and ydk-gen
- First public release.