Releases: jeiel85/localpdf-studio-desktop
Releases · jeiel85/localpdf-studio-desktop
Release list
v0.18.0
macOS Gatekeeper 우회 가이드 보강, 패키지 매니저(winget, Chocolatey, Snap Store, AUR) 외부 배포 마무리 진행.
Added
- macOS Gatekeeper 우회 가이드 보강:
INSTALL.md, 랜딩 페이지index.html,en.html,ja.html에xattr -cr일괄 적용하여 재귀적으로 확장 속성을 제거하여 무서명 빌드 실행을 확실히 보장하도록 개선. - Chocolatey v0.17.2
.nupkg를 community repository에 push 완료. 현재 Chocolatey automated checks/human moderation 대기. scripts/linux/publish-snap.sh: Snap Store 이름 예약, 빌드, upload/release를 옵션 기반으로 자동화.scripts/linux/publish-aur.sh: AUR SSH 확인, repo clone,.SRCINFO생성,makepkg -si, commit/push 흐름 자동화.scripts/windows/verify-version-metadata.ps1: 릴리즈 태그와package.json,Cargo.toml,tauri.conf.json,CHANGELOG.md버전 일치 여부 검증.
Changed
- 앱 메타데이터 버전을
0.18.0으로 동기화하여 v0.18.0 문서/릴리즈 기록과 실제 빌드 버전을 일치시킴. - CI와 release workflow에서 버전 검증 대상을
Cargo.toml과CHANGELOG.md까지 확장. AGENTS.md의 Main Branch와 Version Files를 실제master브랜치/lockfile 포함 기준으로 정정.- README와 랜딩 페이지의 외부 패키지 매니저 상태를 실제 확인 결과에 맞춰 "제출 완료/공식 반영 대기"로 명확화.
- macOS 빌드의 Apple Developer 자동 서명/공증 계획을 비용 문제로 제외하고 우회 가이드 중심으로 배포 전략 수립.
- AUR
PKGBUILD의.deb내부data.tar.gz해제 옵션을 gzip 포맷에 맞게 수정.
Verification
git diff --check: 통과.bash -n scripts/linux/publish-snap.sh,bash -n scripts/linux/publish-aur.sh: 통과.npm run typecheck: 통과.npm run test: 55/55 통과.npm run build: 통과.cargo test: 40/40 통과.scripts/windows/validate-winget-manifests.ps1: 통과.scripts/windows/publish-chocolatey.ps1 -SkipPush: 통과.scripts/windows/verify-release-assets.ps1 -Version 0.17.2 -RequireCrossPlatform: 통과.scripts/windows/verify-version-metadata.ps1 -Version 0.18.0: 통과.winget search --id jeiel85.LocalPDFStudio --exact --source winget: 현재 공식 소스는0.17.0노출, v0.17.2 PR 반영 대기 확인.choco search localpdf-studio --exact --source https://community.chocolatey.org/api/v2/: 현재 검색 미노출, moderation/검색 반영 대기 확인.npm run tauri:build: 프론트엔드 빌드, Rust release 빌드, NSIS/MSI 생성 완료 후 로컬TAURI_SIGNING_PRIVATE_KEY부재로 updater 서명 단계 실패.
v0.17.2
파일 command 안전성 보강, 패키지 제출 자동화, cross-platform 릴리즈 matrix 복구.
Added
scripts/windows/validate-winget-manifests.ps1: README가 섞인 디렉터리 검증 실패를 피하도록 YAML만 임시 디렉터리에 복사해winget validate실행.scripts/windows/submit-winget.ps1: GitHub token 또는WINGET_TOKEN으로wingetcreate submit자동 실행.scripts/windows/publish-chocolatey.ps1: Chocolatey.nupkg생성과CHOCO_API_KEY기반 push 자동화.scripts/windows/verify-release-assets.ps1: GitHub Release 필수 산출물과 SHA-256 digest 존재 여부 검증.docs/09_RELEASE_QA_CHECKLIST.md: 자동 검증, 릴리즈 산출물, 패키지 매니저 제출, 수동 QA 체크리스트 정리.
Security
save_text_file,save_binary_file을 직접fs::write대신 임시 파일 생성 후 교체하는 저장 경로로 통일.read_text_file_if_exists는.json/.txt만 허용하고 시스템 디렉터리 접근을 차단하도록 제한.delete_file_if_exists는 이미지 임시 파일과.txt/.json만 삭제할 수 있게 하여 보호 확장자 임의 삭제를 차단.
Changed
- 릴리즈 워크플로를 Windows/macOS/Linux build job + 단일 GitHub Release job 구조로 확장해 DMG, AppImage, deb, rpm 산출물 업로드를 복구.
- CI에 Vitest, Rust test, winget manifest 검증, Chocolatey package 생성 검증을 추가.
- 앱 버전을
0.17.2로 동기화.
Distribution
wingetcreate submit으로 v0.17.0 winget PR 제출 완료: microsoft/winget-pkgs#377207- Chocolatey v0.17.0
.nupkg생성 검증 완료. 실제 community push는 로컬/CI에CHOCO_API_KEY가 없어 보류.
Verification
npm run typecheck: 통과.npm run test: 55/55 통과.npm run build: 통과.cargo test: 40/40 통과.scripts/windows/validate-winget-manifests.ps1: 통과.scripts/windows/publish-chocolatey.ps1 -SkipPush: 통과.scripts/windows/verify-release-assets.ps1 -Version 0.17.0: 통과.
v0.17.0
오프라인 로컬 우선 PDF Fill & Sign 풀세트 (자유 스탬프 + 손글씨/이미지 서명 + AcroForm Flatten) 구현 완료.
Added — Fill & Sign 풀세트
- 자유 스탬프 도구 (
src/components/StampPageOverlay.tsx): 텍스트, ✓, ✕, ●, 날짜 5종 도구를 페이지 위 어디에든 클릭/드래그로 배치. 모서리 핸들 리사이즈, 드래그 이동, ✕ 삭제 버튼 및 unrotated 72dpi PDF Point 좌표 영속화로 줌·회전 변화에도 정확히 밀착. - 손글씨 서명 모달 (
src/components/SignatureDrawDialog.tsx): 마우스·스타일러스·터치 포인터 이벤트를 통합 지원하는 HTML5 캔버스 위에 자유 곡선 서명을 그리고 PNG dataURL로 반환. 펜 색·두께 조절, undo/clear 지원. - 이미지 서명 임포트 (
src/components/SignPanel.tsx): PNG/JPG 이미지 파일을 임포트하여 서명으로 등록. 흰 배경 자동 투명화 알고리즘 (removeWhiteBackgroundFromDataUrl, RGB 임계값 235 기반)으로 별도 편집 없이 깔끔하게 사용. - 서명 라이브러리 (
SignPanel.tsx): 그린 서명과 임포트한 서명을localStorage(localpdf.savedSignatures.v1키)에 영속 저장. 카드 미리보기, 사용 버튼, 삭제 지원. - Fill & Sign 저장 파이프라인 (
src/lib/fillSign.ts): pdf-libdrawText/drawImage로 스탬프를 페이지에 임베드한 뒤, 옵션에 따라form.flatten()으로 AcroForm 필드까지 평탄화하여 편집 불가능한 정적 PDF로 저장. - AcroForm 폼 평탄화 옵션 (
src/components/FormFillPanel.tsx): 기존 폼 저장 흐름에 "저장 시 폼 평탄화" 체크박스를 추가하여 한 번에 채우고 잠글 수 있게 함.
Added — UI/UX 확장
- 새 사이드바 탭
Fill & Sign(src/components/Sidebar.tsx): 도구 팔레트(텍스트/✓/✕/●/날짜/서명), 스타일 컨트롤(글자 크기, 색, 텍스트 내용), 서명 라이브러리, 배치된 항목 목록, 저장 영역을 단일 패널에 통합. - 다국어 리소스 확장 (
src/i18n/messages.ts): ko/en/ja에sign.*50여 개 키와ff.flatten*키 일괄 추가. - 스탬프 오버레이 스타일 (
src/styles.css): 선택 상태 강조, 호버 트랜지션, 모서리 리사이즈 핸들, 서명 라이브러리 카드, 도구 그리드, 서명 모달 백드롭/모달 패널 스타일.
Changed
package.json,package-lock.json,src-tauri/Cargo.toml,src-tauri/Cargo.lock,src-tauri/tauri.conf.json의 앱 버전을 v0.17.0으로 재동기화.
Verification
npm run typecheck: 통과 (TypeScript Zero-Error)npm run test: 전체 55/55 통과 (Vitest, Fill & Sign 신규 10개 케이스 포함)npm run build: 통과 (Vite production build)cargo check: 통과
v0.16.2
v0.16.1 태그 배포 중 발견된 태그/앱 버전 불일치를 바로잡고 릴리즈 검증을 강화.
Fixed
package.json,Cargo.toml,Cargo.lock,tauri.conf.json의 앱 버전을 v0.16.2로 재동기화.- 릴리즈 워크플로에 태그 버전과 앱 메타데이터 버전이 다르면 빌드 전에 실패하는 검증 단계를 추가.
Verification
- GitHub Actions tag build에서
npm run typecheck,npm run build,npm run tauri:build, updater signature, Portable ZIP,latest.json, GitHub Release 생성을 검증 예정.
LocalPDF Studio v0.16.0
See CHANGELOG.md for release notes.
Downloads
- Windows: NSIS installer (.exe), MSI installer, Portable ZIP
- macOS: Universal DMG (Apple Silicon + Intel).
⚠️ Unsigned — see INSTALL.md - Linux: AppImage, .deb, .rpm
Verify checksums before installing.
LocalPDF Studio v0.2.5
See CHANGELOG.md for release notes.
LocalPDF Studio v0.2.3
See CHANGELOG.md for release notes.