docs(release): record the v1.6.0 publish
Some checks failed
deploy-site / deploy (push) Failing after 28s

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.
This commit is contained in:
Yun Chan 2026-09-24 20:12:04 +09:00
parent 2fe20fa7b5
commit db8d9448a3
3 changed files with 29 additions and 7 deletions

View file

@ -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"
]
}
}

View file

@ -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 서명 파이프라인 대신 **무서명 로컬 게시**로 내보냈다.

View file

@ -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 완료.