Skip to content

Latest commit

 

History

History
202 lines (164 loc) · 16.9 KB

CHANGES.md

File metadata and controls

202 lines (164 loc) · 16.9 KB

2017-06-06 version 0.5.5

Python

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

C++

  • Added equality operator for model API objects (#432)
  • Improved handling of presence containers (#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

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

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)
    • Use header-only spdlog library for logging
    • Use header-only catch library for testing
    • Completely remove boost dependency
  • 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 for CodecServiceProvider
  • 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

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

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)

2016-11-30 version 0.5.2

Python

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

C++ (alpha)

  • Introduced support for C++ YDK bindings (issue#118, related commits and pull requests)
  • Added support for CRUD, Validation and Codec services, along with Netconf and Codec providers, YDK types and errors
  • Added support for Path API
  • Used libyang and libnetconf libraries as part of the service and provider abstraction layer
  • Integrated with CMake build system
  • Wrote unit tests using boost::unit_test
  • Added support for logging using boost::log
  • Added documentation using sphinx
  • Integrated C++ testing into CI using travis-ci (#286)

2016-10-10 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)

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)

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)

2016-05-20 version 0.4.1

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

2016-04-15 version 0.4.0

  • 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

2016-03-11 version 0.3.0:

  • First public release.