Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 8 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
6 changes: 3 additions & 3 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 은 요청받을 때만 빌드하므로 나머지는 아무도 받아간
적이 없다는 뜻이다. 쓰는 사람이 없는데 배포 경로가 둘이면 서명 설정과 문서와 검증이 모두
Expand All @@ -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` 에서 실제로 그랬다.
Expand Down Expand Up @@ -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` 이 된다. **소비자 스모크 테스트 전용이다.**

Expand Down
2 changes: 1 addition & 1 deletion README.ko.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ repositories {
}

dependencies {
testImplementation("io.github.jjh75607:query-counter:0.4.0")
testImplementation("io.github.jjh75607:query-counter:0.5.0")
}
```

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ repositories {
}

dependencies {
testImplementation("io.github.jjh75607:query-counter:0.4.0")
testImplementation("io.github.jjh75607:query-counter:0.5.0")
}
```

Expand Down
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
Loading