Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: solapi/solapi-php
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v5.1.2
Choose a base ref
...
head repository: solapi/solapi-php
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v5.1.3
Choose a head ref
  • 17 commits
  • 38 files changed
  • 3 contributors

Commits on May 10, 2026

  1. ci: PR 머지 시 자동 릴리즈 GitHub Actions 워크플로 추가

    기존 수동 버저닝 체계(composer.json + DefaultAgent.php 직접 수정, v{semver} 태그)를 그대로 유지하면서, master 머지 시 CI가 통과해야만 자동으로 태그/Release를 생성한다. 두 파일 간 버전 drift 검출과 동일 태그 존재 시 idempotent skip 가드를 포함한다. solactl의 workflow_run 분리형 패턴 차용.
    
    - ci.yml: PHP 7.1~8.5 매트릭스 unit test (PHP 7.1/7.2는 PHPUnit ^7.5)
    - release.yml: workflow_run으로 CI 성공 + master push에 한해 실행
    - e2e.yml: workflow_dispatch 수동 트리거, production environment 보호
    
    Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
    Palbahngmiyine and claude committed May 10, 2026
    Configuration menu
    Copy the full SHA
    f79813f View commit details
    Browse the repository at this point in the history
  2. ci: 매트릭스 중복 제거 및 PHP 7.1/7.2 의존성 이슈 해결

    이전 매트릭스는 phpunit-constraint를 매트릭스 변수로 두고 include로
    PHP 7.1/7.2용 ^7.5 조합을 추가했는데, GitHub Actions의 include 규칙상
    기존 변수 값을 덮어쓰면 새 조합이 추가되어 PHP 7.1/7.2가 각각 2번씩
    실행됐다 (10 + 2 = 12 jobs). 또한 PHP 7.1/7.2의 ^9.5 조합은 PHP 7.3+
    요구로 실패했고, 7.2의 ^7.5는 composer의 block-insecure가 PHPUnit 7.5의
    보안 권고(PKSA-z3gr-8qht-p93v)를 차단해 실패했다.
    
    - phpunit-constraint를 매트릭스에서 제거하고 step의 case 분기로 결정 → 정확히 10 jobs
    - PHP 7.1/7.2 한정으로 composer config audit.block-insecure false 적용
      (CI에서 dev-only 의존성에 대한 audit은 실용 의미가 없음)
    - FORCE_JAVASCRIPT_ACTIONS_TO_NODE24 env로 Node.js 20 deprecation 경고 제거
    - e2e.yml에도 동일한 분기 및 audit 우회 적용
    
    Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
    Palbahngmiyine and claude committed May 10, 2026
    Configuration menu
    Copy the full SHA
    bec0b16 View commit details
    Browse the repository at this point in the history
  3. ci: PHP 7.1의 옛 Composer가 audit.block-insecure 설정 미지원하는 문제 해결

    PHP 7.1 러너에 설치되는 Composer는 <=2.2 버전이라 audit.block-insecure
    키 자체를 모르고 InvalidArgumentException으로 종료된다. 다행히 같은 옛
    Composer는 block-insecure 기능 자체가 없어 PHPUnit 7.5 설치를 차단하지도
    않으므로, 명령 실패를 무시하고 진행하면 install이 정상 동작한다. PHP 7.2의
    신 Composer에서는 명령이 성공하여 의도대로 block-insecure를 끈다.
    Palbahngmiyine committed May 10, 2026
    Configuration menu
    Copy the full SHA
    1575d50 View commit details
    Browse the repository at this point in the history
  4. Merge pull request #1 from Palbahngmiyine/worktree-agile-baking-pinwheel

    ci: PR 머지 시 자동 릴리즈 GitHub Actions 워크플로 추가
    Palbahngmiyine authored May 10, 2026
    Configuration menu
    Copy the full SHA
    10c160d View commit details
    Browse the repository at this point in the history
  5. fix: 응답 메소드 TypeError 해결 및 nested 객체 매핑 구조 정리 (#26)

    Fetcher::request()가 반환하는 stdClass를 Response 객체로 감싸지 않아
    getBalance/getGroup/getGroupMessages/getStatistics에서 TypeError가 발생하던
    문제를 수정하고, 응답 매핑의 정확성과 일관성을 전반적으로 개선합니다.
    
    주요 변경:
    - 4개 get* 메소드에 Response 객체 래핑 추가 (이슈 #26 회귀 방지)
    - send() groupInfo NPE 가드 + 7개 get* 메소드에 null result 가드
    - GroupCount/MessageType/CommonCashResponse 등 nested 모델에 생성자 추가
    - GroupMessageResponse/GetStatisticsResponse 등에서 nested 객체 자동 변환
    - ResponseMapper 헬퍼 신설하여 반복 매핑 패턴 통합 (mapObject/mapList)
    - @param mixed → @param \stdClass, @var 타입 114개 nullable 정직화
    - PSR-18 fake HTTP client 기반 회귀 테스트 45개 추가 (총 77/217)
    - Fetcher::resetForTesting() 추가로 테스트 격리 개선
    
    Fixes #26
    
    Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
    Palbahngmiyine and claude committed May 10, 2026
    Configuration menu
    Copy the full SHA
    1a91baa View commit details
    Browse the repository at this point in the history
  6. Merge pull request #2 from Palbahngmiyine/fix/issue-26-response-typee…

    …rror
    
    fix: getBalance 등 응답 메소드 TypeError 해결 및 매핑 정리 (#26)
    Palbahngmiyine authored May 10, 2026
    Configuration menu
    Copy the full SHA
    5c02761 View commit details
    Browse the repository at this point in the history
  7. chore: .claude/ 디렉토리를 .gitignore에 추가

    Claude Code의 worktrees 등 로컬 작업 디렉토리가 매번 untracked로 잡혀
    git status를 어지럽히는 문제를 해결합니다.
    
    Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
    Palbahngmiyine and claude committed May 10, 2026
    Configuration menu
    Copy the full SHA
    bad8199 View commit details
    Browse the repository at this point in the history
  8. chore(deps): phpunit·sebastian/comparator 패치 버전 업데이트

    - phpunit/phpunit 9.6.31 → 9.6.34
    - sebastian/comparator 4.0.9 → 4.0.10
    
    dev 의존성 패치 업데이트만 적용. 공개 API 영향 없음.
    
    Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
    Palbahngmiyine and claude committed May 10, 2026
    Configuration menu
    Copy the full SHA
    5e6159b View commit details
    Browse the repository at this point in the history
  9. docs: AGENTS.md·CLAUDE.md를 테스트 작성 지침으로 교체

    기존 프로젝트 구조 가이드를 테스트 작성 원칙 문서로 교체합니다.
    Read First, Required, Failure Injection, Concurrency, Determinism 등
    테스트 작성 시 따라야 할 규약을 명문화하여 자동화 에이전트(Codex,
    Claude Code 등)와 사람 모두에게 일관된 가이드를 제공합니다.
    
    User-approved: 사용자가 /wrap-up Phase 1에서 "의도된 교체"로 명시 확인.
    
    Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
    Palbahngmiyine and claude committed May 10, 2026
    Configuration menu
    Copy the full SHA
    34b8e3f View commit details
    Browse the repository at this point in the history
  10. Merge pull request #3 from Palbahngmiyine/chore/cleanup-and-docs-refresh

    chore: gitignore·의존성·테스트 문서 정리
    Palbahngmiyine authored May 10, 2026
    Configuration menu
    Copy the full SHA
    fe6bae9 View commit details
    Browse the repository at this point in the history

Commits on May 11, 2026

  1. Configuration menu
    Copy the full SHA
    aff1a43 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #27 from Palbahngmiyine/master

    fix: 응답 매핑 TypeError 수정 및 CI·테스트 인프라 정비
    Palbahngmiyine authored May 11, 2026
    Configuration menu
    Copy the full SHA
    af1fdaf View commit details
    Browse the repository at this point in the history
  3. ci: release-please 도입으로 자동 버전 bump·릴리즈 흐름 구성

    기존 release.yml은 머지된 PR이 composer.json 버전을 직접 bump하지 않으면
    태그 충돌로 모든 release step이 skip되어 "성공"으로만 끝나는 한계가 있었다.
    master push 시 conventional commits를 분석해 버전 bump Release PR을 자동
    생성하고, 해당 PR이 머지되면 태그·GitHub Release를 자동 발행하도록 변경한다.
    
    - .github/release-please-config.json: simple release-type, composer.json은
      jsonpath updater, src/Models/Request/DefaultAgent.php는 generic updater
    - .github/.release-please-manifest.json: baseline 5.1.2
    - .github/workflows/release-please.yml: master push 트리거
    - DefaultAgent.php: x-release-please-version 마커 주석 추가
    - 기존 release.yml 제거
    
    Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
    Palbahngmiyine and claude committed May 11, 2026
    Configuration menu
    Copy the full SHA
    380d578 View commit details
    Browse the repository at this point in the history
  4. ci: release-please release-type을 php로 전환

    release-please의 PHP strategy는 RootComposerUpdatePackages 업데이터로
    composer.json의 version 필드를 자동 관리하고 jsonStringify 헬퍼로 원본
    포맷을 보존한다. jsonpath updater를 별도로 두는 것보다 PHP 전용 처리가
    더 안전하고 의도가 명확하다.
    
    - release-type: "simple" → "php"
    - extra-files에서 composer.json 항목 제거 (PHP strategy가 자동 처리)
    - DefaultAgent.php generic updater는 유지
    
    Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
    Palbahngmiyine and claude committed May 11, 2026
    Configuration menu
    Copy the full SHA
    0349b40 View commit details
    Browse the repository at this point in the history
  5. Merge pull request #28 from Palbahngmiyine/ci/release-please

    ci: release-please 도입으로 자동 릴리즈 PR 흐름 구성
    Palbahngmiyine authored May 11, 2026
    Configuration menu
    Copy the full SHA
    e50e932 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    578fb29 View commit details
    Browse the repository at this point in the history
  7. Merge pull request #29 from solapi/release-please--branches--master--…

    …components--solapi/sdk
    
    chore(master): release 5.1.3
    Palbahngmiyine authored May 11, 2026
    Configuration menu
    Copy the full SHA
    f0cf001 View commit details
    Browse the repository at this point in the history
Loading