Page tree

이 문서는 소나큐브 버전 업그레이드 시 알아야 할 주요 변경 사항과 주의 사항을 공유하기 위해 작성되었습니다.


Release 10.6

빌드 래퍼(Build Wrapper) 속성 대체

  • sonar.cfamily.build-wrapper-output은 더 이상 사용되지 않으며, SonarQube 11.0 이상부터는 제거됩니다.
  • sonar.cfamily.compile-commands 속성을 대신 사용하여 compile_commands.json파일 경로를 지정해야 합니다.
이전 방식새로운 방식
sonar.cfamily.build-wrapper-output 속성 사용sonar.cfamily.compile-commands 속성 사용
build-wrapper-dump.json 파일 활용compile_commands.json 파일 활용


Release 10.5

Javascript 및 Typescript에 대한 인지 복잡도(cognitive complexity) 계산 변경

  •  중첩 함수의 복잡도(nested function complexity)가 부모에 더 이상 추가되지 않습니다. 이 변경 사항은 일부 사용자에게 복잡도 감소로 나타날 수 있습니다.

Node.js 16 지원 종료

  •  Node.js 16은 더 이상 지원되지 않습니다. 최신 LTS 버전(현재 v20)을 사용하는 것이 권장됩니다.

커스텀 플러그인 업데이트 필요

  •  분석 속도 향상을 위해 SonarQube는 기본값으로 분석기 로딩을 최적화합니다. 
  •  커스텀 플러그인의 경우 종속성 오류를 방지하기 위해 플러그인 구성을 확인하고 필요한 경우 업데이트해야 합니다.
  •  타사 플러그인을 사용하는 경우 분석기 로딩 최적화 기능과 호환되는 최신 플러그인을 사용해야 합니다.


Release 10.4

프로젝트 개요 업데이트

  •  프로젝트 전체 코드에 대한 이슈 개수가 Clean Code 소프트웨어 품질 기반으로 표시됩니다.
  •  업그레이드 후 프로젝트를 재 분석 해야 새 기준으로 데이터가 표시됩니다.

JavaScript/TypeScript/CSS 구성

  •  최소 4GB 메모리가 권장됩니다.
  •  메모리 문제가 발생 시, sonar.javascript.node.maxspace를 사용합니다.
  •  파일 인코딩 오류로 분석이 실패하는 경우 sonar.sourceEncoding=UTF-8를 사용합니다

Node.js 및 Java 환경 변경

  •  아키텍처가 Linux x64, Windows x64 또는 Apple ARM64인 경우 Node.js 설치가 필요하지 않습니다.
  •  Node.js 14 는 더 이상 스캐너 런타임 환경으로 지원되지 않습니다 . 최신 LTS 버전(현재 v20)을 사용하는 것이 권장됩니다.
  •  Java 11은 더 이상 스캐너 런타임 환경으로 지원되지 않습니다. 최소 필수 버전은 Java 17입니다.

SonarScanner for .NET  호환성

MSBuild 14 지원 종료

  •  MSBuild 14는 더 이상  .NET 코드 스캔을 지원하지 않습니다. 최소 버전으로 MSBuild 16을 사용하는 것이 권장됩니다.


Release 10.3

품질 게이트 조건 업데이트

  • Clean as You Code 조건이 진화되어 "Sonar way" 품질 게이트는 이제 새 코드에서 "0" 이슈 조건을 사용합니다.
  • 기존 "Sonar way"는 "Sonar way (legacy)"로 유지됩니다. 


Release 10.2

새 코드 정의 자동 조정

  • 기존 프로젝트에서 새 코드 정의 기간이 90일을 초과하는 경우, SonarQube는 이를 90일로 자동 변경합니다.
  • 이에 따라 일부 이슈가 새 코드에서 제외될 수 있습니다.

GitHub 자동 프로비저닝 업데이트

  • 프로젝트 권한 동기화가 추가되었습니다.
  • 업그레이드 후 인증 설정에서 프로비저닝 방법을 확인하고 승인해야 자동 프로비저닝이 재개됩니다.
  • 자세한 내용은 GitHub 인증 페이지를 참조하세요. 

Clean Code 업데이트

  • 이슈 유형은 더 이상 사용되지 않으며, 이슈와 규칙이 Clean Code 속성 및 소프트웨어 품질 기준에 따라 분류됩니다.
  • 이슈의 심각도가 소프트웨어 품질에 미치는 영향을 기반으로 결정됩니다.


