Releases: reactive-firewall-org/multicast
v2.0.7 - (YANK)
What's Changed
- Tweaked the comments in the Makefile by @reactive-firewall in #374
- [UPDATE] (deps): Bump ossf/scorecard-action from 405dced65a1dcc6bc335115002f0690b1f1e49bb to de386ed459e2f85111697f50fe076d0ea617a32f in /.github/workflows by @dependabot in #376
Full Changelog: v2.0.6-post1...v2.0.7
v2.0.6-post1
HOTFIX Notes
This HOTFIX is an important update addressing both documentation and debug logging for developers.
What's Changed
- Enhanced Logging Slightly (debug & performance focused)
- Stages improved testing
- Updated various CI/CD dependencies (NON-User facing)
- Implemented HOTFIX for the join step's empty groups edge-case logic
- Minor Improvements for FAQ
- Add URL and intersphinx mapping sanitization utilities to docs config
Full Changelog: v2.0.6...v2.0.6-post1
v2.0.6 - (YANK)
Patch Notes v2.0.6
Version v2.0.6 is mostly a custodial release, focused on bug-fixes and overall code quality.
Overview
Version v2.0.6 represents a substantial quality enhancement release for the multicast module, implementing version 2.0.6 with 1316 additions and 96 deletions across 27 files. This version consolidates work from multiple development efforts (superseding PRs #348, #349, #350, #354, #359) and addresses 10 specific issues. This release focuses on four major areas: configurable buffer sizes, enhanced logging capabilities, improved security in testing contexts, and expanded test coverage.
Key Implementations
1. Configurable Buffer Size Feature
A new environment-configurable buffer size system has been implemented, replacing hardcoded buffer values with a dynamic configuration:
- Introduced
_MCAST_DEFAULT_BUFFER_SIZE(default: 1316) inmulticast/__init__.py - Added validation through new functions in
multicast/env.py:validate_buffer_size(): Ensures buffer sizes meet RFC constraintsload_buffer_size(): Retrieves and validates the buffer size from environment variables
- Updated both Send and Receive implementations to honor this configurable buffer size
This enhancement improves flexibility while maintaining standards compliance, closing issue #264.
2. Enhanced Logging System
A comprehensive logging framework has been implemented throughout the codebase:
- Added the
loggingmodule to all core files - Established module-specific loggers for granular control
- Refactored string formatting to use lazy evaluation for better performance
- Added strategic log points to facilitate debugging and operational visibility
- Updated configuration in
.coveragercto properly handle debug-conditional code
This work closes issue #233, significantly improving the module's observability.
3. Security Enhancements
Security has been strengthened, particularly in testing contexts:
- Added
taint_command_args()function to sanitize command arguments and prevent injection attacks - Implemented whitelist validation for command execution
- Added type hints to improve code clarity and safety
- Enhanced error handling for subprocess operations
These security improvements close issues #249 and address concerns in #134 and #276.
4. Testing Infrastructure Improvements
Testing capabilities have been substantially expanded:
- Added a new test file
tests/test_recv.pywith comprehensive test coverage for the receiver functionality - Enhanced existing tests in
tests/test_hear_data_processing.pyto validate empty data handling - Improved mock implementations to ensure proper testing of internal methods
- Added regression tests for typos in
tests/check_spelling - Restructured test cleanup in the Makefile for better organization
These testing enhancements close issues #241, #273, and #357.
5. Additional Improvements
- Version Updates: Bumped version to 2.0.6 across configuration files (
setup.cfg,docs/conf.py,multicast/__init__.py) - Dependency Updates: Updated GitHub Actions dependencies (CodeQL and Scorecard actions)
- Style Improvements: Fixed various linting issues (PYL-W1203, PYL-C0201)
- AST Rules: Added new AST-grep rules for trailing commas and argument formatting
- Documentation: Enhanced docstrings and comments throughout the codebase
Technical Impact
The PR introduces significant technical improvements while maintaining backward compatibility:
- Modularity: Separated buffer size configuration from core logic
- Standardization: Ensured buffer sizes comply with RFC specifications
- Observability: Implemented consistent logging patterns across modules
- Security: Hardened test command execution against potential injection
- Quality: Expanded test coverage for edge cases and error conditions
Development Context
Version v2.0.6 represents the culmination of work across multiple branches and issues, including:
- Contributions to long-term effort #134 (type hints)
- Implementation of logging framework from #233
- Security hardening from #249
- Buffer size configurability from #264
- Test improvements from #241, #357
The commits show an iterative development approach, with multiple review-driven refinements and collaborative improvements, including contributions from CodeRabbit AI.
Conclusion
Version v2.0.6 delivers a substantial quality enhancement to the multicast module through its comprehensive approach to addressing multiple aspects of the codebase simultaneously. The configurable buffer sizes, enhanced logging, security improvements, and expanded testing collectively strengthen the module's reliability, maintainability, and security posture.
Full Changelog: v2.0.5...v2.0.6
Known flaws.
Warning
This commit has known flaws. Each commit is subject to minimal acceptance testing, and then select commits are subject to extra testing to evaluate release candidates; This commit has been deemed not ready for release.
v2.0.5 - (YANK)
Patch Notes
This Version v2.0.5 is mostly a custodial release with little user-facing changes.
🔍 Overview
This substantial PR represents a comprehensive overhaul of the testing infrastructure in the multicast project, introducing significant improvements in test organization, code quality, security, and CI workflows. The changes address numerous long-standing issues and incorporate work from multiple previously separate PRs, creating a cohesive approach to testing and quality assurance.
🧪 Testing Framework Improvements
Test Organization and Selection
- Enhanced Test Configuration: Introduced
pytest.iniwith specialized markers for different test categories (MAT, component, documentation, etc.) - Selective Test Execution: Added
tests/run_selective.pyto allow running specific test groups and categories - Test Categorization: Applied meta tags to 13 test files, enabling more granular selection of tests
- Makefile Updates: Restructured testing targets, allowing for more selective testing with targets like
test-mat,test-extra, andtest-fuzzing
Test Quality and Coverage
- Security Validation: Implemented
validateCommandArgsfunction to prevent command injection vulnerabilities (CWE-20) - Type Annotations: Added comprehensive type hints to improve code clarity in test files
- Helper Functions: Refactored duplicate code into helper functions (e.g.,
_validate_help_outputintest_usage.py) - Test Fixtures: Improved test setup and teardown methods
- Exception Testing: Enhanced testing of exception handling scenarios
🛡️ Code Quality and Security Enhancements
AST-grep Rules
- Documentation Rules: Created multiple rules to enforce consistent docstring formats and content
- Testing Rules: Implemented rules for test class naming, test method organization, and test cleanup
- Code Simplification: Added rules to identify and simplify unnecessarily complex code patterns
- Python Modernization: Rules to simplify Unicode string prefixes and string cast operations
Security Improvements
- Command Validation: The
validateCommandArgsfunction prevents null byte injection in command arguments
def validateCommandArgs(args: list) -> None:
Validates command arguments to ensure they do not contain null characters.
if (args is None) or (args == [None]) or (len(args) <= 0):
raise ValueError("[CWE-1286] args must be an array of positional arguments") from None
for arg in args:
if isinstance(arg, str) and "\x00" in arg:
raise ValueError("[CWE-20] Null characters are not allowed in command arguments.")
- Tool Hardening: Enhanced parameter validation and error handling in CI tools
- Exception Validation: Added validation function for exit codes in exceptions
Code Style Standardization
- String Formatting: Replaced triple-quoted strings with single-quoted strings throughout the codebase
- Import Simplification: Refactored complex import patterns for better maintainability
- Coding Conventions: Enforced project-specific coding standards via static analysis
🔄 Continuous Integration Updates
- Dynamic Python Versions: Introduced repository variables for Python versions (
PYTHON_DEFAULT,PYTHON_OLD_MIN, etc.) - Workflow Enhancements: Added descriptions, dynamic run names, and improved output formatting
- Dependencies Caching: Implemented caching for Python dependencies to speed up workflows
- Security Fixes: Fixed shell script quoting in GitHub Actions workflows
- Documentation: Added detailed CI configuration documentation in
docs/CI.md
📝 Documentation and Style Improvements
- Configuration Documentation: Added explanations for CI variables and their usage
- Git Reference Validation: Enhanced validation of Git references in documentation
- LanguageTool Configuration: Improved grammar and style checking with additional rules
- Badges: Added new badges for PR reviews, issue resolution, and maintenance metrics
- Copyright Notices: Updated and standardized copyright information
🌟 Conclusion
Version v2.0.5 represents a significant milestone in the evolution of the multicast project's quality assurance infrastructure. By consolidating multiple improvements into a cohesive framework, it establishes a foundation for more maintainable, secure, and well-tested code. The changes span testing, security, CI, documentation, and code style - touching nearly every aspect of the development lifecycle.
The comprehensive nature of this version highlights the project's commitment to quality and provides clear guidelines for future contributions through the established patterns and tools. This work demonstrates the value of addressing technical debt systematically and laying a strong foundation for future development.
Full Changelog: v2.0.4...v2.0.5
Known flaws.
Warning
This commit has known flaws. Each commit is subject to minimal acceptance testing, and then select commits are subject to extra testing to evaluate release candidates; This version has been deemed not ready for release.
v2.0.4 - (YANK)
Release Notes
This Version v2.0.4 is mostly a custodial release with little user-facing changes.
Overview
This custodial release, designated as v2.0.4, primarily focuses on maintenance and resolves multiple pending issues and merge requests. It addresses 20 GitHub issues (#31 to #258) and incorporates or supersedes 13 pull/merge requests (#226 through #263). The overarching theme is to update and unify the build workflows, documentation processes, environment configuration, and exception handling. Users will see minimal direct functional changes but benefit from the improved reliability, testing, and documentation infrastructure.
Key topics covered in this update:
- GitHub Workflows and Automation
- Documentation and Sphinx Enhancements
- New or Updated Internal Modules and Configurations
- Expanded Testing Suites and Metrics
- Style and Linting Improvements
- Version Increment and Relabeled Release
Below is a detailed breakdown of each area.
1. GitHub Workflows and Automation
Continuous Integration Setup
Multiple new or updated workflows were introduced under the .github/workflows directory. Highlights include:
- CI-BUILD.yml: Defines the primary build steps, including cleaning, building, and verifying Python versions.
- CI-DOCS.yml: A dedicated workflow for building and linting documentation on multiple OS/Python matrixes.
- CI-MATs.yml: A “Minimal Acceptance Tests” workflow triggered after a successful build. It only runs if the previous CI-BUILD succeeds.
- Tests.yml: Renamed to
CI-TESTSand restructured to trigger after CI-MATs, introducing more nuanced gating. - Bandit, CodeQL, Scorecard, YAML-Lint, Markdown-Lint: All pinned to specific commit SHAs for reproducibility. Each workflow gained explicit permissions and improved actions usage.
The net effect is a more modular pipeline: each stage carefully checks outputs from the previous step, runs targeted tests, and publishes results consistently.
Dependabot Configuration
In .github/dependabot.yml, the “Testing” label for npm dependencies was replaced with “Linter” to align with the current labeling conventions, and the rest of the ecosystems (pip, GitHub Actions) remain scheduled weekly. This keeps dependencies up-to-date across multiple package managers with minimal confusion about labels.
2. Documentation and Sphinx Enhancements
The PR introduces improvements to documentation, particularly around Sphinx configuration and new references:
- docs/CI.md now includes more badges (CodeCov, OpenSSF Best Practices) and explains newly integrated linting pipelines, preserving clarity about CI processes.
- docs/Environment_Configuration.md is a new guide detailing environment-variable-based configuration for the multicast module, including usage of
MULTICAST_PORT,MULTICAST_GROUP,MULTICAST_TTL, and more. - docs/Exception_Guide.md has been refined with new exceptions, such as
CommandExecutionErrorandShutdownCommandReceived, plus an updated exit code mapping. - Enhanced Sphinx build steps in docs/conf.py:
- Added
sphinx_designextension. - Updated docstring conventions with
napoleon_google_docstringandnapoleon_numpy_docstring. - Bumped Sphinx requirement to 7.3 in docs/requirements.txt.
- Added
These documentation changes strengthen clarity for both developers and end-users, making it easier to configure and troubleshoot multicast usage.
3. New or Updated Internal Modules and Configurations
Environment Module
The new multicast/env.py module centralizes environment variable parsing for the multicast library:
load_config()assembles validated inputs (port, group, TTL, bind address, buffer size).- Implementation-specific validations (e.g.,
validate_multicast_address,validate_port) ensure reliable defaults and warnings for invalid values.
Additionally, multicast/init.py now references these defaults globally, ensuring consistent configuration across the library.
Exception Handling
- multicast/exceptions.py has two new exceptions (
CommandExecutionError,ShutdownCommandReceived) plus updated exit-code mappings. - Decorators like
@exit_on_exceptionunify the approach for error handling, enabling consistent logging and exit codes.
4. Expanded Testing Suites and Metrics
Throughout the tests/ directory, new tests and reorganized scripts ensure thorough coverage:
- tests/init.py now includes doctests from
multicast.env. - tests/check_pip and tests/check_spelling scripts see improved error reporting and security (mitigating command injection, refining venv usage).
- Fuzz testing in tests/test_fuzz.py adjusts the Hypothesis deadline for better stability.
- tests/test_hear_keyboard_interrupt.py includes constants for startup delays and exit codes, improving maintainability.
This ensures the test suite is more robust, with minimal acceptance tests running after successful builds, advanced environment-based tests, and stable fuzz testing across various input scenarios.
5. Style and Linting Improvements
- .markdownlint.yaml sets line length to 100 while allowing code blocks and tables to exceed that limit.
- pyproject.toml adds a new
[tool.flake8]section, ignoring specific codes (E117, D203, etc.) and standardizing docstring style with Google conventions. - Workflow changes in makefile-lint, markdown-lint, and yaml-lint pin action versions for consistent linting results.
These upgrades keep the codebase consistent with CEP-7/CEP-8 guidelines and standard docstring formatting.
6. Version Increment and Relabeled Release
- The version is set to
2.0.4(sometimes labeled as “2.0.4-rc-3”/“2.0.4-rc-1” in files like conf.py or setup.cfg during the iterative release-candidate process). - The user-facing changes are minimal in terms of new features, focusing more on housekeeping, test expansions, pinned dependencies, and doc updates.
- The README.md, Makefile, and LICENSE.md also reflect minor textual updates and clarifications.
This release supersedes prior patch-level PRs like #251 and #259, incorporating both their changes and further refinements.
Conclusion
v2.0.4 (PR #277) is substantial in terms of behind-the-scenes upgrades and documentation improvements while keeping user-facing functionality stable. By reorganizing the CI pipelines, clarifying environment configurations, and expanding test coverage, this update increases the project’s reliability and maintainability. The newly pinned actions ensure consistent, reproducible builds, while extended linting and doc enhancements offer a cleaner developer experience. Users can confidently adopt v2.0.4-rc-1 to benefit from resolved issues, consistent environment setups, and clearer, more robust documentation.
Full Changelog
Known flaws.
Warning
This commit has known flaws. Each commit is subject to minimal acceptance testing, and then select commits are subject to extra testing to evaluate release candidates; This commit has been deemed not ready for release.
v2.0.2
Multicast v2.0.2 Release Notes
This release focuses on enhancing the functionality, security, and documentation of the multicast project by addressing multiple issues, improving error handling, updating dependencies, and adding new features.
Fixes
-
Security Fixes:
- Mitigated command injection vulnerability in
tests/check_pipscript by sanitizing inputs and improving cleanup processes. (Issue #197) - Validated
YAML_ARGSinmakefile-lint.ymlto prevent command injection vulnerabilities. (Issue #196)
- Mitigated command injection vulnerability in
-
Error Handling Improvements:
- Handled
UnicodeDecodeErrorinHearUDPHandlerto improve robustness against malformed input. (Issue #188) - Added input validation for the
DOCS_BUILD_REFenvironment variable indocs/conf.py. (Issue #189) - Fixed shell script syntax in the error handling block of
makefile-lint.yml. (Issue #200)
- Handled
-
Testing Enhancements:
- Investigated and addressed flaky tests in
tests/test_fuzz.py. (Issue #217)
- Investigated and addressed flaky tests in
-
Maintenance:
- Enhanced virtual environment cleanup in
tests/check_pipscript. (Issue #198) - Refactored
check_license_when_given_reqfunction for better maintainability. (Issue #191)
- Enhanced virtual environment cleanup in
New Features
- Package Management:
- Implemented
package.jsonfor managing npm dependencies, enabling better management of JavaScript-related tooling. (Issue #214)
- Implemented
Documentation
- Guides and References:
- Added
docs/Exception_Guide.mdproviding a comprehensive guide on error handling and exceptions within the project. - Updated
README.mdwith a new logo and updated copyright year. - Enhanced contributing guidelines in
.github/CONTRIBUTING.mdwith clearer instructions for reporting issues and submitting pull requests. - Updated
docs/USAGE.md,docs/FAQ.md,docs/CI.md, anddocs/toc.mdto reflect the latest changes and improve clarity. - Added images and visual aids to documentation files for better understanding.
- Added
Refactors
- Codebase Improvements:
- Standardized error handling in
makefile-lint.ymlby introducing aprint_errorfunction for consistent error reporting. - Updated
docs/conf.pyby adding_validate_git_reffunction to ensure Git references are valid. - Refactored code to support Python 3.13 and updated minimum required versions.
- Standardized error handling in
Chores
-
Dependency Updates:
- Added Dependabot configuration for npm packages in
.github/dependabot.ymlto automate dependency updates. (Issue #220) - Updated
setup.cfg,setup.py,requirements.txt, andpackage.jsonto reflect new version and dependency changes.
- Added Dependabot configuration for npm packages in
-
Workflow Enhancements:
- Updated GitHub Actions workflows:
- Improved CI workflow documentation in
.github/workflows/Tests.yml. - Updated
.github/workflows/markdown-lint.ymland.markdownlint.yamlconfigurations for better linting support. - Added
scorecard.ymlworkflow for scorecard analysis.
- Improved CI workflow documentation in
- Updated GitHub Actions workflows:
-
Version Bump:
- Updated version number to
2.0.2across relevant files.
- Updated version number to
Full Changelog: v2.0.1...v2.0.2
v2.0.1
What's Changed
- [UPDATE] (deps): Bump ossf/scorecard-action from 6622d322b30ed8cdd77455e4af0bddb2b735325c to 83a1bb1ff6a010f9ab75ad12160fe70252c99b71 in /.github/workflows by @dependabot in #220
- [PATCH]
check_pipscript improvements by @reactive-firewall in #226 - [PATCH] Implemented validation logic for #196 by @reactive-firewall in #227
- Patch unicodedecodeerror in
HEARby @reactive-firewall in #231
Full Changelog: v2.0.0...v2.0.1
Version 2.0.0
Release Version 2.0.0
Introduction
This pull request introduces the Release Candidate for Version 2.0.0 of the multicast project. It represents a significant milestone, encompassing substantial enhancements in continuous integration (CI/CD), documentation quality, new features, and numerous fixes. This summary provides an in-depth analysis of the changes, improvements, and additions included in this release.
Major Improvements
Enhanced Continuous Integration and Delivery
- Over 99% Test Coverage: The testing suite has been significantly expanded, ensuring greater reliability and robustness of the codebase.
- Updated CI Workflows: Multiple GitHub Actions workflows have been updated and added to improve automation, code quality checks, and security analysis:
- New Workflows:
.github/workflows/makefile-lint.yml: Automates linting of Makefiles to ensure consistency and correctness..github/workflows/markdown-lint.yml: Introduces automated linting for Markdown files, enhancing documentation quality..github/workflows/yaml-lint.yml: Automates linting of YAML configuration files..github/workflows/scorecard.yml: Implements supply-chain security analysis using the OpenSSF Scorecard tool.
- Updated Workflows:
.github/workflows/Tests.yml: Enhanced to include Python 3.13, updated permissions for security, and improved job configurations..github/workflows/bandit.yml: Updated to refine security scanning with Bandit, adjusting confidence levels and permissions..github/workflows/codeql-analysis.yml: Reformatted for consistency and clarity.
- New Workflows:
Improved Documentation Quality
- Adherence to CEP-7 Style Guidelines: Documentation has been updated to comply with CEP-7 conventions, ensuring consistency and clarity across all documents.
- Enhanced Documentation Content:
- New Sections and Updates in
docs/CI.md,docs/FAQ.md,docs/USAGE.md, and others, providing users with better guidance and comprehensive information. - Formatting Improvements: Enhanced readability through improved formatting in
README.md,docs/index.md, anddocs/toc.md. - Updated Build Configuration:
.readthedocs.yamlupdated to align with the latest Read the Docs standards, ensuring that online documentation remains up-to-date.
- New Sections and Updates in
Introduction of New Features
--message -Option forSAYCommand: TheSAYcommand now supports reading messages from standard input (stdin), improving flexibility for users scripting or piping input.- Refined Error Handling: Implemented in accordance with CEP-8 standards, providing clearer error messages and more robust exception management throughout the codebase.
Code Quality Enhancements
- Adoption of New Linting Tools:
.bandit.yml: Introduces strict security scanning settings for the Bandit tool to detect security issues..markdownlint.yamland.markdownlint.json: Define rules for Markdown linting, improving documentation consistency.
- Updates to Existing Linting Configurations:
.flake8.ini: Updated to include additional error and warning codes, refined ignore lists, and expanded excluded directories.
- Refactoring for Clarity and Maintainability:
- Improvements in modules such as
multicast/__init__.py,multicast/__main__.py, andmulticast/hear.py, enhancing code readability and structure. - Consolidation of cleanup steps in CI configurations to avoid redundancy and ensure consistency.
- Improvements in modules such as
Detailed Changes
Configuration and Setup Enhancements
- Updated
setup.cfgandsetup.py:- Version bumped to
2.0.0-rc7, indicating the release candidate status. - Updated classifiers to reflect production/stable status and operating system compatibility (
Operating System :: POSIX). - Included project URLs for documentation and repository links.
- Version bumped to
- Dependency Management:
- Requirements files (
requirements.txt,tests/requirements.txt,docs/requirements.txt) updated to specify newer versions of dependencies for improved security and compatibility. - Excluded specific problematic versions (e.g.,
build>=1.1.1, !=1.2.2.post1).
- Requirements files (
Testing Improvements
- Expanded Test Coverage:
- New test suites added, covering various aspects of the application:
- Exception handling (
tests/test_exceptions.py) - Server activation and cleanup (
tests/test_hear_server_activate.py,tests/test_hear_cleanup.py) - Data processing and error handling (
tests/test_hear_data_processing.py,tests/test_hear_keyboard_interrupt.py)
- Exception handling (
- Enhanced existing tests with additional cases and improved assertions.
- New test suites added, covering various aspects of the application:
- Test Configuration Updates:
tox.iniupdated to include testing environments for Python 3.13 and dependencies updated accordingly.- Integration of new dependencies like
flake8-comprehensionsandpackagingto aid in testing and code analysis.
Continuous Integration and Deployment (CI/CD)
- AppVeyor Configuration:
.appveyor.ymlupdated to include structured build and testing processes across multiple Visual Studio images.- Ensured compatibility and testing on Windows environments.
- Codecov Configuration:
.codecov.ymlenhanced to define notification behaviors, coverage requirements, and GitHub checks integration.- Improved reporting and analysis of code coverage metrics.
Documentation and License Updates
- License File Updates:
LICENSE.mdupdated to include new files and acknowledge additional contributors and resources.- Ensured compliance with licensing requirements for newly added files and third-party code.
- Code of Conduct:
- Added
.github/CODE_OF_CONDUCT.md, adopting the Contributor Covenant to foster an open and welcoming community.
- Added
Issues Addressed and Superseded Pull Requests
- This pull request addresses numerous issues, incorporating fixes and features from previous pull requests.
- Supersedes several prior release candidates, consolidating their improvements into this comprehensive update.
Future Work and Open Issues
- Ongoing Development: Several issues have been opened for the 2.0 series to continue enhancing features, performance, and security.
- Planned Enhancements:
- Further refinement of CI workflows.
- Additional testing, including edge cases and compatibility with upcoming Python versions.
- Continuous improvement of documentation for clarity and completeness.
Conclusion
PR #184 marks a significant advancement for the multicast project, embodying a culmination of efforts to enhance code quality, testing, documentation, and security. The extensive updates and new features not only improve the current state of the project but also lay a robust foundation for future development in the 2.0 series.
v2.0.0-rc-8
What's Changed
- [UPDATE] (deps): Bump ossf/scorecard-action from 08f935069d990d2675a557ebcecc774477e7c55c to 6622d322b30ed8cdd77455e4af0bddb2b735325c in /.github/workflows by @dependabot in #193
- [UPDATE] (deps): Bump reactive-firewall/python-bandit-scan from 2.1 to 2.3 in /.github/workflows by @dependabot in #192
- [UPDATE] (deps): Bump codecov/codecov-action from 4 to 5 in /.github/workflows by @dependabot in #194
Full Changelog: v2.0.0-rc-7...v2.0.0-rc-8
v2.0.0-rc-7
What's Changed
- [TESTING] improved coverage slightly (- #53 -) by @reactive-firewall in #178
- [PATCH] specialize exception hear (- WIP #154 -) by @reactive-firewall in #179
- [STYLE] Aligned '.flake8.ini' with CEP-8 and CEP-7 (- WIP #181 -) by @reactive-firewall in #182
Full Changelog: v2.0.0-rc-6...v2.0.0-rc-7