From db8d9448a38c670ceca1cea383bb70e518538da7 Mon Sep 17 00:00:00 2001 From: Yun Chan Date: Thu, 24 Sep 2026 20:12:04 +0900 Subject: [PATCH] docs(release): record the v1.6.0 publish Notes the canonical feed, runtime and portable aliases serving 1.6.0 with the installer hash verified, the site reporting commit 2fe20fa / 1.6.0, the new minimum-runtime rule that spares 1.5.0 engines a re-download, and the local packaging trap where a Node-ABI better-sqlite3 ships an installer without a database. --- bucket/d3ro-voice.json | 8 ++++---- docs/deployment/release-guide.md | 21 ++++++++++++++++++--- memory/project_status.md | 7 +++++++ 3 files changed, 29 insertions(+), 7 deletions(-) diff --git a/bucket/d3ro-voice.json b/bucket/d3ro-voice.json index 115b1ed..31baa71 100644 --- a/bucket/d3ro-voice.json +++ b/bucket/d3ro-voice.json @@ -1,15 +1,15 @@ { - "version": "1.5.0", + "version": "1.6.0", "description": "로컬 AI 음성 어시스턴트 (faster-whisper + Ollama, 100% 오프라인 지원)", "homepage": "https://d3ro.chanpaca.net", "license": "MIT", "architecture": { "64bit": { "url": [ - "https://git.chanpaca.net/api/packages/yunchan/generic/d3ro-voice/portable-1.5.0/D3RO-Voice-1.5.0-x64-portable.7z.001" + "https://git.chanpaca.net/api/packages/yunchan/generic/d3ro-voice/portable-1.6.0/D3RO-Voice-1.6.0-x64-portable.7z.001" ], "hash": [ - "7e028887e1f2f9fc1204b53256e909fd3eda5a356ed86362c34b80424bf88c90" + "4cd454362ef85d69c52ce086df97fe673ba50e634d58f2be5e2ccd3d7c8c9830" ] } }, @@ -27,7 +27,7 @@ "architecture": { "64bit": { "url": [ - "https://git.chanpaca.net/api/packages/yunchan/generic/d3ro-voice/portable-$version/D3RO-Voice-1.5.0-x64-portable.7z.001" + "https://git.chanpaca.net/api/packages/yunchan/generic/d3ro-voice/portable-$version/D3RO-Voice-1.6.0-x64-portable.7z.001" ] } } diff --git a/docs/deployment/release-guide.md b/docs/deployment/release-guide.md index 823d5fe..2fa3e6d 100644 --- a/docs/deployment/release-guide.md +++ b/docs/deployment/release-guide.md @@ -6,7 +6,7 @@ | 항목 | 정본 | 현재 판정 | |---|---|---| -| 제품 버전 | `release/product-version.json`: `1.5.0` | source SSOT 확정 | +| 제품 버전 | `release/product-version.json`: `1.6.0` | source SSOT 확정 | | Android | versionCode `1030001` | production AAB 미생성 | | iOS | build `1030001` | production archive 미검증 | | Android upload key | alias `d3ro-upload-20260821`, cert SHA-256 `4F:AC:69:24:...:15:2B:54` | external PKCS12·user-only ACL·Credential Manager·private-key readback GREEN; CI secret·복구 백업·AAB signer 대조 대기 | @@ -17,9 +17,9 @@ | AdMob | app `ca-app-pub-1039714767792854~6427959892`; banner `/9840591290`; rewarded `/2255790918` | SSOT 확정. `검토 필요`·`광고 게재 제한`·store 미연결·결제 프로필 미완료 | | updater feed (canonical) | `https://git.chanpaca.net/api/packages/yunchan/generic/d3ro-voice/latest` | Forgejo Generic Registry. GitLab project 1172은 legacy mirror | | release notes | `CHANGELOG.md` `## [1.5.0]` + Play changelog `1050000.txt` (ko/en) | 태그 전 확정·검증 필수 | -| 직전 게시본 | Forgejo Generic Registry `1.5.0` (2026-09-23 게시, unsigned installer + runtime/portable) | `v1.2.0`·`v1.3.0` 파이프라인은 서명/사이드카 선행 조건에서 실패했고 `v1.4.0`은 게시되지 않았다. `1.3.2`·`1.3.7`·`1.5.0`은 무서명 로컬 게시 경로(GAP-REL-06)를 사용했다 | +| 직전 게시본 | Forgejo Generic Registry `1.6.0` (2026-09-24 게시, unsigned installer + runtime/portable) | `v1.2.0`·`v1.3.0` 파이프라인은 서명/사이드카 선행 조건에서 실패했고 `v1.4.0`은 게시되지 않았다. `1.3.2`·`1.3.7`·`1.5.0`·`1.6.0`은 무서명 로컬 게시 경로(GAP-REL-06)를 사용했다 | -live canonical feed(`git.chanpaca.net/.../d3ro-voice/latest`)의 `latest.yml`은 현재 `1.5.0`을 보고한다(2026-09-23 무서명 로컬 게시). `runtime-latest/runtime.json`과 `portable-latest/portable.json`도 `1.5.0`이다. 서명 인증서를 확보하면 이보다 높은 버전을 서명 게시해 대체한다. +live canonical feed(`git.chanpaca.net/.../d3ro-voice/latest`)의 `latest.yml`은 현재 `1.6.0`을 보고한다(2026-09-24 무서명 로컬 게시). `runtime-latest/runtime.json`과 `portable-latest/portable.json`도 `1.6.0`이다. 서명 인증서를 확보하면 이보다 높은 버전을 서명 게시해 대체한다. ## desktop 릴리스 파이프라인 @@ -110,6 +110,21 @@ https://gitlab.twentyoz.kr:8443/api/v4/projects/1172/packages/generic/d3ro-voice - **회수(rollback)**: `stagingPercentage`를 낮추거나 `killSwitch`를 켠다. 이미 배포된 버전은 되돌리지 않고 더 높은 patch로 forward-fix한다. +## `1.6.0` 릴리스 기록 (2026-09-24) + +1.5.0과 같은 **무서명 로컬 게시** 경로. + +1. `release/product-version.json` → `1.6.0`(android/iOS `1060000`, 2026-09-24), `CHANGELOG.md` `## [1.6.0]`, Play 변경 기록 `1060000.txt`(ko-KR/en-US). `version:sync` → `version:check` GREEN. +2. 게이트 GREEN: `version:check`, `release:metadata`, `security:secrets`, `check:design`(0), `lint`, 전 워크스페이스 `typecheck`, 데스크톱 빌드, `check:desktop-renderer`(7 pages). 데스크톱 테스트(Node ABI 구성) 1,504 pass / 2 fail — 실패 2건은 환경 의존 기존 항목(RAG 임베딩, 캡션 타임아웃; `test_env_traps`). 코어 131/131. +3. 커밋 `2fe20fa` → `npm run release:tag` → annotated `v1.6.0` → `chanpaca`·`origin` main+tag push. +4. 런타임/포터블: `sidecar:build`(새 PyInstaller 빌드, `apps/desktop/sidecar-dist`) → `release:portable:build` → `release:portable`. `runtime-latest/runtime.json`·`portable-latest/portable.json` = `1.6.0`. +5. 업데이터: `release:updater -- --build --ack-unsigned`. `D3RO-Voice-Setup-1.6.0-x64.exe` 95,628,392 bytes, `latest.yml` 1.6.0, sha512 로컬 일치, 익명 206. +6. 사이트: 로컬 wrangler 배포, `release-identity.json` = commit `2fe20fa` / 1.6.0. +7. 런타임 호환: 앱은 사이드카 **최소 버전 1.5.0**(`RUNTIME_MIN_VERSION`)만 요구한다. 이미 1.5.0 이상 엔진을 가진 설치는 1.6.0 업데이트 때 엔진을 다시 받지 않고, 1.5.0 이전 엔진(마커 없음)만 한 번 다시 받는다. +8. **로컬 설치 파일 함정:** `better-sqlite3`가 Node ABI인 상태로 포장하면 설치본이 DB 없이 뜬다. 포장 전에 Electron ABI(130)인지 `new Database(':memory:')`로 확인한다(`test_env_traps`). +9. 남은 게이트: 실제 설치본 자동 업데이트 E2E(1.5.0 → 1.6.0), 스트리밍 자막(1.7.0 예정). + + ## `1.5.0` 릴리스 기록 (2026-09-23) 서명 인증서가 없는 상태라 CI 서명 파이프라인 대신 **무서명 로컬 게시**로 내보냈다. diff --git a/memory/project_status.md b/memory/project_status.md index a071ce6..5c9d749 100644 --- a/memory/project_status.md +++ b/memory/project_status.md @@ -1,5 +1,12 @@ # D3RO-VOICE 프로젝트 현황 +## v1.6.0 릴리스 완료 (2026-09-24) + +- 버전 SSOT `1.6.0`(android/iOS `1060000`). 커밋 `2fe20fa`, annotated `v1.6.0`, `chanpaca`·`origin` main+tag push. +- 내용: 다음 문장 제안 순차 생성 최대 12개·3개씩 페이지(Ctrl+Alt+↑↓/←→/Enter, Esc), 오버레이 재설계, 개인 문구 코퍼스 학습 제외(터미널·에디터·Agent Switchboard·비문장·플레이스홀더) + 기존 데이터 정리, 제안 단축키→받아쓰기 오작동 수정, 사이드카 최소 버전 1.5.0 재다운로드, Ollama 러너 콘솔 창·사이드카 이중 기동 수정, 자막 창 드래그 이동·준비 안내. +- 무서명 로컬 게시: runtime/portable 1.6.0, `latest.yml` 1.6.0(95,628,392 bytes, sha512 일치, 익명 206), 사이트 release-identity = `2fe20fa`/1.6.0. +- 다음: 스트리밍 자막(1.7.0) — 1초 주기 롤링 인식 + LocalAgreement 확정 + 무음 시 문장 마감 + gemma 문맥 다듬기, large-v3-turbo 권장, Qwen3-ASR 실험. + ## v1.5.0 릴리스 완료 (2026-09-23) 🚀 - 버전 SSOT `1.5.0`(android/iOS `1050000`, releaseDate 2026-09-23). annotated 태그 `v1.5.0` 생성 후 `chanpaca`(canonical)와 `origin`(legacy mirror) main+tag push 완료.