v0.1.0 — 2025-10-16
·
249 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
Overview
This release introduces significant improvements to ONVIF client functionality with enhanced multi-instance support and flexible WSDL directory configuration. Key highlights include:
- Multi-Instance Support: Fixed critical XAddr rewriting issues for pullpoint, subscription, and security services enabling proper multiple services instances
- Custom WSDL Directory: Revolutionary support for custom WSDL directories allowing developers to use their own WSDL files
- Documentation Enhancement: Comprehensive documentation updates for new features and improved usability
Changelog Summary
PyPI
https://pypi.org/project/onvif-python/0.1.0 (18543676990)
New Features
- Custom WSDL Directory Support (65f2570)
- Implemented support for custom WSDL directory in ONVIFClient
- Enhanced
onvif/utils/wsdl.pywith flexible WSDL loading mechanism - Allows developers to specify their own WSDL files directory
- Provides greater flexibility for custom ONVIF implementations
- Maintains backward compatibility with default WSDL behavior
Fixed
- Multi-Instance XAddr Rewriting Fix (1a45f59)
- Fixed critical XAddr rewriting issues for pullpoint, subscription, and security services
- Improved event handling stability in multi-instances service scenarios
Documentation
- Comprehensive Custom WSDL Documentation (9464178)
- Added detailed examples and documentation for custom WSDL directory usage
- Updated both English
README.mdand IndonesianREADME_ID.md - Provided practical code examples showing custom WSDL configuration
- Enhanced developer guide with step-by-step implementation instructions
Technical Improvements
Custom WSDL Directory Support
The new WSDL directory feature provides maximum flexibility for developers:
from onvif import ONVIFClient
# Using custom WSDL directory
client = ONVIFClient(
"192.168.1.17",
8000,
"admin",
"admin123",
wsdl_dir="/path/to/custom/wsdl"
)
# Default behavior (backward compatible)
client = ONVIFClient("192.168.1.17", 8000, "admin", "admin123")Improved Service Resolution
- PullPoint Services: Proper XAddr handling for event subscriptions
- Subscription Services: Same as PullPoint service
- Security Services: Fixed XAddr endpoint resolution when client's host/port differs from device's host/port
Breaking Changes
None — This release maintains full backward compatibility:
- Existing code will continue to function without modifications
- Custom WSDL directory support is optional and doesn't affect default behavior
- All existing service methods and parameters remain unchanged
- Multi-instance fixes are transparent and don't require code changes
Migration Guide
No migration required for existing applications:
- Existing Applications: Continue working without any code changes
- Custom WSDL Users: Can now specify custom WSDL directories using the new
wsdl_dirparameter
Full Changelog: v0.0.9...v0.1.0