이 문서는 2024년 12월 4일 출시된 SonarQube Server 10.8 릴리즈 노트의 주요 업데이트 항목을 공유하기 위해 작성 되었습니다.



AI 기능 강화

AI 코드 보증을 위한 맞춤형 품질 게이트 사용

SonarQube 10.7에서는 AI 코드 보증(AI Code Assurance) 기능을 도입하여, AI가 생성한 코드가 포함된 프로젝트를 식별하고 Sonar way 품질 게이트를 적용할 수 있도록 지원했습니다.

이번 SonarQube 10.8 버전에서는 새로운 AI 코드 보증 품질 게이트가 추가되어, 새로운 코드(New Code)와 전체 코드(Overall Code) 를 모두 포함하도록 개선되었습니다.

또한, 자체 품질 게이트를 AI 코드 보증에 활용하고 싶은 사용자를 위해, 사용자 지정 품질 게이트를 “AI 코드 보증 기준 충족 (Qualified for AI Code Assurance)”으로 설정할 수 있는 기능이 추가되었습니다. 

이를 통해 팀이 조직에서 신뢰하는 자체 품질 게이트를 AI 코드 보증에 사용할 수 있습니다.


Available in Developer Edition | Enterprise Edition | Data Center Edition

AI CodeFix 업데이트

AI CodeFix의 얼리 액세스 프로그램이 Developer Edition까지 확대되었습니다. 

이제 Developer Edition에서  AI 기반 코드 수정(AI CodeFix) 제안을 활용할 수 있습니다.


SonarQube 10.7에서는 IntelliJ, VS Code, Eclipse에서 AI CodeFix 제안을 열 수 있는 기능이 도입되었습니다.

이번 10.8 버전은 Visual Studio를 추가하여 모든 주요 IDE에서 AI CodeFix 제안을 사용할 수 있도록 지원합니다.


AI CodeFix 기능의 접근 권한을 설정하는 방식이 변경되었습니다. 

이제 서버의 모든 프로젝트에 일괄적으로 적용하거나, 특정 프로젝트에만 선택적으로 적용할 수 있어 보다 세부적인 관리가 가능합니다.


Available in Developer Edition | Enterprise Edition | Data Center Edition


유연한 관리

이중 운영 모드: Standard Experience 및 Multi Quality Rule (MQR) Mode

이제 SonarQube Server에는 두 가지 운영 모드가 제공됩니다

  1. Standard Experience (표준 모드)

    • 기존 SonarQube에서 제공하던 Bug, Vulnerability, Code Smell과 같은 기존의 규칙 및 문제 품질을 유지합니다.
    • 사용자가 정의한 사용자 지정 심각도(Custom Severity) 설정을 계속 사용할 수 있습니다.
  2. Multi Quality Rule (MQR) Mode (다중 품질 규칙 모드)

    • 새로운 클린 코드 분류(Clean Code Taxonomy) 모델을 적용하여, 하나의 규칙과 문제가 여러 품질 특성을 가질 수 있도록 지원합니다.
    • 각 품질별로 개별적인 심각도(Severity) 를 설정할 수 있으며, 기본 심각도를 사용자의 비즈니스 요구에 맞게 변경할 수 있습니다.


Available in Developer Edition | Enterprise Edition | Data Center Edition

자동 프로비저닝: 그룹 멤버십 가시성 추가

GitHub 또는 GitLab을 통한 사용자 및 그룹 자동 프로비저닝(Automatic Provisioning) 시,SonarQube UI에서 각 그룹에 할당된 사용자를 직접 확인할 수 있습니다.

이를 통해 SonarQube Server와 GitHub/GitLab 간 사용자 그룹 차이를 쉽게 식별하고 관리할 수 있습니다.


Available in Developer Edition | Enterprise Edition | Data Center Edition


언어 업데이트

Java 아키텍처 규칙 도입

잘못된 아키텍처는 기술적 부채, 과도한 결합(Excessive Coupling), 유지보수 어려움 등을 초래할 수 있습니다.
SonarQube 10.8에서는 Java 코드 내 클래스 간 순환 의존성(Circular Dependencies)을 감지하는 아키텍처 규칙을 도입하였습니다.

예를 들어,

  • 클래스 A가 클래스 B를 참조하고,
  • 클래스 B가 클래스 C를 참조하며,
  • 클래스 C가 다시 클래스 A를 참조하는 경우,

이러한 순환 의존성 문제는 직접 찾기 어렵지만, SonarQube Server가 자동으로 감지하고 수정할 수 있도록 지원합니다.


Available in Developer Edition | Enterprise Edition | Data Center Edition


새로운 언어 지원: Ansible IaC

Ansible은 인프라 자동화(Infrastructure as Code, IaC) 도구로,

  • 애플리케이션 프로비저닝(Provisioning)
  • 구성(Configuration)
  • 업데이트(Update)
  • 배포(Deployment)

등을 자동화하는 기능을 제공합니다.

Ansible은 YAML 기반의 Ansible Playbook을 사용하여 이를 수행하며,
이제 SonarQube Server가 Ansible IaC 코드의 품질 및 보안 문제를 분석하고 개선할 수 있도록 지원합니다.


Available in Developer Edition | Enterprise Edition | Data Center Edition


Dart/Flutter의 정식 지원

Dart는 빠르게 성장하는 멀티플랫폼 개발 언어로, 특히 모바일 앱 및 모바일 게임 개발에 널리 사용되고 있습니다.

이번 업데이트를 통해 Dart/Flutter가 Early Access(조기 액세스)에서 완전한 정식 지원 언어로 전환되었습니다.

  • 새로운 39개 규칙이 추가되어 총 115개 Dart 분석 규칙을 지원
  • SonarQube Server와 함께 Flutter 앱의 품질과 보안을 더욱 강화


고급 Secrets 탐지 기능 강화

SonarQube Server의 상용 버전(Commercial Editions)에서는 비밀 탐지 기능이 더욱 강화되었습니다.

  • 새로운 32개 규칙 추가 → 총 122개 규칙 제공
  • 166개의 비밀 패턴(Secrets Patterns) 및 113개 클라우드 서비스 커버

이제 코드 저장소(Repository)에서만 비밀을 감지하는 것이 아니라, SonarQube Server와 IDE를 연동하여 IDE에서 개발 단계부터 보안 검사를 수행할 수 있도록 지원합니다.

Python

Python 3.13이 이제 지원됩니다.

C-Family

C++20 모듈이 포함된 코드의 분석이 지원되며, 장기 및 레거시 C++ 프로젝트를 위한 7개의 규칙이 추가되었습니다.

런타임 문제 감지는 수동으로 null로 종료된 문자열, wchar_t 문자열, Win32 파일 열기/닫기 API를 지원합니다.

.NET / C#

C#13의 분석이 지원되며, 규칙이 .NET 9를 지원하도록 업데이트되었습니다.

또한, 잠금 및 빈 것이 아닌 컬렉션에 대한 Linq 쿼리의 오용과 관련된 3개의 새로운 고급 규칙이 추가되었습니다.

Kotlin

Kotlin 2.0의 분석이 지원됩니다.





이와 같은 10.8 버전의 많은 기능에 대한 자세한 내용은 문서화된 SonarQube 릴리스 노트에서 확인하실 수 있습니다.



  • 레이블 없음