Skip to content

v2.0.0

Choose a tag to compare

@JEONG-J JEONG-J released this 31 May 16:32
· 342 commits to develop since this release

🚀 What's New in 2.0.0

UMC 운영 관리 앱의 첫 메이저 릴리즈입니다. 온디바이스 AI, 소셜 로그인 확장, 일정/출석 전면 개편(Schedule V2), 운영진 공지 체계, 원격 킬스위치, 시네마틱 진입 화면, 그리고 대규모 Tuist 모듈화까지 — 운영 흐름 전반을 새로 설계했습니다.

✨ 하이라이트

  • 온디바이스 AI (Apple Intelligence) — 일정 자동완성 · 공지 초안/요약
  • 로그인 확장 — ID/PW · Google · Apple · 비밀번호 찾기/변경
  • Schedule V2 — 일정·출석 시스템 전면 재구축
  • 운영진 공지(Staff Notice) — ROLE 기반 작성/조회 권한 체계
  • Firebase RemoteConfig 킬스위치 — 구버전 강제 점검/차단
  • chromaticLens 시네마틱 진입 화면
  • 대규모 Tuist 모듈화 — watchOS · Widget · 신규 Feature/Core 모듈

🤖 온디바이스 AI (Apple Intelligence)

  • 일정 생성 AI 자동완성@Generable 기반 자연어 추출 → 폼 프리필 (#841, #844)
  • 공지 초안 AI 요약 — 외부 텍스트 붙여넣기 → 제목/본문 자동 초안 (#842, #845)
  • 공지 읽기 AI 요약 신규 + 온디바이스 AI UX 개선 — 일정 AI 툴바화 · 공지 작성 AI 메뉴 통합 (#850)
  • AI 시트 UI 개선 — 공지 요약 마크다운 렌더링 · 일정 AI 자동완성 시트 레이아웃 개편 · 요약 글 잘림 방지 (#852, #853, #854)

🔐 인증 / 로그인

  • ID/PW 로그인 및 회원가입 추가 (#643, #647)
  • Google 소셜 로그인 연동 + 마이페이지 Google 연동/해제 (#828, #836)
  • Apple 로그인 Request에 clientType 필드 추가 (#712, #714)
  • 이메일 인증 purpose 분리 및 비밀번호 찾기 기능 구현 (#788, #796)
  • 비밀번호 변경 (PATCH /api/v1/auth/password) — 마이페이지 회원 관리 추가 (#832, #835)
  • 2.0.0 업데이트 시 키체인 초기화로 강제 재로그인 (#831, #834)
  • 게스트 모드 진입점 추가 (#609, #612) → 이후 게스트 모드 제거 및 termsId 타입 정리 (#636, #642)

📅 Schedule V2 (일정 / 출석 전면 개편)

  • Schedule V2 공통 인프라 구축 (#654, #675)
  • 일반 일정 Schedule V2 API 마이그레이션 (#655, #676)
  • 스터디 그룹 일정 생성 V2 마이그레이션 — 2단계 호출 + 본인 참여자 제외 (#656, #677)
  • 일정 생성/수정 화면 출석 정책 입력 UI 추가 (#657, #678)
  • 운영진 출석 현황 V2 API 마이그레이션 + 목록/상세 화면 추가 (#658, #679)
  • 스터디 일정 등록 화면 개선 — 참여자 자동 추가 + 출석 정책 prefill + 대면/비대면 토글 (#685)
  • 멤버 상세 출석 이력 — V2 일정 API 클라 필터링으로 복원 (#690, #708)
  • 출석 관리 V2 API 연결 및 에러 UX 개선
  • 출석 권한/UX 일관성 개선 (#789~#794, #795)
  • 출석 기록 보유 일정 FORCE_DELETE 플로우 지원 (SUPER_ADMIN) (#798)

📢 운영진 공지 (Staff Notice)

  • 운영진 공지 조회 화면 — noticeTab ROLE 기반 탭 분기 및 StaffNoticeView 분리 (#723, #725)
  • 운영진 공지 작성 지원 + targetNoticeTab/mustRead 필드 반영 (#724, #726)
  • 운영진 공지 작성 UI 진입점 및 카테고리 선택 완성 (#727, #728)
  • 파트장(SCHOOL_PART_LEADER) 운영진 공지 작성 권한 추가 (#729, #732)
  • 운영진 공지 권한 없음(403) 전용 안내 화면 추가 (#770)

📝 공지사항

  • 공지 에디터 리치 텍스트 구현 (#607)
  • 공지사항 상세 vote 응답 신규 필드 반영 — status / totalParticipants / voteRate (#674)
  • 구성원 목록 페이지네이션 적용 — size 200 → 20 + 무한스크롤 (#774)

🛡️ 안정성 / 원격 운영

  • Firebase RemoteConfig 기반 원격 점검(킬스위치) 모드 — 구버전 앱 진입 차단 (#839, #851)

🏗️ 아키텍처 / Tuist 모듈화

  • CoreDesignSystem 모듈 이관 (#631, #633)
  • CoreNetwork JWT 인증 NetworkClient 도입 + 공통 응답/빌드 설정 통합 (#597, #630)
  • UMCFoundation 모듈 이관 — Loadable · ErrorHandler · Error 타입 8개 파일 (#602, #628)
  • watchOS Companion App + featureProject destinations 확장 (#627)
  • Widget Extension 타겟 + CoreWidgetShared 모듈 추가 (#625)
  • CoreNearbyExchange 인프라 모듈 추가 (#620, #624)
  • Badge Feature 모듈 추가 (#619, #623)
  • BusinessCard 피처 모듈 분리 및 의존성 연결 (#622)
  • Session 모델 + Attendance 잔여 모델 ActivityDomain 이관 (#629, #692)

🔄 V1 → V2 API 마이그레이션

  • 출석 도메인 V1 → V2 마이그레이션 (#686, #691)
  • Workbook V1 → V2 마이그레이션 (#687, #705)
  • Schedule V1 잔여 path 제거 + 운영진 출석 빈 상태 V2 준비 안내로 교체 (#688, #706)
  • Study V1 API 마이그레이션 — getStudyGroupNames /managed 대체 + curriculum weeks / workbook submissions 제거 (#713)
  • Attendance V1 pending 잔여 코드 제거 (V2 대체 완료)
  • 공지사항 투표 응답 API 엔드포인트(noticeId 기반) 마이그레이션 (#673)
  • 내 스터디 그룹 목록 API 엔드포인트 변경 및 createdAt 필드 추가 (#672)
  • 일정 등록 태그 STUDY 제거 (#682, #701)
  • 커리큘럼 v2 overview 단일 호출로 마이그레이션 및 챌린저 워크북 제출 흐름 제거 (#644, #649)
  • 스터디 그룹 Command API 정합화 (#645, #650)

🎬 디자인 / UI

  • chromaticLens 시네마틱 진입 화면 + 한 화면 morph 로그인 인계 (#819) — 살아있는 빛 + 로고 reveal (#826, #827)
  • 로그인 화면 2분할 리뉴얼 + 인라인 가이드/진입 흐름 정비 (#711, #716)
  • ID/PW 로그인 화면 회원가입 링크를 자동로그인 행으로 이동 (#717)
  • ID/PW 로그인 버튼 Liquid Glass 적용 (#829, #833)
  • 운영진 스터디 관리 카드 Liquid Glass 반영 · 출석 지도 주소 마퀴 깜빡임 수정 (#818, #830)
  • 스터디/출석 관리 권한 없음 화면에 역할별 가이드 추가
  • 구성원 상세 시트 레이아웃 및 Glass 효과 개선
  • Schedule V2 화면 UI 개선 (#659, #684)
  • 운영진 공지 권한 안내 화면 UX 보정 (#770 후속, #771)
  • 일정 추가 화면 '출석 체크' 섹션 헤더 제거 (#776)

🧹 코드 품질 / 컨벤션

  • 라우터 인라인 파라미터 딕셔너리 → DTO 이관 + queryItems → toParameters 네이밍 통일 (#681, #683)
  • Response DTO Int 디코딩에 String 폴백 추가 + 컨벤션 문서화 (#702, #680)
  • AppFont Emphasis 변형 제거 및 weight 파라미터 명시화 (#635)
  • PointType/ChallengerPointType 백엔드 18-case 동기화 + 미지값 fallback (#699, #709)
  • 서버 미지원 mustRead / targetNoticeTab 필드 전체 제거 (#731, #733)
  • ErrorHandler/AlertPrompt UMCFoundation 보완 + AppProduct 에러 핸들링 일관성 정리

🛠️ 내부 도구 (Stella)

  • API Coverage 도구를 Stella로 리브랜딩 및 레포 루트로 이동 (#638)
  • Stella 엔드포인트 화면 레이아웃 + 컬럼 폭 조절 (#641)
  • 담당자 편집을 authors.yml / owners.yml 과 자동 동기화 + 테스트 토큰 발급/응답 예시 렌더링

🐛 버그 수정 (Bug Fixes)

  • 서버 권한 보고서 기준 공지 작성/조회 권한 전면 수정 (#734~#738, #739)
  • 공지 작성 권한 — 서버 권한 보고서 대비 3건 정렬 (#768, #769)
  • 운영진 공지 목록 gisuId 누락으로 API 호출 실패 수정
  • 운영진 공지 작성 시 targetGisuId 0 하드코딩 제거 (#759, #762)
  • 운영진 공지 작성 시 targetNoticeTab 필드 추가 (#758, #761)
  • 지부장 운영진 공지 탭 가시성 수정 (#760, #763)
  • 학교 회장 공지 작성 시 schoolCore 서브타이틀 잘못 표시 수정 (#757, #764)
  • 로그아웃 시 AppStorage 세션 정보 초기화 (#766, #767)
  • 카카오톡 미설치 시 문의하기 버튼 웹 폴백 (#639)
  • 홈 상벌점 카드 기수 스와이프 시 도넛 차트 잘림 수정 (#837, #838)
  • 소셜 연동 라벨 · 스터디 푸터 제거 · 댓글 로딩 정렬 일괄 수정 (#846, #848, #849, #855)
  • 공지 AI 요약 한 줄 붕괴/잘림 수정 (네이티브 마크다운 Text) + 시트 기본 높이 medium (#854)
  • 일정 생성 API 응답 String → Int 디코딩 오류 수정
  • 챌린저 모드 구성원 목록 무한스크롤 누락 (#777, #779)
  • 활동 출석 체크 운영진 모드 NavigationRouter 누락 크래시 수정 (#778, #780)
  • 일정 생성 시 불필요한 출석 확인 다이얼로그 제거 (#777, #781)
  • 구성원 상세 시트 UI 깨짐 수정 및 미사용 출석 섹션 제거 (#786)
  • 스플래시 로고 텍스트 오타 수정 (Makeus → MakeUs) (#782, #785)
  • 회원가입 전체 동의 버튼 체크 애니메이션 불일치 수정 (#783, #784)
  • 서버 에러 응답의 result 메시지를 UI에 표시하도록 개선
  • 인라인 에러 뷰를 일반 문구로 복원하여 Alert과 메시지 중복 제거
  • InPersonToggle 중복 선언 및 AttendanceStatus MainActor 격리 경고 해결
  • sessionScopedKeys nonisolated 표시하여 actor 격리 오류 제거

Full Changelog: v1.8.0...v2.0.0