release: ship v1.8.0 with knowledge, recording and settings sync
Some checks failed
ci / 정본·보안·린트·타입·테스트 (push) Successful in 54s
ci / 모바일 린트·타입·Jest (push) Successful in 42s
ci / Supabase Edge Functions + Cloudflare Worker (push) Successful in 22s
ci / .NET API 서버 테스트 (push) Successful in 17s
deploy-site / deploy (push) Successful in 35s
ci / 워크스페이스 빌드 검증 (push) Successful in 37s
release / release-windows (push) Failing after 6m8s
portable-unsigned / portable-windows (push) Failing after 14m8s
Some checks failed
ci / 정본·보안·린트·타입·테스트 (push) Successful in 54s
ci / 모바일 린트·타입·Jest (push) Successful in 42s
ci / Supabase Edge Functions + Cloudflare Worker (push) Successful in 22s
ci / .NET API 서버 테스트 (push) Successful in 17s
deploy-site / deploy (push) Successful in 35s
ci / 워크스페이스 빌드 검증 (push) Successful in 37s
release / release-windows (push) Failing after 6m8s
portable-unsigned / portable-windows (push) Failing after 14m8s
Knowledge documents move between desktop, phone and web as source text and are indexed on each device; desktop recordings upload to the shared storage and any recording plays from the history card; language, theme, auto-polish and the active command follow the phone. Document text survives a missing embedding model so it can be indexed later. Bumps the product version to 1.8.0 (Android/iOS build 1080000).
This commit is contained in:
parent
8d6b166de5
commit
3f1fb8eed5
24 changed files with 64 additions and 43 deletions
19
CHANGELOG.md
19
CHANGELOG.md
|
|
@ -12,6 +12,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||
- Additional Whisper model management UI
|
||||
- Plugin system for custom pipelines
|
||||
|
||||
## [1.8.0] - 2026-09-27
|
||||
|
||||
> Published from an annotated tag. Installer and update metadata are served by the
|
||||
> canonical Forgejo feed; no binaries are committed to this repository.
|
||||
|
||||
### Added
|
||||
- **Knowledge base syncs with your phone.** Documents added on the desktop can be
|
||||
searched on the phone and web, and documents added there appear on the desktop and
|
||||
are indexed with the local model. Deleting one removes it everywhere.
|
||||
- **Recordings sync and play anywhere.** Desktop recordings are uploaded (up to 50 MB
|
||||
each, can be turned off in Settings > Cloud) so the phone can play them, and each
|
||||
history card has a play button that also plays recordings made on the phone.
|
||||
- **Shared settings.** Language (Korean/English), light/dark/system theme,
|
||||
auto-polish on or off and the active command follow the phone.
|
||||
|
||||
### Fixed
|
||||
- A document's text is kept even when the local embedding model is unavailable, so
|
||||
it can be indexed later without the original file.
|
||||
|
||||
## [1.7.0] - 2026-09-27
|
||||
|
||||
> Published from an annotated tag. Installer and update metadata are served by the
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
"info": {
|
||||
"title": "D3RO-VOICE Admin API",
|
||||
"description": "Admin CRM Edge Functions for user management, subscription CRUD, payment history, and audit logs.",
|
||||
"version": "1.7.0"
|
||||
"version": "1.8.0"
|
||||
},
|
||||
"servers": [
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@d3ro/admin",
|
||||
"version": "1.7.0",
|
||||
"version": "1.8.0",
|
||||
"private": true,
|
||||
"description": "D3RO Voice Admin CRM — SaaS 관리 도구",
|
||||
"scripts": {
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<Version>1.7.0</Version>
|
||||
<Version>1.8.0</Version>
|
||||
<Nullable>enable</Nullable>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
</PropertyGroup>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@d3ro/desktop",
|
||||
"version": "1.7.0",
|
||||
"version": "1.8.0",
|
||||
"productName": "d3ro-voice",
|
||||
"description": "로컬 AI 음성 어시스턴트 (Electron)",
|
||||
"main": "./out/main/index.js",
|
||||
|
|
|
|||
|
|
@ -151,8 +151,8 @@ def versionSettingsValid = configuredVersionName != null &&
|
|||
configuredVersionName ==~ strictSemver &&
|
||||
configuredVersionCodeValue != null &&
|
||||
configuredVersionCodeValue <= 2100000000L
|
||||
def resolvedVersionName = versionSettingsValid ? configuredVersionName : "1.7.0"
|
||||
def resolvedVersionCode = versionSettingsValid ? configuredVersionCodeValue.toInteger() : 1070000
|
||||
def resolvedVersionName = versionSettingsValid ? configuredVersionName : "1.8.0"
|
||||
def resolvedVersionCode = versionSettingsValid ? configuredVersionCodeValue.toInteger() : 1080000
|
||||
|
||||
def requiredReleaseSettings = [
|
||||
D3RO_RELEASE_STORE_FILE: releaseStoreFilePath,
|
||||
|
|
|
|||
|
|
@ -257,7 +257,7 @@
|
|||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CURRENT_PROJECT_VERSION = 1070000;
|
||||
CURRENT_PROJECT_VERSION = 1080000;
|
||||
ENABLE_BITCODE = NO;
|
||||
INFOPLIST_FILE = D3ROVoice/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 15.1;
|
||||
|
|
@ -265,7 +265,7 @@
|
|||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 1.7.0;
|
||||
MARKETING_VERSION = 1.8.0;
|
||||
OTHER_LDFLAGS = (
|
||||
"$(inherited)",
|
||||
"-ObjC",
|
||||
|
|
@ -287,14 +287,14 @@
|
|||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CURRENT_PROJECT_VERSION = 1070000;
|
||||
CURRENT_PROJECT_VERSION = 1080000;
|
||||
INFOPLIST_FILE = D3ROVoice/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 15.1;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 1.7.0;
|
||||
MARKETING_VERSION = 1.8.0;
|
||||
OTHER_LDFLAGS = (
|
||||
"$(inherited)",
|
||||
"-ObjC",
|
||||
|
|
|
|||
|
|
@ -0,0 +1 @@
|
|||
Knowledge documents and recordings from the desktop app now show up on your phone, and language, theme and auto-polish settings stay in step with the desktop.
|
||||
|
|
@ -0,0 +1 @@
|
|||
데스크톱 앱에서 추가한 지식 문서와 녹음을 휴대폰에서도 보고 들을 수 있습니다. 언어·테마·자동 다듬기 설정도 데스크톱과 함께 맞춰집니다.
|
||||
14
apps/mobile-rn/package-lock.json
generated
14
apps/mobile-rn/package-lock.json
generated
|
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"name": "@d3ro/mobile-rn",
|
||||
"version": "1.7.0",
|
||||
"version": "1.8.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@d3ro/mobile-rn",
|
||||
"version": "1.7.0",
|
||||
"version": "1.8.0",
|
||||
"dependencies": {
|
||||
"@d3ro/api-client": "file:../../packages/api-client",
|
||||
"@d3ro/core": "file:../../packages/core",
|
||||
|
|
@ -62,7 +62,7 @@
|
|||
},
|
||||
"../..": {
|
||||
"name": "d3ro-voice-monorepo",
|
||||
"version": "1.7.0",
|
||||
"version": "1.8.0",
|
||||
"license": "MIT",
|
||||
"workspaces": [
|
||||
"apps/desktop",
|
||||
|
|
@ -81,7 +81,7 @@
|
|||
},
|
||||
"../../packages/api-client": {
|
||||
"name": "@d3ro/api-client",
|
||||
"version": "1.7.0",
|
||||
"version": "1.8.0",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@d3ro/core": "*",
|
||||
|
|
@ -98,7 +98,7 @@
|
|||
},
|
||||
"../../packages/core": {
|
||||
"name": "@d3ro/core",
|
||||
"version": "1.7.0",
|
||||
"version": "1.8.0",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"docx": "^9.6.1"
|
||||
|
|
@ -109,7 +109,7 @@
|
|||
},
|
||||
"../../packages/i18n": {
|
||||
"name": "@d3ro/i18n",
|
||||
"version": "1.7.0",
|
||||
"version": "1.8.0",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"@types/react": "^19.0.0"
|
||||
|
|
@ -120,7 +120,7 @@
|
|||
},
|
||||
"../../packages/ui-native": {
|
||||
"name": "@d3ro/ui-native",
|
||||
"version": "1.7.0",
|
||||
"version": "1.8.0",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"@types/react": "*"
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@d3ro/mobile-rn",
|
||||
"version": "1.7.0",
|
||||
"version": "1.8.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"android": "react-native run-android",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@d3ro/web",
|
||||
"version": "1.7.0",
|
||||
"version": "1.8.0",
|
||||
"private": true,
|
||||
"description": "D3RO Voice 웹 앱 — Next.js 기반 SaaS 인터페이스",
|
||||
"scripts": {
|
||||
|
|
|
|||
|
|
@ -139,7 +139,7 @@ export function Sidebar(): React.ReactElement {
|
|||
</PhosphorText>
|
||||
</Box>
|
||||
<Box sx={{ fontSize: '10px', fontFamily: 'ui-monospace, monospace', color: d3roPalette.text.muted }}>
|
||||
v1.7.0
|
||||
v1.8.0
|
||||
</Box>
|
||||
</Box>
|
||||
|
||||
|
|
|
|||
20
package-lock.json
generated
20
package-lock.json
generated
|
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"name": "d3ro-voice-monorepo",
|
||||
"version": "1.7.0",
|
||||
"version": "1.8.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "d3ro-voice-monorepo",
|
||||
"version": "1.7.0",
|
||||
"version": "1.8.0",
|
||||
"license": "MIT",
|
||||
"workspaces": [
|
||||
"apps/desktop",
|
||||
|
|
@ -25,7 +25,7 @@
|
|||
},
|
||||
"apps/admin": {
|
||||
"name": "@d3ro/admin",
|
||||
"version": "1.7.0",
|
||||
"version": "1.8.0",
|
||||
"dependencies": {
|
||||
"@d3ro/api-client": "*",
|
||||
"@d3ro/core": "*",
|
||||
|
|
@ -109,7 +109,7 @@
|
|||
},
|
||||
"apps/desktop": {
|
||||
"name": "@d3ro/desktop",
|
||||
"version": "1.7.0",
|
||||
"version": "1.8.0",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@d3ro/core": "*",
|
||||
|
|
@ -161,7 +161,7 @@
|
|||
},
|
||||
"apps/web": {
|
||||
"name": "@d3ro/web",
|
||||
"version": "1.7.0",
|
||||
"version": "1.8.0",
|
||||
"dependencies": {
|
||||
"@d3ro/api-client": "*",
|
||||
"@d3ro/core": "*",
|
||||
|
|
@ -17216,7 +17216,7 @@
|
|||
},
|
||||
"packages/api-client": {
|
||||
"name": "@d3ro/api-client",
|
||||
"version": "1.7.0",
|
||||
"version": "1.8.0",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@d3ro/core": "*",
|
||||
|
|
@ -17233,7 +17233,7 @@
|
|||
},
|
||||
"packages/core": {
|
||||
"name": "@d3ro/core",
|
||||
"version": "1.7.0",
|
||||
"version": "1.8.0",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"docx": "^9.6.1"
|
||||
|
|
@ -17244,7 +17244,7 @@
|
|||
},
|
||||
"packages/i18n": {
|
||||
"name": "@d3ro/i18n",
|
||||
"version": "1.7.0",
|
||||
"version": "1.8.0",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"@types/react": "^19.0.0"
|
||||
|
|
@ -17255,7 +17255,7 @@
|
|||
},
|
||||
"packages/ui": {
|
||||
"name": "@d3ro/ui",
|
||||
"version": "1.7.0",
|
||||
"version": "1.8.0",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@d3ro/core": "*"
|
||||
|
|
@ -17275,7 +17275,7 @@
|
|||
},
|
||||
"packages/ui-native": {
|
||||
"name": "@d3ro/ui-native",
|
||||
"version": "1.7.0",
|
||||
"version": "1.8.0",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"@types/react": "*"
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "d3ro-voice-monorepo",
|
||||
"version": "1.7.0",
|
||||
"version": "1.8.0",
|
||||
"private": true,
|
||||
"description": "D3RO Voice — 멀티플랫폼 AI 음성 어시스턴트 (Monorepo)",
|
||||
"author": "D3RO",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@d3ro/api-client",
|
||||
"version": "1.7.0",
|
||||
"version": "1.8.0",
|
||||
"private": true,
|
||||
"description": "D3RO Voice API 클라이언트 — Supabase 래퍼 (web/desktop/mobile 공유)",
|
||||
"license": "MIT",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@d3ro/core",
|
||||
"version": "1.7.0",
|
||||
"version": "1.8.0",
|
||||
"private": true,
|
||||
"description": "D3RO Voice 공유 비즈니스 로직 — 타입, 에러, IPC 채널, 상수, 유틸",
|
||||
"license": "MIT",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@d3ro/i18n",
|
||||
"version": "1.7.0",
|
||||
"version": "1.8.0",
|
||||
"private": true,
|
||||
"description": "D3RO Voice 공유 i18n — 12개 locale, 타입 안전 키, Context, 포맷 유틸",
|
||||
"license": "MIT",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@d3ro/ui-native",
|
||||
"version": "1.7.0",
|
||||
"version": "1.8.0",
|
||||
"private": true,
|
||||
"description": "D3RO Voice React Native DS — MetalCard/PhosphorText/Led/WaveBars etc.",
|
||||
"license": "MIT",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@d3ro/ui",
|
||||
"version": "1.7.0",
|
||||
"version": "1.8.0",
|
||||
"private": true,
|
||||
"description": "D3RO Voice 공유 UI — 디자인 시스템 컴포넌트 + 테마 토큰 + CSS 변수 맵",
|
||||
"license": "MIT",
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
{
|
||||
"schemaVersion": 1,
|
||||
"version": "1.7.0",
|
||||
"androidVersionCode": 1070000,
|
||||
"iosBuildNumber": 1070000,
|
||||
"version": "1.8.0",
|
||||
"androidVersionCode": 1080000,
|
||||
"iosBuildNumber": 1080000,
|
||||
"releaseDate": "2026-09-27",
|
||||
"desktopLicensePublicKeyId": "5c52b765135ee2531c681b53cd4dc0e96fff8737f496c0b04ba8334fc81a887f"
|
||||
}
|
||||
|
|
|
|||
4
site/package-lock.json
generated
4
site/package-lock.json
generated
|
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"name": "d3ro-voice-site",
|
||||
"version": "1.7.0",
|
||||
"version": "1.8.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "d3ro-voice-site",
|
||||
"version": "1.7.0",
|
||||
"version": "1.8.0",
|
||||
"dependencies": {
|
||||
"react": "^19.0.0",
|
||||
"react-dom": "^19.0.0"
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "d3ro-voice-site",
|
||||
"private": true,
|
||||
"version": "1.7.0",
|
||||
"version": "1.8.0",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite --port 5199 --host",
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
// NAS 배포는 바이너리를 포함하지 않으므로 `/releases/...` 같은 로컬 경로는
|
||||
// 실제 배포 환경에서 404가 된다.
|
||||
|
||||
export const DESKTOP_VERSION = '1.7.0'
|
||||
export const DESKTOP_VERSION = '1.8.0'
|
||||
|
||||
/** 릴리스 게시일. `release/product-version.json`의 releaseDate와 같아야 한다. */
|
||||
export const DESKTOP_RELEASE_DATE = '2026-09-27'
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue