Skip to content

chore(deps): update rust crate nmrs to v3.5.6 - #48

Open
renovate[bot] wants to merge 2 commits into
masterfrom
renovate/nmrs-3.x-lockfile
Open

renovate[bot] wants to merge 2 commits into
masterfrom
renovate/nmrs-3.x-lockfile

Conversation

@renovate

@renovate renovate Bot commented Oct 11, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change
nmrs dependencies minor 3.3.0 → 3.5.6

Release Notes

freedesktop-rs/nmrs (nmrs)

v3.5.6

Compare Source

Fixed
  • Wi-Fi connect() and connect_to_bssid() now find a saved profile by its
    802-11-wireless.ssid instead of connection.id, so profiles created by
    other tools or renamed by the user are reused with their stored secret
    instead of failing with MissingPassword. Hotspot (mode = ap) profiles are
    not matched.
  • Connecting with a new password to a network that already has a saved profile
    now deletes the old profile once the new one activates, instead of leaving a
    duplicate. If activation fails, the old profile is kept.
    (#​560)

v3.5.5

Compare Source

Fixed
  • .ovpn files that use auth-user-pass without an inline username now
    import. OpenVpnBuilder::build() and validate_openvpn_config() no longer
    require a username for Password and PasswordTls auth; an unset username
    is asked for at connect time. A username that is set but blank is still
    rejected by validate_openvpn_config().
    (#​558)

v3.5.4

Compare Source

Added
  • SavedConnection::ipv4 and SavedConnection::ipv6 expose a profile's IP
    configuration as IpSettings<Ipv4Addr> / IpSettings<Ipv6Addr>: method,
    addresses, gateway, name servers, search domains, routes, never-default,
    and ignore-auto-dns, using the new typed IpAddress<A> and IpRoute<A>.
    Entries NetworkManager stores in a form that does not parse are dropped with
    a warning. (#​524,
    #​534)
  • SavedConnection::get_property() reads any section.key of a profile as a
    typed value (Property<T> + FromSetting), with named constants under
    nmrs::models::properties for the sections nmrs already decodes.
    sections() and has_section() list what the profile contains. The raw
    GetSettings map is kept privately and shared between clones.
    (#​524)
  • StateReason now covers every NMDeviceStateReason code (0 through 79),
    including NoSecrets, ConfigFailed, IpConfigUnavailable, the
    Unmanaged* family, and NetworkingOff.
    (#​555)
Deprecated
  • StateReason::UserDisconnected, DeviceDisconnected, ModeSetFailed,
    ModemConnectionFailed, Carrier, and ParentUnreachable have no
    NetworkManager counterpart and are never produced any more. They remain
    as deprecated variants so existing matches keep compiling; use
    UserRequested, CarrierChanged, and the Modem* variants instead.
    (#​555)
Fixed
  • StateReason::from(u32) decoded almost every device reason code to the
    wrong variant: codes 2 through 65 were shifted or swapped relative to
    NetworkManager's NMDeviceStateReason, so for example SSID_NOT_FOUND
    came back as DeviceRemoved and SUPPLICANT_FAILED as
    SupplicantTimeout. The table is rebuilt from nm-dbus-interface.h, and
    reason_to_error() maps the corrected variants (NoSecrets,
    SupplicantDisconnected, SupplicantFailed, GsmPinCheckFailed,
    SimPinIncorrect to AuthFailed; SsidNotFound to NotFound; DHCP and
    IP configuration failures to DhcpFailed). Callers matching on a specific
    StateReason or DeviceFailed(..) value will see the variant
    NetworkManager actually means for the same code.
    (#​555)
  • A failed activation could surface as DeviceFailed(None) instead of the
    real reason (most visibly AuthFailed for a wrong WPA passphrase). The
    device's StateReason property was read only after the active connection
    had deactivated, by which point NetworkManager had already moved the
    device from FAILED to DISCONNECTED with reason NONE. Activation now
    subscribes to each device's StateChanged signal and records the reason
    given on the transition into FAILED; the property is only consulted
    when no such signal was seen.
    (#​555)

v3.5.3

Compare Source

Added
  • Device snapshots now expose per-device autoconnect state, and
    NetworkManager::set_device_autoconnect() / set_device_managed() provide
    high-level control of both writable properties. (#​541)
  • NetworkManager::global_dns_configuration() /
    set_global_dns_configuration() read and write the manager
    GlobalDnsConfiguration property. An empty value clears the
    override. (#​540)
Fixed
  • WireGuard peers with a preshared key now emit preshared-key-flags = 0.
    NetworkManager defaults new peers to NOT_REQUIRED and drops not-required
    secrets when saving the profile, so the preshared key was silently discarded
    and the tunnel failed the handshake.
    (#​550)
  • wired_connection_lifecycle restored device autoconnect immediately after
    remanaging the veth, which let NetworkManager reactivate the saved profile and
    race the disconnect assertions that follow. Autoconnect is now restored once
    the profile is deleted, and the test waits for the remanaged device to settle.
    (#​547)
  • Peers with a PSK now get preshared-key-flags = 0. Peers without one are left
    alone so they keep the default. build_wireguard_connection() delegates to
    the builder, so it picks up the same fix. (#​551)

v3.5.2

Compare Source

Fixed
  • #[deprecated(since = ...)] on connect_vpn_by_uuid() and disconnect_vpn_by_uuid() said 3.6.0; corrected to 3.5.1, the release that actually deprecated them.(#​544)
  • disconnect() no longer fails with org.freedesktop.NetworkManager.Device.NotActive when the device finishes deactivating between the state check and the Disconnect call. The error is treated as already-disconnected and the call still waits for the device to settle. (#​544)
  • Saved-profile lookups (get_saved_connection_path(), get_saved_connection_uuid(), has_saved_connection(), and the Wi-Fi/wired/VPN/Bluetooth connect paths built on them) no longer fail when a profile restricted to another user via connection.permissions exists. GetSettings returns Settings.PermissionDenied for those; they are now skipped instead of aborting the whole scan, which previously made known networks prompt for a password and then fail to connect. (#​545)

v3.5.1

Compare Source

Fixed
  • #[deprecated(since = ...)] on connect_vpn_by_uuid() and disconnect_vpn_by_uuid() said 3.6.0; corrected to 3.5.1, the release that actually deprecated them.(#​544)
  • disconnect() no longer fails with org.freedesktop.NetworkManager.Device.NotActive when the device finishes deactivating between the state check and the Disconnect call. The error is treated as already-disconnected and the call still waits for the device to settle. (#​544)
  • Saved-profile lookups (get_saved_connection_path(), get_saved_connection_uuid(), has_saved_connection(), and the Wi-Fi/wired/VPN/Bluetooth connect paths built on them) no longer fail when a profile restricted to another user via connection.permissions exists. GetSettings returns Settings.PermissionDenied for those; they are now skipped instead of aborting the whole scan, which previously made known networks prompt for a password and then fail to connect. (#​545)

v3.5.0

Compare Source

Added
  • try_build_wifi_connection(), WifiConnectionBuilder::try_wpa_eap(), and
    WifiConnectionBuilder::try_wpa3_eap_192_bit() report conflicting EAP
    certificate path/blob inputs as ConnectionError::InvalidInput.
    (#​478)
Deprecated
  • build_wifi_connection(), WifiConnectionBuilder::wpa_eap(), and
    WifiConnectionBuilder::wpa3_eap_192_bit() in favour of their try_
    counterparts. They keep their existing infallible signatures, so no
    existing code breaks. (#​478)
Fixed
  • Supplying an EAP certificate or key as both a path and a blob no longer
    panics. The try_ builders return ConnectionError::InvalidInput; the
    deprecated infallible builders use the path and log a warning.
    (#​478)

  • get_vpn_info() no longer surfaces a raw D-Bus error (e.g. "a VPN interface
    does not exist") when a VPN is disconnected externally while it is being read.
    The active connection and its device can vanish mid-read; missing-object
    reads are now treated as the VPN no longer being active (NoVpnConnection),
    and the interface/IP details degrade gracefully.
    (#​523)

v3.4.2

Compare Source

Changed
  • Credential-bearing Wi-Fi, EAP, OpenVPN, and WireGuard types now redact
    passwords and private keys from debug output, and connection tracing no
    longer logs raw settings, without changing public field types. (#​508)
  • Non-palindromic IPv4 DNS server addresses are no longer rejected by the
    OpenVPN and WireGuard builders. (#​519)
Fixed
  • Classify an active VPN as ActiveConnection::Vpn even when NetworkManager
    parents it on the physical device it tunnels over, so OpenVPN-style tunnels
    over Ethernet are no longer reported as
    ActiveConnection::Wired. (#​520)
  • Resolve Bluetooth devices through the BlueZ adapter that owns their address
    instead of assuming the adapter is hci0. (#​501)

v3.4.1

Compare Source

Added
  • Isolated NetworkManager integration contracts now cover saved-profile events,
    secret-agent registration, wired DHCP activation, and virtual WPA Wi-Fi
    discovery/authentication/reconnection without touching developer profiles. (#​505)
  • Expanded unit coverage for exact D-Bus settings payloads, activation races,
    monitor lifecycle behavior, secret-agent concurrency, saved-profile decoding,
    validation boundaries, OpenVPN parsing, and certificate storage cleanup. (#​505)
Changed
  • Network, device, and settings monitors now return only after their initial
    D-Bus subscriptions are installed, so a mutation immediately after startup
    cannot race the subscription task. (#​505)
  • Supplying a non-empty PSK or EAP configuration for an existing Wi-Fi profile
    now applies the fresh credentials; an empty PSK continues to request the
    stored secret. (#​505)
Fixed
  • Preserve complete OpenVPN, VLAN, WireGuard, Bluetooth, Wi-Fi, and access-point
    settings when constructing or decoding NetworkManager payloads. (#​505)
  • Preserve saved Wi-Fi profiles when stored-secret activation fails, while
    removing newly created profiles whose fresh authentication fails. (#​505)
  • Recheck active-connection state at timeout boundaries and retain typed
    NetworkManager failure reasons instead of reporting false timeouts. (#​505)
  • Keep active-connection snapshots usable when NetworkManager removes an
    enumerated connection object while its properties are being read. (#​505)
  • Retain the discovering interface on inactive Wi-Fi scan results, matching
    the documented Network::device contract. (#​505)
  • Wait through NetworkManager's transient Unavailable state while a managed
    Wi-Fi radio recovers from a rfkill transition. (#​505)
  • Map secret-agent registration conflicts to the documented typed errors and
    handle concurrent same-key requests, cancellation, closed responders, and
    bounded-queue backpressure without false cancellation or hangs. (#​505)
  • Ignore unmanaged interfaces during automatic device selection and recognize
    NetworkManager veth devices as wired Ethernet for selection and reporting. (#​505)
  • Harden IPv6, WireGuard, OpenVPN, rfkill, and certificate-storage validation,
    decoding, error reporting, and temporary-file cleanup. (#​505)

v3.4.0

Compare Source

Added
  • Expose existing secrets on SecretRequest for re-auth prefill (#​460)
  • MonitorHandle returned by monitor_network_changes and monitor_device_changes for graceful shutdown (#​461)
  • NetworkManager::dbus_connection() and nmrs::raw (zbus / zvariant re-exports) for advanced builder workflows (#​462)
  • NetworkManager::add_connection() and NetworkManager::add_and_activate_connection() for submitting builder output without custom zbus proxies (#​260, #​465)
  • mdbook docs for builder submission workflow, add_connection(), and add_and_activate_connection() (#​462)
Fixed
  • monitor_network_changes now detects hotplugged Wi-Fi devices instead of only monitoring devices present at startup (#​461)
  • Monitors return Ok(()) on clean shutdown instead of always returning Err(Stuck(...)) (#​461)
Changed
  • Breaking: monitor_network_changes and monitor_device_changes now return Result<MonitorHandle> instead of Result<()> (#​461)

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate

renovate Bot commented Oct 11, 2026

Copy link
Copy Markdown
Contributor Author

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants