Skip to content

Releases: cachebag/nmrs

Release nmrs 1.3.5 - 'Size Doesn't Matter'

14 Jan 03:38

Choose a tag to compare

nmrs 1.3.5

Welcome to the 'Size Doesn't Matter' release.

Changed

Full Changelog: nmrs-v1.3.0...nmrs-v1.3.5

Release nmrs-v1.3.0 - 'Throat Punch'

12 Jan 22:20

Choose a tag to compare

nmrs 1.3.0

Welcome to the 'Throat Punch' release.

Changed

Full Changelog: gui-v1.1.0...nmrs-v1.3.0

Release nmrs-v1.2.0 - 'Day by day'

06 Jan 07:37

Choose a tag to compare

Welcome to the 'Day by day' release.

Fixed

  • perf: borrowed slice adjusted for empty ssid check by @cachebag in #154
  • fix: change Dockerfile to only configure nmrs by @cachebag in #162

Changed

  • refactor: condense device finding logic under one helper by @cachebag in #158
  • refactor(nmrs): unify connection builder pattern by @cachebag in #161

Added

Full Changelog: gui-v1.1.0...nmrs-v1.2.0

Release nmrs-v1.1.0 - 'Bazinga'

19 Dec 15:38

Choose a tag to compare

Welcome to the 'Bazinga' release

  • 2025-12-19

Fixed

  • Native WireGuard profile structure (#135)
  • Corrected binary name for .desktop file + postInstall hook for Nix flake (#146)

Added

  • Added WireGuard connection example to docs (#137)

nmrs-gui-v1.1.0 -

19 Dec 15:56

Choose a tag to compare

Not the cleanest release. 1.1.0 includes the following:

  • Full support for Ethernet devices.
  • Device state monitoring via subscriptions to signals on D-Bus.
  • Other bug fixes regarding connecting/disconnecting networks, forgetting networks, etc.

Release nmrs-gui-v0.5.0-beta - 'these things happen'

15 Dec 16:47

Choose a tag to compare

Welcome to the 'these things happen' release.

  • 2025-12-15

Changed

  • Core: Refactored connection monitoring from polling to event-driven D-Bus signals for faster response times and lower CPU usage (#46)
  • Core: Replaced tokio with futures-timer for runtime-agnostic async support (fixes GTK/glib compatibility)

Added

  • Core: ActiveConnectionState and ConnectionStateReason enums for detailed connection status tracking (#46)
  • Core: monitor_network_changes() API for real-time network list updates via D-Bus signals
  • Core: NetworkManager is now Clone
  • Core+GUI: Full support for Ethernet devices (#88)

Fixed

  • Core: forget() now verifies device is disconnected before deleting saved connections (#124)
  • Core: list_networks() preserves security flags when deduplicating APs (#123)
  • Core: Fixed race condition in signal subscription where rapid state changes could be missed
  • GUI: Fixed UI freeze when connecting/forgetting networks
  • GUI: Supply option to provide cert paths for WPA-EAP connections #56

Release nmrs-v1.0.0 - 'The time will pass anyway'

15 Dec 22:40

Choose a tag to compare

Release 1.0.0-stable

Welcome to the 'the time will pass anyway' release (nmrs is stable!).

This release marks the library API as stable. Breaking changes will only occur in major version updates (2.0.0+). All public APIs are documented and tested.

  • 2025-12-15
  • Core: Full WireGuard VPN support (#92)

Release v0.4.0-beta - 'Rip it'

12 Dec 18:46

Choose a tag to compare

Release 0.4.0-beta

Welcome to the 'Rip it' release.

Should be noted that I am now re-positioning nmrs to mainly be a library for Rust bindings of NetworkManager. GUI comes second.

Breaking Changes

  • nmrs: Expanded ConnectionError enum with new variants (AuthFailed, SupplicantConfigFailed, SupplicantTimeout, DhcpFailed, Timeout, Stuck, NoWifiDevice, WifiNotReady, NoSavedConnection, Failed(StateReason)) - exhaustive matches will need a wildcard (#82)
  • nmrs: Return types changed from zbus::Result<T> to Result<T, ConnectionError> for structured error handling
  • nmrs: Renamed crate from nmrs-core to nmrs
  • nmrs-gui: Renamed crate from nmrs-ui to nmrs-gui

Added

  • Core: StateReason enum and reason_to_error() for mapping NetworkManager failure codes to typed errors (#82, #85)
  • Core: Comprehensive documentation across all modules (#82)
  • Core: Logging support via log crate facade (#87)
  • UI: Pre-defined themes (Catppuccin, Dracula, Gruvbox, Nord, Tokyo) (#106)
  • CLI: --version flag with build hash extraction (#108)

Changed

  • Core: Decomposed connect() into smaller helper functions (#81)
  • Core: Extracted disconnect + wait logic to unified helper (#79)
  • Core: Unified state polling logic (#80)
  • Core: Eliminated network lookup duplication via shared helper function (#83)
  • Core: Replaced eprintln! with structured logging (debug!, info!, warn!, error!) (#87)

Fixed

  • Core: Auth error mapping now properly distinguishes supplicant failures, DHCP errors, and timeouts (#82, #85, #116)
  • Core: bitrate property now fetches real connection speeds (#110)
  • UI: Re-aligned refresh button (#111)
  • UI: Show connection status when connecting with saved credentials (#61)

v0.3.0-beta - I ruin everything

08 Dec 04:08

Choose a tag to compare

Welcome to the 'I ruin everything' release.

Fixed

  • Fixed UI not freezing on connections (#101)
  • Fixed seperate ScrolledWindow for each stack child (#103)
  • Dropped deps that aren't needed for now (#104)

Added

  • Expose system default theme toggle (light/dark) (#102)
  • CI: Automated release workflow (#105)

v0.2.0-beta - I love my life

03 Dec 19:58

Choose a tag to compare

Welcome to the 'I love my life' release.

User facing updates

  • Write .css file for user by default to ~/.config (or whatever is used on your machine)
  • Visual success indicator on connection. This also locks the UI until a connection completes
  • File lock to prevent multiple instances of nmrs from running

Codebase

  • More comprehensive testing
  • CI: Cross-platform builds - x86_64 + aarch64
  • UI refactor: Cleaner network.rs and network_page.rs
  • Core refactor: Modular structure, tests and better UTF8 handling + errors
  • Nix support

Feel free to take a look at the CHANGELOG.md to get a more granular view of the changes.