Skip to content

2.3.0

Choose a tag to compare

@Roy-wonji Roy-wonji released this 25 Sep 08:14
· 226 commits to main since this release

[V 2.3.0]

Breaking

  • DIContainer 동기화 변경
    • DIContainer.getAutoGeneratedGraph(), getOptimizedTypes(), getDetectedCircularDependencies(), getUsageStatistics(), isAutoOptimized(_:)가 동기 함수로 변경됨. 호출부의 await 제거 필요. 파일: Sources/Core/Container/DIContainer.swift:536
  • UnifiedDI 동기화 변경
    • UnifiedDI.autoGraph(), optimizedTypes(), circularDependencies(), stats(), isOptimized(_:)가 동기 함수로 변경됨. 호출부의 await 제거 필요. 파일: Sources/Core/API/UnifiedDI.swift:318

Added

  • 동기 접근용 로깅 레벨 프로퍼티 추가: UnifiedDI.logLevel. 파일: Sources/Core/API/UnifiedDI.swift:393
  • 그래프 시각화에 “등록된 노드(타입)” 출력 추가. 파일: Sources/Core/Auto/AutoDIOptimizer.swift:270

Changed

  • AutoDIOptimizer 스레드 안전화
    • NSLock 기반 내부 상태 보호 및 스냅샷 접근 도입(등록/해결/그래프/통계/순환 탐지). 파일: Sources/Core/Auto/AutoDIOptimizer.swift:31
    • getCurrentLogLevel()이 실제 설정 값을 반환하도록 수정. 파일: Sources/Core/Auto/AutoDIOptimizer.swift:100
    • trackResolution(_:)가 최적화 비활성화 상태에서도 사용 통계를 항상 집계하도록 변경(최적화 제안만 비활성화). 파일: Sources/Core/Auto/AutoDIOptimizer.swift:63

Fixed

  • 동시성 접근 시 간헐적 크래시(EXC_BAD_ACCESS) 해결: AutoDIOptimizer 내부 데이터 경쟁 제거. 파일: Sources/Core/Auto/AutoDIOptimizer.swift
  • “No 'async' operations occur within 'await' expression” 경고 제거: 동기 함수로 시그니처 정리. 파일: Sources/Core/Container/DIContainer.swift:536, Sources/Core/API/UnifiedDI.swift:318
  • “Result of call to 'registerIf' is unused” 경고 제거: @discardableResult 추가. 파일: Sources/Core/API/UnifiedDI.swift:302