- pay_nhnkcp 1.0.3 분리: 관리자 API 권한 게이트 변경분이 이미 배포된 1.0.2 섹션에 소급 누적돼 있어 배포본과 어긋나고 업데이트 감지도 불가하던 것을 manifest/package/composer/lock 동기와 함께 정정 - 공개 시나리오 매니페스트의 내부 경로 참조 제거 — 릴리즈 파일 누출 검사가 error 로 발행을 차단하던 상태 해소 (내부 정적 검사 연계는 도구 비귀속 서술로 이관) - 모듈/플러그인/템플릿 수동 설치에서 깨진 zip·manifest 누락 같은 사용자 입력 오류가 500 으로 위장되던 422 계약 회귀 복원 — 서비스 경계에서 도메인 예외로 승격해 상태코드와 실패 사유를 함께 보존 (회귀 테스트 동반) - 본인인증 정책 검색 버튼이 입력 중인 검색어를 반영하지 않고, 초기화 후에도 입력창에 이전 검색어가 남던 문제 수정 — 폼 자동바인딩 옵트아웃 + 명시 상태 전환, E2E 회귀 스펙과 트러블슈팅 사례 동반 - 프록시 URL 검증 비문자열 분기의 :schemes 치환 누락 보정 (회귀 테스트 동반) - 7.0.8 사이클 출시일자를 2026-08-22 로 정렬 (코어·엔진·확장 7종·언어팩 3종, 버전·콘텐츠 무변경) 및 설치본 언어팩 동기
9.2 KiB
9.2 KiB
Changelog
이 프로젝트의 모든 주요 변경사항을 기록합니다. 형식은 Keep a Changelog를 따르며, Semantic Versioning을 준수합니다.
[1.0.3] - 2026-08-22
Security
- 마케팅 수신동의 채널 설정 저장에 플러그인 설정 권한 검사를 추가했습니다. 이전에는 관리자 계정이면 플러그인 설정 권한이 없어도 채널 목록을 통째로 덮어쓸 수 있었습니다. 이제 플러그인 설정 화면의 다른 저장 경로와 같은 권한이 필요합니다.
[1.0.2] - 2026-08-19
Fixed
- 플러그인 설정 화면의 켜기/끄기 스위치가 레이아웃 편집기에서 편집 대상으로 선택되지 않던 문제를 수정했습니다.
- 채널 목록의 각 행이 같은 HTML 식별자를 공유하던 문제를 수정했습니다.
- 다크 모드에서 설정 화면의 채널 추가 버튼 색이 밝은 화면과 동일하게 표시되던 문제를 수정했습니다.
- 플러그인 설정 저장이 실패했을 때 실패 사유 대신 일반 안내 문구만 표시되던 문제를 수정했습니다. 이제 서버가 알려준 사유가 그대로 안내됩니다.
[1.0.1] - 2026-08-10
Fixed
- 데이터베이스에서 일부 컬럼의 설명이 비어 있던 문제를 바로잡았습니다. 회원을 가리키는 컬럼이 대상이며, 업그레이드하면 이미 운영 중인 데이터베이스에도 설명이 채워집니다(직접 적어 넣은 설명은 그대로 둡니다).
[1.0.0] - 2026-07-01
Fixed
- 마케팅 설정을 저장한 뒤 표시되는 안내 문구가 번역된 문장 대신 내부 식별자가 그대로 보이던 문제를 수정했습니다. 이제 사용 중인 언어에 맞는 안내 문구가 표시됩니다.
Added
- 레이아웃 편집기 데이터 소스 목록에서 이 확장이 제공하는 데이터 소스가 친화 명칭으로 표시되고, 어느 확장이 제공했는지 출처가 함께 표시됩니다.
Changed
- 마케팅 동의 관리 / 사용자 프로필 외형을 sirsoft-admin_basic 표준 시맨틱과 정합 — 다른 화면과 같은 결로 통일.
- 회원 등록 / 수정 화면의 마케팅 동의 카드를 다른 관리자 카드와 같은 결로 정합 — 카드 외형이 동일해지고, 항목 사이에 옅은 회색 분리선이 자동 적용되며, 카드 제목 우측의 확장 출처 배지가 항상 우측 끝으로 정렬됩니다.
- 회원 등록 / 수정 화면의 마케팅 동의 영역에서 채널 체크박스(예: 광고성 이메일 수신) 가 부모 동의 체크박스 아래로 들여쓰기되어 부모-자식 관계가 시각적으로 명확해졌습니다.
- 회원 등록 / 수정 화면의 마케팅 동의 영역에서 채널 항목의 식별자가 페이지 검사 시 여러 번 나타나던 회귀를 수정했습니다 (HTML 표준 위반 해소).
- 관리자 화면 좌우 정렬 컨테이너(섹션 헤더 · 액션바 · 카드 상단부 등) 외형을 표준 시맨틱(.flex-between)으로 정리 — 시각 변경 없음, 향후 톤 조정이 한 곳에서 가능.
- 플러그인 환경설정 화면의 하단 저장 버튼이 스크롤 중에도 화면에 고정되도록 개선.
- 채널 편집 모달의 채널 key 입력 외형을 관리자 표준 외형으로 정렬 — 시스템 채널 / 편집 모드에서 글자가 옅은 회색으로 표시되어 "수정 불가" 임을 한눈에 구분.
- 플러그인 표준 베이스를 따르도록 내부 구조 정비. 동의 처리 동작은 동일합니다.
- 코어 최소 요구 버전을 7.0.0-beta.8 로 상향.
- 플러그인 환경설정 화면의 폼 라벨 / 보조 설명 / 에러 메시지 시각 시맨틱을 sirsoft-admin_basic 표준 시맨틱과 정합 — 다른 관리자 화면과 같은 결로 통일.
- 플러그인 환경설정 화면 곳곳의 텍스트 톤 (보조 설명 · 라벨 · 본문 · 강조 · 작은 보조) 시각 시맨틱을 관리자 표준 시맨틱과 정합 — 같은 결의 글자 톤이 한 곳에서 일괄 조정 가능.
- 플러그인 환경설정 화면의 입력 행 컨테이너 / 입력 박스를 sirsoft-admin_basic 표준 시맨틱 (.row-stack / .input) 과 정합 — 표준 간격 + 행 사이 옅은 회색 구분선(1px) 이 자동 적용되어 외형이 일관 표시되도록 정리.
[1.0.0-beta.3] - 2026-05-11
Changed
- 기본 system 마케팅 동의 채널(이메일 수신) 라벨이 활성 언어팩으로 자동 보강되도록 변경
- sirsoft-page 의존성 제약을
>=1.0.0-beta.3로 정비 (번들 최신 버전과 동기화)
[1.0.0-beta.2] - 2026-04-20
Changed
- 코어 최소 요구 버전을 7.0.0-beta.2 로 상향
- sirsoft-page 의존성 버전 제약을 실제 릴리스 버전에 맞춰 정비
- 플러그인 의존성 관리를 manifest(plugin.json) 기준으로 일원화
[1.0.0-beta.1] - 2026-04-01
Changed
- 오픈 베타 릴리즈
[0.3.3] - 2026-03-30
Fixed
- 관리자 다크모드 레이아웃 수정 — plugin_settings.json에서 누락된
dark:variant 약 10건 추가 (text-gray, focus:ring 등)
[0.3.2] - 2026-03-30
Added
config/settings/defaults.json추가 — frontend_schema 정의로 프론트엔드 설정 노출 제어marketing_consent_terms_slug,third_party_consent_terms_slug,info_disclosure_terms_slug,channels를expose: false처리 — 프론트엔드 미참조 설정의 보안 노출 차단
[0.3.1] - 2026-03-30
Fixed
- 인덱스명 약어 수정 —
idx_mkt_consent_hist_user_created→idx_marketing_consent_histories_user_created(네이밍 규칙 준수)
[0.3.0] - 2026-03-29
Added
- 검색/필터/정렬 성능 향상을 위한 누락 인덱스 추가 — user_marketing_consent_histories([user_id+created_at] 사용자별 시간순 이력 조회)
[0.2.1] - 2026-03-28
Fixed
- 채널 삭제 시 즉시 API 호출로 반영되던 문제 수정 — 삭제 후 최종 저장 버튼 클릭 시에만 반영되도록 변경
- 저장 버튼이 channels API 검증을 거치도록 2단계 순차 호출로 변경 (channels 검증 → 설정 저장)
- 비활성화 모달(channel_deactivate_modal)이 즉시 API 호출 대신 상태만 변경하도록 수정
[0.2.0] - 2026-03-24
Added
- 마케팅 동의 데이터를 EAV 구조 기반 전용 테이블(
user_marketing_consents,user_marketing_consent_histories)로 전환 — 동의 항목별 독립 저장 및 이력 관리 - 각 동의 항목의 활성화 여부를 독립 설정(
*_enabled)으로 분리하고 비활성 항목은 가입/수정 폼에서 자동 제외 - 마케팅 동의 현황 조회 및 채널별 동의 현황 조회 공개 API 추가
- 관리자 사용자 상세 화면에서 마케팅 동의 현황 및 이력 조회 기능 추가 (MarketingAdminController)
- 동의항목 레이아웃을 1열 구성으로 변경하고 약관 모달에서 실제 약관 내용 표시 구현
- 채널 관리 UI 추가 — 채널 추가/편집/삭제 및 활성화 토글 기능
- 데이터 접근 계층을 Repository 패턴으로 분리하여 테스트 용이성과 유지보수성 개선
- PHP 백엔드에서 다국어 메시지를 사용할 수 있도록 PHP 전용 lang 파일 추가 (ko/en)
- 플러그인 레이아웃 JSON 파일 전체를 대상으로 렌더링 테스트 56개 작성 — 구조, 데이터 바인딩, 다국어, 다크모드 항목 검증
- 플러그인 프론트엔드 테스트 환경(Vitest) 구성
- 동의자가 있는 채널을 삭제하려 할 때 즉시 삭제 대신 비활성화를 안내하는 모달 추가
- 채널 이름을 한국어/영어로 각각 표시할 수 있도록 다국어 처리 추가
Fixed
- 채널 편집 모달 바깥 영역 클릭 시 실수로 닫히는 문제 수정
- 스피너·배지 컴포넌트에서 다크모드 색상이 적용되지 않던 문제 수정
- 마이페이지 프로필 저장 시 국가·언어 미선택 상태에서 오류가 발생하던 문제 수정
- 동일 이벤트가 여러 번 발생할 때 동의 이력이 중복 저장되던 문제 수정
Changed
- 관리자 화면 사용자 상세 폼의 다크모드 스타일 전반 개선
[0.1.3] - 2026-03-16
Changed
- 마이그레이션 통합 — 증분 마이그레이션을 테이블당 1개 create 마이그레이션으로 정리
- 라이선스 프로그램 명칭 정비
[0.1.2] - 2026-03-13
Added
- manifest에 license 필드 및 LICENSE 파일 추가
Changed
- 설정 레이아웃 경로를
resources/layouts/settings.json→resources/layouts/admin/plugin_settings.json으로 이동 (모듈과 동일한 구조 통일)
[0.1.1] - 2026-02-24
Changed
- 버전 체계 조정 (정식 출시 전 0.x 체계로 변경)
[0.1.0] - 2026-02-23
Added
- 마케팅 동의 플러그인 초기 구현
- 이메일 구독, 마케팅 동의, 제3자 제공 동의 관리
- MarketingConsent, MarketingConsentHistory 모델
- MarketingConsentService 비즈니스 로직
- MarketingConsentListener 훅 리스너
- 사용자 관리 화면 레이아웃 확장 (마케팅 동의 상세/폼/프로필)
- 회원가입 폼 마케팅 동의 항목 확장
- 플러그인 설정 UI
- 역할 기반 접근 제어 (마케팅 관리자)
- 다국어 지원 (ko, en)