aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-common/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/meshbay-common/src')
-rw-r--r--packages/meshbay-common/src/meshbay_common/__init__.py22
1 files changed, 21 insertions, 1 deletions
diff --git a/packages/meshbay-common/src/meshbay_common/__init__.py b/packages/meshbay-common/src/meshbay_common/__init__.py
index 80e6d92..c4c4bf4 100644
--- a/packages/meshbay-common/src/meshbay_common/__init__.py
+++ b/packages/meshbay-common/src/meshbay_common/__init__.py
@@ -181,5 +181,25 @@ __version__ = "0.14.0"
# next one it reaches and keeps its own copy meanwhile (§6.4). `MNP_MIN_SUPPORTED`
# does not move. That is the difference from 3.0, where the requirement — not the
# messages — is what made it MAJOR.
-MNP_VERSION = "3.1"
+# **3.2 (2026-09-17): the viewer picks the audio track.**
+#
+# `stream_init` carries `audio_tracks` (ordinal, language, title, codec,
+# channels) and the `audio_track` actually used; `stream_req` gains an optional
+# `audio_track`. Until now the streaming path mapped `0:a:0` unconditionally,
+# so a dubbed film played in whichever language was muxed first — across a real
+# library that is one language, and the others were unreachable.
+#
+# **Additive, and MINOR because nothing is required, but the reason differs
+# from 3.1's.** A playlist a node cannot store is a feature a client keeps to
+# itself; an `audio_track` a node ignores is the *wrong language*, served
+# silently, which is a wrong answer and not a missing one. What makes this
+# MINOR anyway is that the client cannot get into that position: the selector
+# is drawn from `audio_tracks` in the node's own `stream_init`, so a 3.1 node
+# sends no list, the client shows no selector, and no `audio_track` is ever
+# sent to a peer that would ignore it. **The capability is discovered from the
+# answer, never from the version number** — and that is not the opt-in
+# compatibility switch 3.0 refused, because there is no second branch on the
+# node: a 3.2 node always enumerates, always honours what it is asked for, and
+# always says which track it used. `MNP_MIN_SUPPORTED` does not move.
+MNP_VERSION = "3.2"
MHP_VERSION = "0.1"