Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(deps): update module github.com/c-robinson/iplib to v2 #733

Merged
merged 1 commit into from
Sep 6, 2024

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Sep 6, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
github.com/c-robinson/iplib v1.0.8 -> v2.0.5 age adoption passing confidence

Release Notes

c-robinson/iplib (github.com/c-robinson/iplib)

v2.0.5: 2.0.5

Compare Source

v2.0.4: 2.0.4

Compare Source

  • Fix an overflow in Net6.Enumerate() on 32bit architectures
  • AllNetsBetween now starts with a netmask of 0 instead of 1, so iplib.AllNetsBetween(0.0.0.0, 255.255.255.255) will now return a single /0 network instead of two /1's.

v2.0.3: 2.0.3

Compare Source

  • New AllNetworksBetween() function generates a []iplib.Net of all the networks required to span two IP addresses inclusively
  • Fix the behavior of NewNetBetween() to always consider the final address when generating a netblock Previously it would sometimes exclude this address when it should not have
  • Update the godoc for NewNetBetween() to reflect reality. Previously the docs indicated that the generated network would be exclusive of both the start and end addresses which was just wrong and kind of dumb
  • Fix regression where Net6.Count() reported zero addresses for ::/0 instead of whatever the actual gimungous number is, which was introduced during the cutover to Uint128

v2.0.2: 2.0.2

Compare Source

  • it is not obvious how go.mod should work for submodules, so this is another attempt to get them working correctly
  • fix for small issues golangci-lint uncovered
  • appease an angry race detector for Net6.Enumerate() on linux (but not macos 😬) by creating local variables inside goroutines
  • improve tests and add benchmarks for Net4.Enumerate() and Net6.Enumerate()

Also some repo cleanup

  • abandon circleci and coveralls in favor of actions workflows against all explicitly supported versions of go, running against MacOS, Linux and Windows

v2.0.1: 2.0.1

Compare Source

  • quick fix to update go get invocation, example imports and documentation references to v2 in the README for iplib, iid and iana

v2.0.0: 2.0.0

Compare Source

This release introduces a breaking change for IPv6 functions that take or return an integer value, including the Hostmask and Net6 structs and methods. Previously these functions relied upon *big.Int to hold the v6 address space, but this has been replaced by lukechampine.com/uint128. The performance improvement for the affected functions is so significant (from 5x faster for the increment/decrement functions to a whopping 25x faster for DeltaIP6()) that it easily justifies the incompatibility. IPv4 functions are unaffected by this change.

It has always been a goal for this library to not rely on dependencies outside of the Go standard library and hopefully some future v3 of this library could employ an internal uint128 type but that would require the adoption of this proposal or something similar.

TLDR:

  • all functions requiring or returning *big.Int have been rewritten to take uint128.Uint128 instead
  • new conversion functions have been created to move between IPv6 and uint128.Uint128 (the *big.Int converters still remain)
  • Net6 and Hostmask now also take and use uint128.Uint128
  • benchmarks, tests, examples and documentation have all been updated to reflect the change
  • the top of the README temporarily calls the change out for added visibility
  • added functions to convert ARPA DNS entries back to net.IP because, weirdly, I need to do this

Configuration

📅 Schedule: 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.

@github-actions github-actions bot enabled auto-merge (squash) September 6, 2024 09:44
@github-actions github-actions bot merged commit 8588ad7 into master Sep 6, 2024
828 of 843 checks passed
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