[0.8.0] - 2025-01-26
π Major Release: Version Management Simplification
This release aligns with the upcoming vCon draft specification by removing mandatory version management and enforcement, making the version field optional while maintaining full backward compatibility.
β¨ Added
Flexible Versioning
- Optional Version Field: The
vconfield is now optional in vCon objects - Version Preservation: Existing vCons with version fields continue to work unchanged
- Simplified Creation: New vCons can be created without version fields
π Changed
Version Management Simplification
- Removed
strict_versionParameter: Eliminated from all Vcon methods (__init__,build_from_json,build_new,load,load_from_file,load_from_url) - No Automatic Version Assignment: vCon objects no longer automatically get a version field
- No Version Migration: Removed automatic migration from older versions
- Updated Validation: The
is_valid()method no longer requires the version field
Method Signatures Updated
Vcon(vcon_dict=None, property_handling="default")- removedstrict_versionparameterbuild_from_json(json_str, property_handling="default")- removedstrict_versionparameterbuild_new(created_at=None, property_handling="default")- removedstrict_versionparameterload(source, property_handling="default")- removedstrict_versionparameterload_from_file(file_path, property_handling="default")- removedstrict_versionparameterload_from_url(url, property_handling="default")- removedstrict_versionparameter
π§ͺ Testing
Updated Test Suite
- Replaced Version Migration Tests: Updated tests to cover optional version field behavior
- New Test Cases: Added comprehensive tests for versionless vCon creation and preservation
- Backward Compatibility Tests: Ensured existing vCons with version fields continue to work
π Documentation
Updated Documentation
- README.md: Updated to reflect version field being optional
- API_REFERENCE.md: Removed
strict_versionparameter from all method signatures - GUIDE.md: Updated examples to show versionless vCon creation
- MIGRATION_GUIDE.md: Added migration steps for version management changes
Updated Sample Files
- Removed Version Fields: All sample vCon JSON files updated to demonstrate versionless vCons
- Backward Compatibility: Existing vCons with version fields continue to work
π§ Technical Details
Implementation Changes
- Removed Version Logic: Eliminated version checking, migration, and enforcement code
- Simplified Initialization: Streamlined vCon object creation process
- Preserved Functionality: All other features remain unchanged
Backward Compatibility
- Existing vCons: Continue to work without any changes
- Version Fields: Preserved when present, not added when absent
- API Compatibility: All other methods and properties remain unchanged
π― Benefits
- Enhanced Flexibility: vCon objects can now exist without mandatory versioning
- Simplified Implementation: Reduced complexity in version management
- Better Privacy Support: Enables creation of redacted versions without version conflicts
- Multiple Version Support: Allows different versions of the same vCon to coexist
- Specification Compliance: Aligns with upcoming vCon draft specification