- Added documentation for GetAudioOutputConfiguration method, including a note on code duplication.
- Updated coverage workflow to include an ID for coverage checks and output the coverage percentage.
- Modified release workflow to allow manual triggering and improved version handling based on event type.
- Replaced 'exportloopref' with 'copyloopvar' in .golangci.yml for improved linting accuracy.
- Updated 'goerr113' to 'err113' for consistency in linter naming.
- Added Go setup step in the GitHub Actions workflow to specify Go version 1.23.
- Enhanced the gosec report upload process and added a step to display scan results in the CI workflow.
- Improved error handling in the unmarshalBody function to provide clearer error messages.
- Removed unnecessary skip-dirs and skip-files settings to streamline linter checks.
- Updated linters by replacing 'gomnd' with 'mnd' for better naming consistency.
- Removed the govet section to simplify configuration.
- Adjusted output formats for clearer reporting of linter results.
- Enhanced .golangci.yml with additional linters and settings for improved code quality checks.
- Updated CI workflow to include multiple branches for pull requests and improved caching strategies.
- Added new workflows for documentation checks, dependency reviews, and security scans.
- Refined coverage analysis workflow to provide detailed reports and comments on pull requests.
- Removed outdated test workflow and consolidated testing strategies into extended tests.
- Improved release workflow with better version handling and artifact management.
- Introduced new test files for device and media service operations using real camera responses.
- Implemented tests for GetDeviceInformation, GetMediaServiceCapabilities, and user management functions.
- Enhanced documentation with a detailed testing flow and coverage reports.
- Added JSON test reports for tracking operation success and response times.
- Updated the README and other documentation to reflect new testing capabilities and structure.
- Introduced a new test, TestDigestAuthTransportConcurrency, to validate concurrent access to the digestAuthTransport.
- Implemented checks to ensure the nonce count (nc) is correctly incremented and protected from race conditions using a mutex.
- Enhanced the digestAuthTransport struct to include a mutex for safe concurrent operations.
- Implemented methods to retrieve media service capabilities and video encoder configuration options.
- Added new types for media service capabilities, video encoder options, and audio configurations.
- Introduced unit tests for media service operations, including GetProfiles, GetProfile, and GetStreamURI, ensuring proper functionality and response validation.
- Improved error handling and response parsing in media-related methods.
- Implement comprehensive tests for the SOAP handler, covering scenarios such as handler registration, valid and invalid SOAP requests, action extraction, and authentication.
- Introduce tests for server configuration types, ensuring default values, resolution validation, range checks, and profile configurations are correctly validated.
- Validate service endpoint generation based on configuration settings, including host and port variations.
- Updated project name in documentation and metadata to reflect new branding.
- Removed outdated documentation files related to CLI and network interface summary.
- Consolidated implementation summaries for network interface discovery and ONVIF server.
- Updated sonar project properties to align with new project name.
- Ensured backward compatibility and comprehensive testing across all changes.
- Adjusted formatting in XML response strings for consistency in device_extended_test.go and device_security_test.go.
- Improved readability by aligning XML declaration and body content.
- Updated mock server responses to ensure proper handling of various ONVIF operations.
Enhance device security and storage handling
- Refactored struct field declarations in device_security.go and device_storage_test.go for improved clarity.
- Ensured consistent formatting across struct definitions and XML tags.
Standardize whitespace and formatting across multiple files
- Removed unnecessary blank lines and adjusted indentation in discovery, imaging, media, and PTZ server files.
- Improved overall code readability and maintainability by ensuring consistent formatting.
Update example applications for better readability
- Cleaned up whitespace in example applications to enhance code clarity.
- Ensured consistent formatting in main.go files across various examples.
Refactor server and SOAP handler code for consistency
- Standardized struct field declarations and XML tag formatting in server and SOAP handler files.
- Improved readability by aligning struct fields and ensuring consistent use of whitespace.
General code cleanup and formatting adjustments
- Applied consistent formatting across various files, including types.go and test files.
- Enhanced readability by aligning struct fields and removing unnecessary blank lines.
- Introduced comprehensive tests for device security features including GetRemoteUser, SetRemoteUser, GetIPAddressFilter, SetIPAddressFilter, and more.
- Implemented mock server responses for various ONVIF device security SOAP actions.
- Added new types and constants for device services, capabilities, and network protocols in types.go.
- Enhanced existing tests for device services, discovery modes, and network configurations.
- Ensured proper handling of service capabilities and network protocols in the client.
The release must be created as draft initially, otherwise it's
published immediately and becomes immutable before assets upload.
Users can manually publish after assets are uploaded, or we can
add a workflow_dispatch to publish programmatically.