Skip to content

Commit f028771

Browse files
committed
release: bump version to v0.37-alpha
1 parent 5c521f0 commit f028771

2 files changed

Lines changed: 45 additions & 4 deletions

File tree

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# What's New in v0.37-alpha
2+
3+
## Live Node State Now Flows Through an Internal Event Bus
4+
5+
This release introduces an internal asynchronous topic bus (`ebus`) and moves node-state propagation onto that live event stream. Peer health, slot state, routing reachability, aggregate network status, version policy, traffic, capture lifecycle, contacts, and identities can now flow through one shared in-process path instead of depending on ad hoc ownership and heavier polling updates.
6+
7+
For Desktop, console, and SDK consumers, this creates a cleaner real-time state model. A new `NodeStatusMonitor` seeds from `ProbeNode` and then keeps status current from live deltas, which reduces drift between initial snapshots and ongoing runtime changes and gives UI/runtime components a more consistent view of the node.
8+
9+
## Stricter Advertise-Address Truth and Convergence
10+
11+
Handshake processing is now much stricter about whether a peer's advertised listening address matches the address actually observed on the connection. The node distinguishes valid matches, non-listener and legacy-direct cases, local/private exceptions, and real world mismatches, and it can reject incorrect public advertises with a machine-readable `connection_notice` carrying the observed address hint.
12+
13+
This improves trust in advertised peer endpoints, helps peers converge toward a truthful self-advertise address over time, and reduces the chance that stale or incorrect public addresses remain treated as safely announceable across inbound and outbound paths.
14+
15+
## Stronger Foundations for Diagnostics and Stability
16+
17+
Alongside the two major runtime changes, the codebase also received a broad testing refactor based on generated mocks and expanded integration coverage around routing, capture, RPC, and node-state flows.
18+
19+
That work is mostly internal, but it matters: the new event-driven status path and advertise-convergence rules now land with much stronger regression coverage than before, which should make follow-up iterations safer.
20+
21+
---
22+
23+
# Что нового в v0.37-alpha
24+
25+
## Live-состояние ноды теперь идёт через внутреннюю event bus
26+
27+
В этом релизе появилась внутренняя асинхронная topic bus (`ebus`), и распространение node state переведено на этот live event stream. Peer health, slot state, routing reachability, aggregate network status, version policy, traffic, capture lifecycle, contacts и identities теперь проходят через один общий in-process путь вместо разрозненного владения состоянием и более тяжёлых polling-обновлений.
28+
29+
Для Desktop, console и SDK это создаёт более чистую модель real-time состояния. Новый `NodeStatusMonitor` сначала получает seed через `ProbeNode`, а затем поддерживает статус актуальным через live deltas, что уменьшает расхождение между стартовым snapshot и дальнейшими runtime-изменениями и даёт UI/runtime-компонентам более согласованное представление о ноде.
30+
31+
## Более строгая truth/convergence логика для advertise-address
32+
33+
Обработка handshake теперь заметно строже относится к тому, совпадает ли advertised listening address пира с адресом, реально наблюдаемым на соединении. Нода различает корректные совпадения, случаи non-listener и legacy-direct, local/private exceptions и настоящие world mismatch-сценарии, а при некорректном публичном advertise может отклонять соединение с machine-readable `connection_notice`, содержащим observed-address hint.
34+
35+
Это повышает доверие к advertised peer endpoints, помогает peers со временем сходиться к правдивому self-advertise address и уменьшает вероятность того, что stale или неверные публичные адреса будут и дальше считаться безопасно announceable на inbound и outbound путях.
36+
37+
## Более прочная база для diagnostics и стабильности
38+
39+
Параллельно с двумя основными runtime-изменениями кодовая база получила широкую тестовую миграцию на generated mocks и расширенное integration coverage вокруг routing, capture, RPC и потоков node state.
40+
41+
Это в основном внутренняя работа, но она важна: новый event-driven путь статуса и advertise-convergence правила теперь приходят с заметно более сильной regression coverage, что должно сделать следующие итерации безопаснее.

internal/core/config/config.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,11 +70,11 @@ type Config struct {
7070
}
7171

7272
const (
73-
CorsaVersion = "0.36 alpha"
74-
CorsaWireVersion = "0.36-alpha"
75-
ClientBuild = 36
73+
CorsaVersion = "0.37 alpha"
74+
CorsaWireVersion = "0.37-alpha"
75+
ClientBuild = 37
7676
ProtocolVersion = 10
77-
MinimumProtocolVersion = 7
77+
MinimumProtocolVersion = 8
7878
DefaultOutgoingPeers = 8
7979
DefaultPeerPort = "64646"
8080
)

0 commit comments

Comments
 (0)