mirror of
https://gh.wpcy.net/https://github.com/CaptainCore/captaincore-manager.git
synced 2026-04-18 08:42:15 +08:00
4.3 KiB
4.3 KiB
Changelog
Unreleased
3.0.0 - 2022-03-02
Backward Compatibility Breaking Changes
- Dropped support for PHP 7.0
Added
- Support for PHP 8.1
3.0.0-rc2 - 2021-07-22
Backward Compatibility Breaking Changes
- Separate "private" from other "reserved" IP addresses.
This changes the behaviour of
IP::isPrivate()andIPBlock::getPrivateBlocks()to be more narrow in scope. The previous behaviour has been moved to new methods:IP::isReserved()andIPBlock::getReservedBlocks(). IP::isPrivate()renamed toIP::isReserved()IPBlock::getPrivateBlocks()renamed toIPBlock::getReservedBlocks()IP::isPrivate()now only tests if an IP is in a forwardable and non globally reachable IP Block as defined in the IANA special-purpose address registryIPBlock::getPrivateBlocks()now returns only the forwardable and non globally reachable IP Blocks as defined in the IANA special-purpose address registry
3.0.0-rc1 - 2021-04-18
Backward Compatibility Breaking Changes
- Deprecated auto-detection of binary strings for IPv6 #57
This means you can't directly pass the result of
inet_ptonto construct an IPv6 instance anymore, because it is impossible to reliability distinguish some IPv6 human-readable representation from their binary string representation. Instead, you need to use the explicit factory methodIPv6::createFromBinaryStringif you want to work withinet_pton. Note: this is still supported for IPv4. IPBlock::getMask()renamed toIPBlock::getNetmask()IPBlock::getPrefix()renamed toIPBlock::getPrefixLength()IPBlock::getMaxPrefix()renamed toIPBlock::getMaxPrefixLength()IPBlock::getGivenIpWithPrefixLen()renamed toIPBlock::getGivenIpWithPrefixLength()
Added
- Support for PHP 8.0
- Added explicit factory methods for
IPv4/IPv6classes:createFromInt,createFromFloat,createFromString,createFromBinaryString,createFromNumericStringandcreateFromGmp IPBlock::plus()andIpBlock::minus()now accept numeric strings and GMP instancesIPBlockIteratornow implementsArrayAccesswhich means you can write e.g.IPBlock::create('192.168.0.0/24')->getSubBlocks('/25')[1]- New methods for
IPv4Block/IPv6Block:getPrivateBlocks(),getLoopbackBlock(),getLinkLocalBlock()
Changed
- Optimise performance of
IP::isPrivate()
Fixed
IPBlock::containsnow always throws anInvalidArgumentExceptionif mixing IP versions
Removed
- Removed deprecated method
IPBlock::getSuper
2.1.0 - 2020-10-31
Added
- New method
IP::matches($ip, $mask)to perform wildcard mask matching common in network Access Control Lists and OSPF dynamic routing #51 - IPv4Block: Allow to specify the prefix also as an old-style netmask #53
- Support for PHP 7.4
2.0.0 - 2019-09-01
Backward Compatibility Breaking Changes
- All classes now reside within
PhpIPnamespace. #14 - Deprecated
IPBlock::getSuper, useIPBlock::getSuperBlock()instead. #46
Added
- New method
isLoopback()#37 - New method
isLinkLocal()#43 - New method
reversePointer()#44 - New method
IpBlock::getGivenIpto return the IP used in the constructor #6
Removed
- Drop support for PHP 5 #8
1.0.1 - 2015-06-26
Fixed
- Compatibility issues with PHP 5.4, 5.5 and 5.6
1.0.0 - 2015-04-03
First release