You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+20Lines changed: 20 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,6 +10,25 @@ ReadMates는 Git tag와 GitHub Releases를 함께 사용합니다. 이 파일은
10
10
11
11
- 다음 릴리즈 후보 변경을 이 섹션에 기록합니다.
12
12
13
+
## v1.15.1 - 2026-06-29
14
+
15
+
### Fixed
16
+
17
+
-**server release image security:**`v1.15.0`의 `Deploy Front`는 통과했지만 `Deploy Server Image`가 GHCR release tag promotion 전에 Trivy HIGH gate에서 멈췄습니다. Runtime classpath를 Jackson fixed patch line으로 정렬해 `com.fasterxml.jackson.core:jackson-databind`를 `2.21.4`, `tools.jackson.core:jackson-databind`를 `3.1.4`로 올리고, `jackson-annotations`는 공개된 `2.21` artifact로 고정했습니다.
18
+
19
+
### Deployment Notes
20
+
21
+
- Patch release for server image scan repair. DB migration, public API contract, auth/BFF token handling, OAuth scope, frontend behavior, Pages Functions behavior, and deploy workflow triggers are unchanged from `v1.15.0`.
22
+
- Do not force-update `v1.15.0`. Publish `v1.15.1`, confirm `Deploy Front` and `Deploy Server Image`, promote OCI Compose backend to `ghcr.io/<owner>/<repo>/readmates-server:v1.15.1`, create the GitHub Release, then run sanitized BFF/OAuth/admin/host smoke checks.
23
+
24
+
### Verification
25
+
26
+
-`v1.15.0` release operation (2026-06-29): `Deploy Front` passed for tag `v1.15.0`; `Deploy Server Image` built and pushed a scan candidate but failed before release-tag promotion because Trivy found four fixed HIGH Jackson databind findings: CVE-2026-54512 and CVE-2026-54513 in `com.fasterxml.jackson.core:jackson-databind 2.21.2`, and the same CVEs in `tools.jackson.core:jackson-databind 3.1.2`.
27
+
- Local dependency verification (2026-06-29): `./server/gradlew -p server dependencyInsight --dependency jackson-databind --configuration runtimeClasspath` selected `com.fasterxml.jackson.core:jackson-databind 2.21.4` and `tools.jackson.core:jackson-databind 3.1.4`.
28
+
- Local server/image verification (2026-06-29): `./server/gradlew -p server clean check bootJar` passed; `./server/gradlew -p server integrationTest` passed; `docker build -f server/Dockerfile.release server -t readmates-server:v1.15.1-local` passed.
29
+
- Local vulnerability verification (2026-06-29): `docker run --rm -v /var/run/docker.sock:/var/run/docker.sock aquasec/trivy:0.70.0 image --severity HIGH,CRITICAL --ignore-unfixed --scanners vuln readmates-server:v1.15.1-local` passed with 0 Ubuntu and Java HIGH/CRITICAL findings.
30
+
- Public safety: `git diff --check -- server/build.gradle.kts CHANGELOG.md docs/development/release-readiness-review.md`, `./scripts/build-public-release-candidate.sh`, and `./scripts/public-release-check.sh .tmp/public-release-candidate` passed; gitleaks reported no leaks.
31
+
13
32
## v1.15.0 - 2026-06-29
14
33
15
34
### Highlights
@@ -53,6 +72,7 @@ ReadMates는 Git tag와 GitHub Releases를 함께 사용합니다. 이 파일은
53
72
- Public safety: `./scripts/build-public-release-candidate.sh` and `./scripts/public-release-check.sh .tmp/public-release-candidate` passed; gitleaks reported no leaks in the candidate.
54
73
- Local environment note: after Docker CT recreated host-mounted `node_modules` with Linux optional dependencies, the first preview Lighthouse attempt failed on a missing macOS Rolldown native binding. `CI=true npx --yes pnpm@10.33.0 install --frozen-lockfile` restored host dependencies, and the same preview Lighthouse command then passed.
55
74
- Remote CI repair before tag: the first pushed `main` CI run failed only in `Frontend visual regression` because the new job ran host `pnpm test:ct` on `ubuntu-24.04` while the committed baselines are Docker-rendered. The workflow now runs `pnpm test:ct:docker`, matching the documented baseline renderer and the local passing gate.
75
+
- Release operation: `Deploy Front` passed for tag `v1.15.0`; `Deploy Server Image` failed before release-tag promotion at Trivy scan on Jackson databind fixed HIGH findings. The release is rolled forward through `v1.15.1`; do not force-update `v1.15.0`.
56
76
- Skipped before tag push: GitHub Actions status, `Deploy Front`, `Deploy Server Image`, OCI Compose backend promotion, GitHub Release publication, production OAuth, provider-console checks, and post-deploy smoke. These require pushed `main`/tag or production operator access and are release-operation steps after publication.
Copy file name to clipboardExpand all lines: docs/development/release-readiness-review.md
+18Lines changed: 18 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,24 @@
2
2
3
3
남은 리스크, release readiness, merge 후 안전성, ship 가능 여부를 확인할 때 사용하는 체크리스트입니다. 구현 계획의 완료 여부와 테스트 통과 여부만으로 release risk가 닫혔다고 판단하지 않습니다.
4
4
5
+
## 2026-06-29 v1.15.1 server image repair readiness
6
+
7
+
- Scope reviewed: `v1.15.0` tag operation, failed `Deploy Server Image` run `28338469979`, and local server runtime dependency graph before publishing `v1.15.1`.
8
+
- Release classification: patch release to unblock server release-image Trivy gate. No Flyway migration, public API contract, auth/BFF token handling, OAuth scope, Pages Functions behavior, frontend behavior, secret/session handling, or deploy workflow trigger change is included.
9
+
-`v1.15.0` release operation status: `Deploy Front` passed for tag `v1.15.0`; `Deploy Server Image` built and pushed a scan candidate but failed before release-tag promotion. Therefore `ghcr.io/<owner>/<repo>/readmates-server:v1.15.0` was not promoted by the deploy workflow.
10
+
- Root cause: Trivy found four fixed HIGH Jackson databind findings in the scan candidate: CVE-2026-54512 and CVE-2026-54513 in `com.fasterxml.jackson.core:jackson-databind 2.21.2`, plus the same CVEs in `tools.jackson.core:jackson-databind 3.1.2`.
11
+
- Server impact: runtime dependency resolution now forces `com.fasterxml.jackson.core:jackson-databind` to `2.21.4` and `tools.jackson.core` modules to `3.1.4`; `jackson-annotations` is constrained to published `2.21` because `2.21.4` is not available.
12
+
- Local dependency verification before publication: `./server/gradlew -p server dependencyInsight --dependency jackson-databind --configuration runtimeClasspath` selected `com.fasterxml.jackson.core:jackson-databind 2.21.4` and `tools.jackson.core:jackson-databind 3.1.4`.
13
+
- Local server/image verification before publication:
14
+
-`./server/gradlew -p server clean check bootJar` - pass.
15
+
-`./server/gradlew -p server integrationTest` - pass.
16
+
-`docker build -f server/Dockerfile.release server -t readmates-server:v1.15.1-local` - pass.
-`./scripts/build-public-release-candidate.sh` and `./scripts/public-release-check.sh .tmp/public-release-candidate` - pass; gitleaks reported no leaks.
20
+
- Release plan: do not force-update `v1.15.0`; publish `v1.15.1`, confirm tag-triggered `Deploy Front` and `Deploy Server Image`, promote OCI Compose backend to `ghcr.io/<owner>/<repo>/readmates-server:v1.15.1`, create the GitHub Release, then run sanitized BFF/OAuth/admin/host smoke checks.
21
+
- Residual risk: remote server image Trivy pass, GHCR release-tag promotion, OCI backend promotion, GitHub Release publication, and post-deploy smoke remain pending until the pushed `v1.15.1` tag workflows and production promotion complete.
22
+
5
23
## 2026-06-29 v1.15.0 pre-release readiness
6
24
7
25
- Scope reviewed: local `v1.14.1..HEAD` and `main...origin/main` before publishing `v1.15.0`.
0 commit comments