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