Skip to content

Releases: nerves-networking/vintage_net

v0.13.5

13 Sep 21:39
Compare
Choose a tag to compare
  • Changed
    • Warn when setting default routes with IP addresses outside of the subnet
      rather than crashing. Thanks to Ben Murphy for this fix.
    • Bulletproof force clearing of IP addresses to avoid crashing unnecessarily
      during cleanup. This was a very rare case.

v0.13.4

08 Aug 00:39
Compare
Choose a tag to compare
  • Changed

    • VintageNet configurations are normalized on load now rather than on use.
      For various reasons, it's useful to support multiple ways of specifying
      network configurations, but internally VintageNet always converts to one way
      to simplify use. If you call VintageNet.get_configuration/1 or
      VintageNet.get/2 to look at the config, you'd see the original form and not
      the normalized one. Now you get the normalized one.
    • Add :reason to the VintageNet.Technology.Null. VintageNet uses Null to
      make network interfaces stay unconfigured when requested or when there's an
      error. The :reason key helps you know why rather than forcing you to dig
      through logs.
  • Fixes

    • When reseting a network configuration to defaults, a settings file was
      written and immediately erased. That doesn't happen any more.

v0.13.3

10 Jun 16:01
Compare
Choose a tag to compare
  • Changed
    • Sort dhcpd options so their order doesn't change in configuration files made
      by OTP 26. This fixes regression test failures that expected the files to by
      the same. It shouldn't matter for real use, but it's nice that the files are
      deterministic just in case.
    • Ignore unexpected messages to the InterfacesMonitor. This fixes an
      unnecessary crash/restart that was seen. Errors are still logged.

v0.13.2

15 May 14:39
Compare
Choose a tag to compare
  • Changed
    • Always set IPv4 broadcast address for static IPv4 configurations. This fixes
      an issue where the default for subnet broadcast address was not the expected
      host all-ones address per RFC 922.
    • Prune out LAN addresses when trying to detect Internet connectivity. This
      fixes one way that the Internet checker could be tricked by a captive portal
      that resolves all DNS queries to its portal address.
    • Fix confusion with :dhcpd :subnet option. This maps to the subnet mask
      field when responding to DHCP requests. The word "subnet" was interpreted as
      a subnet which was incorrect for this. :netmask is now an alias and
      examples are fixed.

v0.13.1

15 May 14:39
Compare
Choose a tag to compare

This release fixes deprecation warnings when using Elixir 1.15.

v0.13.0

22 Jan 23:06
Compare
Choose a tag to compare

This release has a breaking change if you're using the UdhcpcHandler
behaviour. This should be a rare use case. Use the "dhcp_options" property
now.

  • Changed
    • Add "dhcp_options" to interface properties. This lets applications use
      information provided by DHCP servers in an easy way. It removes the need to
      process events from udhcpc directly, and therefore, the UdhcpcHandler
      behaviour is now a private API and may be removed in the future.
    • Fix some references to iodata that should have been chardata.

v0.12.2

04 Aug 14:51
Compare
Choose a tag to compare
  • Changed
    • Add VintageNet.info_as_ansidata/1. This lets you get the same results as
      VintageNet.info, but in a way that's easy to put on a web page or send
      to a server, etc.
    • Support updating network configuration even when it can't be persisted.
      Previously if there was an error saving the configuration and persist: true (the default), the configuration wouldn't be applied. This turned
      out to be problematic when trying to get some devices fixed. Now the
      device won't have the right config on reboot, but it can be reached over
      the network to be fixed.

v0.12.1

01 Jun 17:25
Compare
Choose a tag to compare
  • Changed
    • The list of name servers that VintageNet uses when configuring the name
      resolve is now available by running VintageNet.get(["name_servers"]).

v0.12.0

27 Apr 13:51
Compare
Choose a tag to compare

This release has two potentially breaking changes:

  1. Elixir 1.11 is now the minimum supported Elixir version.
  2. VintageNet.PropertyTable has been extracted to its own library and is now
    just PropertyTable. Most users did not use VintageNet.PropertyTable
    directly, but if you did, you'll need to update the references.
  • Changed
    • Extract VintageNet.PropertyTable to its own library. Note that many
      improvements were made to PropertyTable including renaming functions for
      consistency and changing the events. Code was added to VintageNet to hide
      these changes for now. Longer term, we'll be making things more consistent,
      but the hope is that the PropertyTable changes are transparent to VintageNet
      users in this release.
    • Support specifying absolute paths to network configuration commands. While
      this is not preferred, it's useful in some scenarios.
    • Redact more kinds of secrets in VintageNet.info

v0.11.5

18 Feb 15:27
Compare
Choose a tag to compare
  • Changed
    • Fix a no function clause exception in the InternetChecker that could happen
      if no IP addresses were assigned to an interface.