📑 목차
체인지로그 개요 changelog.json 구조 릴리즈 시 자동 생성 버전별 그룹화 UI 표시 방식

📝 체인지로그

각 릴리즈마다 어떤 변경사항이 포함되었는지 버전별로 그룹화하여 보여줍니다. 릴리즈 실행 시 자동으로 생성됩니다.

changelog.json 데이터 구조

[
  {
    "id": "cl_69f557e96c59e",
    "version": "1.0.1",
    "date": "2026-05-02",
    "type": "patch",
    "note": "테스트 자동 릴리즈",
    "changes": [
      "메시지 발송 속도 최적화 [성능]",
      "AIvote → Onlyone 브랜드 변경 [UI]"
    ]
  }
]

릴리즈 시 자동 생성 로직

api/release.php 내에서 changelog 항목을 자동 생성합니다:

// 릴리즈 처리 후 changelog.json에 추가
$changelog = site_get_changelog($site_id);
$entry = [
    'id'      => 'cl_' . uniqid(),
    'version' => $new_version['raw'],
    'date'    => date('Y-m-d'),
    'type'    => $type,
    'note'    => $note,
    'changes' => [],
];

// linked improvements에서 변경 내역 추출
foreach ($linked_improvements as $imp_id) {
    $imp = find_improvement($site_id, $imp_id);
    if ($imp) {
        $entry['changes'][] = "{$imp['title']} [{$imp['category']}]";
    }
}

$changelog[] = $entry;
site_write_json($site_id, 'changelog.json', $changelog);

버전별 변경사항 그룹화

UI에서는 각 버전을 독립된 섹션으로 표시합니다:

v1.0.12026-05-02PATCH

테스트 자동 릴리즈

  • 🔧 메시지 발송 속도 최적화 [성능]
  • 🎨 AIvote → Onlyone 브랜드 변경 [UI]

UI 표시 방식

체인지로그 페이지(/vermanager/changelog?site=kiam-prod)에서는:

  • 사이트 선택기로 사이트 전환 가능
  • 최신 버전이 상단에 표시 (내림차순)
  • 각 버전 섹션에 릴리즈 노트 + 변경사항 목록 포함
  • 변경사항은 카테고리 아이콘과 함께 표시