• 5.7.0

    5.6.1 대비 변경사항

    crawler · 완료 작품 metadata 재확인

    • 완료 Hitomi 작품의 재확인이 제목·태그에 더해 원본 게시 시각(uploadDate)·분류(category)·언어(language)·원본 URL(sourceUrl)·source metadata(canonicalSourceId·relatedSourceIds) 도 원본 galleryinfo에 맞춥니다. 값의 정규화·비교는 수집 저장과 같고, 바뀐 컬럼만 gallery 행 잠금 아래 한 번에 씁니다. 게시 시각 수집이 들어오기 전(2026-10-03 이전)에 완료된 작품의 비어 있던 게시 시각이 한 바퀴 안에 채워집니다.
    • 응답에 값이 없으면 기존 값을 유지합니다. parser가 분류·언어 누락에 붙이는 n/a도 값 없음으로 보아 저장된 실제 값을 덮지 않습니다.
    • 파일 목록 지문(fileFingerprint)은 파일 변경 감지의 기준이라 응답 값으로 덮지 않고 저장값을 보존합니다. page 수·파일 크기·page 범위·원본 원장·완료 표시는 그대로 바꾸지 않습니다.
    • 상태 누계에 fieldsUpdated(제목·태그 밖 항목을 갱신한 작품 수)가 추가됐고 운영 화면이 기타 항목 갱신으로 보여 줍니다. 이전 버전이 저장한 상태 행에는 이 키가 없어 0으로 읽습니다.

    문서

    • 크롤러 복구·API 계약·운영 가이드·아키텍처 문서의 재확인 반영 범위를 새 동작에 맞췄습니다.

    기존 데이터·API·배포 계약을 유지하는 기능 확장이라 minor 5.7.0을 적용합니다. 필수 환경 변수·수동 전환·데이터 재설정·DB migration이 없습니다. 제품 버전은 Git 태그·OCI label·문서로 관리하며 private package와 lockfile의 버전은 유지합니다.

    이미지 게시 범위

    • 새로 빌드(5.7.0·latest): backend(shared 재확인 상태 타입), crawler(재확인 동기화 범위·n/a 처리·누계), web(운영 화면 기타 항목 갱신·설명 문구).
    • digest 재사용: nginx(5.6.1 digest), byedpi(5.4.0 digest). 빌드 입력이 같아 기존 digest에 5.7.0·latest 태그만 붙였습니다. 재사용 이미지의 OCI version·revision label과 backend health의 version은 원래 빌드 값으로 남습니다.
    • 모든 자체 이미지에 5.7.0 태그가 있으므로 IMAGE_TAG=5.7.0을 지정할 수 있습니다.

    NAS 업데이트와 주의사항

    운영자는 운영 반영을 따릅니다.

    • Compose 변경 없음: compose.yml·.env.example은 5.6.1과 같습니다.
    • DB migration 없음: backend 이미지는 shared 타입 변경으로 다시 빌드되지만 새 migration은 없습니다.
    • crawler 재시작: crawler 이미지 교체로 crawler가 재시작되면 실행 중이던 수집 job은 기동 복구 규칙에 따라 stopped(중단)로 정리됩니다. Hitomi는 자동 재개·20시 예약으로 이어지지만 E-Hentai는 자동 재개가 없으므로 운영 화면에서 수동으로 재개해야 합니다.
    • 재확인 한 바퀴 다시 돌리기: 이미 한 바퀴를 마쳤거나 도중인 설치에서 비어 있던 게시 시각 등을 채우려면 Hitomi 패널의 완료 작품 metadata 재확인을 다시 실행(완료 상태) 하거나, 도중이면 끈 뒤 crawling_states의 hitomi-metadata-recheck 행에서 cursor를 비우고 다시 켭니다. 새 바퀴는 가장 큰 ID부터 내려가 한 바퀴만 돌고 스스로 멈춥니다.
    • rollback: migration이 없어 5.6.1 이미지로 되돌릴 수 있습니다. 5.6.1 crawler는 fieldsUpdated를 읽지 않고 상태 행의 값은 그대로 남습니다.
    • 로그인 cookie는 그대로 유효하며 다시 로그인할 필요가 없습니다.

    NAS 배포는 게시 직후 별도로 진행합니다. latest를 승격했으므로 Watchtower가 켜진 운영 서버는 스스로 5.7.0으로 교체할 수 있습니다.

    5.6.1 대비 전체 변경

    검증

    • 병합 main 97025ac1(앱 코드는 릴리스 commit 2493f048과 같은 트리)에서 run-integration.ps1(API·브라우저·crawler runtime·Push 재시도)이 통과했고, 개발 stack을 재빌드해 전 서비스 healthy를 확인했습니다.
    • 구현 브랜치 676df459에서 run-unit.ps1 -Workspace all(backend 78 suites·589 tests, crawler 69·900, web 133·1,661)이, 리뷰 지적(n/a 누락 표식) 수정 뒤 97025ac1 트리에서 run-unit.ps1 -Workspace crawler(69·903)가 통과했습니다.
    • 5.6.1이 저장한 재확인 상태 행(누계에 fieldsUpdated 없음)을 개발 DB에서 켜서, 첫 확인이 fieldsUpdated: 1(관련 작품 목록 갱신)·태그 갱신·전역 차단 재평가를 기록하고 저장된 파일 지문을 보존하는 것을 확인했습니다.
    • 두 커밋 묶음 모두 병합 전 읽기 전용 리뷰(2라운드)를 거쳤습니다. DB schema·Compose·Nginx는 바뀌지 않아 run-schema.ps1·run-compose-compat.ps1·run-upgrade.ps1·run-crawler-recovery.ps1과 실제 Hitomi·E-Hentai 전송 runner는 NOT RUN입니다.

    게시 확인

    • 릴리스 소스: 2493f048251bd77a872c69702576336c360dae62 (annotated Git 태그 5.7.0 대상).
    • backend 5.7.0·latest: sha256:a4a640e1adf82c1427195716dab6f14b229bd0521f288684b5036e648dfeb840
      • linux/amd64 manifest: sha256:9d87519620ae737b0c05aa4360bb6378ce253eeb7aee0cd484782d0e17c5a0c3
      • OCI version 5.7.0·revision 2493f048251bd77a872c69702576336c360dae62
      • 입력 지문 c12694b84e98017d8476acbcad2cd710c029776b05dc1e56ca19028655a96d26
    • crawler 5.7.0·latest: sha256:4680801fc1bfa20cbe496155422e8dd6babb459b6ff852612b5b3e8394e97c12
      • linux/amd64 manifest: sha256:f31df5c46ccea65970cd75ea2ad25bc103afac55d23f7a55d826f3fca2058e04
      • 입력 지문 075affad830eae930ed34f5b05b8d48156e522ae8e0e34692c25079de242f961
    • web 5.7.0·latest: sha256:aece18bb9e0d33ebb0d2b1207f6ceae7416b2cedab684ce8cd02fa8c96f2ad44
      • linux/amd64 manifest: sha256:6f907f055a242943cb4a52e05baa092deafa709fe42ad88cef11269a20f93fbb
      • 입력 지문 a9e73fb50dcad52fc790e0b4aabaf482d08d98ddcde17bb9b390576e1ed32ee1
    • nginx 5.7.0·latest(5.6.1 digest 재사용): sha256:a42874d3d8e4304ca0d6ba6f67b073232b3d15489fd373f0efcf40e706a5b78c
    • byedpi 5.7.0·latest(5.4.0 digest 재사용): sha256:04cf2838499d67a033a3c3101913563bf983e551fee27b891dab0d2f75a4233a
    • ops/publish-images.ps1 -Version 5.7.0 -Publish로 backend·crawler·web을 새로 빌드·게시하고 nginx·byedpi는 기존 digest에 버전 태그를 붙였습니다. 버전 태그 게시 뒤 같은 digest로 latest를 승격했고, 다섯 서비스의 5.7.0·latest 일치를 최종 검증했습니다(Registry tags verified for 5.7.0.). 재시도 없이 한 번에 완료했습니다.
    Downloads 2