From ecce7f3504591c9d4eddf67cc965680a4ffa122c Mon Sep 17 00:00:00 2001
From: l5y <220195275+l5yth@users.noreply.github.com>
Date: Sun, 1 Mar 2026 21:59:04 +0100
Subject: [PATCH] chore: bump version to 0.5.11 (#645)
* chore: bump version to 0.5.11
* data: run black
---
app/ios/Flutter/AppFrameworkInfo.plist | 4 +--
app/pubspec.yaml | 2 +-
data/__init__.py | 2 +-
matrix/Cargo.lock | 2 +-
matrix/Cargo.toml | 2 +-
tests/test_version_sync.py | 42 ++++++++++++++++++++++++--
web/lib/potato_mesh/config.rb | 2 +-
web/package-lock.json | 4 +--
web/package.json | 2 +-
web/spec/ingestors_spec.rb | 8 ++---
10 files changed, 54 insertions(+), 16 deletions(-)
diff --git a/app/ios/Flutter/AppFrameworkInfo.plist b/app/ios/Flutter/AppFrameworkInfo.plist
index a354fe3..db76f36 100644
--- a/app/ios/Flutter/AppFrameworkInfo.plist
+++ b/app/ios/Flutter/AppFrameworkInfo.plist
@@ -15,11 +15,11 @@
CFBundlePackageType
FMWK
CFBundleShortVersionString
- 0.5.10
+ 0.5.11
CFBundleSignature
????
CFBundleVersion
- 0.5.10
+ 0.5.11
MinimumOSVersion
14.0
diff --git a/app/pubspec.yaml b/app/pubspec.yaml
index 7098e3d..c326f59 100644
--- a/app/pubspec.yaml
+++ b/app/pubspec.yaml
@@ -1,7 +1,7 @@
name: potato_mesh_reader
description: Meshtastic Reader — read-only view for PotatoMesh messages.
publish_to: "none"
-version: 0.5.10
+version: 0.5.11
environment:
sdk: ">=3.4.0 <4.0.0"
diff --git a/data/__init__.py b/data/__init__.py
index e567a25..47a416a 100644
--- a/data/__init__.py
+++ b/data/__init__.py
@@ -18,7 +18,7 @@ The ``data.mesh`` module exposes helpers for reading Meshtastic node and
message information before forwarding it to the accompanying web application.
"""
-VERSION = "0.5.10"
+VERSION = "0.5.11"
"""Semantic version identifier shared with the dashboard and front-end."""
__version__ = VERSION
diff --git a/matrix/Cargo.lock b/matrix/Cargo.lock
index 0db5bc0..e5d22c3 100644
--- a/matrix/Cargo.lock
+++ b/matrix/Cargo.lock
@@ -969,7 +969,7 @@ checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c"
[[package]]
name = "potatomesh-matrix-bridge"
-version = "0.5.10"
+version = "0.5.11"
dependencies = [
"anyhow",
"axum",
diff --git a/matrix/Cargo.toml b/matrix/Cargo.toml
index 7d638c6..df7da16 100644
--- a/matrix/Cargo.toml
+++ b/matrix/Cargo.toml
@@ -14,7 +14,7 @@
[package]
name = "potatomesh-matrix-bridge"
-version = "0.5.10"
+version = "0.5.11"
edition = "2021"
[dependencies]
diff --git a/tests/test_version_sync.py b/tests/test_version_sync.py
index 90f1aef..56dd466 100644
--- a/tests/test_version_sync.py
+++ b/tests/test_version_sync.py
@@ -55,8 +55,38 @@ def _javascript_package_version() -> str:
raise AssertionError("package.json does not expose a string version")
+def _flutter_package_version() -> str:
+ pubspec_path = REPO_ROOT / "app" / "pubspec.yaml"
+ for line in pubspec_path.read_text(encoding="utf-8").splitlines():
+ if line.startswith("version:"):
+ version = line.split(":", 1)[1].strip()
+ if version:
+ return version
+ break
+ raise AssertionError("pubspec.yaml does not expose a version")
+
+
+def _rust_package_version() -> str:
+ cargo_path = REPO_ROOT / "matrix" / "Cargo.toml"
+ inside_package = False
+ for line in cargo_path.read_text(encoding="utf-8").splitlines():
+ stripped = line.strip()
+ if stripped == "[package]":
+ inside_package = True
+ continue
+ if inside_package and stripped.startswith("[") and stripped.endswith("]"):
+ break
+ if inside_package:
+ literal = re.match(
+ r'version\s*=\s*["\'](?P[^"\']+)["\']', stripped
+ )
+ if literal:
+ return literal.group("version")
+ raise AssertionError("Cargo.toml does not expose a package version")
+
+
def test_version_identifiers_match_across_languages() -> None:
- """Guard against version drift between Python, Ruby, and JavaScript."""
+ """Guard against version drift between Python, Ruby, JavaScript, Flutter, and Rust."""
python_version = getattr(data, "__version__", None)
assert (
@@ -65,5 +95,13 @@ def test_version_identifiers_match_across_languages() -> None:
ruby_version = _ruby_fallback_version()
javascript_version = _javascript_package_version()
+ flutter_version = _flutter_package_version()
+ rust_version = _rust_package_version()
- assert python_version == ruby_version == javascript_version
+ assert (
+ python_version
+ == ruby_version
+ == javascript_version
+ == flutter_version
+ == rust_version
+ )
diff --git a/web/lib/potato_mesh/config.rb b/web/lib/potato_mesh/config.rb
index 73bfc87..e9f75cd 100644
--- a/web/lib/potato_mesh/config.rb
+++ b/web/lib/potato_mesh/config.rb
@@ -187,7 +187,7 @@ module PotatoMesh
#
# @return [String] semantic version identifier.
def version_fallback
- "0.5.10"
+ "0.5.11"
end
# Default refresh interval for frontend polling routines.
diff --git a/web/package-lock.json b/web/package-lock.json
index 2c0da85..d539eb5 100644
--- a/web/package-lock.json
+++ b/web/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "potato-mesh",
- "version": "0.5.10",
+ "version": "0.5.11",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "potato-mesh",
- "version": "0.5.10",
+ "version": "0.5.11",
"devDependencies": {
"istanbul-lib-coverage": "^3.2.2",
"istanbul-lib-report": "^3.0.1",
diff --git a/web/package.json b/web/package.json
index 5201ec7..a675d1e 100644
--- a/web/package.json
+++ b/web/package.json
@@ -1,6 +1,6 @@
{
"name": "potato-mesh",
- "version": "0.5.10",
+ "version": "0.5.11",
"type": "module",
"private": true,
"scripts": {
diff --git a/web/spec/ingestors_spec.rb b/web/spec/ingestors_spec.rb
index 8387d62..8385a72 100644
--- a/web/spec/ingestors_spec.rb
+++ b/web/spec/ingestors_spec.rb
@@ -61,7 +61,7 @@ RSpec.describe "Ingestor endpoints" do
node_id: "!abc12345",
start_time: now - 120,
last_seen_time: now - 60,
- version: "0.5.10",
+ version: "0.5.11",
lora_freq: 915,
modem_preset: "LongFast",
}.merge(overrides)
@@ -133,7 +133,7 @@ RSpec.describe "Ingestor endpoints" do
with_db do |db|
db.execute(
"INSERT INTO ingestors(node_id, start_time, last_seen_time, version) VALUES(?,?,?,?)",
- ["!fresh000", now - 100, now - 10, "0.5.10"],
+ ["!fresh000", now - 100, now - 10, "0.5.11"],
)
db.execute(
"INSERT INTO ingestors(node_id, start_time, last_seen_time, version) VALUES(?,?,?,?)",
@@ -141,7 +141,7 @@ RSpec.describe "Ingestor endpoints" do
)
db.execute(
"INSERT INTO ingestors(node_id, start_time, last_seen_time, version, lora_freq, modem_preset) VALUES(?,?,?,?,?,?)",
- ["!rich000", now - 200, now - 100, "0.5.10", 915, "MediumFast"],
+ ["!rich000", now - 200, now - 100, "0.5.11", 915, "MediumFast"],
)
end
@@ -173,7 +173,7 @@ RSpec.describe "Ingestor endpoints" do
)
db.execute(
"INSERT INTO ingestors(node_id, start_time, last_seen_time, version) VALUES(?,?,?,?)",
- ["!new-ingestor", now - 60, now - 30, "0.5.10"],
+ ["!new-ingestor", now - 60, now - 30, "0.5.11"],
)
end