KINDNICK bedbb1e9ec
Some checks failed
CI / test (push) Has been cancelled
Initial release v2.2.0
핵심 기능:
- 단축근무·표준·반일 등 다양한 근무 패턴 (5개 프리셋 + 사용자 정의)
- Windows 이벤트 뷰어 자동 출퇴근 감지
- 30분 단위 연장근무 적립/사용 시스템
- 1.0/0.5/0.25일 연차·반차·반반차
- 자동 점심·저녁·외출·자동 백업·화면 잠금 자동 외출
- 한국 공휴일 자동 등록 (음력 포함, holidays 패키지)
- matplotlib 차트 기반 주간/월간/패턴 통계
- 미니 위젯 + 시스템 트레이 통합
- 한국어/English i18n
- 자가 업데이트 (updater.exe + Gitea Releases)

아키텍처:
- core/ (db, time_calculator, notifier, i18n, version, settings_keys)
- ui/ (main_window + 9 dialogs + 3 controllers)
- utils/ (backup, lock_detector, debug_log, updater_client, time_format)
- tests/ (66 pytest 단위) + 통합/i18n GUI 검증

CI/CD:
- .gitea/workflows/ci.yml: push 시 pytest + 통합 테스트
- .gitea/workflows/release.yml: v* 태그 push 시 두 .exe 자동 빌드 + Releases 첨부

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-30 12:54:40 +09:00

3.4 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog.

[2.2.0] — 2026-04-30

Added

  • 자동 업데이트 — Gitea Releases 기반
    • 시작 5초 후 백그라운드 버전 체크 (silent)
    • F5 또는 설정 → 데이터 관리 → "업데이트 확인" 버튼으로 수동 트리거
    • 새 버전 발견 시 다운로드 → updater.exe가 메인 종료 대기 → 파일 교체 → 재시작
    • 실패 시 .bak 자동 롤백
  • core/version.py__version__ 상수
  • updater.py + updater.spec — 독립 자가 업데이터 (Python 표준 라이브러리만, 6MB)
  • utils/updater_client.py — Gitea/GitHub 호환 Releases API 클라이언트
  • Gitea Actions 워크플로.gitea/workflows/{ci,release}.yml
    • v* 태그 push 시 두 .exe 자동 빌드 + Releases 첨부 + ZIP 패키징

Changed

  • Settings → 데이터 관리에 "버전 표시 + 업데이트 확인" 추가
  • main.spec datas에 안내 주석 (updater.exe는 별도 배포)

[2.1.0] — 2026-04-29

Removed

  • Claude AI 분석 기능 제거 — 외부 API 의존성 정리
  • 로컬 HTTP API 제거 — 외부 위젯 연동 기능 미사용으로 정리
  • pandas 의존성 제거 — 코드에서 미사용 (PyInstaller 빌드 사이즈 감소)

Added

  • 첫 잠금 해제 = 출근 옵션 (clock_in_on_unlock) — PC를 안 끄는 사용자 케이스 해결
  • WAL 모드 + busy timeout — 클라우드 동기화 환경에서 다중 PC 동시 접근 안전성↑
  • MainWindow 컨트롤러 분리LockMonitor / AutoLunchManager / NotificationOrchestrator
  • update_display 변화 감지 — 직전 값과 동일 시 setText 스킵 (1Hz hot-path 부하↓)
  • 언어 변경 시 자동 재시작 제안 — 사용자 동의 후 os.execv로 재시작
  • CHANGELOG.md + GitHub Actions CI 추가

Changed

  • 5분 throttle 알림 (건강/주간/누적) _last_5min_bucket 명시 가드
  • PyInstaller excludespandas, numpy.testing, PyQt5.QtWebEngineWidgets 추가

[2.0.0] — 2026-04-29

Added

  • 단축근무 지원: work_minutes(분 단위) + 5종 프리셋 (8h / 7h30m / 7h / 6h / 4h)
  • 자동 점심시간 적용 (출근 4h 경과)
  • DB 자동 백업 (~/.clockout_backups/, 7일 회전, SQLite backup API)
  • 화면 잠금 자동 외출/복귀
  • 공휴일 자동 등록 (holidays 패키지, 음력 명절 포함)
  • 시스템 트레이 완전 통합 (점심/외출/통계/캘린더/도움말)
  • 미니 위젯 (Always-on-top, 드래그 가능)
  • matplotlib 차트 (일별/요일별 근무시간)
  • 건강·주간·누적 알림 (3종 추가)
  • i18n 인프라 (한국어/English, 28 카테고리, HelpView ko/en HTML)
  • 설정 키 상수 모듈 (core/settings_keys.py)
  • DB 경로 override (클라우드 동기화 폴더 지정 가능)
  • 앱 단축키 7종 (Ctrl+O/L/D/B, F1, Ctrl+R, Ctrl+,)
  • 사용 설명 가이드 (HelpView, 6 탭)
  • 48 통합 시나리오 + 5 i18n GUI + 8 widget smoke 테스트

Fixed

  • +29h remaining time bugbreak_minutes에서 overtime 차감하던 로직 수정
  • annual_leave_total / annual_leave_days 키 불일치 — 양방향 자동 동기화

[1.0.0] — 2026-01-09

  • 최초 릴리스: 자동 출퇴근 / 점심 관리 / 30분 단위 연장근무 적립 / 캘린더 / 통계