이 문서는 2023년 6월 21일 출시된 SonarQube 10.1 릴리즈 노트를 공유하기 위해 작성 되었다.
https://www.sonarsource.com/products/sonarqube/whats-new/sonarqube-10-1/
GitHub를 통한 원활한 중앙 집중식 액세스 관리
GitHub에서 새로운 사용자 또는 그룹이 추가되면 관리자는 이제 SonarQube에서 해당 사용자 및 그룹을 수동으로 추가할 필요가 없습니다.
관리자는 GitHub에 이러한 관리를 위임하여 안전하고, 사용자 및 그룹 동기화의 중앙 집중식 프로비저닝을 수행할 수 있습니다.
SAML을 선호하는 조직을 위하여 SonarQube는 Enterprise Edition부터 Okta/Azure AD를 지원하고 있습니다.
다중 C/C++ 코드 변형 분석
개발자는 동일한 프로젝트를 사용하여 코드의 여러 코드 변형(예: 컴파일러, 컴파일러 플래그, 플랫폼 등)을 분석할 수 있습니다.
변형별로 별도의 프로젝트/브랜치를 만들거나 중복 항목을 관리할 필요가 없습니다.
어떤 코드 변형에서 문제가 발생했는지를 포함하여 분석에 대한 가시성과 함께 코드의 통합 보기로 더 간편해진 환경을 경험할 수 있습니다.
Java 보안 범위 향상
Java 보안 분석 엔진은 훨씬 더 많은 보안 문제를 탐지하고 해결할 수 있도록 지원합니다.
엔진의 많은 향상으로 SonarQube는 선택된 상위 OWASP 보안 벤치마크에서 90% 이상의 우수한 실제 긍정률(TPR) 달성이 가능합니다.
IDE의 보안 핫스팟 실시간 동기화
IDE의 SonarLint는 코드를 작성할 때와 커밋하기 전에 문제를 찾고 해결하기 위한 초기 검사를 제공합니다.
VSCode 또는 IntelliJ 제품군의 IDE를 사용하는 경우, 보안 핫스팟의 상태를 SonarQube와 실시간으로 동기화할 수 있습니다.
연결 모드가 설정되면 SonarQube에 표시된 핫스팟의 상태(예: Fixed, Safe)가 SonarLint에 즉시 반영되어 IDE에서는 사용자의 주의가 필요한 문제만 표시됩니다.
또한, 보안 핫스팟의 상태는 검토 후 IDE에서 직접 변경할 수 있습니다.
Clean as You Code 지침 체크
'Clean as You Code'는 조직이 Clean Code 상태에 도달하기 위한 가장 실용적이고 효율적인 접근 방식입니다.
새로운 프로젝트가 도입될 때마다 기본적으로 프로젝트 관리자는 개발 문맥에 맞게 권장되는 '새로운 코드' 기간을 적절하게 구성하도록 안내받습니다.
이를 통해 프로젝트가 첫 번째 단계부터 Clean as You Code를 실천할 수 있도록 설정됩니다.
Clean as You Code 준수하는 품질 게이트를 설정하여 프로젝트를 올바르게 구성하면 조직은 SonarQube를 가장 효율적이고 최적화된 방식으로 사용하고 있는 것입니다.
언어 업데이트
Python
- 버그 및 코드 스멜을 다루는 기본 규칙의 Django 프레임워크 지원
- API가 'passwords'를 매개변수로 사용할 때 하드 코딩된 비밀번호 감지
- 복잡한 정규식 패턴을 탐지하기 위한 추가 규칙과 Python에서 유형 힌트를 사용할 때의 모범 사례 규칙
- 기본 사칙 연산을 확인하는 새로운 규칙(예: IndexError, DivByZero, field, mod operators)
Java
- Java 20 지원
- Singleton, Monster Class, Brain method를 다루는 3개의 새로운 규칙
- 기본 사칙 연산을 확인하는 새로운 규칙(예: IndexError, DivByZero, field, mod operators)
JavaScript/TypeScript
- TypeScript 5 지원
- TypeScript 기본 제공 및 vanilla JavaScript에 대한 22개의 새로운 규칙
- TypeScript 프로젝트 탐지 개선
Kotlin
- Kotlin 코드의 가독성과 신뢰성을 높이기 위한 이중화 규칙
- Kotlin 어법에 맞는 코드 작성을 위한 모범 사례 규칙(Kotlin으로 전환하는 Java 개발자의 경우 등)
- 크로스 플랫폼 코드 개발을 위한 Kotlin Multi Platform(KMP) 프로젝트 분석 지원
C#
- C# 9-11에서 Null 추적 및 계산 오버플로 탐지 기능 향상
- 보다 효율적인 수집 처리를 위한 10개의 새로운 규칙
TerraForm & DockerFiles
- SonarQube에서 'tflint' 및 'HadoLint' 분석 가져오기 지원

