vidgear v0.1.8 Release Notes
Release Date: 2020-06-12 // almost 4 years ago-
๐ New Features
๐ Multiple Clients support in NetGear API:
- Implemented support for handling any number of Clients simultaneously with a single Server in this mode.
- Added new
multiclient_mode
attribute for enabling this mode easily. - Built support for
zmq.REQ/zmq.REP
andzmq.PUB/zmq.SUB
patterns in this mode. - Implemented ability to receive data from all Client(s) along with frames with
zmq.REQ/zmq.REP
pattern only.
- Updated related CI tests
๐ Support for robust Lazy Pirate pattern(auto-reconnection) in NetGear API for both server and client ends:
- Implemented a algorithm where NetGear rather than doing a blocking receive, will now:
- Poll the socket and receive from it only when it's sure a reply has arrived.
- Attempt to reconnect, if no reply has arrived within a timeout period.
- Abandon the connection if there is still no reply after several requests.
- Implemented its default support for
REQ/REP
andPAIR
messaging patterns internally. - Added new
max_retries
andrequest_timeout
(in seconds) for handling polling. - Added
DONTWAIT
flag for interruption-free data receiving.
- Both Server and Client can now reconnect even after a premature termination.
๐ Performance Updates for NetGear API:
- Added default Frame Compression support for Bidirectional frame transmission in Bidirectional mode.
- Added support for
Reducer()
function in Helper.py to aid reducing frame-size on-the-go for more performance. - Added small delay in
recv()
function at client's end to reduce system load.
- Reworked and Optimized NetGear termination, and also removed/changed redundant definitions and flags.
๐ Docs Migration to Mkdocs:
- Implemented a beautiful, static documentation site based on MkDocs which will then be hosted on GitHub Pages.
- Crafted base mkdocs with third-party elegant & simplistic
mkdocs-material
theme. - Implemented new
mkdocs.yml
for Mkdocs with relevant data. - Added new
docs
folder to handle markdown pages and its assets. - Added new Markdown pages(
.md
) to docs folder, which are carefully crafted documents - based on previous Wiki's docs, and some completely new additions. - Added navigation under tabs for easily accessing each document.
- New Assets:
- Added new assets like gifs, images, custom scripts, favicons, site.webmanifest etc. for bringing standard and quality to docs visual design.
- Designed brand new logo and banner for VidGear Documents.
- Deployed all assets under separate Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License.
- Added Required Plugins and Extensions:
- Added support for all pymarkdown-extensions.
- Added support for some important
admonition
,attr_list
,codehilite
,def_list
,footnotes
,meta
, andtoc
like Mkdocs extensions. - Enabled
search
,minify
andgit-revision-date-localized
plugins support. - Added various VidGear's social links to yaml.
- Added support for
en
(English) language.
- Auto-Build API Reference with
mkdocstrings:
- Added support for
mkdocstrings
plugin for auto-building each VidGear's API references. - Added python handler for parsing python source-code to
mkdocstrings
.
- Added support for
- Auto-Deploy Docs with Github Actions:
- Implemented Automated Docs Deployment on gh-pages through GitHub Actions workflow.
- Added new workflow yaml with minimal configuration for automated docs deployment.
- Added all required python dependencies and environment for this workflow.
- Added
master
branch on Ubuntu machine to build matrix.
โก๏ธ Updates/Improvements
- ๐ Added in-built support for bidirectional frames(
NDarray
) transfer in Bidirectional mode. - ๐ Added support for User-Defined compression params in Bidirectional frames transfer.
- โช Added workaround for
address already in use
bug at client's end. - Unified Bidirectional and Multi-Clients mode for client's return data transmission.
- Replaced
ValueError
with more suitableRuntimeError
. - โก๏ธ Updated logging for better readability.
- ๐ท Added CI test for Multi-Clients mode.
- Reformatted and grouped imports in VidGear.
- ๐ท Added
Reducer
Helper function CI test. - โ Added Reliability tests for both Server and Client end.
- Disabled reliable reconnection for Multi-Clients mode.
- Replaced
os.devnull
with suprocess's inbuilt function. - โก๏ธ Updated README.md, Issue and PR templates with new information and updates.
- โก๏ธ Moved
changelog.md
to/docs
and updated contribution guidelines. - ๐ Improved source-code docs for compatibility with
mkdocstrings
. - ๐ Added additional dependency
mkdocs-exclude
, for excluding files from Mkdocs builds. - โก๏ธ Updated license and compressed images/diagrams.
- ๐ท Added new CI tests and Bumped Codecov.
- ๐ท Changed YouTube video URL for CI tests to Creative Commons(CC) video.
- ๐ Removed redundant code.
๐ฅ Breaking Updates/Changes
๐ โ ๏ธVidGear Docs moved to GitHub Pages, Now Available at https://abhitronix.github.io/vidgear.
- ๐ Removed
filter
attribute fromoptions
parameter in NetGear API. - ๐ Removed
force_terminate
parameter support from NetGear API. - Disabled additional data of datatype
numpy.ndarray
for Server end in Bidirectional Mode.
๐ Bug-fixes
- ๐ Fixed
'NoneType' object is not subscriptable
bug. - ๐ Fixed bugs related to delayed termination in NetGear API.
- 0๏ธโฃ Reduced default
request_timeout
value to 4 and also lowered cut-off limit for the same. - ๐ Removed redundant ZMQ context termination and similar variables.
- Added missing VidGear installation in workflow.
- ๐ Excluded conflicting assets
README.md
from Mkdocs builds. - ๐ Fixed
pattern
value check bypassed if wrong value is assigned. - ๐ Fixed incorrect handling of additional data transferred in synchronous mode at both Server and Client end.
- ๐ท Replaced Netgear CI test with more reliable
try-except-final
blocks. - โก๏ธ Updated termination linger to zero at Server's end.
- ๐ Fixed
NameError
bug in NetGear API. - ๐ Fixed missing support for compression parameters in Multi-Clients Mode.
- ๐ Fixed ZMQ throwing error on termination if all max-tries exhausted.
- ๐ Enabled missing support for frame compression in its primary receive mode.
- ๐ท Fixed several bugs from CI Bidirectional Mode tests.
- ๐ Removed or Grouped redundant code for increasing codecov.
- ๐ Fixed Mkdocs only accepting Relative paths.
- ๐ Fixed broken links in docs.
- ๐ Fixed round off error in FPS.
- โ๏ธ Many small typos and bugs fixes.
Pull Requests