Skip to content

v2.0.48

Latest

Choose a tag to compare

@EngHabu EngHabu released this 03 Sep 19:12
· 4 commits to main since this release
aeee504

What's Changed

⚠️ Breaking IDL change (deliberate)

  • ArtifactSpec.parent_artifact and ProducedArtifact.parent_artifact are replaced in place by repeated parent_artifacts (same field numbers, max_items = 32) by #7972. The singular field shipped in v2.0.47 days ago with no consumers, so it is replaced rather than deprecated.

Artifact lineage: multiple parents (git-like merge DAG)

  • An artifact version can now declare several parent versions: one entry is plain derivation, several record a merge, making version history a full DAG. Order is preserved (first entry = primary parent); duplicates after scope/name inheritance are rejected. Per-entry semantics are unchanged from v2.0.47: parents live in the child's own org/project/domain, empty key fields inherit the child's scope/name (bare {version} = same-name parent), stored as given, dangling parents legal, immutable.
  • buf.validate length bounds on core.ArtifactKey (project/domain 64, name 255, org 63) and ArtifactVersionId.version (255).
  • The ListArtifacts parent_name+parent_version filter pair now matches artifacts having the given version among their parents.

Full Changelog: v2.0.47...v2.0.48