Skip to content

Conversation

@mshehan
Copy link
Contributor

@mshehan mshehan commented Nov 12, 2025

TL;DR

Updated iOS deployment target to iOS 15.0 and refactored the codebase to improve API design and organization.

What changed?

  • Increased iOS deployment target from 9.3 to 15.0 in project settings and Package.swift
  • Refactored code structure by moving related functionality into separate files:
    • Created Attribute.swift for attribute binding functionality
    • Created JSONAPIMap.swift for JSON mapping functionality
    • Created MetadataHelper.swift for metadata helper functionality
  • Enhanced error handling by replacing a fatalError with assertionFailure in model registration
  • Added new convenience initializers that accept Data or object parameters
  • Made some previously public methods internal to improve API design
  • Added proper documentation for methods and classes

How to test?

  1. Ensure the project builds successfully with the new iOS 15.0 deployment target
  2. Verify that existing functionality works as expected with the refactored code structure
  3. Test the new convenience initializers with both Data and object parameters
  4. Confirm that model registration with duplicate types now fails gracefully with an assertion instead of crashing

Why make this change?

This refactoring improves code organization by separating concerns into dedicated files, making the codebase more maintainable. The increased deployment target allows the use of newer iOS features and reduces the maintenance burden of supporting older iOS versions. The enhanced API design with new initializers and better error handling provides a more robust and user-friendly experience for developers using this library.

Copy link
Contributor Author

mshehan commented Nov 12, 2025

This stack of pull requests is managed by Graphite. Learn more about stacking.

@mshehan mshehan requested a review from a team November 12, 2025 05:21
@mshehan mshehan self-assigned this Nov 12, 2025
@mshehan mshehan marked this pull request as ready for review November 12, 2025 05:21
@mshehan mshehan merged commit 3501bbf into master Nov 12, 2025
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.

2 participants