Skip to content

Releases: dj258255/codingtestkit

v1.4.4

Choose a tag to compare

@dj258255 dj258255 released this 23 Jun 09:11

IntelliJ 2026.2 호환성

IntelliJ 2026.2에서 JCEF CefResourceHandler 인터페이스가 변경(processRequest/readResponseopen/read/skip)되면서 문제 뷰어의 리소스 핸들러가 바이너리 비호환(미구현 메서드 9건 + deprecated API 6건)이 되던 문제를 해결했습니다.

수정

  • JCEF CefResourceHandler 버전 호환 — 정적 구현 대신 java.lang.reflect.Proxy로 런타임 인터페이스에 맞춰 메서드 이름 기준으로 디스패치하는 핸들러로 교체. 같은 빌드가 2024.3부터 2026.2+까지 동작합니다.

검증

  • 안정 버전(2024.3 / 2025.1 / 2025.2) Plugin Verifier Compatible 확인
  • 2026.2 EAP는 릴리스 저장소 미제공으로 로컬 검증 불가 — 구조적으로 정적 구현 클래스가 제거되어 미구현/deprecated 경고 대상이 사라짐. 실제 렌더링은 정식 출시 후 실기 확인 권장.

v1.4.3

Choose a tag to compare

@dj258255 dj258255 released this 22 Jun 03:48

Windows 인코딩 버그 수정

Windows에서 Java 코드 컴파일·실행 시 발생하던 문자 인코딩 문제를 해결했습니다.