Release 10.1

.NET Framework 4.6.2 미만 지원 종료

  •  .NET Framework 4.6.2 이상의 버전만 지원됩니다. 

새 코드 정의 옵션 업데이트

  • 새 코드 정의 기간은 최대 90일로 제한됩니다.
  • 특정 분석(S) 설정은 Web API를 통해서만 사용할 수 있습니다.


Release 10.0

SCIM 프로비저닝 업데이트

  • SCIM 프로비저닝 기능이 업데이트되어 사용자 및 그룹의 동기화를 더 엄격하게 처리합니다.
  • 이를 통해 사용자 및 그룹 정보가 SonarQube와 IdP 간에 일관되도록 유지됩니다.

페이지 확장에 대한 보안 정책 강화

  • 플러그인이 UI에 추가하는 페이지는 인라인 스크립트를 포함할 수 없습니다.
  • 자세한 내용은 웹앱에 페이지 추가를 참조하세요.

모듈 지원 중단

  • 모듈의 개념은 7.6버전에서 제거되었습니다. SonarQube 10.0에서는 모듈 기반의 프로젝트 구조를 더 이상 지원하지 않습니다.
  • 모듈을 표시하는 프로젝트는 10.x로 업그레이드 하기 전에 7.7~9.9 사이의 버전으로 분석되어야 합니다.

Pull Request 설정 제거

  • DevOps 플랫폼 통합 설정은 더 이상 스캐너 분석 매개변수에서 유추되지 않습니다.
  • 풀리퀘스트 데코레이션이 실패되지 않도록 하려면, 프로젝트 설정 > DevOps Platform Integration에서 각 프로젝트의 설정을 구성해야 합니다.
  • 이는 이전에 Azure DevOps용 확장 기능을 사용하여 이러한 속성을 전달했던 Azure DevOps와 통합하는 사용자에게 특히 영향을 미칩니다 .

리눅스 커널에 seccomp 필터 필요

  • Elasticsearch 업데이트로 인해 seccomp 필터가 활성화된 커널이 필요합니다.


[LTA]Release 9.9

데이터베이스 지원 업데이트

  • SonarQube는 더 이상 Oracle 버전 12C 및 18C를 지원하지 않습니다.
  • Oracle 버전 21C가 이제 지원됩니다.
  • 이제 SQL Server 2022가 지원됩니다.

SonarQube 서버 Java 17 필요

  • SonarQube 서버에는 Java 11 사용은 더 이상 지원되지 않습니다. Java 17이 필요합니다.

SonarScanner for .NET 호환성

  • SonarQube에서 C#/VB.NET의 증분 분석에는 SonarScanner for .NET 5.11+가 필요합니다.

Community, Developer, Enterprise Edition을 위한 단일 Helm차트 도입

  • 기존의  sonarqube-lts helm차트는 더 이상 유지되지 않으므로 SonarQube 9.9 LTS Community, Developer, Enterprise Edition을 설치하려면 sonarqube helm차트를 사용합니다.
  • 데이터 센터 버전은  sonarqube-dce helm차트와 함께 사용 가능합니다.

Docker 이미지 업데이트

  • 권장되는 Docker 엔진 버전은 20.10 이상입니다.
  • Self-signed 인증서를 사용하는 경우, Docker 구성을 조정해야 할 수 있습니다 : 자바 설치경로가  /opt/java/openjdk/ 로 변경되었습니다.
  • SONARQUBE_JDBC_USERNAME, SONARQUBE_JDBC_PASSWORD, SONARQUBE_JDBC_URL 환경 변수는 더 이상 지원되지 않으며 제거되었습니다.
  • Docker 이미지에서 lts 태그는 새로운 LTS 릴리스로 대체되었습니다. 자동으로 주요 업그레이드가 이루어지는 것을 방지하려면, lts-<edition> 대신 9.9-<edition> 태그를 사용하는 것을 권장합니다.


Release 9.8

새로운 메인 브랜치 이름이 "main"으로 변경됨

  • 이전에는 새로 생성된 프로젝트와 어플리케이션에서 기본 브랜치 이름이 "master" 였으나, 9.8부터 "main"으로 변경되었습니다.
  • 필요에 따라 Administration > General > Default main branch name에서 기본 브랜치 이름을 수정할 수 있습니다.
  • 추가 정보는 브랜치 분석 문서를 확인하세요.

