You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+9Lines changed: 9 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,15 @@
2
2
3
3
## Unreleased
4
4
5
+
## v0.3.0
6
+
7
+
### Added
8
+
9
+
- Versioned public schema contract evolution to `io.mb3r.bering.model@1.1.0` and `io.mb3r.bering.snapshot@1.1.0` without mutating the preserved `1.0.0` contracts.
10
+
- Typed public topology metadata for stable edge identity, service placements, shared fate-domain references, edge resilience policy, observed latency/error summaries, policy scope, and richer endpoint fidelity.
11
+
- Versioned contracts-pack and release-manifest plumbing aligned with the new schema tree and pinned `1.1.0` digests.
12
+
- Documentation, migration guidance, examples, and schema publishing workflow updates aligned with the `1.1.0` contract line.
Copy file name to clipboardExpand all lines: README.md
+28-19Lines changed: 28 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Bering
2
2
3
-
`Bering v0.2.0` is the current product release of Bering: a discovery and publishing layer for service topology and endpoint contracts.
3
+
`Bering v0.3.0` is the current product release of Bering: a discovery and publishing layer for service topology and endpoint contracts.
4
4
5
5
Bering turns trace input or explicit topology input into stable JSON artifacts, and it can also run as a long-lived runtime service that emits rolling discovery snapshots plus conservative reconciliation views for trace gaps.
6
6
@@ -14,20 +14,23 @@ Bering turns trace input or explicit topology input into stable JSON artifacts,
14
14
15
15
## Where Bering Stops
16
16
17
-
Bering owns discovery and discovery-side public contracts. It does not own simulation, policy evaluation, gating, chaos execution, or benchmark-specific rules.
17
+
Bering owns discovery and discovery-side public contracts. It does not own simulation math, retry-amplification math, timeout-wave propagation, blast-radius scoring, policy evaluation, gating, or chaos execution.
18
18
19
19
## Product Version vs Schema Version
20
20
21
21
Do not treat the product release tag as the schema contract version.
22
22
23
-
- Current product release for this repository: `Bering v0.2.0`
24
-
- Current product git tag / GitHub Release: `v0.2.0`
25
-
- Public schema contracts emitted by this release remain:
23
+
- Current product release for this repository: `Bering v0.3.0`
24
+
- Current product git tag / GitHub Release: `v0.3.0`
25
+
- Default emitted schema contracts now are:
26
+
-`io.mb3r.bering.model@1.1.0`
27
+
-`io.mb3r.bering.snapshot@1.1.0`
28
+
- Previously published contracts remain valid and immutable:
26
29
-`io.mb3r.bering.model@1.0.0`
27
30
-`io.mb3r.bering.snapshot@1.0.0`
28
-
- Schema publishing tag remains separate: `schema-v1.0.0`
31
+
- Schema publishing tag remains separate: `schema-v1.1.0`
29
32
30
-
In other words: Bering `v0.2.0`advances the product release line while continuing to emit the already-stable schema contracts at `1.0.0`.
33
+
`bering validate` accepts both the preserved `1.0.0`artifacts and the current `1.1.0` artifacts.
31
34
32
35
## Installation
33
36
@@ -49,7 +52,7 @@ Also packaged today:
49
52
Example:
50
53
51
54
```bash
52
-
tar -xzf bering_0.2.0_linux_amd64.tar.gz
55
+
tar -xzf bering_0.3.0_linux_amd64.tar.gz
53
56
./bering help
54
57
```
55
58
@@ -74,7 +77,7 @@ go run ./cmd/bering discover \
74
77
--discovered-at 2026-03-03T00:00:00Z
75
78
```
76
79
77
-
Expected result: a deterministic `io.mb3r.bering.model@1.0.0` artifact.
80
+
Expected result: a deterministic `io.mb3r.bering.model@1.1.0` artifact.
78
81
79
82
### 2) Validate an artifact
80
83
@@ -96,7 +99,7 @@ go run ./cmd/bering discover \
96
99
--discovered-at 2026-03-03T00:00:00Z
97
100
```
98
101
99
-
Expected result: a model artifact plus an `io.mb3r.bering.snapshot@1.0.0` envelope.
102
+
Expected result: a model artifact plus an `io.mb3r.bering.snapshot@1.1.0` envelope.
This is the stable topology artifact intended for file-based consumers and tools such as Sheaft.
144
+
This is the stable topology artifact intended for file-based consumers and tools such as Sheaft. It now carries first-class edge ids, typed service placement and shared-fate metadata, typed edge resilience policy, optional observed edge timing summaries, policy scope metadata, and richer endpoint fidelity.
This wraps the model with runtime window metadata, ingest counts, coverage, provenance, and topology diffs.
153
+
This wraps the model with runtime window metadata, ingest counts, coverage, provenance, topology diffs, and discovery-side copies of the same typed placement, resilience, and observed edge metadata.
151
154
152
155
### Runtime reconciliation views
153
156
@@ -158,7 +161,13 @@ Runtime mode also keeps a conservative reconciliation layer for sparse traffic a
158
161
-`guardrail_union`: the conservative default downstream artifact
159
162
- a machine-readable reconciliation report for operators
160
163
161
-
These runtime views do not change the public `io.mb3r.bering.model@1.0.0` or `io.mb3r.bering.snapshot@1.0.0` contracts.
164
+
These runtime views do not change the public `io.mb3r.bering.model@1.1.0` or `io.mb3r.bering.snapshot@1.1.0` contracts.
165
+
166
+
### Population Today
167
+
168
+
-`topology_api` input and discovery overlays are the first-class write surfaces for typed `placements`, `shared_resource_refs`, `resilience`, `observed`, `policy_scope`, and richer endpoint metadata.
169
+
- Trace discovery can derive stable edge ids, endpoint `method` and `path`, and `observed.latency_ms.*` summaries when span timing exists.
170
+
- Generic trace ingestion does not currently infer timeout policies, retry policies, circuit-breaker settings, placement groups, or shared resource references. Those remain out of scope for Bering trace inference today.
Copy file name to clipboardExpand all lines: RELEASING.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,7 @@ Product releases and schema publishing are separate operations:
9
9
- product release tags: `vX.Y.Z`
10
10
- schema publishing tags: `schema-vA.B.C`
11
11
12
-
Product releases advance independently from the public schema contracts. As of the current release line, use `v0.2.0` for the product release while the public schema contracts remain pinned at `1.0.0`.
12
+
Product releases advance independently from the public schema contracts. As of the current release line, use `v0.3.0` for the product release while the default emitted public schema contracts are `1.1.0` and the preserved `1.0.0` contracts remain available for validation and pinned consumers.
13
13
14
14
## Prerequisites
15
15
@@ -28,7 +28,7 @@ Dry-run without publishing:
28
28
29
29
```bash
30
30
make release-dry-run \
31
-
VERSION=0.2.0 \
31
+
VERSION=0.3.0 \
32
32
GIT_SHA="$(git rev-parse HEAD)" \
33
33
BUILD_DATE="$(git show -s --format=%cI HEAD)"
34
34
```
@@ -37,7 +37,7 @@ Full local release payload with OCI publish:
37
37
38
38
```bash
39
39
make release-local \
40
-
VERSION=0.2.0 \
40
+
VERSION=0.3.0 \
41
41
GIT_SHA="$(git rev-parse HEAD)" \
42
42
BUILD_DATE="$(git show -s --format=%cI HEAD)" \
43
43
IMAGE_REPOSITORY=ghcr.io/mb3r-lab/bering \
@@ -49,8 +49,8 @@ If the chart version must intentionally differ from the app version:
49
49
50
50
```bash
51
51
make chart-package \
52
-
VERSION=0.2.0 \
53
-
CHART_VERSION=0.2.1 \
52
+
VERSION=0.3.0 \
53
+
CHART_VERSION=0.3.1 \
54
54
ALLOW_CHART_VERSION_MISMATCH=1
55
55
```
56
56
@@ -80,7 +80,7 @@ These variables control the release payload:
80
80
-`CHART_VERSION`: optional explicit chart version
81
81
-`ALLOW_CHART_VERSION_MISMATCH=1`: required when `CHART_VERSION != VERSION`
82
82
83
-
For `v0.2.0`, `VERSION=0.2.0` while the emitted public schema contracts remain`1.0.0`.
83
+
For `v0.3.0`, `VERSION=0.3.0` while the default emitted public schema contracts are`1.1.0`.
Copy file name to clipboardExpand all lines: VERSIONING.md
+15-10Lines changed: 15 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,10 +4,13 @@ Bering separates product release versioning from public schema contract versioni
4
4
5
5
For the current published product release:
6
6
7
-
- product release tag: `v0.2.0`
8
-
- product version in release automation: `0.2.0`
9
-
- schema publishing tag: `schema-v1.0.0`
10
-
- emitted schema contracts:
7
+
- product release tag: `v0.3.0`
8
+
- product version in release automation: `0.3.0`
9
+
- schema publishing tag: `schema-v1.1.0`
10
+
- default emitted schema contracts:
11
+
-`io.mb3r.bering.model@1.1.0`
12
+
-`io.mb3r.bering.snapshot@1.1.0`
13
+
- previously published and still valid contracts:
11
14
-`io.mb3r.bering.model@1.0.0`
12
15
-`io.mb3r.bering.snapshot@1.0.0`
13
16
@@ -23,8 +26,8 @@ App version changes govern the Bering CLI, the runtime service behavior, the ins
23
26
24
27
Examples:
25
28
26
-
- product release `v0.2.0` identifies the current Bering release line
27
-
-`dist/release-manifest.json` records `"app_version": "0.2.0"`
29
+
- product release `v0.3.0` identifies the current Bering release line
30
+
-`dist/release-manifest.json` records `"app_version": "0.3.0"`
28
31
29
32
## Schema Contract Versions
30
33
@@ -42,9 +45,10 @@ Each schema contract has its own version, URI, and digest. Those values are inde
42
45
43
46
Examples:
44
47
45
-
- Bering `v0.2.0` still emits `io.mb3r.bering.model@1.0.0`
46
-
- Bering `v0.2.0` still emits `io.mb3r.bering.snapshot@1.0.0`
47
-
-`schema-v1.0.0` publishes the schema files to GitHub Pages; it is not a product release tag
48
+
- Bering `v0.3.0` now emits `io.mb3r.bering.model@1.1.0`
49
+
- Bering `v0.3.0` now emits `io.mb3r.bering.snapshot@1.1.0`
50
+
-`bering validate` still accepts `1.0.0` artifacts without mutation or migration
51
+
-`schema-v1.1.0` publishes the schema files to GitHub Pages; it is not a product release tag
48
52
49
53
Rules:
50
54
@@ -53,6 +57,7 @@ Rules:
53
57
- Breaking schema changes require a new contract major version.
54
58
- Non-breaking schema additions require a new contract minor version.
55
59
- Pure fixes that do not change contract meaning require a new contract patch version.
60
+
- This repository currently keeps the model and snapshot contracts on the same schema version line for publication and default emission.
56
61
57
62
## Image Tags
58
63
@@ -98,4 +103,4 @@ Rules:
98
103
99
104
- A breaking schema change increments that contract's major version.
100
105
- Existing published contract versions remain valid and immutable.
101
-
- If Bering changes which schema version it emits by default in a way that breaks existing consumers, that is also an app-surface breaking change and should trigger a new app major version.
106
+
- If Bering changes which schema version it emits by default, call that out explicitly in release notes and keep older published contract versions available to validators and pinned consumers.
0 commit comments