Skip to content

Conversation

@mshehan
Copy link
Contributor

@mshehan mshehan commented Jul 11, 2025

Swift 6.0 Upgrade and Iterative Model Loading

This PR updates the library to Swift 6.0 and improves the model loading process with several key enhancements:

  • Upgrades Swift version from 4.0 to 6.0
  • Updates Package.swift to support iOS 12+, macOS 10.14+, and tvOS 12+
  • Adds proper resource handling for test fixtures
  • Implements conditional UIKit imports to improve cross-platform compatibility
  • Adds an iterative approach to loadIncluded to prevent stack overflows with deeply nested relationships
  • Makes JSONAPIFactory and JSONAPIStore conform to the Collection protocol
  • Adds comprehensive tests for the new iterative loading approach
  • Improves error handling with assertion failures when model creation fails

The iterative loading approach replaces the recursive implementation to prevent potential stack overflows when dealing with complex nested relationships, while maintaining the same functionality.

Copy link
Contributor Author

mshehan commented Jul 11, 2025

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

@mshehan mshehan mentioned this pull request Jul 11, 2025
@mshehan mshehan force-pushed the ms/update-iterativeOptimization branch from afb3644 to 2c8c176 Compare July 11, 2025 04:58
@mshehan mshehan marked this pull request as ready for review July 11, 2025 04:59
@mshehan mshehan self-assigned this Jul 11, 2025
@mshehan mshehan added bug Something isn't working enhancement New feature or request labels Jul 11, 2025 — with Graphite App
Copy link
Contributor Author

mshehan commented Jul 11, 2025

Merge activity

  • Jul 11, 5:01 AM UTC: A user started a stack merge that includes this pull request via Graphite.
  • Jul 11, 5:02 AM UTC: Graphite rebased this pull request as part of a merge.
  • Jul 11, 5:04 AM UTC: @mshehan merged this pull request with Graphite.

@mshehan mshehan changed the base branch from swift-package-manager to graphite-base/4 July 11, 2025 05:01
@mshehan mshehan changed the base branch from graphite-base/4 to master July 11, 2025 05:01
@mshehan mshehan force-pushed the ms/update-iterativeOptimization branch from 2c8c176 to 053a676 Compare July 11, 2025 05:02
@mshehan mshehan merged commit b7c1dde into master Jul 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants