connectbase-client 4.0.0 → 4.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,52 @@
3
3
  본 SDK 의 모든 주요 변경사항을 [Keep a Changelog](https://keepachangelog.com/ko/1.1.0/) 형식으로 기록합니다.
4
4
  버전은 [Semantic Versioning](https://semver.org/lang/ko/) 을 따릅니다.
5
5
 
6
+ ## [4.2.0] - 2026-07-25
7
+
8
+ ### Added — 패키징 앱 네이티브 API 보강 (`cb.native.*`)
9
+
10
+ 앱 패키징(React Native/Electron) 셸이 제공하는 브릿지를 SDK 에서 그대로 쓸 수 있도록 빠져 있던
11
+ 네임스페이스를 채웠다. 전부 additive — 기존 코드는 변경 없이 동작한다.
12
+
13
+ - `cb.native.location.watchPosition(onUpdate, options?)` / 반환된 핸들의 `clear()` — 위치 추적.
14
+ 모바일 패키징 앱에서는 네이티브가 `nativeLocationUpdate` 이벤트로 갱신을 스트리밍하고, 웹/데스크톱은
15
+ Geolocation `watchPosition` 으로 폴백한다. (기존에는 SDK 에 watch 래퍼가 아예 없었고, 브릿지는
16
+ 위치 갱신을 요청-응답으로 보내 첫 좌표 이후가 전부 유실됐다.)
17
+ - `cb.native.push.*` — `getToken()`(raw APNS/FCM 토큰, `cb.push.registerDevice` 에 그대로 사용) /
18
+ `requestPermission()` / `scheduleLocal()` / `setBadgeCount()`.
19
+ - `cb.native.getAppInfo()` — 패키징 앱의 플랫폼·OS·앱 버전·웹 URL (웹에서는 `null`).
20
+ - `cb.native.isNativeApp()` — 패키징 앱 안에서 실행 중인지.
21
+ - `NativeAppInfo`, `LocationWatch` 타입 export.
22
+
23
+ ### Changed
24
+
25
+ - `cb.native.notification.show()` — 모바일 패키징 앱에서 WebView 가 지원하지 않는 Web Notification
26
+ API 대신 네이티브 로컬 알림으로 전달한다(푸시 기능이 켜진 앱). 기존에는 모바일에서 조용히 실패했다.
27
+ - `cb.native.shell.openExternal()` — 모바일 패키징 앱에서 `window.open` 대신 시스템 브라우저로 연다.
28
+ - `cb.native.filesystem.saveFile()` — 모바일에서 파일명만 넘기면 앱 문서 디렉터리에 저장된다
29
+ (네이티브 셸이 상대 경로를 해석). 기존에는 절대 URI 가 아니라 저장이 실패했다.
30
+ - `NativeBridgeInterface` 타입에 `os` / `isNative` / `call` / `app.getInfo` / `app.reload` /
31
+ `browser.openExternal` / `filesystem.getDirectories` / `filesystem.getAppDir` /
32
+ `push.setBadgeCount` 추가 — 패키징 셸의 실제 브릿지 표면과 일치시켰다.
33
+
34
+ ## [4.1.0] - 2026-07-25
35
+
36
+ ### Added — 결제 자격증명 test/live 모드 (`payment_mode`)
37
+
38
+ 앱이 프로바이더마다 **테스트 키와 라이브 키를 따로 등록**해두고 모드만 전환하는 모델을 지원한다.
39
+ 사용할 모드는 콘솔에서 프로바이더별로 정하며, 결제 응답에 어느 모드로 처리됐는지 함께 내려온다.
40
+
41
+ **추가:**
42
+ - `PaymentMode` 타입 (`"test" | "live"`).
43
+ - `PreparePaymentRequest.payment_mode` — 사용할 모드 오버라이드(선택). **서버 시크릿 키(`cb_sk_*`)
44
+ 호출에서만 적용**되고, 브라우저 공개 키(`cb_pk_*`) 호출에서는 무시된다(클라이언트가 test 를 골라
45
+ 실제 돈 없이 "결제 성공"을 만드는 엔타이틀먼트 우회 방지).
46
+ - `PreparePaymentResponse.payment_mode` — 이 결제가 사용한 모드.
47
+ - `PaymentDetail.payment_mode` — 결제 조회 응답에 모드 포함.
48
+ - `ListPaymentsOptions.mode` — 결제 목록을 모드로 필터(테스트 결제를 걸러 실매출만 보기).
49
+
50
+ 기존 코드는 변경 없이 동작한다 — 필드를 지정하지 않으면 콘솔에 설정된 프로바이더 모드를 따른다.
51
+
6
52
  ## [4.0.0] - 2026-07-23
7
53
 
8
54
  ### Changed — ⚠️ BREAKING: MoR 결제 필드 프로바이더 중립화 + Dodo Payments 지원