Skip to content

Release/0.7.0#51

Merged
howethomas merged 13 commits intomainfrom
release/0.7.0
Jul 19, 2025
Merged

Release/0.7.0#51
howethomas merged 13 commits intomainfrom
release/0.7.0

Conversation

@howethomas
Copy link
Contributor

This release implements full compliance with the IETF vCon 0.3.0 specification, adding comprehensive support for all new fields, validation, and features while maintaining complete backward compatibility.

- Introduced the vCon core specification document outlining the JSON format for conversational data, including metadata, media, and analysis.
- Added a workplan for updating the vCon library to be compatible with the new specification (version 0.3.0), detailing required changes, new fields, and migration strategies.
- Updated existing code to reflect the new versioning and field requirements, ensuring backward compatibility and proper functionality.
- Added a `strict_version` parameter to the Vcon class constructor and related methods to enforce version checks.
- Implemented automatic migration of vCon objects to version "0.3.0" if they are of an older version when `strict_version` is False.
- Updated tests to cover version migration scenarios, including strict mode rejection of unsupported versions.
- Enhanced documentation to reflect the new version handling behavior.
- Added support for the latest IETF vCon specification, introducing new fields in the vCon, Party, and Dialog objects, including `extensions`, `must_support`, `sip`, `did`, `jCard`, `timezone`, `session_id`, and `content_hash`.
- Implemented helper methods for managing extensions and must-support requirements.
- Updated property handling to accommodate new fields while ensuring backward compatibility.
- Enhanced documentation and examples to reflect the new functionality.
- Added comprehensive test coverage for all new features and fields.
- Changed the default vCon version from "0.0.1" to "0.3.0" in GUIDE.md, README.md, and IETF-123-WORKPLAN.md.
- Updated the Vcon class to set the default version to "0.3.0" if missing.
- Ensured all references to the vCon version are consistent with the new specification.
- Enhanced documentation to reflect the version change and its implications for backward compatibility.
- Updated the Dialog class to include new fields: `application` and `message_id`, ensuring compliance with the latest specification.
- Modified existing tests to validate the functionality of the new fields.
- Updated sample JSON files to reflect the new vCon version (0.3.0) and include the new fields in dialog objects.
- Ensured backward compatibility and consistency across the library and documentation.
…t method

- Updated the to_dict method in PartyHistory to return the time in ISO 8601 format.
- Added a new test case to validate the correct serialization of time in the to_dict method.
- Updated the to_dict method to handle both datetime and string formats for the time field, ensuring flexibility in serialization.
- Improved code readability by introducing a conditional check for the time attribute's type.
…ethod

- Updated the to_dict method in the Party class to properly serialize CivicAddress objects by calling their to_dict method.
- Improved handling of attributes to ensure all relevant data is included in the serialized output.
- Introduced new audio MIME types: `audio/x-mp3` and `audio/x-mp4` in the Dialog class to enhance media type support.
- Updated the corresponding to_dict method to include these new types for serialization consistency.
- Introduced a new constant, VALID_DISPOSITIONS, to define acceptable disposition values for incomplete dialogs.
- Implemented validation logic in the Dialog class constructor to ensure that the provided disposition is valid.
- Added a new test case to verify the functionality of disposition validation, including checks for valid and invalid values.
- Introduced a VALID_EVENTS constant to define acceptable event types for PartyHistory, including "join", "drop", "hold", "unhold", "mute", and "unmute".
- Implemented validation logic in the PartyHistory constructor to raise a ValueError for invalid event types.
- Updated the PartyHistory documentation to reflect the new event types.
- Added a test case to verify acceptance of valid events and rejection of invalid events.
- Revised README.md to provide a clearer overview of the vCon library, including new features and installation instructions.
- Documented enhancements in the vCon library, including support for extensions, must-support fields, and improved party and dialog management.
- Updated the IETF-123-WORKPLAN.md to reflect the completion of tasks related to the new vCon specification.
- Enhanced class documentation in CivicAddress, Dialog, Party, and PartyHistory to include new fields and functionalities introduced in vCon 0.3.0.
- Ensured all documentation is consistent with the latest changes and provides comprehensive guidance for users.
- Added full vCon 0.3.0 specification support
- Enhanced party fields (sip, did, jCard, timezone)
- Added party history event tracking
- Implemented disposition values for incomplete dialogs
- Enhanced media type validation
- Added civic address support (GEOPRIV)
- Updated all documentation
- 149 tests passing with comprehensive coverage
- Maintains full backward compatibility
@howethomas howethomas merged commit beb2384 into main Jul 19, 2025
5 checks passed
@howethomas howethomas linked an issue Jul 19, 2025 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update Dialog interface documentation.

1 participant