From d843f7e6d365e21d268b0c5fe985a403186de9b7 Mon Sep 17 00:00:00 2001 From: jjh75607 Date: Wed, 19 Aug 2026 15:54:24 +0900 Subject: [PATCH] =?UTF-8?q?Chore:=200.5.0=20=EB=A6=B4=EB=A6=AC=EC=8A=A4?= =?UTF-8?q?=EB=A5=BC=20=EC=A4=80=EB=B9=84=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `0.4.0` 이후 넷이 쌓였다. Fixed 둘 중 하나가 `@JdbcTest` 와 `@DataJdbcTest` 라, 그것을 쓰는 사람은 지금 받는 버전에서 조용히 아무것도 안 된다. 수정과 기능이 또 섞였다. ROADMAP 에 "다음에는 순서를 지킨다" 고 적어 둔 자리인데, 그 규칙의 이유가 사용자가 수정만 골라 받게 하려는 것이고 지금은 골라 받을 사용자가 없다. 그래서 하나로 낸다. 사용자가 붙은 뒤부터 나눈다. CHANGELOG 의 Fixed 안에서 슬라이스 수정을 먼저 뒀다. 조용히 안 되던 것이 먼저 읽혀야 한다. 버전 문자열이 네 자리에 있어 함께 고쳤다. build.gradle, README 두 벌, CLAUDE.md 의 좌표와 예시다. 지원 버전 셋을 빌드하고 소비자 스모크도 돌렸다. Co-Authored-By: Claude Opus 5 (1M context) --- CHANGELOG.md | 13 ++++++++----- CLAUDE.md | 6 +++--- README.ko.md | 2 +- README.md | 2 +- build.gradle | 2 +- 5 files changed, 14 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6f33f27..72bb4d4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,17 +8,20 @@ ## [Unreleased] -### Fixed - -- **테스트 스레드가 아닌 곳의 기록이 무한히 쌓이던 것을 막았습니다.** `other-threads.enabled` 를 켜지 않은 채 실제 HTTP 요청을 보내는 테스트를 돌리면, 서버 워커 스레드에 기록이 쌓이고 아무도 비우지 않았습니다. 읽을 수도 없는 기록입니다. 1만 개에 닿으면 그 뒤는 담지 않고, 그 사실과 `other-threads.enabled` 로 제대로 세는 길을 한 번 알립니다 - -- **`@JdbcTest` 와 `@DataJdbcTest` 에서도 쿼리가 기록됩니다.** `0.4.0` 은 `@DataJpaTest` 만 덮었습니다. 슬라이스마다 Spring Boot 3.x 와 4.x 의 등록 파일 이름이 달라 여섯 개가 됐습니다 +## [0.5.0] - 2026-08-19 ### Added - **`query-counter.max-queries.per-test` 로 한 테스트의 쿼리 수 상한을 둘 수 있습니다. 테스트에는 아무것도 안 적습니다.** 반복문 안에서 리포지토리를 부르면 쿼리 3개가 200개가 되는데, 그것이 어느 테스트에서 일어나든 잡습니다. 손으로 적는 어서션이 한 테스트의 정확한 수를 말하는 것과 달리 모든 테스트의 대략의 수를 말합니다. 기본은 0(상한 없음)입니다 + - **`query-counter.max-queries.report` 로 테스트마다 쿼리 수를 로그로 남깁니다.** 상한을 어림수로 잡지 않고 지금 스위트의 최대값을 보고 정하기 위한 것입니다. 테스트 설정에서 `logging.level.root: warn` 을 두면 이 보고가 걸러지므로, 그 경우에는 경고로 알립니다 +### Fixed + +- **`@JdbcTest` 와 `@DataJdbcTest` 에서도 쿼리가 기록됩니다.** `0.4.0` 은 `@DataJpaTest` 만 덮었습니다. 슬라이스마다 Spring Boot 3.x 와 4.x 의 등록 파일 이름이 달라 여섯 개가 됐습니다 + +- **테스트 스레드가 아닌 곳의 기록이 무한히 쌓이던 것을 막았습니다.** `other-threads.enabled` 를 켜지 않은 채 실제 HTTP 요청을 보내는 테스트를 돌리면, 서버 워커 스레드에 기록이 쌓이고 아무도 비우지 않았습니다. 읽을 수도 없는 기록입니다. 1만 개에 닿으면 그 뒤는 담지 않고, 그 사실과 `other-threads.enabled` 로 제대로 세는 길을 한 번 알립니다 + ## [0.4.0] - 2026-08-19 ### Added diff --git a/CLAUDE.md b/CLAUDE.md index 7e1b59d..96ead47 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -277,7 +277,7 @@ checkstyle 은 없다. ## 릴리스 -설치 좌표는 `io.github.jjh75607:query-counter:0.4.0` 이다. `0.1.0` 이하는 Central 에 없다. +설치 좌표는 `io.github.jjh75607:query-counter:0.5.0` 이다. `0.1.0` 이하는 Central 에 없다. JitPack 으로 내던 시절의 것이고 2026-08-13 에 그 경로를 접었다. 근거는 태그 7개 중 JitPack 이 빌드한 것이 둘뿐이었다는 것이다. JitPack 은 요청받을 때만 빌드하므로 나머지는 아무도 받아간 적이 없다는 뜻이다. 쓰는 사람이 없는데 배포 경로가 둘이면 서명 설정과 문서와 검증이 모두 @@ -294,7 +294,7 @@ JitPack 으로 내던 시절의 것이고 2026-08-13 에 그 경로를 접었다 4. `https://central.sonatype.com/publishing/deployments` 에서 확인하고 Publish 를 누른다. 이걸 누르기 전에는 아무도 받을 수 없다 5. `verify-release.yml` 을 태그를 넣어 수동 실행한다. 공개를 누른 뒤에 도는 것이라 자동 - 실행은 걸어두지 않았다. 명령으로는 `gh workflow run verify-release.yml -f tag=v0.4.0` 이다 + 실행은 걸어두지 않았다. 명령으로는 `gh workflow run verify-release.yml -f tag=v0.5.0` 이다 **Publish 를 누른 뒤 `repo1.maven.org` 에 퍼지기까지 몇 분에서 수십 분 걸린다.** 4번과 5번 사이의 이 시차를 모르면 5번의 404 를 릴리스 실패로 읽는다. `0.4.0` 에서 실제로 그랬다. @@ -338,7 +338,7 @@ Central 은 서명 없는 아티팩트를 받지 않는다. 서명 키는 저장 `-Pversion=0.3.0-SNAPSHOT` 으로 서명을 건너뛰려는 시도는 통하지 않는다. `build.gradle` 이 `version` 을 직접 대입하고 있어서 명령줄 프로퍼티가 덮이지 않는다. -그래서 그 자리를 `-PpublishVersion` 으로 열어 두었다. `version = findProperty('publishVersion') ?: '0.4.0'` +그래서 그 자리를 `-PpublishVersion` 으로 열어 두었다. `version = findProperty('publishVersion') ?: '0.5.0'` 이고, SNAPSHOT 을 넘기면 `signMavenPublication` 이 SKIPPED 되어 키 없이 `publishToMavenLocal` 이 된다. **소비자 스모크 테스트 전용이다.** diff --git a/README.ko.md b/README.ko.md index 29f8a8f..4ac257d 100644 --- a/README.ko.md +++ b/README.ko.md @@ -74,7 +74,7 @@ repositories { } dependencies { - testImplementation("io.github.jjh75607:query-counter:0.4.0") + testImplementation("io.github.jjh75607:query-counter:0.5.0") } ``` diff --git a/README.md b/README.md index 5e7123b..2b6eb7e 100644 --- a/README.md +++ b/README.md @@ -73,7 +73,7 @@ repositories { } dependencies { - testImplementation("io.github.jjh75607:query-counter:0.4.0") + testImplementation("io.github.jjh75607:query-counter:0.5.0") } ``` diff --git a/build.gradle b/build.gradle index 0df4029..bf760ce 100644 --- a/build.gradle +++ b/build.gradle @@ -9,7 +9,7 @@ group = 'io.github.jjh75607' // CI 의 소비자 스모크 테스트가 -PpublishVersion 으로 SNAPSHOT 을 발행한다. // SNAPSHOT 은 서명을 건너뛰므로 키 없이 로컬 저장소로 낼 수 있다. -version = findProperty('publishVersion') ?: '0.4.0' +version = findProperty('publishVersion') ?: '0.5.0' java { toolchain {