Skip to content

release: v4.10.4#3484

Merged
Yeraze merged 1 commit into
mainfrom
release/4.10.4
Jun 15, 2026
Merged

release: v4.10.4#3484
Yeraze merged 1 commit into
mainfrom
release/4.10.4

Conversation

@Yeraze

@Yeraze Yeraze commented Jun 15, 2026

Copy link
Copy Markdown
Owner

v4.10.4 — patch release

Version bumped to 4.10.4 across all five version files (package.json, package-lock.json, helm/meshmonitor/Chart.yaml, desktop/package.json, desktop/src-tauri/tauri.conf.json).

Bug Fixes (since 4.10.3)

Changes

  • CHANGELOG.md: promoted [Unreleased][4.10.4] - 2026-06-15 and added the user-facing PRs merged after the section was last written.

Validation

  • tsc --noEmit: clean
  • Full Vitest suite: 6470 pass, 0 fail, 0 suite failures
  • System tests enabled via the system-test label on this PR.

🤖 Generated with Claude Code

Bump version to 4.10.4 across package.json, package-lock.json,
helm/meshmonitor/Chart.yaml, desktop/package.json, and
desktop/src-tauri/tauri.conf.json.

Promote CHANGELOG [Unreleased] to [4.10.4] and add the user-facing fixes
merged since 4.10.3: timed-events cross-source firing (#3479), module
config save for Traffic Management/Status Message (#3464), Auto Favorites
firmware-support cache (#3482), MeshCore Share Contact error surfacing
(#3481), and the Firefox-Android delivered-icon CSS fix (#3477). The
air-quality particle-count fix (#3483) was already in [Unreleased].

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@Yeraze Yeraze added the system-test Trigger hardware system tests label Jun 15, 2026
@github-actions

github-actions Bot commented Jun 15, 2026

Copy link
Copy Markdown

Claude finished @Yeraze's task —— View job


Code Review for Release v4.10.4

Todo List:

  • Review version consistency across all 5 files
  • Analyze CHANGELOG format and content
  • Verify release process follows repository standards
  • Check for any security or quality concerns
  • Provide comprehensive feedback

Code Quality Assessment

✅ Version Consistency

All 5 version files are correctly updated to 4.10.4:

  • package.json:3, package-lock.json:3,9, helm/meshmonitor/Chart.yaml:5,6, desktop/package.json:4, desktop/src-tauri/tauri.conf.json:4

✅ CHANGELOG Quality

✅ Release Process Adherence

  • Follows CLAUDE.md guidelines exactly (all 5 version files updated)
  • Clean commit: only version bumps + CHANGELOG promotion
  • Proper [Unreleased][4.10.4] - 2026-06-15 migration
  • No code changes mixed with version bump (good separation)

Security & Quality

✅ No Security Concerns

  • Pure release commit with no functional code changes
  • Version files contain expected package metadata only
  • CHANGELOG contains only documentation updates

✅ Best Practices

  • Atomic release commit: Only version + changelog changes
  • Traceable fixes: Every bug fix links to a merged PR
  • Date accuracy: Release date matches commit date
  • Semantic versioning: 4.10.3→4.10.4 appropriate for patch fixes

Performance Considerations

No performance impact - this is purely a version bump with no code changes.

Test Coverage Validation

✅ PR description claims "6470 pass, 0 fail" - all tests passing before release.

Recommendations

🎯 Excellent Release Practice

This release demonstrates exemplary release management:

  1. Clean separation of functional fixes (in individual PRs) from version bump
  2. Complete traceability - every CHANGELOG entry has corresponding commit evidence
  3. Consistent versioning across all deployment targets (web, Helm, desktop)
  4. Thorough documentation with technical root-cause explanations

💡 Minor Suggestion

Consider adding a brief summary line at the top of each release section (e.g., "6 bug fixes focusing on telemetry collection and multi-source behavior") for quick scanning, though the current detailed format is excellent for debugging.

Overall Assessment: ⭐ Exceptional release quality - ready to merge

@github-actions

Copy link
Copy Markdown
System Test Results

MeshMonitor System Test Results

Test Run: 2026-06-15 13:29:48 EDT

Test Summary

Test Suite Result
Configuration Import ✅ PASSED
Quick Start Test ✅ PASSED
Security Test ✅ PASSED
V1 API Test ✅ PASSED
Reverse Proxy Test ✅ PASSED
Reverse Proxy + OIDC ✅ PASSED
Virtual Node CLI Test ✅ PASSED
Backup & Restore Test ✅ PASSED
Database Migration Test ✅ PASSED
DB Backing Consistency ✅ PASSED
API Exercise (3 DBs) ✅ PASSED

✅ Overall Result: PASSED

All deployment configurations are working correctly!

Test Details

Configuration Import:

  • Tests configuration import and device reboot cycle
  • Verifies channel roles, PSKs, and LoRa configuration
  • Note: Channel name verification skipped due to architectural limitation

Quick Start Test:

  • Zero-config deployment (no SESSION_SECRET or COOKIE_SECURE required)
  • HTTP access without HSTS
  • Auto-generated admin user with default credentials
  • Session cookies work over HTTP
  • Meshtastic node connection and message exchange verified

Security Test:

  • Verifies Node IP address hidden from anonymous users in API responses
  • Verifies MQTT configuration hidden from anonymous users
  • Verifies Node IP address visible to authenticated users
  • Verifies MQTT configuration visible to authenticated users
  • Verifies protected endpoints require authentication

V1 API Test:

  • Tests v1 REST API endpoints with Bearer token authentication
  • Verifies Bearer token requests bypass CSRF protection
  • Verifies POST/PUT/DELETE work without CSRF token when using Bearer auth
  • Verifies session-based requests still require CSRF token

Reverse Proxy Test:

  • Production deployment with COOKIE_SECURE=true
  • HTTPS-ready configuration
  • Trust proxy enabled for reverse proxy compatibility
  • CORS configured for HTTPS domain
  • Meshtastic node connection and message exchange verified

Reverse Proxy + OIDC Test:

  • OIDC authentication integration
  • Mock OIDC provider health checks
  • Authorization flow and session creation
  • Hybrid mode (OIDC + local auth)
  • Meshtastic node connection verified

Virtual Node CLI Test:

  • Virtual Node Server enabled on TCP port 4404
  • Meshtastic Python client successfully connects
  • Node data download and synchronization verified
  • Test message sent on gauntlet channel (index 3)
  • Message delivery confirmed via Web UI API
  • Virtual Node Server connection logging verified

Backup & Restore Test:

  • System backup created from running dev container
  • New container spun up with RESTORE_FROM_BACKUP env var
  • Data integrity verified (node count, message count, settings)
  • Restore event logged in audit log
  • Dev container unaffected by restore test

Database Migration Test:

  • SQLite to PostgreSQL migration verified
  • SQLite to MySQL migration verified
  • Data integrity confirmed for both target databases
  • Row counts match between source and target

DB Backing Consistency Test:

  • SQLite, PostgreSQL, and MySQL backends tested with same device
  • Node counts within ±10 across all three backends
  • Favorite counts identical across all backends
  • Key station verified as favorite on all backends

@Yeraze Yeraze merged commit 507479b into main Jun 15, 2026
24 checks passed
@Yeraze Yeraze deleted the release/4.10.4 branch June 15, 2026 18:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

system-test Trigger hardware system tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant