chore: prepare v2.3.0 release#23
Conversation
Up to standards ✅🟢 Issues
|
| Metric | Results |
|---|---|
| Complexity | 0 |
| Duplication | 0 |
🟢 Coverage ∅ diff coverage · +0.00% coverage variation
Metric Results Coverage variation ✅ +0.00% coverage variation (-1.00%) Diff coverage ✅ ∅ diff coverage Coverage variation details
Coverable lines Covered lines Coverage Common ancestor commit (2cd82d3) 1672 1532 91.63% Head commit (0662bde) 1672 (+0) 1532 (+0) 91.63% (+0.00%) Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch:
<coverage of head commit> - <coverage of common ancestor commit>Diff coverage details
Coverable lines Covered lines Diff coverage Pull request (#23) 0 0 ∅ (not applicable) Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified:
<covered lines added or modified>/<coverable lines added or modified> * 100%
AI Reviewer: first review requested successfully. AI can make mistakes. Always validate suggestions.
TIP This summary will be updated as you push new changes.
There was a problem hiding this comment.
Pull Request Overview
While this PR successfully advances the project version and updates API baselines, there are critical issues in the CHANGELOG.md consolidation that misrepresent historical releases. Features from v2.1.0 and v2.2.0 (such as the Curve market-data API and native binaries) have been moved under the v2.3.0 header, which compromises the accuracy of release records.
Additionally, there is a discrepancy between the platform support mentioned in the changelog and the publishing documentation. The Maven configuration also contains redundant property definitions that could lead to version drift in child modules. These issues should be addressed to ensure a clean and accurate release.
About this PR
- The consolidation of the changelog incorrectly moves features from previous releases (v2.1.0 and v2.2.0) into the v2.3.0 section. Historical release notes should remain immutable to preserve the mapping of features to their original release versions.
Test suggestions
- Missing: Verify the Maven revision property is consistent across the root POM and all modules.
- Missing: Confirm the api.baseline.version is set to 2.2.0 for binary compatibility checks.
Prompt proposal for missing tests
Consider implementing these tests if applicable:
1. Missing: Verify the Maven revision property is consistent across the root POM and all modules.
2. Missing: Confirm the api.baseline.version is set to 2.2.0 for binary compatibility checks.
TIP Improve review quality by adding custom instructions
TIP How was this review? Give us feedback
| @@ -89,16 +15,20 @@ The project follows [Semantic Versioning](https://semver.org/). | |||
| - Nominal `FundingCurve` and `DividendYieldCurve` wrappers preventing equity | |||
| funding and dividend-yield inputs from being exchanged accidentally. | |||
| - Curve-aware `ForwardBlack76` European option pricing from forward and | |||
| funding curves, with an equity-forward convenience constructor. | |||
| funding curves. | |||
| - `VolatilitySurface` and `FlatVolatilitySurface`, plus surface-aware | |||
| `ForwardBlack76` constructors indexed by expiry and log strike-to-forward. | |||
| - Optional `thegreeklab-visualization` JavaFX module with validated regular | |||
| surface sampling and a resizable implied-volatility heatmap. | |||
There was a problem hiding this comment.
🔴 HIGH RISK
The 2.3.0 section includes items like the 'Curve market-data API' and 'VolatilitySurface' which were originally part of the 2.1.0 release. Consolidation should remove duplicates but must preserve the original feature-to-version mapping to ensure release records remain accurate.
| The release workflow validates the tag, builds native libraries for Linux | ||
| x86-64, macOS Intel and macOS Apple Silicon, then runs the complete Maven | ||
| verification lifecycle. It creates source and Javadoc JARs for both artifacts, |
There was a problem hiding this comment.
🟡 MEDIUM RISK
The release workflow description is inconsistent with CHANGELOG.md. It should be updated to include Windows x86-64 in the list of platforms for which native libraries are built or validated.
| - Bundled `pbivnorm` binaries and native smoke tests for macOS x86-64 and | ||
| Apple Silicon. |
There was a problem hiding this comment.
🟡 MEDIUM RISK
The entry for bundled pbivnorm binaries was moved from 2.2.0 to 2.3.0. This incorrectly suggests they are a new feature of v2.3.0 unless this version specifically provides updated binaries.
|
|
||
| <properties> | ||
| <revision>2.2.0-SNAPSHOT</revision> | ||
| <revision>2.3.0-SNAPSHOT</revision> |
There was a problem hiding this comment.
🟡 MEDIUM RISK
Suggestion: The <revision> property is redundant here as it is inherited from the root pom.xml. Redefining it in child modules creates a risk where versions can drift if the parent is updated but the child is not. Consider removing this definition.
| - Curve-aware `ForwardBlack76` European option pricing from forward and | ||
| funding curves, with an equity-forward convenience constructor. | ||
| funding curves. |
There was a problem hiding this comment.
⚪ LOW RISK
Suggestion: The description for the ForwardBlack76 feature appears to have been truncated. The previous version included an 'equity-forward convenience constructor'; this should be restored if the functionality still exists.
Summary
Prepare the project for the
v2.3.0release.2.3.0-SNAPSHOT.2.2.0.2.3.0entry.release workflow.
Validation
Ran
git diff --check.Ran a Maven Central dry-run on JDK 22:
Result: build successful; 251,220 tests passed; JaCoCo checks passed; SpotBugs
reported no findings; core and visualization JARs, sources and Javadocs were
generated using version
2.3.0.Checklist
./mvnw verifythrough the Central release dry-run.