변경 이력
최신 버전
SDK 최신 버전 변경사항
iOS와 Android SDK는 현재 별도 버전으로 관리됩니다(React Native 패키지는 네이티브 UI 모듈 버전과 정렬됩니다). 향후 통합 버전으로 전환될 예정입니다.
최신 릴리즈: v1.5.1
📦 버전 정보
| Module | iOS | Android |
|---|---|---|
| UI Module | v1.5.1 | v1.5.1 |
React Native (@petify/react-native-camera-ui): v1.5.1
릴리즈 날짜: 2026-10-15
주요 변경사항 (v1.5.1)
1.5.0에 대한 패치 릴리즈입니다. 공개 API 변경은 없습니다 — 라이브러리만 교체 후 재빌드하세요.
🐛 Fixed
- 촬영 실패 시 사유가 다시 전달됩니다. 한 프레임은 실패 사유를 여러 개 동시에 보고하는데, 각 사유의 비율을 프레임 수가 아니라 사유 개수로 나눠 계산했습니다. 그래서 두 가지 이유로 동시에 실패한 세션은 어느 사유도 기준에 못 미쳐 고객사에 일반 오류만 전달됐습니다.
- 다수의 프로필을 연속 등록할 때 메모리가 누적될 수 있었습니다. 촬영 화면을 벗어날 때 수집된 이미지가 해제되지 않았습니다. Android 실측 기준 카메라 열기/닫기 1회당 약 52MB였으며 현재는 0.3MB입니다.
주요 변경사항 (v1.5.0)
Android: AAR만 교체하지 말고 앱을 재빌드하세요
1.5는 Android에서 바이너리 호환이 아닙니다. 1.4.5로 컴파일한 앱의 AAR만 1.5로 바꾸고 재빌드하지 않으면, 실행은 되다가 설정 객체를 처음 생성하는 순간 NoSuchMethodError가 납니다. 1.5로 재빌드하세요. 소스에서 바꿀 것은 없습니다. → v1.4 → v1.5 마이그레이션
✨ 공통
enableFakeDetection기본값이true로 바뀌었습니다.false를 명시하지 않으면 위조(사진·화면·인쇄물) 감지가 켜집니다. 1.4.5와 정반대이므로 호출 지점을 확인하세요. 사진으로 테스트해 온 플로우는 실패하기 시작합니다.LicenseInfo.environment로 백엔드를 선택합니다.production(기본) 또는staging이며, staging 콘솔 키를 staging에서 쓸 수 있습니다. v1.3.x의isDebugMode가 하던 역할입니다.- 프로세스당 API 키 하나. 다른 키를 두 번째로 넘기면 조용히 교체되는 대신 거부됩니다(
PetnowUIError.MultipleApiKeys/.multipleApiKeys). difficultyMode는 deprecated이며 무시됩니다(iOS/AndroidDetectionConfiguration, React Native<CameraView>). 기존 코드는 그대로 컴파일되며, 다음 메이저 릴리즈에서 제거됩니다.- 진단용 성능 수치.
CameraController가performanceStats(카메라 초기화 시간, 첫 프레임 시간, 처리 프레임 fps, 검출기 ms)를 노출합니다. Android는StateFlow<CameraPerformanceStats>, iOS는@Published프로퍼티입니다.
🤖 Android
DetectionConfiguration.inferenceTier(AUTO/CPU/GPU, 기본AUTO)로 검출기 실행 경로를 선택합니다.AUTO는 기기에 맞는 경로를 고르고, 그 경로를 쓸 수 없으면 다른 경로로 폴백합니다. 이 값은 프로세스가 첫 검출기 엔진을 만들 때 한 번만 읽히고 이후 고정됩니다. 선택된 티어는CameraPerformanceStats.inferenceTier로 확인할 수 있습니다.LicenseInfo(apiKey, environment)—PetnowEnvironment.PRODUCTION/.STAGING.- **
io.petnow.ui.sound.SoundPlayer**로 카메라 컨트롤러 없이 안내음을 재생합니다.CameraController.playSound()/stopSound()는 deprecated입니다. → 사운드 가이드
🍎 iOS
CameraController.performanceStats(CameraPerformanceStats,@Published).LicenseInfo(apiKey:environment:)—.production/.staging.CameraOpticsPolicy와 적응형 후면 카메라 모드가 제거되었습니다. 후면 렌즈 선택은 1.4.3과 동일하게 동작합니다.
⚛️ React Native
onRealtimeServerIqaDiagnosticprop과RealtimeServerIqa*타입이 제거되었습니다. 대체 API는 없습니다.usePetnowCamera({ apiKey, environment })—'production'(기본) 또는'staging'.difficultyModeprop은 deprecated이며 네이티브로 전달되지 않습니다.
주요 변경사항 (v1.4.5)
v1.4.0 이후 처음으로 iOS/Android UI 모듈과 React Native 패키지를 함께 배포하는 릴리즈입니다.
⚛️ React Native
- RN 0.82+에서 Android 앱 빌드 실패를 수정해 0.75 – 0.86.x 전 범위가 빌드됩니다.
- React Native 0.86 / React 19 지원(1.4.4로 배포).
- 그 외
showDetectionMarkerprop(1.4.3)을 함께 담습니다.
주요 변경사항 (v1.4.0)
내부 구조 개선과 안정화 중심의 릴리즈입니다.
✨ 공통
- pause/resume·세션 처리·difficulty 모드 등 탐지 동작을 iOS·Android에서 동일하게 제공합니다.
- 라이선스 검증과 초기화 에러 처리가 양 플랫폼에서 정렬되었습니다 — Android도
initializeCamera()에서 API 키를 서버 검증하고, 초기화 실패를PetnowUIError로 던져 iOS의 오류 모델과 맞춥니다. → Android Changelog
⚛️ React Native
@petify/react-native-camera-uiv1.4.0 첫 릴리즈 — New Architecture(Fabric/TurboModules) 기반 카메라 UI 패키지. iOS/Android UI 모듈 v1.4.0을 래핑합니다.
주요 변경사항 (v1.3.2)
🐛 Android 버그 수정
- 카메라 종료 크래시 수정: 카메라 종료 시 간헐적으로 앱이 크래시되는 문제 해결
- 안정성 개선
🍎 iOS
- 코드 변경 없음 (버전 동기화)
주요 변경사항 (v1.3.1)
🐛 Android 버그 수정
- 카메라 프리뷰 표시 오류 수정: 카메라 진입 시 프리뷰가 올바른 비율로 표시되지 않는 문제 해결
🍎 iOS
- 코드 변경 없음 (버전 동기화)
주요 변경사항
✨ 공통 개선사항
V2 API 통합
- iOS와 Android 모두 서버 API V2 스펙으로 업데이트
- 세션 기반 워크플로우로 전환
UI/UX 개선
- 커스터마이즈 기능 강화
- 사운드 재생 기능 추가
🍎 iOS 주요 변경사항
UI Module v1.3.0 (v1.2.2 → v1.3.0)
✨ Added
- 오버레이 커스텀 기능: 탐지 영역 위에 커스텀 UI 배치
- 사운드 제어:
playSound,stopSoundAPI - Detection state tracking: 진행 상황(
currentCount) 및 탐지 영역 좌표(detectedObjectNormalizedRect) 제공
🔧 Changed
- 초기화 플로우 개선:
isInitialized프로퍼티 추가 및initializeCamera()완료 대기 보장 (이제 initializeCamera() 종료 시점이 초기화 완료 시점입니다.) - AVCaptureSession 외부 주입 지원: Cross-platform 환경에서 Preview를 먼저 구성한 후 Session을 주입 가능
- Fake detection 오탐 감소: 임계값 완화
- 실패 사유 추가:
DetectionFailureReasonenum에 새로운 상태값 추가
🧹 Cleanup
- 사용하지 않는 property 제거
자세한 내용은 iOS Changelog를 참고하세요.
🤖 Android 주요 변경사항
UI Module v1.3.0 (v1.2.4 → v1.3.0)
✨ Added
- 오버레이 커스텀 기능:
provideFloatingGuideLayout()으로 탐지 영역 위에 커스텀 UI 배치 - 사운드 제어:
playSound,stopSoundAPI - Detection state tracking: 실시간 탐지 상태 및 탐지 영역 좌표 제공
🐛 Fixed
- 카메라 전환 시 설정이 유지되지 않던 문제 해결
onDetectionFinished콜백이 백그라운드 스레드에서 호출되던 문제 해결- ObjectDetector 오류 해결
- 실패 사유 추가:
DetectionStatusenum에 새로운 상태값 추가
자세한 내용은 Android Changelog를 참고하세요.
마이그레이션 가이드
- v1.4.x → v1.5.0: v1.4 → v1.5 마이그레이션
- v1.3.x → v1.4.0: v1.3 → v1.4 마이그레이션
플랫폼별 전체 히스토리
자세한 버전별 변경사항은 아래 페이지를 참고하세요:
- iOS Changelog - iOS SDK 전체 릴리즈 히스토리
- Android Changelog - Android SDK 전체 릴리즈 히스토리