수정 (Fixes)

  • [#2] Windows javac "unmappable character" 오류 — 래퍼 소스를 UTF-8로 저장하고 javac -encoding UTF-8로 컴파일. 한국어 Windows 기본 코드페이지(MS949)에서 한글 주석으로 컴파일이 깨지던 문제 해결.
  • [#4] Windows 실행 결과 한글 깨짐 — Java/Kotlin 실행을 UTF-8 표준 입출력으로 수행하고 프로세스 스트림을 UTF-8로 읽음.
  • Windows 도구 탐지whichwhere, .exe 해석, python 우선. Windows에서 Java/Python 실행 실패 해결.
  • levelToString 크래시 — 범위 밖 레벨에서 ArrayIndexOutOfBounds 발생하던 문제 수정.
  • 폴더명 정리.+ 보존 (예: "A+B").

CI

  • verify 워크플로가 ubuntu + windows 두 OS에서 전체 테스트(인코딩 회귀 테스트 포함)를 실행합니다.

제보해주신 @bangddong 님, 수정 PR을 올려주신 @Mayank-Sr 님께 감사드립니다. 🙏

v1.4.2 - 빌드 경고 해소 (sinceBuild 243, JDK 21)

Choose a tag to compare

@dj258255 dj258255 released this 28 Apr 13:25

변경 사항

빌드 설정 정리

1.4.1 빌드에서 떴던 두 개의 정보성 경고를 정식으로 해소했습니다.

  • sinceBuild 242 → 243 — IntelliJ Platform 2024.3 SDK로 컴파일하면서 sinceBuild만 2024.2였던 불일치 해소. 최소 지원 IDE는 IntelliJ IDEA 2024.3 으로 상향됩니다.
  • Java/Kotlin 타겟 17 → 21 — sourceCompatibility / targetCompatibility / Kotlin jvmTarget을 21로 일괄 상향. 2024.3 SDK가 실제로 요구하는 버전과 일치.
  • 소스에서 빌드 시 JDK 21 필요 (이전엔 JDK 17). 일반 사용자는 영향 없음.

Plugin Verifier

  • 매트릭스에서 IC 2024.2.6 제거
  • 검증 결과: 3/3 Compatible — IC 2024.3.7 / 2025.1.7 / 2025.2.6.1
  • 모두 "Plugin can probably be enabled or disabled without IDE restart"

호환성 영향

환경 v1.4.1 v1.4.2
IDEA 2024.2 ❌ (sinceBuild 243)
IDEA 2024.3+
빌드용 JDK 17 21

설치

  • JetBrains Marketplace에서 "CodingTestKit" 검색
  • 또는 첨부된 CodingTestKit-1.4.2.zip 수동 설치 (Settings → Plugins → ⚙ → Install Plugin from Disk)

이전 버전 사용자: 자동 업데이트 시 IDE가 2024.2면 1.4.1로 유지됩니다.

v1.4.1 - 피드백 채널(구글 폼) 추가

Choose a tag to compare

@dj258255 dj258255 released this 28 Apr 12:52

변경 사항

신규 기능

  • 설정 → 피드백 섹션 추가: 도구창 설정 탭에 "버그 제보 & 기능 제안" 버튼 추가
    클릭 시 구글 폼이 OS 기본 브라우저로 열립니다 (익명 제출 가능, 1분 소요)
    https://forms.gle/Qqi5gDoHSi2HU1Xs5
  • plugin.xml description 및 README 영·한 양쪽에 폼 링크 노출

Marketplace 가이드라인 v1.3 (2026-03-31) 대응

  • <name> 41자 → 13자 (CodingTestKit), 1.2.e 30자 제한 준수
  • pluginIcon.svg width/height 128 → 40, 1.1.c 권장 사이즈
  • PRIVACY.md에 구글 폼 자발적 제출 항목 명시 (3.4)
  • Plugin Verifier 통과: IC 2024.2 / 2024.3 / 2025.1 / 2025.2 모두 Compatible

설치

  • JetBrains Marketplace에서 "CodingTestKit" 검색
  • 또는 첨부된 CodingTestKit-1.4.1.zip 수동 설치 (Settings → Plugins → ⚙ → Install Plugin from Disk)

v1.4.0 - BOJ 플랫폼 지원 제거

Choose a tag to compare

@dj258255 dj258255 released this 21 Apr 10:44

v1.4.0

BOJ 플랫폼 지원 제거 — BOJ 서비스 종료에 따라 해당 플랫폼 관련 기능(문제 가져오기, 제출, 검색, 랜덤, 내 풀이)과 solved.ac 기반 기능을 전면 제거했습니다.

제거된 항목

  • BOJ 문제 가져오기 / 제출 / 검색 / 랜덤 / 내 풀이 기능
  • solved.ac 태그·난이도 API 및 관련 다이얼로그
  • ProblemSource.BAEKJOON, Language.baekjoonId

마이그레이션

  • 업그레이드 후 첫 실행 시 PasswordSafe에 저장돼 있던 BOJ 쿠키가 자동으로 삭제됩니다.
  • 기존에 problems/백준/ 또는 problems/Baekjoon/ 폴더에 생성된 파일은 로컬에 그대로 남지만 플러그인이 더 이상 다루지 않습니다.

현재 지원 플랫폼

  • 프로그래머스
  • SWEA
  • LeetCode
  • Codeforces

설치

아래 CodingTestKit-1.4.0.zip을 내려받아 IntelliJ IDEA > Settings > Plugins > ⚙ > Install Plugin from Disk로 설치하거나, JetBrains Marketplace 업데이트를 기다려 주세요.

v1.3.1 - Deprecated API 해결

Choose a tag to compare

@dj258255 dj258255 released this 15 Apr 03:27

🛠 Marketplace 검증 이슈 수정

v1.3.0 Marketplace 검증에서 발견된 deprecated API 사용을 전부 해결한 패치 릴리즈.

🔧 수정사항

  • [수정] CredentialAttributes 생성자 – 2024.1 SDK 컴파일 타겟 때문에 Kotlin이 1-arg 호출을 requestor: Class<*>? 포함 deprecated 생성자로 바인딩하던 이슈. 컴파일 타겟을 2024.3 으로 올려 새 secondary constructor 에 바인딩되도록 수정
  • [수정] java.net.URL(String) – ProgrammersApi 에서 URL(url)URI.create(url).toURL() 로 교체 (Java 21+ deprecation)
  • [수정] ModuleTypeId.JAVA_MODULE – 2024.3 에서 제거된 상수를 인라인 문자열로 교체

⚠️ 호환성 변경

  • sinceBuild 241 → 242: IntelliJ IDEA 2024.1 지원 중단. 최소 지원 버전은 2024.2. (위 API 마이그레이션을 위해 불가피)

✅ 검증 결과

IC-242.26775.15 (2024.2.6), IC-243.28141.18 (2024.3.7), IC-251.29188.11 (2025.1.7), IC-252.28539.33 (2025.2.6) 전부 Compatible, deprecated API 0건


v1.3.0 의 보안/Privacy 개선사항은 그대로 유지됩니다.

v1.3.0 - Marketplace 가이드라인 대응

Choose a tag to compare

@dj258255 dj258255 released this 14 Apr 19:51

🔒 보안 & Marketplace 대응 릴리즈

기존 유저의 쿠키/토큰은 첫 실행 시 자동 마이그레이션되어 재로그인 필요 없음.

🔒 보안

  • 사이트 로그인 쿠키 (백준, 프로그래머스, SWEA, LeetCode, Codeforces) 와 GitHub 액세스 토큰을 평문 XML 파일 대신 IntelliJ PasswordSafe (OS 키체인) 에 저장

🐛 UX

  • 로그인 다이얼로그가 대상 사이트의 4xx/5xx 응답 (예: 백준 504 Gateway Time-out) 이나 네트워크 오류에서 멈추지 않고 명확한 에러 메시지와 새로고침 버튼 표시

📄 Marketplace

  • PRIVACY.md 추가 및 플러그인 설명에 Privacy & Data 섹션 추가 (JetBrains Marketplace 2025 업데이트된 심사 가이드라인 대응)
  • 추측성 untilBuild 제거 → Marketplace 가 미래 IDE 버전 호환성을 동적으로 관리

검증: verifyPlugin 통과, deprecated API 사용 0건

v1.2.1

Choose a tag to compare

@dj258255 dj258255 released this 23 Mar 13:04

v1.2.1

Fix

  • Deprecated API – Replaced StatusBarWidget.TextPresentation (which uses obsolete com.intellij.util.Consumer) with CustomStatusBarWidget + TextPanel.WithIconAndArrows + MouseAdapter
  • BOJ subtask missing – Subtask section (번호/배점/제한 table) is now included when fetching Baekjoon problems that have subtasks

수정

  • Deprecated APIStatusBarWidget.TextPresentation (obsolete인 com.intellij.util.Consumer 사용)을 CustomStatusBarWidget + TextPanel.WithIconAndArrows + MouseAdapter로 교체
  • 백준 서브태스크 누락 – 서브태스크가 있는 백준 문제를 가져올 때 서브태스크 섹션(번호/배점/제한 테이블)이 문제 설명에 포함되도록 수정

v1.2.0

Choose a tag to compare

@dj258255 dj258255 released this 16 Mar 11:21

v1.2.0

New

  • SWEA HTTP 고속 fetch – 헤드리스 브라우저 대신 HTTP POST(Jsoup)로 직접 문제 콘텐츠를 가져와 문제당 ~5-15초 → 1초 미만으로 단축. HTTP 추출 실패 시 JCEF 자동 fallback
  • SWEA 백그라운드 fetch – 오프스크린 JCEF 브라우저로 백그라운드에서 자동 가져오기. JCEF 다이얼로그 팝업 제거
  • SWEA 배치 fetch – 랜덤 뽑기에서 여러 SWEA 문제를 한번에 가져오기
  • 키보드 단축키 – Ctrl+Alt+F (가져오기), Ctrl+Alt+R (전체 실행), Ctrl+Alt+S (제출), Ctrl+Alt+T (번역)
  • 테스트 diff 하이라이팅 – 실패한 테스트 케이스에서 줄/글자 단위 차이 색상 표시
  • 상태바 위젯 – IDE 하단에 현재 플랫폼·문제 번호 표시
  • SWEA 랜덤 뽑기 한/영 번역 – 원클릭 한↔영 제목 번역 버튼
  • 출처 표시 – 각 문제 하단에 플랫폼명, 문제 URL, 저작권 안내

Improved

  • SWEA 병렬 fetch – 여러 SWEA 문제를 순차가 아닌 병렬(최대 3개 동시)로 가져와 총 소요 시간 대폭 단축
  • SWEA 랜덤 속도 – D1~D8 레벨 스캔 병렬화 (~8초 → ~1-2초)
  • SWEA fetch 아키텍처 – form submit(POST) + JS polling(500ms)으로 전면 개선
  • SWEA 테스트 데이터 – HTTP 직접 다운로드 + zip 메모리 내 추출
  • SWEA 이미지 base64 인라인 – 로컬 파일 저장 없이 브라우저 내 변환
  • 태그 동적 로딩 – BOJ/LeetCode/Codeforces 알고리즘 태그를 API에서 동적 조회 (10분 캐시)
  • 태그 번역 중앙화 – 한↔영 태그 번역 맵을 API 서비스 객체로 이동
  • 면책 조항 강화 – 개인 학습 목적 전용, 재배포·상업적 이용 금지 명시

v1.1.1

Choose a tag to compare

@dj258255 dj258255 released this 12 Mar 13:37

v1.1.1

신규

  • SWEA 랜덤 뽑기 한/영 번역 – SWEA 랜덤 문제 뽑기에 원클릭 한↔영 제목 번역 버튼 추가 (다른 플랫폼과 동일하게 적용)
  • 출처 표시 – 각 문제 하단에 플랫폼명, 문제 URL, 저작권 안내를 포함한 출처 표시 추가

개선

  • 면책 조항 강화 – 플러그인 설명의 면책 조항 강화: 개인 학습 목적 전용, 재배포·상업적 이용 금지 명시

New

  • SWEA random EN/KO translation – Added one-click Korean↔English title translation button to SWEA random problem picker (matching all other platforms)
  • Source attribution – Each problem now shows a source attribution link at the bottom with platform name, problem URL, and copyright notice

Improved

  • Disclaimer – Strengthened disclaimer in plugin description: personal study use only, no redistribution, no commercial use