-
hanyul released this
2026-10-21 23:37:18 +09:00 5.17.0 주요 변경사항
버전 확인과 새 릴리스 안내(backend·web)
- 관리자
GET /api/health/release가 실행 중인 backend 이미지 버전과 이 저장소의 Forgejo 최신 release를 비교해current·latest(버전·release 페이지 링크·게시 시각)·updateAvailable·checkedAt·error를 반환합니다. 결과는 backend process에 성공 1시간·실패 5분 동안 두고?refresh=true로 바로 다시 확인하며, Forgejo 호출 실패는 마지막 성공 결과를 남긴 채error문구로 알립니다. 개발 빌드(local)는 새 버전 여부를 판단하지 않습니다. - 운영 관리
관찰그룹에 버전·릴리스 패널을 더했습니다. 접힌 제목에새 버전 x.y.z·x.y.z 최신·확인 실패를 요약하고, 펼치면 현재 버전·최신 릴리스·마지막 확인 시각과릴리스 페이지 열기(새 탭)·다시 확인을 둡니다. - 새 릴리스가 있으면 관리자 화면 오른쪽 아래(모바일은 하단 바)에 PWA 안내·알림 유도창과 같은 틀의 새 버전 안내가 뜹니다.
릴리스 보기는 release 페이지를 새 탭에 열고, 닫기는 그 버전을 이 브라우저에 기억해 더 새 릴리스가 나올 때만 다시 보입니다. 하단 안내 바는 PWA 안내 → 새 버전 안내 → 알림 유도창 순으로 하나만 보입니다.
화면(web·shared)
- 앱 아이콘(192·512·maskable)을 favicon과 같은 선화 캐릭터로 바꿨습니다(흰 바탕, maskable은 안전 영역 여백). 내비게이션 로고도 같은 아이콘을 씁니다.
- 설정의
읽기 방향을 페이지 읽기 방향으로 바꾸고, 갤러리 보기의 그리드 외 항목을 **리스트(베타)·컴팩트(베타)·매거진(베타)**로 표시합니다. - 5.16.0에서 일반화한 선택 면 이동(
SegmentedIndicator)이 선택 직후 ResizeObserver 초기 알림에 transition을 잃어 홈 연속·페이지 전환의 물방울 이동이 보이지 않던 결함을 고쳤습니다. - 홈 연속·페이지 전환 때 목록과 작품 개수를 비우지 않고 첫 page만 조용히 다시 받습니다. 같은 카드가 그대로 남아 skeleton·개수 깜빡임이 없고, 페이지 모드 2쪽 이후에서 연속으로 바꿀 때만 비웁니다.
- 뷰어 조작 UI 자동 숨김 기본값을 끔으로 바꿨습니다. 저장된 설정이 있는 사용자는 그대로이고 새 사용자·guest만 새 기본값을 받습니다.
그 밖
- compose 호환 검증 기준 commit을 5.16.0으로 갱신했습니다.
새 관리자 API·운영 패널·안내 바가 더해지고 schema·Compose·환경 키 변경은 없으므로 minor 5.17.0으로 게시합니다.
이미지 게시 범위
- 새로 빌드(5.17.0·latest): backend·crawler·web. backend는
GET /api/health/release, web은 버전·릴리스 패널·새 버전 안내·아이콘·설정 이름이 바뀌었고, crawler는 소스 변경 없이 빌드 입력 fingerprint(저장소 문서·설정 포함)가 달라져 다시 빌드했습니다. - digest 재사용: nginx(5.10.0 digest), byedpi(5.15.0 digest). 빌드 입력이 같아 기존 digest에
5.17.0·latest태그만 붙였습니다. - 다섯 이미지 모두 5.17.0 태그가 있으므로
IMAGE_TAG=5.17.0으로 고정할 수 있습니다.
NAS 업데이트와 주의사항
운영은 운영 반영을 따릅니다.
- schema·Compose 변경 없음: 반영 SQL이 없고
compose.yml·환경 파일 변경이 없습니다. - backend와 web은 함께 배포합니다(web의 버전 패널·안내 바가 새
GET /api/health/release를 호출). crawler는 shared만 바뀐 재빌드이며 교체 시 실행 중인 수집 job은 checkpoint에서 멈추고 Hitomi는 자동, E-Hentai는 관리자 재개가 필요합니다. - 버전 확인은 backend가
git.2ex.dev로 나가는 HTTPS를 쓰며, 막혀 있으면확인 실패로만 보이고 운영에는 영향이 없습니다. - 배포 전 레지스트리에 다섯 서비스의
latest가 모두 있는지 확인합니다(5.16.0 게시 뒤crawler:latest가 사라진 사례). - rollback: 5.16.0 이미지가 다섯 서비스 모두 레지스트리에 있어
IMAGE_TAG=5.16.0으로 되돌릴 수 있습니다.
검증
- 각 변경 커밋에서
run-unit.ps1 -Workspace all과run-integration.ps1이 통과했고 검증 기록은 커밋 메시지에 있습니다. 뷰어 header dialog 통합 검증은 자동 숨김 기본값 변경에 맞춰 관리자 설정으로 자동 숨김을 켠 뒤 확인하도록 고쳤습니다. - 릴리스 commit
6f3951a5(앱 코드는f2988e79와 같음):run-unit.ps1 -Workspace all(backend 88·crawler 155·web 72 suites, 3,647 tests),run-integration.ps1(API·crawler runtime·브라우저 단계 포함) 통과. 개발 stack backend·web 재빌드 뒤/api/health/releaseguest401·live200확인. - NOT RUN:
run-schema.ps1·run-compose-compat.ps1·run-operations.ps1(schema·Compose·ops·Nginx 변경 없음), Hitomi·E-Hentai network runner, 실브라우저에서 새 버전 안내 바·아이콘 시각 확인.
게시 확인
- 릴리스 소스:
6f3951a5(annotated Git 태그5.17.0대상, 앱 코드는f2988e79와 같음). - backend
5.17.0·latest(새 빌드):sha256:4f4bc99ae0a8aae403724909720767ce0c125137d4fdd94760a2281f6f9bfd00 - crawler
5.17.0·latest(새 빌드):sha256:1123e8eaf5fbb1596e840d353cebdccee7b827c3d1e27e3cdb8b17917b9e225e - web
5.17.0·latest(새 빌드):sha256:f113fa92d1af7b7d22233d491d54141f5857c97ef93c8556832c4a5f86222fad - nginx
5.17.0·latest(5.10.0 digest 재사용):sha256:552b18eddb10c22b7dbfaee60a6e1bacd20f8b004892c8209f3b48f508c3a780 - byedpi
5.17.0·latest(5.15.0 digest 재사용):sha256:bc1a69ccfe5f0fc8185b43bd3ca4802a7f1f0bfd1487a141b7f052958d26dcc4 ops/publish-images.ps1 -Version 5.17.0 -Publish가 첫 실행에서 완료됐고 다섯 서비스의5.17.0·latest일치를 확인했습니다(Registry tags verified for 5.17.0.). 게시 뒤docker manifest inspect로 다섯latest가 모두 있는지 다시 확인했습니다.
Downloads 2
-
Source code (zip)
0
2026-10-21 23:37:18 +09:00 -
Source code (tar.gz)
0
2026-10-21 23:37:18 +09:00
- 관리자