REL-002

Bytecode Compatibility

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

Status
Ratified
Version
0.1.0
Pack
OSERA-SP-0.1.0 ratified
Ratified
2026-09-10
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.

Illustrative evidence

See OSERA Commit Evidence for legacy proof-of-concept illustrations. These historical examples do not establish conformance with the ratified pack. Current release examples use the OSERA-SP-0.1.0 naming conventions.