Skip to content

chore: prepare v2.3.0 release#23

Merged
iamchorchos merged 1 commit into
mainfrom
feat/javafx-volatility-surface
Jul 23, 2026
Merged

chore: prepare v2.3.0 release#23
iamchorchos merged 1 commit into
mainfrom
feat/javafx-volatility-surface

Conversation

@iamchorchos

Copy link
Copy Markdown
Owner

Summary

Prepare the project for the v2.3.0 release.

  • Advance the default development version to 2.3.0-SNAPSHOT.
  • Compare API compatibility against the last release, 2.2.0.
  • Consolidate duplicated changelog sections into a chronological 2.3.0 entry.
  • Update publishing instructions for the new version and cross-platform native
    release workflow.

Validation

  • Ran git diff --check.

  • Ran a Maven Central dry-run on JDK 22:

    .\mvnw.cmd -Pcentral-release "-Drevision=2.3.0" `
      "-Dgpg.skip=true" "-Dcentral.skipPublishing=true" clean verify
  • 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

  • I kept the pull request focused and reviewed my own diff.
  • I ran ./mvnw verify through the Central release dry-run.
  • I added or updated tests for changed behavior. Not applicable: release metadata and documentation only.
  • I updated public documentation when required.
  • I documented the source and tolerance of new numerical reference data. Not applicable.
  • I verified that no new dependencies or license obligations were introduced.
  • I did not commit secrets, generated build output or local configuration.

@codacy-production

codacy-production Bot commented Jul 23, 2026

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 0 complexity · 0 duplication

Metric Results
Complexity 0
Duplication 0

View in Codacy

🟢 Coverage ∅ diff coverage · +0.00% coverage variation

Metric Results
Coverage variation +0.00% coverage variation (-1.00%)
Diff coverage diff coverage

View coverage diff in Codacy

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.

Run reviewer

TIP This summary will be updated as you push new changes.

@iamchorchos
iamchorchos merged commit 944de65 into main Jul 23, 2026
7 checks passed

@codacy-production codacy-production Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

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

Comment thread CHANGELOG.md
Comment on lines 9 to 22
@@ -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.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🔴 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.

Comment thread docs/PUBLISHING.md
Comment on lines +37 to +39
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,

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 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.

Comment thread CHANGELOG.md
Comment on lines +23 to +24
- Bundled `pbivnorm` binaries and native smoke tests for macOS x86-64 and
Apple Silicon.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 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.

Comment thread thegreeklab-core/pom.xml

<properties>
<revision>2.2.0-SNAPSHOT</revision>
<revision>2.3.0-SNAPSHOT</revision>

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 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.

Comment thread CHANGELOG.md
Comment on lines 17 to +18
- Curve-aware `ForwardBlack76` European option pricing from forward and
funding curves, with an equity-forward convenience constructor.
funding curves.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚪ 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant