Skip to content

Release 2.4.0

Latest

Choose a tag to compare

@github-actions github-actions released this 10 Jul 16:09

OpenWrt 2.4.0 Stable

Warning

Release Risk: High
This release contains significant changes to core features. Please verify integration behavior after updating.

Affected areas: ⚙️ Core (25 files · 51%) · 🗣️ Translations (2 files · 4%) · 🧪 Tests (16 files · 33%) · 🚀 CI/CD (5 files · 10%)

📋 What's Changed

✨ New Features

  • tracking: Add optional reverse DNS fallback (#95) (9d805c4)
  • Add reconfiguration flow support to OpenWrt config flow (#88) (4d4d176)
  • Add banIP and Snort to config flow packages table and update rpcd ACL template for banIP and conntrack (db9286a)
  • banip: BanIP status + packet-block counters (c703781) — thanks to @stijn Cleynhens for this contribution!
  • sensors: Add connection-tracking (conntrack) sensor (741d697) — thanks to @stijn Cleynhens for this contribution!
  • snort: Add Snort IDS sensor (de976b8) — thanks to @stijn Cleynhens for this contribution!
  • api: Add read_file primitive (4ea3580) — thanks to @stijn Cleynhens for this contribution!
  • Datetime values GPS timestamps & detailed tracking sensors (#78) (d12327e)

🐛 Bug Fixes

  • release: Level=minor/major respected even when current version has pre-release suffix (e257d8b)
  • firmware: Support release branch snapshots and prevent incorrect upgrades (#94) (554ec8e)
  • wireguard: Move polling to medium interval and increase handshake threshold (#91) (f52e3e2)
  • wireguard: Support 5-column interface line and enable sensors by default (#91) (e7a7e22)
  • Return datetime for gps sensors #78 (af2a3e5)
  • Fix firmware upgrade backup failure abort and profiles.json URL resolution (#90) (0428c86)
  • Fix AdBlock entities by querying runtime JSON file and fallback to adb_enabled UCI key (#87) (e567a57)
  • Fix duplicate Access Point entries by normalizing identifiers during registry cleanup (#63) (2971833)
  • Fix WireGuard parsing, missing Snort package checks, and ensure new entities are disabled by default (f206f71)
  • Fix unavailable wireless client Tx/Rx rate sensors for LuCI RPC and SSH (#62) (dc5f12d)
  • wireguard: Parse the 'wg show all dump' interface layout (6d1e070) — thanks to @stijn Cleynhens for this contribution!
  • Fix wireless client Tx/Rx rate sensors for nested hostapd rate data and fallback interfaces (#62) (eb6285e)

♻️ Code Improvements

  • Bulletproof firmware update flow with file cleanup and execution locks (6e45d31)
  • Clean up entities and devices of disabled features on options change (#89) (31f6837)

🔄 CI / CD

  • Change default GPS poll to 60s and round coordinates to 6 decimal (#78) (71c71c6)
  • Improved changelog builder (b79e75e)

📦 Other Changes

  • Update actions/labeler action to v6.2.0 (#93) (196247c)
  • Update github/codeql-action action to v4.37.0 (#92) (7586c2e)
  • Update github/codeql-action action to v4.36.3 (#81) (7d1c18a)
  • Check stty and timeout binaries in setup packages summary dialog (#78) (402715d)

28 significant changes from 43 total commits since v2.3.2.

📊 Release Details

Version 2.4.0
Channel stable
Released 2026-07-10 16:09 UTC
Commits included 43 — since last stable release (v2.3.2)
Downloads (this release) Downloads
Downloads (total) Downloads

📖 Documentation · 🐛 Report an Issue · 📦 All Releases