diff --git a/build/requirements.txt b/build/requirements.txt index 5d379dc980..6429761876 100644 --- a/build/requirements.txt +++ b/build/requirements.txt @@ -1,6 +1,7 @@ aiofiles==23.1.0 ; python_full_version > "3.8.1" and python_version < "3.10" aiohttp==3.7.4 ; python_full_version > "3.8.1" and python_version < "3.10" altair==4.2.2 ; python_full_version > "3.8.1" and python_version < "3.10" +anyio==3.6.2 ; python_full_version > "3.8.1" and python_version < "3.10" appnope==0.1.3 ; python_full_version > "3.8.1" and python_version < "3.10" and platform_system == "Darwin" or python_full_version > "3.8.1" and python_version < "3.10" and sys_platform == "darwin" argon2-cffi-bindings==21.2.0 ; python_full_version > "3.8.1" and python_version < "3.10" argon2-cffi==21.3.0 ; python_full_version > "3.8.1" and python_version < "3.10" @@ -34,7 +35,7 @@ dnspython==2.3.0 ; python_full_version > "3.8.1" and python_version < "3.10" entrypoints==0.4 ; python_full_version > "3.8.1" and python_version < "3.10" executing==1.2.0 ; python_full_version > "3.8.1" and python_version < "3.10" faker==4.18.0 ; python_full_version > "3.8.1" and python_version < "3.10" -fastapi==0.65.3 ; python_full_version > "3.8.1" and python_version < "3.10" +fastapi==0.95.1 ; python_full_version > "3.8.1" and python_version < "3.10" fastjsonschema==2.16.3 ; python_full_version > "3.8.1" and python_version < "3.10" fonttools==4.39.2 ; python_full_version > "3.8.1" and python_version < "3.10" future==0.18.3 ; python_full_version > "3.8.1" and python_version < "3.10" @@ -118,9 +119,10 @@ send2trash==1.8.0 ; python_full_version > "3.8.1" and python_version < "3.10" simplejson==3.18.4 ; python_full_version > "3.8.1" and python_version < "3.10" six==1.16.0 ; python_full_version > "3.8.1" and python_version < "3.10" smmap==5.0.0 ; python_full_version > "3.8.1" and python_version < "3.10" +sniffio==1.3.0 ; python_full_version > "3.8.1" and python_version < "3.10" soupsieve==2.4 ; python_full_version > "3.8.1" and python_version < "3.10" stack-data==0.6.2 ; python_full_version > "3.8.1" and python_version < "3.10" -starlette==0.14.2 ; python_full_version > "3.8.1" and python_version < "3.10" +starlette==0.26.1 ; python_full_version > "3.8.1" and python_version < "3.10" streamlit-aggrid==0.2.3.post2 ; python_full_version > "3.8.1" and python_version < "3.10" streamlit==1.11.1 ; python_full_version > "3.8.1" and python_version < "3.10" tabulate==0.8.10 ; python_full_version > "3.8.1" and python_version < "3.10" diff --git a/docs/release-notes.md b/docs/release-notes.md index 064364032c..7ef97004b1 100644 --- a/docs/release-notes.md +++ b/docs/release-notes.md @@ -1,5 +1,26 @@ # Release Notes +## 0.21.0 (June 6, 2023) + +This release fixes a number of important bugs across various platforms. The main new feature is the display of a status string for sqPoller show to help identify problems more easily. + +* **BREAKING CHANGE: Ansible inventory behavior**: We pick transport and devtype from the SuzieQ inventory and not what is specfied in the Ansible inventory. The username/password are picked from the Ansible inventory file, along with device IP. This mainly affects EOS devices where the transport was automatically assumed to be REST for EOS devices. +* **Display status string instead of status code** in sqpoller output to help identify polling problems more easily +* **Support multiple partial output reads from IOS/XE Platform**: When the output of a show command is large, the data is returned over several reads() of the SSH socket. This release handles this properly, making it possible to retrieve the entire internet routing table for example +* **Correct identifying end of output in IOS/XE**: Looking for a command prompt with IOS devices wasn't handled correctly which could result in bad data being created for IOS & XE devices +* **Improved IOS Connction management**: During some scenarios, the poller could hang forever and fail to communicate with some IOS/XE devices. This has been fixed +* Use a common timestamp across adds and deletes of a record within a single write to ensure coalescer works corrctly +* **Ensure bootupTimestamp is an int**: This ensures that in certain scenarios we don't end up writing duplicate records +* **Junos parser fixes**: do not propagate interface description to subinterfaces +* **NXOS parser fixes**: route timestamp fix for older NXOS versions, +* **EOS parser fixes**: Updates to support evpnVni with newer EOS versions, +* **IOS parser fixes**: Handle ARP entries correctly in the presence of - for Age, +* Fix filters to working correctly for device and namespace tables in the event of unpolled devices +* Add missing lastUpdate field to namespace schema +* Humanize all timestamps returned by tables output +* Various documentation updates +* Security and general updates to various libraries used by SuzieQ + ## 0.20.1 (Feb 22, 2023) This is a bugfix release. The main changes in this release including the bug fixes are: diff --git a/docs/tables.md b/docs/tables.md index 57825006a7..28a5c6753b 100644 --- a/docs/tables.md +++ b/docs/tables.md @@ -12,7 +12,7 @@ that the bgp service collects from routers. To see what information is collected | BGP | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | | Device | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | | EvpnVni | yes | yes | no | yes2 | yes | yes | no | no | no | no | -| Filesystem (fs) | yes | yes | yes | yes | no | yes | no | no | no | no | +| Filesystem (fs) | yes | no | yes | no | yes | yes | yes | no | no | no | | Interfaces | yes | yes | yes| yes | yes | yes | yes | yes | yes | yes | | Inventory | no | yes | no | yes | yes | no | no | no | no | no | | LLDP | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | diff --git a/pyproject.toml b/pyproject.toml index 641beda85d..ac7b4caff8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "suzieq" -version = "0.20.1" +version = "0.21.0" description = "A framework and application for network observability" readme = 'README.md' repository = 'https://github.com/netenglabs/suzieq' diff --git a/suzieq/version.py b/suzieq/version.py index 317e9e638d..0269ed4058 100755 --- a/suzieq/version.py +++ b/suzieq/version.py @@ -2,7 +2,7 @@ """Store the Suzieq version string.""" -SUZIEQ_VERSION = "0.20.1" +SUZIEQ_VERSION = "0.21.0" if __name__ == '__main__': print(SUZIEQ_VERSION)