This checklist defines the stability expectations before 1.0 and the criteria for API changes.
- Avoid breaking changes unless critical for safety or correctness.
- Deprecate before removal where possible.
- Keep
envAPIs stable and ergonomic. - Keep
sysin sync with upstream JNI/JVMTI headers. - Feature-gated modules (
advanced) may change faster, but must document changes.
- Does this change break existing code? If yes, can we avoid it?
- Is there a migration path or deprecation notice?
- Are docs/examples updated to the new API?
- Are safety assumptions updated?
- Are tests updated or added?
- Public surface area is documented and intentional.
- Unsafe boundaries are minimal and clearly documented.
- No unsound
SendorSyncbehavior. - All JVMTI allocations have explicit ownership.
- Examples cover core workflows (profiling, tracing, heap sampling).
- CI green on Linux/macOS/Windows.