버전별 이슈 및 대응 가이드
T2Editor는 꾸준한 업데이트를 통해 기능이 추가되고 버그가 수정되고 있습니다. 그러나 버전이 변경될 때마다 일부 기능이 예기치 않게 동작하지 않거나, 기존 플러그인이 호환되지 않는 문제가 발생할 수 있습니다. 이 문서에서는 DSclub과 SIR 커뮤니티에서 보고된 주요 버전별 이슈와 그에 대한 해결 방법을 정리합니다. 이를 통해 웹마스터와 개발자는 버전 업그레이드 전후에 발생할 수 있는 문제를 예측하고 대비할 수 있습니다.
개요
T2Editor는 v1(2025-01-31)부터 현재까지 94개 판본을 냈습니다. 현행 공개 판본은 10.5.1(2026-07-27) 이고, v1~v9는 모두 EOL입니다. v10은 2026-06-24의 10.0.0에서 시작해 34일 만에 9개 판본으로 10.5.1에 이릅니다.
플러그인 호환성에는 계열 단위 규칙이 있습니다. 10.0.0에서 hook 기능이 도입되어 확장이 중앙 집중형에서 분산형으로 바뀌었습니다 — 이전에는 플러그인 개발 시 editor.lib.php 코어를 수정해야 했으나 10.0.0에서는 플러그인만 수정하면 됩니다. 10.0.1에서 search, link, ai_rerrange, collab, meme, ai, clipurl, export 플러그인에 hook이 적용되었습니다. 10.5.0에서 CMS 연결 구조가 코어에서 CMS별 연결 계층으로 분리되었고, 그 이전 10.4.0의 공개 함수와 라이믹스 스킨 연결 구조는 계속 쓸 수 있도록 호환성을 유지했습니다.
따라서 v9에서 만든 커스텀 플러그인을 v10으로 가져올 때 확인해야 하는 것은 2가지입니다. ① v10 계열 플러그인 등록 방식(10.5.0에서 명시적 클래스 등록이 추가됨) ② hook 등록 지점. 다만 v9의 플러그인 API와 v10의 대응표는 [확인 필요] 입니다. v9 판본 실물 소스가 없어 1:1 대응을 이 문서에서 확정하지 않습니다.
내가 쓰는 판본을 확인하는 방법
- 가장 간단함 — 파일을 한 줄 엽니다. 배포판 루트
readme.txt의 2행이ver_10.5.1형식입니다. 이 값이 에디터 판본입니다. - 화면에서 확인 — 에디터 하단 버전 정보를 누르면 진단 패널이 열리고 실행 환경·미디어 블록 크기·저장 필드 내용을 볼 수 있습니다.
- 관리자 화면 — 관리자 페이지의 버전 정보 항목(로그인이 필요합니다).
- 자동으로 새 판본이 있는지 확인 — 관리자 페이지의 업데이트 항목에서 확인합니다.
⚠readme.txt에는 버전 숫자가 두 개 있습니다. 2행의ver_10.5.1이 에디터 판본이고, 라이선스 절의Version: 3.0.0은 라이선스 계약 판본입니다. 라이선스 절의 숫자를 에디터 버전으로 읽지 마십시오.
서버 요건 (v10.5.1 실측)
- PHP 7.4.0 이상 — 이것이 최소값입니다(진단 코드가
error등급으로 판정). 신규 운영 환경은 8.1 또는 8.2를 권장합니다. - PHP 8.0은 필수가 아닙니다. 10.0.0(2026-06-24) 릴리즈 노트에 "php권장 사양이 기존 7.4에서 8.0 이상으로 변경되었습니다"라고 적혀 있지만, 10.1.0(2026-06-29) 노트 첫 줄이 "php7.4 호환 추가!"이며 10.5.0 노트는 "PHP 7.4부터 8.4까지의 호환 범위를 유지하면서"라고 적습니다. 10.1.0에서 되돌려진 것이므로 7.4에서 동작합니다.
- 필수 PHP 함수:
file_put_contentsmkdirrenamecopyunlinkhash_filejson_encodejson_decoderandom_bytes(9종). 이 중 하나라도disable_functions에 있으면 업데이트·설치가 중단됩니다. - 선택 확장: mbstring(없어도 iconv·UTF-8 대체 경로로 동작), cURL(서드파티 마켓 설치는 필수), OpenSSL +
allow_url_fopen(cURL 대체 경로), ZipArchive(없어도 zlib, 그것도 없으면 브라우저 보조 해제), GD(WebP 변환 전용, 없으면 원본 저장). - 쓰기 권한은 데이터 경로에만: 최소 권장 707. 에디터 원본 폴더·
plugin·extend·locales를 쓰기 가능하게 만들지 마십시오. - 상세 매트릭스는 06-version-compatibility-guide.md를 보십시오.
현재 판본 10.5.1 (2026-07-27) — 9.x 이하 계열은 EOL
이 문서는 2026-09-28에 현재 판본 기준으로 고쳐 썼습니다. 9.0.0·9.1.0~9.1.3·9.2.0·9.3.0을 포함한 v9 계열과 그 이전 계열(v1~v8)은 모두 EOL이며 업데이트 대상이 아니라 이력 참고용입니다.
주요 추가 사항
- NSFW 필터와 밈 플러그인 통합: 9.0.0 버전에서는 NSFW(부적절 콘텐츠) 필터와 밈 이미지 검색 플러그인이 기본 포함되었습니다. 이 기능은 DSclub 서버의 API를 호출해 이미지를 필터링하고 밈을 검색합니다.
⚠ 9.0.0 시점의 서술입니다. 10.4.0에서 NSFW 필터는 배포판 내장 파일로 바뀌어 외부 서버를 경유하지 않습니다. 현재 판본 기준은 08-beginner-webmaster-quickstart.md·N-02-admin-console-guide.md의 관리자 페이지 설명을 따르십시오.
- AI 플러그인 개선: 기존 8.x 버전에서 제기되던 AI 플러그인의 오류를 해결하고, 편집 내용 일부를 선택해 수정 요청을 보낼 수 있는 기능이 추가되었습니다SIR T2Editor 8.1.2 후속 공지 및 서비스 주의사항.
알려진 이슈
- AI 호출 제한 적용: 9.0.0에도 IP·도메인별 호출 횟수 제한이 적용되며, 호출 횟수를 초과하면 에러가 발생합니다SIR T2Editor 8.1.2 AI·검색 기능 설명.
- 필터가 정상 이미지를 차단할 때: ① 관리자 페이지의 부적절한 이미지 필터 설정에서 검사 방식을 바꾸십시오(10.4.0부터 관리자가 설정할 수 있습니다). ② 에디터 하단 정보·진단 화면에서 현재 서버 환경(cURL·GD·iconv·ZIP 처리 방식)을 확인하십시오. ③ 그래도 특정 이미지가 계속 차단되면 그 이미지의 문제를 기록해 두고 게시판 공개 여부를 검토한 뒤, 최후 수단으로 필터를 끄십시오. 운영 중인 공개 게시판에서 필터를 꺼 두는 것은 운영 지침이 아닙니다. ④ 10.4.0부터 필터는 배포판에 내장된 파일로 동작하므로 "외부 SafeAI 서버가 꺼져 있어서"라는 원인은 유효하지 않습니다.
- 플러그인 호환성: 8.x 버전에서 제작된 일부 커스텀 플러그인이 9.0.0에서 동작하지 않습니다. 이는 코어 이벤트 시스템 변경에 따른 것으로, 플러그인 코드를 최신 이벤트 명세에 맞춰 수정해야 합니다.
- 라이선스 인증: 라이선스 검증은 배포판 루트
readme.txt의 내용 해시 대조로 이루어집니다(editor.core.php:396-404). 따라서 판본별로 별도 라이선스를 내려받을 필요가 없고, 그런 파일은 배포판에 없습니다. 라이선스 오류가 나면 아래 셋 중 하나입니다. ①readme.txt가 없거나 손상됨 ②readme.txt를 직접 편집했음 ③ 배포판이 불완전함. 이때 현재 판본 배포판으로t2editor폴더를 덮어쓰고, 데이터는 별도 폴더(data/)에 있으므로 보존하십시오. 자세히는 07-license-guide.md를 보십시오.
대응 전략
- AI 플러그인을 자주 사용하는 사이트는 Groq API 등 대체 API를 도입하여 호출 제한을 회피합니다SIR T2Editor 8.1.2 후속 공지 및 서비스 주의사항.
- 오탐이 반복되면 ①의 검사 방식 변경을 먼저 시도하십시오. ② 특정 이미지 허용 목록이 현재 판본에 있는지 여부는 [확인 필요] 입니다(본 문서에서 기능으로 단정하지 않았습니다). ③ 필터를 분리 플러그인으로 빼는 방법은 현재 판본에서 확인하지 못했으므로 [확인 필요] 로 둡니다.
- 커스텀 플러그인은 이벤트 처리 함수를
t2editor_event_dispatch구조에 맞춰 수정합니다. 이벤트 이름이 변경되었거나 파라미터가 달라졌는지 문서 core-editor-lib-php.md를 참조하세요.
판본을 고르기 전에: 설치 자리에 따라 갈립니다
이 문서의 8.x·9.x 절은 대부분 그누보드5 계열을 전제로 합니다. v10.5.1에서 판본이 자동으로 감지되는 기준은 다음 세 가지입니다(코드 실측: integration/cms/adapters/).
| 설치 자리 | 자동 감지 근거 | 데이터가 쌓이는 곳 |
|---|---|---|
| 그누보드5 | 에디터 폴더가 <g5>/plugin/editor 안이고 config.php·common.php·lib/common.lib.php가 존재하며 config.php에 _GNUBOARD_ 정의가 있을 때 | 미디어 <g5>/data/editor, 내부 데이터 <g5>/data/t2editor_db |
| 라이믹스 | 에디터 폴더가 <rx>/modules/editor/skins 안이고 config/config.inc.php와 common/autoload.php(또는 defaults/config.php)가 존재할 때 | <rx>/files |
| 독립 실행 | 위 둘 어디에도 걸리지 않으면 항상 마지막 fallback | <에디터폴더>/data |
워드프레스는 위 셋과 다릅니다. v10.5.1에서 워드프레스는 설치 자리가 아니라 선택적 업로드·브라우저 브리지입니다(코드에 "워드프레스는 설치환경 감지가 아니라 선택적 업로드·브라우저 브리지 capability만 제공한다"고 명시되어 있고, 환경 감지 판정 함수가 항상 false를 반환합니다). 그래서 워드프레스 사용자는 CMS 연동(로그인·권한·첨부파일 목록)을 그대로 받을 수 없고, 워드프레스 미디어 라이브러리를 거치는 업로드 경로만 제공됩니다. 자세한 건 N-05-cms-adapter-and-data-paths.md를 보십시오.
그누보드5의 최소 지원 판본과 라이믹스의 최소 지원 판본은 [확인 필요] 입니다. 이 문서에서 임의 수치를 쓰지 않습니다.
8.2.0 버전
주요 추가 사항
- 플러그인 로딩 지연 기능: 기본 플러그인 외에 커스텀 플러그인을 0~3 단계로 로딩 우선순위를 지정할 수 있습니다SIR T2Editor 8.1.2 기능 설명.
- 터치 최적화 및 다크모드 개선: 모바일 환경에서의 사용성을 크게 향상시켰고, 다크모드 전환 시 발생하던 스타일 버그를 수정했습니다SIR T2Editor 8.1.2 기능 설명.
- T2Search 및 AI 기능 도입: 외부 검색 및 AI 기능이 본격적으로 도입되어 콘텐츠 작성 효율이 높아졌습니다SIR T2Editor 8.1.2 AI·검색 기능 설명.
알려진 이슈
- AI 기능 오류: 8.x 시기에 보고되던 AI 플러그인 연결 오류는 현재 판본에서 상당 부분 재설계되었습니다. 10.2.0에서 T2Editor AI가 단순 플러그인에서 공통 베이스 시스템(
t2llm.js,t2ai_core.js)으로 진화했고, 10.2.0부터 LLM API 셀프 호스팅이 가능해졌습니다. 10.3.0에서는 실시간 스트리밍과 정밀 편집 도구, 메모리 개선이 추가되었습니다. 다만 LLM 제공자(API) 자체의 오류는 에디터가 아니라 제공자 사정이며, 에디터는 그 오류를 문장으로만 알려 줍니다. 현재 판본에서 계속 실패한다면 사용 중인 API 키·제공자 상태를 먼저 확인하십시오. - 자동 저장: 자동 저장은 현재 판본에서 세 차례 개선되었습니다. 10.3.0에서 "기존 버전의 자동저장 데이터도 계속 읽을 수 있으며, 자동저장 복원·실행 취소·다시 실행·외부 콘텐츠 적용 후 편집 버튼이 사라지던 문제가 수정되었습니다.", 10.5.0에서 "모든 게시물과 에디터가 같은 브라우저 저장 키를 사용해 다른 글의 초안이 잘못 복원될 수 있던 문제를 해결했습니다.", 10.5.1에서 손상 문자가 포함된 오래된 게시글의 빈 화면 문제가 수정되었습니다. 즉 구버전 자동저장 데이터는 현재 판본에서 그대로 읽힙니다. 자동 저장이 동작하지 않으면 에디터 하단 정보·진단 화면에서 브라우저 저장소 사용 가능 여부를 확인하십시오(사생활 보호 설정으로 제한될 수 있음).
- 플러그인 버튼이 비활성화 상태로 남을 때: 10.5.0에서 이 경로를 개선했습니다. "플러그인 로딩에 실패했을 때 버튼이 비활성화된 채로 남거나 로딩 표시가 계속되는 문제를 해결했습니다. 하나의 플러그인 오류가 다른 플러그인과 본문 초기화를 막지 않도록 분리했습니다. 응답하지 않는 플러그인을 무한히 기다리지 않도록 제한 시간을 적용하고, 실패한 버튼은 다시 사용할 수 있는 상태로 복구합니다." 현재 판본에서 확인하려면 ① 관리자 페이지의 기능 켜기/끄기 항목 ② 화면 크기별 메뉴 구성을 보십시오. 10.4.0부터 "설정 파일을 기반으로 확장 플러그인을 자동 등록할 수 있는 구조도 추가되었습니다." 이므로, 0~3단계 우선순위 수동 지정이 필요 없는 구성은 자동 등록 경로를 사용하십시오.
대응 전략
- AI 플러그인 오류와 자동 저장 문제는 현재 판본(10.5.1) 기준으로 판단하십시오. 8.1.3은 한 번도 배포되지 않았습니다. 8.x 계열은 2026-03-26의 8.2.0에서 끝난 EOL 계열이고, 그 다음 판본은 10.0.0(2026-06-24) → 10.5.1(2026-07-27)입니다. 8.x를 "패치 버전"으로 기다리지 말고 10.5.1로 갱신하십시오. 그누보드5·라이믹스에서 관리자 로그인이 정상 인식되지 않는 문제는 10.5.1에서 해결되었습니다.
- 자동 저장 기능이 미작동하면 브라우저 콘솔에서 에러 메시지를 확인하고, 서버 로그에서 파일 쓰기 오류를 점검합니다.
- 플러그인 로딩 순서를 설정할 때 기본 제공 플러그인을 0번으로 설정하고, 커스텀 플러그인은 1~3 사이로 설정하여 에디터 초기화를 방해하지 않도록 합니다SIR T2Editor 8.1.2 기능 설명.
8.1.x 버전
특징과 변경사항
- 이전 버전의 버그 수정: 8.1.0 ~ 8.1.2 버전에서는 이미지 업로드 시 webp 변환 오류, 다크모드에서 색상 반전 문제, 일부 플러그인 스타일 충돌 등이 수정되었습니다DSclub T2Editor 서비스 페이지.
- 버전 명명 규칙 변경: DSclub은 8.1.2 이후부터 버전을 재정비하여 과거 베타 버전을 정식 버전 번호에 통합했습니다. 사용자들은 버전 번호가 달라졌다고 혼동할 수 있으므로, 패치 노트를 반드시 확인해야 합니다DSclub T2Editor 서비스 페이지 - 버전 변경 공지.
알려진 이슈 및 대응
- 라이선스 확인: 라이선스는 배포판 루트의
readme.txt한 파일 안에 한국어(T2Editor License_Ko)와 영어(T2Editor License_En) 두 언어로 들어 있습니다. 판본 표기는Version: 3.0.0이며 이는 에디터 판본이 아니라 라이전스 계약의 판본입니다(에디터 판본은 같은 파일 2행의ver_값입니다). 별도의license.txt·license.dat·license_en.txt·license_kr.txt파일은 배포판에 존재하지 않으므로 내려받아 추가할 대상이 없습니다. 라이선스 문제가 의심되면 배포판 루트에readme.txt가 있고 내용이 원본과 같은지 확인하십시오.readme.txt를 직접 편집하거나 지운 채 재배포하면 라이선스 조항 위반입니다. - (8.x 판본에서 라이선스가 누락됐다는 서술은 [확인 필요] 입니다. 8.x 판본 실물이 없어 이 문장을 채점할 근거가 없습니다.)
- MIME 타입 오류 (8.x 시기의 서술): 8.x에서는 업로드 시 PHP의
fileinfo모듈이 비활성화되어 오류가 난다는 보고가 있었습니다. 현재 판본(10.5.1)은 업로드를 파일 시그니처로 판정하므로fileinfo확장이 없어도 정상 동작합니다(config/upload_config.php:31-32"server-side identification uses signatures so Fileinfo is not required").php.ini를 고칠 필요가 없습니다. 업로드가 거부되면 허용 확장자 목록·공용 데이터 쓰기 권한·용량 상한(PHP의upload_max_filesize·post_max_size가 먼저 걸립니다)을 순서대로 확인하십시오. - 테이블 삽입 문제: 8.1.1 버전에서 표 삽입 시 셀 병합이 제대로 적용되지 않는 버그가 보고되었으나, 8.1.2 패치에서 수정되었습니다DSclub T2Editor 서비스 페이지.
구버전 (5.x~7.x)
T2Editor 초기 버전에서는 현재와 구조가 크게 다르기 때문에, 최신 플러그인을 그대로 사용할 수 없습니다. 다음과 같은 문제가 자주 발생합니다.
- 플러그인 구조 불일치: 5.x~7.x 버전의 플러그인 API는
editor.lib.php의 함수 시그니처와 이벤트명이 달라서 8.x/9.x용 플러그인이 호환되지 않습니다. - 다크모드 미지원: 구버전에서는 다크모드가 기본 제공되지 않아, 8.x 이후에 작성된 테마가 깨질 수 있습니다.
- 라이선스 정책 차이: 5.x 버전대에서는 커스텀 플러그인 판매가 제한되었으나, 5.7.2 버전에서 라이선스가 변경되어 커스텀 플러그인 판매가 가능해졌습니다DSclub T2Editor 서비스 페이지 - 라이선스 변경 관련 안내. 하지만 core와 기본 플러그인은 여전히 무료로 유지해야 합니다.
v10.5.1을 처음 올릴 때 반드시 통과해야 하는 게이트
v10 계열은 최초 설정을 마치기 전까지 편집 기능이 잠깁니다. 순서는 4단계입니다.
admin/t2admin.key.txt파일의 이름을admin/t2admin.key로 변경합니다.- 관리자 비밀번호를 설정합니다(그누보드5·라이믹스에서는 CMS 관리자 로그인을 쓸 수도 있고, 자체 비밀번호를 별도로 둘 수도 있습니다).
- 공용 데이터 디렉터리에 쓰기 권한을 부여합니다. 최소 권장값은 707이며 777은 권장하지 않습니다. 다만 숫자로 먼저 보지 마십시오 — 실제 PHP 파일 생성·쓰기·삭제 시험이 성공하면 그 권한을 그대로 유지합니다.
- 안내를 끝까지 읽습니다.
이 게이트를 통과하지 않으면 에디터가 잠긴 채로 표시됩니다. "설치가 안 된다"는 증상의 첫 번째 확인 항목입니다.
참고: admin/t2admin.key.txt와 admin/t2admin.key가 동시에 있으면 t2admin.key.txt를 삭제하십시오.
종합 대응 가이드
- 업데이트 테스트 환경: 운영 사이트에 적용하기 전에 로컬 또는 스테이징 환경에서 최신 버전으로 업데이트하고 플러그인의 동작을 확인합니다.
- 변경 로그 확인: DSclub와 SIR에 게시된 패치 노트와 공지를 주기적으로 확인하며, 버전 간 API 변경 사항을 파악합니다DSclub T2Editor 서비스 페이지.
- 의존 플러그인 점검: 사용 중인 플러그인의 최신 버전 여부를 확인하고, 공식 문서에서 호환성 표를 찾습니다. 필요하다면 플러그인을 재작성합니다.
- 백업과 롤백 계획: 업데이트 전에 데이터베이스와 파일을 백업하고, 문제가 발생하면 이전 버전으로 롤백할 수 있는 계획을 마련합니다.
- 협업 데이터 위치: 협업은 플러그인 코드(
plugin/collab/)와 협업 데이터(data/t2editor_db/collab/)가 서로 다른 곳에 있습니다. 배포판 루트에collab폴더를 직접 만들지 마십시오. 이전 판본의 루트collab폴더가 남아 있으면 최초 실행 시 새 위치로 이전합니다. 권한은 데이터 경로 하나에만 주십시오 — v10의 설치 안내도 "쓰기 권한은 감지된 T2Editor 공용 데이터 경로에만 부여합니다. T2Editor 원본 코드, plugin, extend, locales 전체를 쓰기 가능하게 만들지 마세요"라고 명시합니다. 자세위는 N-05-cms-adapter-and-data-paths.md를 보십시오.
참고 / 인용 자료
- DSclub에서 제공하는 버전 히스토리와 기능 변경 사항DSclub T2Editor 서비스 페이지
- 버전별 라이선스 정책 변경 설명DSclub T2Editor 서비스 페이지 - 라이선스 변경 관련 안내
- SIR 커뮤니티의 플러그인 로딩 지연 기능 및 설치 안내SIR T2Editor 8.1.2 기능 설명SIR T2Editor 8.1.2 설치 및 권한 설정 안내
- AI 플러그인 오류와 대체 API 제안SIR T2Editor 8.1.2 후속 공지 및 서비스 주의사항
이 문서는 T2Editor 10.5.1(2026-07-27) 판본의 배포판과 릴리즈 노트를 직접 대조해 작성되었습니다. 앞으로 출시되는 버전에서는 새로운 이슈가 발생할 수 있습니다. 업데이트 전에는 DSclub 공지와 SIR 배포글을 함께 확인하십시오.