Skip to content

Releases: devRavit/stash

v0.2.12

16 Jan 18:16

Choose a tag to compare

2026.01.17 03:10

App Runner 서비스 재생성

  • production profile 설정 간소화
  • App Runner 서비스 재배포 트리거

Tag: v0.2.12
Commit: d392b6b

v0.2.11

16 Jan 17:21

Choose a tag to compare

2026.01.17 02:15

새 이미지 배포 트리거

  • production 로깅 설정 복구 (com.ravit.stash: INFO)
  • /externals/health endpoint 포함된 이미지 배포

Tag: v0.2.11
Commit: 3b93304

v0.2.10

16 Jan 16:14

Choose a tag to compare

2026.01.17 17:30

spring.config.import 설정 위치 변경

  • application.yml로 spring.config.import 설정 이동
  • profile-specific 파일의 config import는 Spring Boot 4.0에서 처리되지 않음
  • application-production.yml에서 해당 설정 제거

Tag: v0.2.10
Commit: d760f71

v0.2.9

16 Jan 16:00

Choose a tag to compare

2026.01.17 17:00

spring.config.import 설정 추가

  • application-production.yml에 spring.config.import 설정 직접 추가
  • 환경변수 주입 방식 대신 앱 설정 파일에서 직접 Secrets Manager 연동
  • 운영 환경에서는 Secrets Manager 연결 필수 (실패 시 앱 기동 중단)

Tag: v0.2.9
Commit: 28b36e2

v0.2.8

16 Jan 15:38

Choose a tag to compare

2026.01.17 16:00

Spring Cloud AWS 4.0.0-RC1 업그레이드

  • Spring Boot 4.0 호환을 위해 Spring Cloud AWS 4.0.0-RC1로 업그레이드
  • Spring Cloud AWS 3.3.0은 Spring Boot 4.0과 호환되지 않음 (PropertyMapper.whenNonNull 제거됨)

Tag: v0.2.8
Commit: 42c5514

v0.2.7

16 Jan 15:14

Choose a tag to compare

2026.01.16 14:00

Spring Cloud AWS Secrets Manager 연동

  • spring-cloud-aws-starter-secrets-manager 의존성 추가
  • 앱 기동 시 IAM 권한으로 Secrets Manager 직접 읽기
  • application-production.yml 간소화 (logging만 유지)

Tag: v0.2.7
Commit: 19f0dd1

v0.2.6

15 Jan 16:00

Choose a tag to compare

2026.01.16 10:30

Production profile 설정 추가

  • application-production.yml 추가 (환경변수 기반 설정)
  • application-prod.yml 삭제 (production으로 통합)
  • application.yml에서 기본 profile 설정 제거

Tag: v0.2.6
Commit: 2bb1e65

v0.2.5

15 Jan 15:36

Choose a tag to compare

2026.01.16 00:30

AI 채팅 세션 관리 및 에러 처리 추가

  • ChatSession 도메인 추가 (clientId 기반 세션 관리)
  • 대화 기록 저장 및 조회 API 추가 (/externals/sessions)
  • Gemini API 429 Rate Limit 에러 처리 추가
  • GeminiException sealed class 추가 (RateLimitExceeded, ApiException)
  • Rate limit 발생 시 대화 내용 저장 안함
  • 친근한 에러 메시지 반환 ("오늘의 AI 토큰이 모두 소진되었어요")

Tag: v0.2.5
Commit: 1414d2f

v0.2.4

15 Jan 14:52

Choose a tag to compare

2026.01.15 03:00

CORS 설정 추가

  • WebFluxConfigurer 기반 CORS 설정 추가
  • 환경별 origin 분리 (local: localhost, prod: ravit.run)
  • AWS Secrets Manager에서 운영 origin 주입
  • WebProperties 추가 (web.cors.allowed-origins)

Tag: v0.2.4
Commit: 828c12b

v0.1.1

02 Jan 17:35

Choose a tag to compare

2026.01.03 02:00

Google Calendar API 연동 기능 추가

  • Google Calendar API v3 연동으로 캘린더 이벤트 생성 기능 구현
  • Domain Layer: CalendarClient 인터페이스 및 DTO (CalendarEventRequest/Response)
  • Infrastructure Layer: GoogleCalendarClient 구현 (Access Token → GoogleCredentials 변환)
  • Service Layer: CalendarService 비즈니스 로직 조율
  • Controller Layer: POST /api/calendar/events 엔드포인트 (Authorization 헤더로 Access Token 전달)
  • DateTimeUtils: EventDateTime ↔ LocalDateTime 변환 유틸리티 (extension function pattern)
  • CalendarException: sealed class 기반 예외 처리 (InvalidAccessToken, CalendarApi, EventCreationFailed)
  • GlobalExceptionHandler: HTTP 상태 코드 매핑 (401, 502, 500)
  • EventBuilder DSL: Type-safe builder 패턴으로 Event 객체 생성 (private constructor + invoke operator)
  • CORS 설정: localhost:3000, ravit.run 허용
  • Stateless 설계: Access Token을 매 요청마다 전달, DB 저장 없음

Tag: v0.1.1
Commit: e04d01d