데이터베이스 지원 업데이트

  • Postgresql 11버전 미만은 더 이상 지원되지 않습니다.
  • 현재 지원되는 버전은 11에서 15까지입니다.

Java 17 지원

  • SonarQube 서버는 Java17을 지원합니다.


Release 9.7

데이터베이스 연결 풀 업데이트

  • 데이터베이스 연결 풀(Database Connection Pool)이 성능 향상을 위해 새롭게 교체되었습니다.
  • 기존에 사용되던 다음 설정들은 더 이상 적용되지 않으며, 설정 파일에서 제거해야 합니다:
    • sonar.jdbc.maxIdle
    • sonar.jdbc.minEvictableIdleTimeMillis
    • sonar.jdbc.timeBetweenEvictionRunsMillis
  • 데이터베이스 연결 풀을 모니터링하기 위한 JMX 정보도 변경되었습니다.
  • 자세한 내용은 모니터링 설명서를 참조하세요

JavaScript, TypeScript 및 CSS 분석을 위한 Node.js 요구 사항

  • JavaScript, TypeScript, CSS 코드를 분석하려면 Node.js 14.17 이상이 필요합니다.
  • Node.js가 설치되어 있지 않거나 버전이 요구사항에 미치지 못하면 분석이 실패할 수 있습니다.


Release 9.6

Microsoft SQL Server 구성 및 통합 인증 업데이트

  • Microsoft SQL Server가 암호화를 지원하지 않을 경우, JDBC URL 연결 문자열에 encrypt=false을 추가해야 합니다.
  • SQL Server가 암호화를 요구하지만 SonarQube에서 인증서를 검증하지 않도록 설정하려면, JDBC URL 연결 문자열에 trustServerCertificate=true을 추가해야 합니다.
  • Microsoft SQL Server와 통합 인증(Integrated Authentication)을 사용하는 경우, mssql-jdbc_auth dll 파일을  Microsoft SQL JDBC Auth 10.2.1 패키지의 mssql-jdbc_auth-10.2.1.x64.dll 파일로 교체 후 PATH 경로에 올바르게 배치해야 합니다.

토큰 만료 설정

  • 새로운 토큰 생성 시 만료일(Optional Expiration Date)을 설정할 수 있습니다.
  • 만료된 토큰은 더 이상 사용할 수 없으며, 새로 업데이트해야 합니다.
  • Enterprise Edition 이상에서 시스템 관리자는 새 토큰에 대해 최대 수명(Maximum Lifetime)을 설정할 수 있습니다.

 Windows 서비스로 SonarQube 실행 및 Java 버전 선택

  • SonarQube를 Windows 서비스로 설치하려면 아래 명령을 사용해야 합니다. 자세한 내용은 서버 구성 및 운영  및  업그레이드 가이드를 참조하세요.
    %SONAR_HOME%\bin\windows-x86-64\SonarService.bat install
  • 서버에 여러 버전의 Java가 설치된 경우, 특정 Java 버전을 선택하려면 환경 변수 SONAR_JAVA_PATH를 설정해야 합니다.


Release 9.5

프로젝트 분석 토큰(Project Analysis Token)

  • 다양한 유형의 토큰을 생성할 수 있습니다.
  • 각 프로젝트에서 별도의 분석 토큰을 생성할 수 있으며, 이를 통해 프로젝트별로 독립적인 토큰 관리를 할 수 있습니다.


Release 9.4

오래된 비활성 계정의 비밀번호 재설정 필요

  • SHA 해싱 알고리즘 지원이 제거되었습니다.
  • SonarQube 7.2 버전 이후부터 더 강력한 해싱 알고리즘으로 대체되었으며, 이번 업데이트로 SHA1 비밀번호를 사용하는 계정이 더 이상 지원되지 않습니다.
  • SonarQube 7.2 이후로 로그인하지 않은 로컬 계정(Local Account)은 관리자가 비밀번호를 재설정하도록 강제됩니다.
  • SAML, LDAP, GitHub 인증 등과 같은 외부 인증을 사용하는 계정은 영향을 받지 않습니다.
  • 영향을 받았을 수 있는 계정에 대한 정보는 업그레이드 중에 로그에 나타납니다.


Release 9.3

포트폴리오 개요 업데이트

  • 포트폴리오 개요는 이제 New Code와 Overall Code에 대한 평가를 모두 표시합니다.
  • 신규 코드 평가는 신뢰성, 보안 취약성, 보안 검토 및 유지 관리 가능성에 대해 표시됩니다. 
  • New Code에서 이러한 평가를 보려면 9.3으로 업그레이드한 후 포트폴리오를 다시 계산해야 합니다.

