Skip to content

release: prep 0.3.1 patch (documentation-only fix for cost-per-token examples)#31

Merged
amavashev merged 1 commit into
mainfrom
chore/v0.3.1-release-prep
May 13, 2026
Merged

release: prep 0.3.1 patch (documentation-only fix for cost-per-token examples)#31
amavashev merged 1 commit into
mainfrom
chore/v0.3.1-release-prep

Conversation

@amavashev
Copy link
Copy Markdown
Contributor

@amavashev amavashev commented May 13, 2026

Summary

Patch release shipping the corrected inputCostPerToken / outputCostPerToken javadoc + README examples that landed on main via PR #30. The wrong examples are baked into 0.3.0's source/javadoc jars on Maven Central — a patch release is the only way to fix that surface for users reading docs from their IDE or search.maven.org.

Standard release-prep delta

File Change
.mvn/maven.config -Drevision=0.3.0-Drevision=0.3.1
cycles-spring-ai-starter/pom.xml inline <revision> default → 0.3.1
cycles-spring-ai-demo/pom.xml inline <revision> default → 0.3.1
README.md dep snippet <version>0.3.0</version><version>0.3.1</version>
CHANGELOG.md New [0.3.1] — 2026-05-12 section above [0.3.0]
AUDIT.md change log New 0.3.1 — 2026-05-12 entry, noting "No public-API or property-key changes vs 0.3.0"

What 0.3.1 ships vs 0.3.0

Strictly documentation. Between 0.3.0 and 0.3.1:

  • CyclesSpringAiProperties.java — javadoc text only (no @Bean / @ConfigurationProperties / field changes).
  • CyclesBudgetAdvisorTest.java — one Java comment.
  • README.md — two table cells + one YAML example block.

The bundled jar's bytecode is byte-for-byte equivalent to 0.3.0 for behavior. The source/javadoc jars differ in javadoc text only.

User-facing impact

Anyone on 0.3.0 who set cycles.spring-ai.input-cost-per-token=25 (or =100 for output) from copying the wrong example was under-counting actual provider cost by 10x. Real gpt-4o values in USD_MICROCENTS (per Unit.java's 1 USD = 100,000,000 microcents definition):

  • input: $2.50/1M × 100M microcents/USD = 250 microcents/token
  • output: $10.00/1M × 100M microcents/USD = 1000 microcents/token

The CHANGELOG entry calls this out explicitly so anyone reading the release page sees the issue immediately.

Verification

  • mvn -B clean verify → BUILD SUCCESS, 152 tests, jacoco 100% / 100%
  • mvn -B javadoc:jar → zero warnings
  • mvn -B help:evaluate -Dexpression=project.version -q -DforceStdout0.3.1

After this merges

gh release create v0.3.1 --generate-notes --title "v0.3.1"

→ publish workflow → Sonatype Central → Maven Central (~10–30 min propagation to repo1).

Test plan

  • Build green
  • Resolved version = 0.3.1
  • Javadoc clean (zero warnings)
  • CHANGELOG explains the breaking-but-not-API-breaking nature of the fix
  • CI green on this branch

…mples

PR #30 just landed the 10x microcents fix on main. This bumps to 0.3.1
so the corrected javadoc + README examples ship on Maven Central. The
0.3.0 source/javadoc jars on Central carry the wrong numbers — anyone
reading the javadoc from their IDE or from search.maven.org gets the
incorrect example. A patch release is the only way to fix that surface.

Standard release-prep delta

  .mvn/maven.config:                       -Drevision=0.3.0 -> 0.3.1
  cycles-spring-ai-starter/pom.xml:        <revision>0.3.0  -> 0.3.1
  cycles-spring-ai-demo/pom.xml:           <revision>0.3.0  -> 0.3.1
  README.md dep snippet:                    <version>0.3.0  -> 0.3.1
  CHANGELOG.md:                            new [0.3.1] section above
                                            [0.3.0] (no [Unreleased]
                                            block since main was clean
                                            after 0.3.0 plus the docs
                                            fix that motivated this
                                            patch)
  AUDIT.md change log:                      new "0.3.1 - 2026-05-12"
                                            entry above the 0.3.0 entry,
                                            noting "No public-API or
                                            property-key changes vs
                                            0.3.0"

What 0.3.1 ships vs 0.3.0

Strictly documentation. No source code in cycles-spring-ai-starter
was modified between 0.3.0 and 0.3.1 (the merged PR #30 changed
javadoc text on CyclesSpringAiProperties and a comment inside a
test class - no behavior delta). The bundled jar's bytecode is
byte-for-byte equivalent to 0.3.0 for behavior; the source/javadoc
jars differ in javadoc text only.

User-facing impact

Anyone on 0.3.0 who set cycles.spring-ai.input-cost-per-token=25 (or
=100 for output) from copying the wrong example was under-counting
their actual provider cost by 10x. Real gpt-4o values in
USD_MICROCENTS (per the Unit.java definition: 1 USD = 100,000,000
microcents) are:
   - input:  $2.50/1M * 100M microcents/USD = 250 microcents/token
   - output: $10.00/1M * 100M microcents/USD = 1000 microcents/token

Upgrade to 0.3.1 and bump the rate values by 10x. The 0.3.1
release notes (and the CHANGELOG entry) call this out explicitly
so anyone reading the release page sees the issue immediately.

Verification

mvn -B clean verify -> BUILD SUCCESS, 152 tests, jacoco 100% / 100%
mvn -B javadoc:jar  -> zero warnings
mvn -B help:evaluate -Dexpression=project.version -q -DforceStdout
                    -> 0.3.1
@amavashev amavashev merged commit 66e96e1 into main May 13, 2026
5 checks passed
@amavashev amavashev deleted the chore/v0.3.1-release-prep branch May 13, 2026 01:32
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