Active Evaluation FINOS Labs This material is provisional and has not been published as a formal FINOS standard.
REL-002

Bytecode Compatibility

Patched artifacts preserve the bytecode level of the last released artifact unless an explicit exception is approved.

Status
Draft
Version
0.1.0
Pack
OSERA-SP-0.1.0 candidate
Ratified
Not ratified
Fitness
Required evidence
Category
Release Process
Applies to
Patch providers, Enterprise recipients
Machine-readable
YAML / JSON

Structured Requirements

REL-002.REQ-001 MUST automated

Patched Java artifacts must preserve the bytecode level of the last released artifact unless an exception is approved.

Check Severity Evidence
REL-002.CHECK-001
Bytecode level matches the prior released artifact
blocking artifact_digest, bytecode_level, reference_artifact

Requirement

Patch providers MUST guarantee that patched Java artifacts are released at the correct bytecode version.

The bytecode level SHOULD be determined from the last released artifact, not solely from the fork’s build configuration.

Rationale

Old source trees do not always encode the runtime compatibility level that enterprise consumers rely on. Publishing a patch at the wrong bytecode level can break consumers even when source tests pass.

Acceptance check

The working group SHOULD define an automated publish-time check that compares bytecode level against the last released artifact for the same line.

Evidence

Release evidence SHOULD include the bytecode level, how it was determined, and whether the published artifact was checked before release.

Observed OSERA example

The historical backpatch-logback backpatch/1.2.9 branch includes a compatibility-focused commit titled ensure JDK 8 compatibility:

https://github.com/finos-osera/backpatch-logback/commit/a721d9c51643f0a9fd113a1a3bb4e25ad7a76e4e

This is useful evidence, but a future standard should make runtime compatibility machine-verifiable at release time.