Microsoft SQL Server 및 통합 인증 업데이트


Release 9.2

Bitbucket Cloud 인증 내장 지원

  • SonarQube는 이제 Bitbucket Cloud 인증을 내장 기능으로 지원합니다.
  • 이전에 Bitbucket Cloud 인증 플러그인을 사용하고 있었다면, 업그레이드 전에 플러그인을 SonarQube에서 제거해야 합니다.
  • Teams 제한은 Workspaces 제한으로 변경되었으며, 업그레이드 과정에서 자동으로 변환됩니다.


Release 9.1

웹 서비스 및 스캐너에서 보안 설정 지원 중단

  • 보안 설정(Secured Settings)은 더 이상 웹 서비스(Web Services)와 스캐너(Scanner) 측에서 사용할 수 없습니다. 
  • 이 변경사항은 SVN 프로젝트 분석과 일부 타사 플러그인에 영향을 미칠 수 있습니다.
  • 분석에 필요한 보안 설정은 이제 스캐너 실행 시 매개변수로 전달해야 합니다.

사용자 정의 측정(Custom Measures) 기능 제거

  • 이전 버전에서 사용 중단(deprecated) 상태였던 Custom Measures(사용자 정의 측정) 기능이 이번 릴리스에서 완전히 제거되었습니다.
  • 7.X 릴리스 주기 동안 사용 중단(deprecated) 상태였던 WebAPI 엔드포인트와 매개변수가 이번 릴리스에서 삭제되었습니다.
  • 삭제된 엔드포인트 및 매개변수의 전체 목록은  SONAR-15313을 참조하세요 .


Release 9.0

스캐너의 Java 11 요구 사항

  • Java 11은 SonarQube 스캐너 실행을 위한 필수 요구 사항이 되었습니다.Java 8은 더 이상 지원되지 않습니다.

Internet Explorer 11 지원 중단

  • Internet Explorer 11 및 기타 레거시 브라우저에 대한 지원이 중단되었습니다.

GitHub 브랜치에서 품질 게이트 상태 보고를 위한 추가 권한 필요

  • GitHub 비공개 리포지토리(Private Repository)를 사용하는 경우, SonarQube 통합에 필요한 GitHub 애플리케이션에 "Contents" 권한(읽기 전용)을 추가로 부여해야 합니다.

JavaScript 사용자 정의 규칙 API 제거

  • 이전에 사용 중단(deprecated) 상태였던 JavaScript 사용자 정의 규칙 API가 이번 릴리스에서 완전히 제거되었습니다.
  • 플러그인은 더 이상 이 API를 사용하여 JavaScript 사용자 정의 규칙을 구현할 수 없습니다.

사용 중단된 플러그인 Java API 제거

  • SonarQube 7.0 이전에 사용 중단(deprecated)된 일부 플러그인 Java API가 이번 릴리스에서 삭제되었습니다.



[LTA]Release 8.9

GitHub Enterprise 호환성

  • GitHub Enterprise에서 Pull Request 데코레이션을 지원하는 최소 버전이 2.15에서 2.21로 변경되었습니다.
  • GitHub Enterprise 2.21 이상을 사용해야 Pull Request 데코레이션 기능을 사용할 수 있습니다.

플러그인 설치 시 위험 동의 요구

  • 업그레이드 시 플러그인을 사용하는 경우, SonarQube 관리자가 플러그인 설치와 관련된 위험에 대해 동의해야 합니다.

데이터베이스 지원 업데이트

  • SonarQube 8.9에서 지원되는 데이터베이스 버전은 다음과 같습니다:

    • PostgreSQL: 9.6 ~ 13 지원 (9.6 미만 버전은 지원 종료)
    • MSSQL Server: 2014, 2016, 2017, 2019 지원
    • Oracle: XE, 12C, 18C, 19C 지원 (Oracle 11G는 더 이상 지원되지 않음)

웹훅(Webhooks) 보안 강화

  • 보안을 강화하기 위해, 기본적으로 웹훅이 SonarQube 서버를 대상으로 요청을 보내는 것이 허용되지 않습니다.
  • 필요에 따라 SonarQube 구성에서 이 동작을 변경할 수 있습니다.



참조



  • No labels