Releases: SchoofsKelvin/ip-matching
Releases · SchoofsKelvin/ip-matching
Release 2.1.2
Project changes
- Updated description (in
package.json)- This module is more like 50% matching and 50% IP-related utilities
- Updated README
- Added badges for GitHub/NPM and Codacy grade
- Reworded certain parts and improved formatting
- Improved the example, showcasing more functionality
- Added CHANGELOG
Development changes
- Renamed script names to be more logical/consistent
- Add Codacy for static analysis of source code
Release 2.1.1
Development changes:
- Added ESLint
- Setup for TypeScript code base (including tests)
- Includes VS Code build task in watch mode with problem matcher
- Included in the
prepackscript, thus running in CI for every release and pushed commit
- Typescript updated to
^4.3.5 @microsoft/api-extractorupdated to^7.18.1- Small refactor of unreleased code
Release 2.1.0
New features:
- Added
toBits()toIPv4/IPv6, producing e.g.[1, 1, 0, 0, 0, 0, ...]for192.0.0.0(length 32 and 128 for IPv4 and IPv6 respectively) - Added
IPv4.fromBits(bits)andIPv6.fromBits(bits), accepting the "bit arrays" produced fromtoBits()- Accepts arrays (with length 32 for
IPv4and length 128 forIPv6) filled with0's and1's
- Accepts arrays (with length 32 for
- Added
IPv4.bits = 32andIPv6.bits = 128, both on the class and class objects (e.g.new IPv4('0.0.0.0').bits) - Added
getAmount()toIPMatch, allowing you see how many IP addresses a match (e.g. a range/subnet) matches - Added
isSubsetOf(mask)toIPMask, allowing to check whether one mask is a subset of another mask- Mask A is a subset of mask B if every IP address that is matched by A is also matched by B
Changes:
- Caching added to
convertToMasks()/convertToSubnets(), making repeated calls a lot cheaper matches(ip)inIPRangeno longer errors for passing anIPv4to anIPv6range and vice-versa, instead returning false now- This is line with
matches()in general, where it only errors if the input is neither an IP nor a string that can be converted to one
- This is line with
Release 2.0.0
Lots of changes since v1.2.1:
- Lots of IDE / dev environment changes:
- Added API Extractor support
- Switched to Jest for testing
- Removed unused files (e.g. ESLint)
- Updated .gitignore, .vscode tasks/settings, ...
- New features
- Added
getNext()andgetPrevious()toIPv4andIPv4 - Added
getFirst()andgetLast()toIPRangeandIPSubnetwork - Added
IPMasksubclass, supporting any mask (e.g.255.0.128.0) - Added
convertToSubnets()toIPRange(optimized CIDR array) - Added
convertToSubnet()toIPMask(only supports traditional subnet masks) - Added
convertToMasks()toIPMatch
- Added
- License change to LGPL-3.0-only
- Improved documentation
- Improved JSDoc comments in the source code
- API Extractor generating an index.d.ts for
package.json"typings"
- Added workflow file (GitHub Actions)
- Tries to compile the code
- Runs API Extractor (in validation mode)
- Runs all the tests
- Packages an NPM-ready tarball (uploaded as artifact)
- Prepares a release draft for tags starting with
v
- Bug fixes:
- Improved
IPSubnetworkparsing (supports/0now)
- Improved
v1.2.1
1.2.1
v1.2.0
1.2.0
v1.1.0
1.1.0
v1.0.7
Bump version number to 1.0.7
v1.0.6
Bump version number to 1.0.6
v1.0.5
v1.0.5