diff --git a/CHANGELOG.md b/CHANGELOG.md index c06e40b..c8cafa4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,21 @@ All notable changes to Mosh are documented here. Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/); versions follow [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.2.4] - 2026-06-03 + +### Fixed +- **Honest NAT reachability detection (peer flapping).** A node behind NAT was + classified as publicly reachable ("open") from a single reflexive address — + which is only the NAT's WAN IP — so peers kept attempting futile direct dials + and the connection flapped (rapid `peer_joined`/`peer_left`). The Moss runtime + (bumped to v0.3.1) now leaves reachability to an actual inbound probe and + detects symmetric NAT from varying mapped ports. + +### Note +- Two peers both behind symmetric NAT still require a relay/supernode to + connect; correct detection lets Moss pick relay paths instead of looping on + direct dials. + ## [0.2.3] - 2026-06-03 ### Fixed diff --git a/moss b/moss index c0c6082..e0c14eb 160000 --- a/moss +++ b/moss @@ -1 +1 @@ -Subproject commit c0c608283218678aa5da4f0f0aff5983a9c375ac +Subproject commit e0c14eb75714d48ed68dac1f5f9821434eb4e038 diff --git a/moss.config.json b/moss.config.json index 79cd378..6689055 100644 --- a/moss.config.json +++ b/moss.config.json @@ -1,6 +1,6 @@ { "moss": { "repository": "redstone-md/moss", - "version": "v0.3.0" + "version": "v0.3.1" } } diff --git a/package-lock.json b/package-lock.json index 44ecdcd..ddd7f88 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mosh", - "version": "0.2.3", + "version": "0.2.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "mosh", - "version": "0.2.3", + "version": "0.2.4", "dependencies": { "@tabler/icons-react": "^3.41.1", "@tauri-apps/api": "^2", diff --git a/package.json b/package.json index 899b004..601ccd3 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "mosh", "private": true, - "version": "0.2.3", + "version": "0.2.4", "type": "module", "scripts": { "dev": "vite", diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index 780a82e..028d92d 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -3572,7 +3572,7 @@ dependencies = [ [[package]] name = "mosh" -version = "0.2.3" +version = "0.2.4" dependencies = [ "aes-gcm", "base64 0.22.1", diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index fa6688f..4475b26 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "mosh" -version = "0.2.3" +version = "0.2.4" description = "Desktop-first decentralized messenger" authors = ["Mosh contributors"] edition = "2021" diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 0d6c728..5598b9a 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://schema.tauri.app/config/2", "productName": "Mosh", - "version": "0.2.3", + "version": "0.2.4", "identifier": "app.mosh.desktop", "build": { "beforeDevCommand": "npm run moss:prepare && npm run dev",