Skip to content

Release 3.3.0

Compare
Choose a tag to compare
@github-actions github-actions released this 10 Feb 01:36
· 156 commits to main since this release

SonarQube compatibility

This version is compatible with SonarQube 9.9 LTS and SonarQube 10.4 Community Edition.

It may work with the commercial editions of SonarQube, but you won't be able to use ZPA and the embedded PL/SQL plugin from SonarSource to analyze the code simultaneously. If you need this scenario, please use zpa-cli instead.

Highlights

Install/update instructions

  • Download the sonar-zpa-plugin-3.3.0.jar and copy it to the SONARQUBE_HOME/extensions/plugins.
  • Remove the older plugin from that directory.
  • Restart the SonarQube instance.

For custom plugin developers

Binary compatibility is not guaranteed either in between any version number change. Custom plugins should be recompiled against the same version of sonar-zpa-plugin.

Download the zpa-toolkit-3.3.0.jar (requires Java 11+) to test the parser and view the AST.

Full changelog

🚀 Features

  • 25f8dc4 Improve the error messages in PlSqlCheckVerifierTest assertions
  • 1399943 Set the attribute "Plugin-RequiredForLanguages" in the plugin manifest to support the "Analyzers loading optimization" feature from SonarQube 10.4
  • 5732e53 Rename property "sonar.zpa.file.suffixes" to "sonar.plsqlopen.file.suffixes"
  • 84fd1d5 perf: Small improvement in PlSqlCommentAnalyzer.getContents
  • 3e7eccf Optimize memory usage when lexing whitespace
  • 65c85d7 Optimize memory usage when lexing identifiers
  • ffffccb Optimize memory usage when lexing date literals
  • e1ccbea Optimize memory usage when lexing string literals
  • 5b7bba5 Optimize memory usage when lexing numeric literals
  • b853469 Optimize memory usage when lexing comments
  • 437b569 Optimize memory usage in RegexPunctuatorChannel by minimizing Regex usage
  • 975a8df Replace usages of Enum.values() by Enum.entries (new in Kotlin 1.9)
  • 42ec1f0 Add a name property to all datatype classes
  • c160256 Add a name property to AssociativeArrayDatatype and RecordDatatype
  • 5d21223 Update plsql-custom-plugin example for zpa-cli compatibility
  • c8f6249 Add properties to ZpaActiveRule for zpa-cli integration
  • e5b0b3f Use Rula and Priority annotations from the zpa-core module on custom rules
  • 0bf214f grammar: Support GROUP BY GROUPING SETS (#168), closes #168
  • d9989b8 grammar: Support GROUP BY ROLLUP/CUBE

🐛 Fixes

  • b7bf156 core: Change plSqlDatatype and plSqlType attributes on SemanticAstNode to non-nullable
  • d7e9910 checks: Fix bounds check on ToCharInOrderByCheck (closes #165), closes #165

🔄️ Changes

  • 9aa1597 Implement an optimized channel for integers without using regex
  • 4aeaed9 Avoid capturing groups on the regexes used by the lexer
  • 548d60a Simplify comparison
  • eabbf3d Replace internal comparator class by a lambda

🧰 Tasks

🛠 Build

  • e6a61d8 Release 3.3.0
  • c40c9a6 Update to FLR 1.3.0
  • 2d01d07 Rename job name from "Integration tests" to "IT" in GitHub Actions workflow
  • 4ca6ac6 Update the sonar-orchestrator version and removes the DEV version from the integration tests matrix (because SonarSource made their repository private)
  • 68be10a Configure the jvm target in the kotlin plugin
  • 4d3acb4 Update to Gradle 8.6
  • cce21b9 Run Gradle with JDK 21
  • d5e29a3 Enable 'continue-on-error' in GitHub workflow for integration tests
  • 97bb37b Set sonar.gradle.skipCompile=true
  • f4237dd Update GitHub Actions to use newer versions and revise build commands
  • 27b3b2c Update to Gradle 8.5 and Kotlin 1.9.22
  • 0a709e2 Update SonarScanner for Gradle to 4.4.1.3373
  • 14a4fe5 Use Kotlin 1.9.10
  • 601a77a Use JReleaser 1.8.0
  • 8544710 Use Gradle 8.4
  • 9b2dbe3 Use FLR 1.3.0-SNAPSHOT
  • 9d50cc6 Use Gradle 8.3
  • f424ffd Update dependencies
  • 2ffd9bc Use Gradle 8.2.1
  • 4e11c3b Use Gradle 8.2.1
  • 73f44e8 Fetch all commits in gh actions
  • 1e3a434 Use JReleaser 1.6.0
  • a4d329a Use Gradle 8.1.1 on plsql-custom-rules
  • a97fb3b Migrate to GitHub Actions
  • d227ab7 Update Azure Pipelines tasks
  • 0230d10 Use Kotlin 1.8.20 and Gradle 8.1.1
  • 8374e9a Remove the minimize step from sonar-zpa-plugin
  • 3437b7f Update azure-pipelines.yaml
  • b9c400a Update changelog format
  • e75920d Use JReleaser 1.5.1
  • 3e7a3dd Use Gradle 8.0.2
  • aaa6838 core: Refactor TestPlSqlFile to require a File object (#166), closes #166
  • d06a10c Update changelog template
  • be8fe65 Always use JDK 17 to run the integration tests
  • f27e196 Use Gradle 8.0.1
  • 832f9f9 Update SonarScanner for Gradle
  • 012a82a deps: Bump minimum SonarQube version to 9.9 LTS

📝 Documentation

  • a520dd3 Update changelog template
  • 7c701c5 Update SonarQube compatibility and add highlights in changelog
  • 39b8791 Update compatibility matrix
  • 690c2d9 Update README
  • f720ea6 Add README to plsql-custom-plugin project
  • 092c031 Fix typo
  • 7164526 Add CONTRIBUTING.md