CHANGES
=======

* release 0.7.0
* add packet loss and bw (#81)
* add epe and link delay tlv (#80)
* release 0.6.0
* add on_established method to base handler (#79)
* flowspec nlir port construct error fix (#77)
* fix lan adj sid issue and improve isis ios decode
* add support node msd old tmp type code
* fix identifier length issue
* fix identifier length issue
* version 0.5.2
* fix linkstate prefix descriptor decode issue
* fix lan adj sid issue
* fix igp router id parse error (#76)
* link msd for support cisco iosxr 6.4.1.38I
* fix json format error when there is unknow linkstate attr
* version 0.5.1
* change some attributes flag to support extend length
* version 0.5.0
* some key string change for linkstate
* python3 support and new bgpls link attribute
* replace _ with - in bgp linkstate
* change bgpls string key format
* add reactor_thread_size for flask rest server
* bgpls adj-sid and prefix-sid for different protocol (#72)
* Send route refresh with unsupported address family
* [WIP] new tlv for bgpls (#68)
* release 0.4.1
* add Dockerfile and docker usage support in readme
* Not sending LOCAL_PREF if not present in json and eBGP (#67)
* PMSI Tunnel info for Ingress Replication and evpn overlay signalling
* remove Dockerfile and start.sh
* extend community color support enhancement (#66)
* more rigorous document
* update postman document of sr policy
* sr-te preference and binding sid new key support (#63)
* Fixing #59 by ensuring API encodes 2B extended communities if ASN <= 65535, as stated in §3 of RFC5668 (#60)
* fix "convert argument to integer" error for ext-community
* release v0.4.0
* enhance sr-policy support compatiblity of old and new version of iox (#58)
* api handler test code (#57)
* add document of extended community
*  extended community support improvement
* enhance extended community support (#54)
* update doc and postman for flowspec message
* improve flowspec support
*  add globe var 'last_time'
* version 0.3.1
* edit the doc
* SR TE policy implementation
* add an internal queue in handler
* version 0.3
* remove running mode information from docs
* add doc for how to write customized handler
* change Handler to DefaultHandler
* add init method in handler
* version 0.2.9
* edit setup.cfg for python3
* fixed netaddr issue for python3
* fully support python3.4 and python3.5
* adapt to python2 and python3
* Create README-zh.rst (#39)
* fixed ci error
* fix issue for prefix 0.0.0.0/0 in bgpls
* version 0.2.8 bug fixed
* add fsync and flush as the default action when writing file
* update postman collection example file
* set file flush flag to true when process connection failed message
* release version 0.2.7
* remove unused config option in yabgp.ini.sample
* clear some code for supporting multi-peers in one instance (#37)
* clear some code for supporting multi-peers in one instance
* Refined implementation of handler (#36)
* Feature/callback handler (#35)
* repace '_' with '-' for type value in bgpls
* fix evpn routes
* evpn label and vni
* remote some unittest code
* fixe issue for update parse
* bgp ls tlv for sr
* fix bad peer as
* more tlvs for bgpls
* bgpls withdraw
* some tlvs for bgpls
* add bgpls option
* Update route_injector
* change the default the rest bind address
* edit message format
* change default local addr
* edit dockerfile and start.sh
* add dockerfile and fix tox error
* remove dependences like db and mq
* Update README.rst
* change tlv base class location
* add bgpls tlv
* add bgpls mapping
* version 0.2.6
* edit readme and docs
* add labeled unicast
* add routewatch as related project to readme
* add support for evpn type 5
* support bgp blackhole community
* release version 0.2.5
* change some default config value to environment value
* change rabbit mq config to url
* fixed as 65535 issue
* change flowspec nlri parse and contruct order
* add tools scripts
* remove db code and simplify some config options
* do not send route refresh when open a new file
* release version 0.2.4
* try to send message to channel when connection is down
* try to save flowspec rib in table
* fixed issue for supporting multi nlri in one bgp flowspec messgae
* fixed flowspec nexthop issue
* fix get empty rib in issue
* fixed key error
* burn version 0.2.3
* fixed route injector issue
* add a new tag for yabgp
* add interval config option to route injector
* change evpn class method parameters based on MPLSVPN class
* add address family information to bgp message
* add documentation for this API in doc/source/api/v1.rst, and add this API to RIB Information part
* for pep8
* get all prefix and attribute
* edit README.rst
* burn version 0.2.2
* update doc for route injector tool
* add some statistic output for route injector tool
* add tcp thread
* use call from thread
* add send update action to threads
* changes some bash cmd display in doc
* updates route injector tool
* use keyword in for dict key checking
* edit doc source file
* add pmsi tunnel attribute to update decode
* extended community support for evpn router mac
* partly support for pmsi attribute
* burn version 0.2.1
* fixs issue for mkdir when file exists
* update requirements.txt
* lets afi_safi to cli option
* add doc for peer management api
* add api support for peer start/stop/restart
* change some code on timer class
* change mq channel message type
* add open capability LLGR
* ipv6 mpls vpn doc and config options
* bgp ipv6 mpls vpn
* burn version 0.2.0
* changed doc index page
* update postman collections for REST API demo
* fixed construct prefix error in mpls nlri and edit unittest for them
* edit README and docs for some changes
* add more unittest test case for l2vpn evpn
* add more unittest for evpn
* add evpn to afi safi map dict
* add extended community support for evpn
* rest api version 1 doc
* add some BGP extended community type values
* fixed key value error
* finished parsing and constructing evpn four types of NLRI
* parse and construct route type of mac ip advertisement
* change mpls vpn message format
* init evpn class
* refactor nlri class
* burn version 0.1.9
* change doc source for ipv4 mpls vpn
* change some unittest for ipv4 mpls vpn
* Add new class MPLSVPN for ipv4/ipv6 MPLS processing
* update some contants for notification error code
* ipv4 mpls vpn update encode and unittest
* add tools/route-injector usage in documentaion
* edit route injector tools for message format change
* add unittest for ipv4 mpls vpn update
* mpunreachnlri decode ipv4 mpls vpn
* parse ipv4 mpls vpn mpreachnlri
* burn version 0.1.8
* update docs files for json message format
* change update/open/route refresh  message json format in message file
* remove choices for int config option
* change default value of read preference and its choices
* update postman collection for flowspec api examples
* fixed bug for ipv4 flowspec message construct and add more unittest
* burn version 0.1.7
* add demo api into postman collection
* edit README.rst
* ipv6 support tcp connection with bgp open messages
* fixed issue for python3
* add unittest for ipv6 unicast update message
* mp reach nlri and unreach nlri support ipv6 unicast
* mpreachnlri support ipv6 unicast
* add ipv6 unicast nlri encode and decode basic func
* burn version 0.1.6
* fixed error for writing json files
* edit README.rst
* change atomic aggregate attribute flag
* add choices for some config options
* Update protocol.py
* change message default format from list to json
* send route refresh when open a new bgp message file
* add capability to rest api return
* fixed bug for getting last sequence number of json message
* route injector test
* fixed bug for sequence number start from 2
* get last sequence number function
* fix mongodb read reference setting error
* change some LOG code
* add message format config option
* burn version 0.1.5
* update doc
* change some default config value
* change bgp add path config default value
* edit readme file
* send and receive bgp update that support add path
* fix typo error in config file
* support parsing bgp add path nlri
* edit README.rst
* set rabbit password when start it from docker
* fixed issue for getting last message seq when start
* update version number for redhat spec
* add afi and safi to dabasebase for agent configuration item
* try to create log file folders if does not exist
* add postman collection file for api examples
* improve logging display for notification message
* change the data type of the element in ext-community list
* remove unused import
* fixed 0.0.0.0/0 issue
* fixed error for dict key
* add construct extended community for update message
* add default local preference value when send update
* support ipv4 flowspec address family
* edit gitignore file
* burn version 0.1.4
* send message to message queue for target peer
* change coveragerc config to fix ci error
* add backup log file count option in cli config
* fixed the bug for update message statistic
* change the way that update construct method to process params
* fixed a bug for message sequence number
* fixed a stupid type error bug
* set auto delete is False when set rabbitmq queue
* change agent id in channel message
* add bgp tag option to cli
* support as path filter for rabbitmq channel
* update README.rst
* change channel filter api request and response
* change tracback message from error to debug
* add as path filter for channle filter message
* burn version 0.1.3
* fixed bug for open message capability negotiate and add more logging message
* send session close message to rabbitmq when not running standalone mode
* change message format which send to mq channel
* fixed bug for mongo _close_db method
* make sure local bgp ip address is not 0.0.0.0 when not running standalone mode
* change some logging message when loading bgp config
* fixed database close bug
* change some code for rest api to get rib in and out
* search prefix attribute from ad rib in api
* edit route injector tool
* add docstring for some api version 1
* update gitignore file
* load rabbitmq channel filter from mongodb when startup yabgp
* change Vagrantfile config for port forwarding
* add config option for agent role when not running in standalone mode
* change mongodb default config option
* add Vagrantfile for development environments
* burn version 0.1.2
* change documentaion toctree maxdeep
* change the log message format error
* check rest bind address when not running standalone mode
* update documentation for message format
* register yabgp config to mongodb when yabgp not in standalone mode
* change mongo api for supporting no replica set
* change yabgp.ini.sample for some config sample
* add api for adj-rib-out
* add api for geting adj-rib-in prefixes
* add decorator for checking peer's state
* add flask request logging decorator
* update oslo.config version
* add Adj-RIBs-In for ipv4
* remove afi safi from message item
* add rib config option
* add pid-file cli config option
* update tutorial in doc
* add restapi for channel filter management
* edit close db action
* add exception for constructing community
* add more actions when starting rabbitmq and mongodb
* edit scripts for starting mongodb docker
* init tools for route injector
* add tools for starting rabbitmq and mongodb
* fixed UnboundLocalError: local variable 'line' referenced before assignment
* set md5 config option secret=True
* modify channel code for rabbitmq
* burn version 0.1.1
* add initial specfile and systemd service files
* change some default value in config,py
* add attributes and init nlri
* update README.rst
* add unittest for extended community
* set secret=True for password config
* change some methods to classmethods
* burn version 0.1.0
* edit README.rst and doc
* add write_keepalive option to config
* add support for sending ipv4 update message through REST api
* add contruct method for update message
* fixed bad indentation
* fixed flask autodoc error
* init protocol unittest
* add rest api for sending route refresh messages
* simplify bgp protocol.py
* edit file header
* rename all bgpmon to yabgp
* add mongodb api to bgp factory class
* add database config for mongodb
* add pika factory to bgp factory
* initial the code for AMQP channel and config
* edit some point to support python3
* edit travis to run py34
* edit more code to support python3
* more b'str' conversion
* more b'str' conversion
* b'str' conversion
* replace ipaddr with netaddr and change tox for py34
* edit README.rst
* add unittest for open
* add some ignore folders in .gitingore file
* delayedCall->delayed_call
* update HACKING.rst
* update README.rst
* add some bgp capabilities
* add bgp capability configuration to oslo.config
* update doc for api auth
* update README.rst
* update index.rst
* add basic http auth to rest api version 1
* update restful api
* update requirements.txt
* add requirements.txt to doc
* write some test code
* add some sample rest api code
* add sphinxcontrib.autohttp.flask to doc
* add rest configure options to yabgp.ini.sample
* init some api base code
* move config.py from common to root
* init restapi code structure
* edit docs files
* edit unittest for some bgp attribute
* refactor some code
* add more unittest for BGP attributes
* update README.rst for test coverage badge address
* edit coveralls command
* edit sphinx conf.py
* change travis configuration
* use Test Repository for unittest
* add test cases for origin
* add test coverage badge
* add test coverage
* Add documentation status to README.rst
* update README.rst for address error
* add .coveragerc
* change something for landscape code health check
* update README.rst for adding code health check
* edit HACKING.rst and initial unittest
* write simple documentation
* add sphinx build in tox.ini
* add sphinx build in setup.cfg
* initial sphinx documentation
* add .mailmap
* edit setup.cfg and README.rst
* Added Gitter badge
* refactor module name
* update README.rst for some badge address
* fixed pep8 error
* replace openbgp to softbgp in some files and remove openbgp module
* remove module name from openbgp to softbgp
* change version number to 1.0.1
* change version number
* edit README.rst file
* change setup.py and fixed some pep8 error
* update hook.py for setup.py
* change setup.cfg
* edit setup.py and change README.md to README.rst
* edit README.md
* change copy right for some files
* edit README.md
* update travis ci link
* change license badge
* add Code Climate badge to README.md
* change the config
* add license badge
* change version to 1.0
* add build status image
* add travis ci
* add travis ci
* update README.md
* update README.md
* use twisted to start bgp peer
* add afi, safi and factory
* update copyright
* update readme file
* implement BGP protocol
* implement BGP update message
* implement bgp originator id and cluster list attributes
* implement more bgp attributes
* bgp notification, open, route fresh message implementation
* implementation BGP fsm based on RFC 4271
* init bgp message source files
* import twisted for BGP timer
* init the entrance of the program
* add common/config.py for configuration
* add common/constants.py for BGP constants
* add oslo.config to requirements.txt
* add log.py for logging
* first commit
* Initial commit
