Skip to content

Conversation

@codeql-ci
Copy link
Collaborator

This PR merges back all of the changes from the release of codeql-cli-2.23.4. And it bumps the version version strings in semmle-code in preparation for the next release of 2.23.5.

@mbg mbg marked this pull request as ready for review November 7, 2025 19:06
Copilot AI review requested due to automatic review settings November 7, 2025 19:06
@mbg mbg requested review from a team as code owners November 7, 2025 19:06
@mbg mbg requested review from a team as code owners November 7, 2025 19:06
@mbg mbg merged commit dbadb6f into main Nov 7, 2025
76 checks passed
@mbg mbg deleted the post-release-prep/codeql-cli-2.23.4 branch November 7, 2025 19:07
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This pull request reverts a performance optimization from the C++ range analysis library and updates version numbers across the codebase. The main changes involve removing the bounds estimation module that was designed to prevent combinatorial explosions in range analysis, along with removing associated test cases that demonstrated the performance issues.

Key changes:

  • Removal of the BoundsEstimate module and related widening predicates from SimpleRangeAnalysis.qll (~400 lines)
  • Deletion of test functions and query files that tested the removed functionality
  • Version bumps to -dev for next development cycle across all language packs
  • Changelog updates to remove mention of the performance bug fix from version 6.0.1

Reviewed Changes

Copilot reviewed 50 out of 51 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
cpp/ql/lib/semmle/code/cpp/rangeanalysis/SimpleRangeAnalysis.qll Removed BoundsEstimate module, simplified widening logic to only check for recursive expressions/definitions
cpp/ql/test/library-tests/rangeanalysis/SimpleRangeAnalysis/test.c Removed two test functions that caused performance issues (220 lines removed)
cpp/ql/test/library-tests/rangeanalysis/SimpleRangeAnalysis/nrOfBounds.ql Deleted entire test query file (5 lines)
cpp/ql/test/library-tests/rangeanalysis/SimpleRangeAnalysis/*.expected Updated test expectations to reflect removed test cases
cpp/ql/lib/change-notes/released/6.0.1.md Reverted to "No user-facing changes"
cpp/ql/lib/CHANGELOG.md Removed bug fix entry and minor whitespace corrections
*/qlpack.yml (38 files) Version bumps from X.Y.Z to X.Y.(Z+1)-dev for next development cycle

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

### Bug Fixes

* Improve performance of the range analysis in cases where it would otherwise take an exorbitant amount of time.
No user-facing changes.
Copy link

Copilot AI Nov 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The changelog entry states "No user-facing changes" for version 6.0.1, but the diff shows that a bug fix about range analysis performance improvements is being removed from this version's release notes. This creates confusion about what version 6.0.1 actually contains. If the performance improvement was never released in 6.0.1, the changelog is correct. However, if it was released and is now being reverted, this should be documented as a breaking change or regression in a future version, not silently removed from the 6.0.1 notes.

Suggested change
No user-facing changes.
- Improved performance of range analysis in certain cases.

Copilot uses AI. Check for mistakes.
Comment on lines 1 to +3
## 6.0.1

### Bug Fixes

* Improve performance of the range analysis in cases where it would otherwise take an exorbitant amount of time.
No user-facing changes.
Copy link

Copilot AI Nov 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The changelog entry states "No user-facing changes" for version 6.0.1, but the diff shows that a bug fix about range analysis performance improvements is being removed from this version's release notes. This creates confusion about what version 6.0.1 actually contains. If the performance improvement was never released in 6.0.1, the changelog is correct. However, if it was released and is now being reverted, this should be documented as a breaking change or regression in a future version, not silently removed from the 6.0.1 notes.

See below for a potential fix:

## 6.0.2

### Breaking Changes

* The range analysis performance improvement introduced in 6.0.1 has been reverted due to unforeseen issues. Performance will be as in 6.0.0.

## 6.0.1

### Bug Fixes

* Improved performance of range analysis in certain cases.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants