Skip to content

Releases: LinuxMainframe/libwsv5

Production Release v1.1.0 - Stable

03 Nov 06:33
e70863c

Choose a tag to compare

[1.1.0] - 2025-11-02

Added

Bug Fixes and Improvements

  • Response Handling - Fixed recording/streaming control commands to properly validate response success flags

    • obsws_start_recording(), obsws_stop_recording() now correctly check response->success
    • obsws_start_streaming(), obsws_stop_streaming() now correctly check response->success
    • Test suite now properly allocates and validates response objects for all control operations
  • Scene Transformation Protocol - Fixed SetSceneItemTransform requests to use correct OBS WebSocket v5 field names

    • Changed JSON field from "transform" to "sceneItemTransform" (OBS protocol compliance)
    • All transformation tests (translation, rotation, scaling) now generate correct protocol messages
    • Scene item transformations now work reliably with OBS Studio

Project Professionalization

  • File Structure - Reorganized for professional release

    • Renamed library.clibwsv5.c to follow professional naming conventions
    • Renamed library.hlibwsv5.h to avoid generic naming conflicts
    • Consolidated multiple test files into single test.c executable
    • Removed deprecated and obsolete test files
  • Author Attribution - Added comprehensive headers to all source files

    • Author: Aidan A. Bradley (Architect, Author, Maintainer)
    • Consistent copyright and license attribution throughout codebase
    • Professional file descriptions and purpose statements
  • Documentation Suite - Complete professional documentation

    • README.md - User-friendly quick start guide with prerequisites, installation, and examples
    • CHANGELOG.md - Detailed version history and progression (this file)
    • API_REFERENCE.md - Wiki-style function reference for all 50+ public APIs
    • Doxygen - Configured to generate comprehensive HTML and PDF documentation
  • Code Quality - Normalized all comments and naming conventions

    • Removed unprofessional naming patterns
    • Standardized comment style throughout
    • Simplified test output descriptions
    • Professional section headers and formatting

Testing Enhancements

  • Test Suite Refinement - Unified test binary with clear, professional descriptions
    • All tests show proper help output with normalized descriptions
    • Test sections properly identify sections and test progress
    • Improved statistics tracking and result reporting
    • 55/58 tests passing (94.8% success rate)

Technical Changes

Protocol Compliance

  • Recording/streaming commands now validate both transport-level errors and application-level success
  • Scene transformations strictly follow OBS WebSocket v5 JSON field naming specifications
  • Improved error detection and reporting for protocol violations

Memory Management

  • Standardized response handling pattern across all control operations
  • Ensured proper cleanup with explicit obsws_response_free() calls
  • Validated response allocation before checking success flags

Build System

  • CMakeLists.txt updated to reference new professional filenames
  • Single unified test executable improves distribution simplicity
  • Doxygen configuration updated for new file structure

Known Issues Fixed

  • Recording control commands now properly validate responses
  • Streaming control commands now properly validate responses
  • Scene item transformations now use correct protocol field names
  • Scene rotation tests now work reliably
  • Scene translation tests now work reliably
  • Scene scaling tests now work reliably

Breaking Changes

None - fully backward compatible with 1.0.0

Deprecations

None

Future Enhancements

Potential features for future releases:

  • Enhanced response caching for performance
  • Request batching optimization improvements
  • Advanced filtering and query syntax
  • Built-in logging to file
  • Performance metrics dashboard