Skip to content

2.0.0

Latest

Choose a tag to compare

@github-actions github-actions released this 02 Sep 05:13
· 74 commits to develop since this release
2.0.0
d632a0b

Source commit: d632a0bc0662ae616b786f552150a7fabd1cee3e

추가됨

  • Ktor ApplicationCall에 binding된 TenantId를 검증된 exact-match resolver로 전달하는
    opt-in bluetape4k-exposed-ktor-tenant-jdbc
    bluetape4k-exposed-ktor-tenant-r2dbc transaction adapter를 추가했습니다. JDBC는
    애플리케이션 소유 blocking dispatcher를 사용하고 R2DBC는 coroutine-native로 실행하며,
    알 수 없는 tenant를 기본 database로 fallback하지 않습니다
    (#763).
  • Spring Data JDBC와 R2DBC가 공유하는 annotation, mapping, query planning, sort 변환을
    bluetape4k-exposed-spring-boot-common으로 분리하고 BOM·manual·CI coverage를 등록했습니다
    (#729).
  • Spring Data R2DBC repository에 Reactor 타입 없이 coroutine-native Query by Example과
    immutable FluentQuery terminal, projection, paging, slice, cold Flow 실행을
    추가했습니다
    (#643).
  • Spring Data JDBC QueryByExampleExecutor.findBy가 closed interface, Kotlin data class,
    Java record projection과 project/sort/limit/page/count/exists를 SQL로 pushdown하고,
    caller-owned transaction에서 한 행씩 소비하는 cursor-backed stream()을 지원합니다
    (#642).

변경됨

  • batch JDBC/R2DBC repository가 지원 DB 공통 active_key unique schema와 bounded
    unique-conflict recovery를 사용하고, InMemory를 포함한 completion API가 terminal
    상태만 저장하도록 계약을 강화했습니다
    (#771).
  • batch Job/Step execution에 owner+version lease renewal과 writer/checkpoint
    직전 fencing을 추가하고, capability preflight·redacted structured event·canary
    rollout/rollback receipt validator를 제공했습니다
    (#768).
  • Ktor integration을 backend-selective child artifact로 분리하고 dependency allowlist와
    generated manifest parity를 fail-closed로 검증하도록 정리했습니다
    (#748,
    #762).
  • batch utility의 core·JDBC·R2DBC artifact ownership을 분리하고, 성공적으로 커밋된
    chunk 뒤 FAILED된 실행의 checkpoint 보존과 재시작 경계를 정렬했습니다
    (#746,
    #747,
    #758).
  • Caffeine cache repository의 lifecycle coordinator와 backend conformance suite를
    공통 경계로 정리했습니다
    (#755).
  • R2DBC Spring Data adapter가 JDBC adapter와 spring-jdbc 없이 common SPI만 사용하도록
    dependency 경계를 고정했으며, 기존 JDBC public symbol은 descriptor를 보존하는 deprecated
    facade로 유지했습니다
    (#729).
  • JDBC QBE terminal이 하나의 matcher compiler와 cardinality 규칙을 공유합니다. 현재
    transaction에 연결되지 않은 probe, open SpEL projection, nested/unknown property,
    결과 cardinality를 바꾸는 custom EntityClass.searchQuery shape는 SQL 전에
    fail-fast로 거부합니다
    (#642).

버그 수정

  • batch 2.0 migration이 active legacy parameter hash를 fail-closed로 차단하고,
    H2·MySQL·PostgreSQL preflight/migrate/postflight SQL을 core와 aggregate JAR에
    포함하도록 보강했습니다
    (#781).
  • R2DBC Redisson 예외 로그에서 원문과 stack trace가 노출되지 않도록 정리하고,
    EntityMapLoader 테스트가 테이블을 격리하도록 보강했습니다
    (#759,
    #760).
  • CodeQL Gradle 검증을 configuration-cache 환경에서도 strict task로 실행하도록
    수정했습니다
    (#757).
  • batch가 성공적으로 커밋한 청크 뒤에 FAILED되어도 마지막 checkpoint를 보존하고,
    동일 parameters 재시작이 그 key 다음부터 이어지도록 InMemory/JDBC/R2DBC 완료 갱신과
    취소 전파 계약을 정렬했습니다
    (#745).

문서화

  • Ktor child module의 generated manifest가 실제 모듈 경계와 일치하는지 CI에서 검증하도록
    문서 계약을 보강했습니다
    (#761).

Contributors

Full Changelog: 1.12.1...2.0.0