2.9 KiB
2.9 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
Added
- Simplified Endpoint API:
NewClient()now accepts multiple endpoint formats- Simple IP address:
"192.168.1.100" - IP with port:
"192.168.1.100:8080" - Full URL:
"http://192.168.1.100/onvif/device_service"(backward compatible) - Automatically adds
http://scheme and/onvif/device_servicepath when needed - See
docs/SIMPLIFIED_ENDPOINT.mdfor details
- Simple IP address:
- Localhost URL Fix: Automatic handling of cameras that report localhost addresses
- Detects and fixes localhost/127.0.0.1/0.0.0.0/::1 in GetCapabilities response
- Replaces with actual camera IP address
- Preserves service-specific ports when specified
- Handles common camera firmware bugs transparently
- Comprehensive test coverage for endpoint normalization (12 test cases)
- Comprehensive test coverage for localhost URL handling (10 test cases)
- New example:
examples/simplified-endpoint/demonstrating all endpoint formats - Documentation:
docs/PROJECT_STRUCTURE.mdexplaining project organization - Initial release of go-onvif library
Changed
- Project Structure: Implemented ideal Go project layout
- Moved
soap/tointernal/soap/(private implementation) - Moved
test/test-server.gotoexamples/test-server/for clarity - Removed empty
test/directory - Public API remains at root level for clean imports
- Follows Standard Go Project Layout for libraries
- Updated all imports throughout codebase
- See
docs/PROJECT_STRUCTURE.mdanddocs/ARCHITECTURE.mdfor details
- Moved
- Updated
docs/ARCHITECTURE.mdto reflect new project structure - Updated module path from
github.com/0x524A/onvif-gotogithub.com/0x524a/onvif-go(lowercase) - ONVIF Client with context support
- Device service implementation
- GetDeviceInformation
- GetCapabilities
- GetSystemDateAndTime
- SystemReboot
- Media service implementation
- GetProfiles
- GetStreamURI (RTSP/HTTP)
- GetSnapshotURI
- GetVideoEncoderConfiguration
- PTZ service implementation
- ContinuousMove
- AbsoluteMove
- RelativeMove
- Stop
- GetStatus
- GetPresets
- GotoPreset
- Imaging service implementation
- GetImagingSettings
- SetImagingSettings
- Move (focus control)
- WS-Discovery implementation
- Automatic device discovery via multicast
- SOAP client with WS-Security
- UsernameToken authentication
- Password digest (SHA-1)
- Comprehensive type definitions
- Error handling with typed errors
- Connection pooling for performance
- Complete examples
- Discovery
- Device information
- PTZ control
- Imaging settings
- Comprehensive documentation
- README with usage guide