Skip to content

Harden the 0.2.0 production preview - #2

Merged
ChoMinGi merged 32 commits into
mainfrom
chore/0.2.0-readiness
Jul 23, 2026
Merged

Harden the 0.2.0 production preview#2
ChoMinGi merged 32 commits into
mainfrom
chore/0.2.0-readiness

Conversation

@ChoMinGi

@ChoMinGi ChoMinGi commented Jul 23, 2026

Copy link
Copy Markdown
Owner

What changed

This completes the production-readiness pass for the 0.2.0 line.

  • Tightens span lifecycle, asynchronous context propagation, content capture, and exception handling.
  • Adds standalone exporter diagnostics plus Spring Boot health and Micrometer signals.
  • Defines the supported Boot 3 / Spring AI 1 compatibility line and expands Java and framework CI coverage.
  • Adds coverage, API compatibility, dependency convergence, SpotBugs, license, SBOM, vulnerability, and consumer gates to CI and release validation.
  • Updates pinned GitHub Actions to Node 24 runtimes to remove runner deprecation warnings.
  • Replaces the OTLP OkHttp sender with the JDK sender. This avoids the OkHttp 5 / OkHttp 4 and Kotlin classpath collision seen when a plain Maven consumer uses langfuse-otel-core with langfuse-java.
  • Adds a standalone consumer regression test for that classpath and clarifies external OTLP, prompt-management, example, migration, security, and release guidance.

Testing

  • ./mvnw -B -ntp clean verify
  • ./mvnw -B -ntp -Pquality -DskipTests -Djacoco.skip=true -Dmaven.javadoc.skip=true clean verify
  • Spring AI consumer build
  • LangChain4j consumer build
  • Standalone core + prompt-client consumer test
  • OpenTelemetry 1.49 and 1.62 core test runs
  • actionlint

The release version change, signed tag, and Central publication remain separate release steps.

ChoMinGi added 30 commits July 20, 2026 23:55
Decode captured exports to verify span hierarchy, kinds, and representative attributes. Keep the protobuf decoder test-scoped.
Exercise the LangChain4j OpenAI streaming path with a configured JDK HTTP executor. Verify that the tracing wrapper restores span and request metadata at callback boundaries.
Document the validated OpenAI JDK transport behavior and distinguish callback restoration from provider-internal scheduling. Close the corresponding 0.2 readiness item.
Capture owned-pipeline exporter failures and queue drops through the pinned OpenTelemetry self-metric hooks. Expose bounded no-op reasons and local flush state without inferring application-owned pipeline health.
Register optional health and Micrometer adapters for owned pipeline failures while leaving external OpenTelemetry state explicitly unmanaged.
Describe Actuator status semantics, metric names, external-pipeline limits, and probe guidance for the 0.2 preview.
Run JaCoCo line and branch checks during verify and require coverage artifacts in CI and release validation.
Document the verification command and reports, update release validation notes, and mark the JaCoCo roadmap item complete.
Run SpotBugs and license checks, retain CycloneDX and Trivy evidence, and reject High or Critical dependency vulnerabilities. Align Netty with the first patched 4.1.136.Final release.
Consumer verification only installs already-tested reactor artifacts. Skip JaCoCo there so the install phase does not fail on an intentional zero-test build.
Compare both published modules with 0.1.1 during verify and fail on protected-or-public binary or source incompatibilities. Missing comparison classes remain a hard error.
Move past CVE-2026-45292 and make context fault-injection tests target semantic writes instead of OpenTelemetry SDK-internal write order.
Reject null document and bulk embedding results required to be non-null by Spring AI, while ending the tracing span with an error. Cover both traced and setup-fallback paths.
Document the public core and starter APIs, clarify lifecycle and fail-safe contracts, and fail packaging on Javadoc warnings.
Remove repeated implementation detail and align the migration, support, and release instructions.
Keep Maven version baselines stable while allowing security fixes, and refresh pinned GitHub Actions weekly.
@ChoMinGi
ChoMinGi marked this pull request as ready for review July 23, 2026 16:22
@ChoMinGi
ChoMinGi merged commit 1dd0c83 into main Jul 23, 2026
12 checks passed
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