Releases: lionsoul2014/ip2region
Releases · lionsoul2014/ip2region
v3.16.0
New Features
- Golang source editor with put callback and auto segments merge.
- Golang Segment.Region struct and auto Region cache to reduce runtime memory usage.
- Stdlize the cn region province/city and autonomous prefecture name for IPv4 / IPv6 data.
- merge data updates reported by community before 2026/04/29 and re-gen the xdb binary.
- Add Cangjie query client implementation.
What's Changed
- merge some updates reported by community by @lionsoul2014 in #468
- stdlize all the province and city names for CN ip segments by @lionsoul2014 in #472
- use the short name for all the cn autonomous prefecture by @lionsoul2014 in #473
- stdlize the cn region name for v6 data by @lionsoul2014 in #474
- editor with put callback and auto segments merge by @lionsoul2014 in #475
- merge reports from community before 20260420 by @lionsoul2014 in #476
- merge reports before 2026/04/29 by @lionsoul2014 in #477
- Golang maker region mgr by @lionsoul2014 in #478
Full Changelog: v3.15.0...v3.16.0
v3.15.0
New Features
- IPv4 source data and xdb updated
- IPv6 supports for Nginx module
- Fair lock config for java ip2region service
- Unified the Go binding search API to
Search(string | []byte)
What's Changed
- nginx module with IPv6 supports by @fa1seut0pia in #460
- optimize the golang ip utils by @lionsoul2014 in #462
- merge the reports from chengdu china mobile on 2026/04/03 by @lionsoul2014 in #463
- update the data reported by issues/461 by @lionsoul2014 in #464
- add ConfigBuilder.setFairLock(boolean) to config whether ReentrantLoc… by @lionsoul2014 in #465
- Opt golang search api by @lionsoul2014 in #466
New Contributors
- @fa1seut0pia made their first contribution in #460
Full Changelog: v3.14.0...v3.15.0
v3.14.0
New Features
- All bindins: For IP addresses that cannot be found, return an empty string.
- Go/Java maker and editor with non-contiguous and disorder ip segments supports, eg:
# non-contiguous and disorder segments source file
120.24.0.100|120.24.1.255|中国|广东省|深圳市|阿里|CN
1.2.3.0|1.2.3.255|Australia|New South Wales|Sydney|Google|AU
47.0.1.100|47.0.1.120|United States|California|Stanton|0|US
150.24.1.0|150.24.1.120|Tokyo|Asagaya-minami|0|0|JP
47.0.1.121|47.0.1.255|United States|California|0|0|US
58.251.27.0|58.251.27.200|中国|广东省|深圳市|联通|CNA valid XDB binary file could be generated with the above non-contiguous and disorder segments input, ONLY for Go / Java maker for now.
What's Changed
- test: update test make all pass by @ArgoZhang in #434
- I18n supporting with zh and en README by @lionsoul2014 in #435
- I18n golang readme by @lionsoul2014 in #436
- I18n php readme by @lionsoul2014 in #437
- add english readme for java binding by @lionsoul2014 in #438
- add english readme for c binding by @lionsoul2014 in #439
- add english readme for lua c extension binding by @lionsoul2014 in #440
- I18n lua readme by @lionsoul2014 in #441
- add english readme for rust binding by @lionsoul2014 in #442
- add english readme for python binding by @lionsoul2014 in #443
- add english readme for javascript binding by @lionsoul2014 in #444
- I18n erlang readme by @lionsoul2014 in #445
- add english readme for c++ binding by @lionsoul2014 in #446
- I18n golang maker readme by @lionsoul2014 in #447
- add english readme for java maker by @lionsoul2014 in #448
- add english readme for rust maker by @lionsoul2014 in #449
- add english readme for cpp maker by @lionsoul2014 in #450
- I18n python maker readme by @lionsoul2014 in #451
- add english readme for c# maker by @lionsoul2014 in #452
- assert the builder data source args to avoid errors like reported on… by @lionsoul2014 in #454
- optimize the ptr checking and return empty string for missing data by @lionsoul2014 in #455
- non-contiguous ip ranges supports by @lionsoul2014 in #456
- Fr go editor non contiguous range by @lionsoul2014 in #457
- Fr java non contiguous range by @lionsoul2014 in #459
Full Changelog: v3.13.0...v3.14.0
v3.13.0
版本更新
- 标准化国内特殊行政区域的命名为长称:香港->香港特别行政区,澳门->澳门特别行政区等。
- 依据社区的一些反馈修正部分国内 IPv4 / IPv6 的定位信息。
- IPv4 和 IPv6 全部海外的定位信息进行了校正更新,并且海外的定位信息全部映射为英文,国内的数据继续保持为中文,国家名字遵循
iso-3166标准(除了 ”科索沃“ - 非官方代码XK),例如:77.97.180.0|77.97.180.255|United Kingdom|England|Yateley|0|GB。 - IPv4 和 IPv6 全部数据增加了
iso-3166-alpha2-code(国家两字母的简称) 字段,定位信息格式统一为国家|省份|城市|ISP|iso-3166-alpah2-code,例如:223.104.60.0|223.104.60.127|中国|广东省|深圳市|移动|CN。 - 全部的保留 IP 段的定位信息标准化为
Reserved|Reserved|Reserved|0|0。 - 全部 binding 的 README 中的测试定位信息更新为最新的数据。
xdb 二进制文件也使用最新数据重新生成了,请及时升级。
What's Changed
- fix the name of the CN special administrative region by @lionsoul2014 in #423
- merge the update reports from the communitiy by @lionsoul2014 in #424
- ipv4 data update on 2026/01 (overseas region update and with english,… by @lionsoul2014 in #427
- V6 updates on 2026/01 with overseas region info updated and published in English ... by @lionsoul2014 in #428
- Update readme demo tests result by @lionsoul2014 in #429
- stdlize the Reserved IP region info by @lionsoul2014 in #430
Full Changelog: v3.12.0...v3.13.0
v3.12.0
版本更新
- 依据百度百科的行政规划信息修正国内部分地域信息的名字,详情请参考 #415
- ipv4 数据的 ISP 名称标准化,详情请参考 #416
- ipv6 数据移除应用场景字段并且替换为标准化的 ISP 信息,保持和 ipv4 完全相同的数据格式
国家|省份|城市|ISP,详情请参考 #417 - 国内直辖市名字的标准化,例如,在省份索引位置的北京市/上海市等直辖市全部统一名字为 "北京/上海" 等去掉行政单位的名称,详情请参考 #418
- ipv4 数据依据社区一些的反馈修正了
908个数据段的定位信息,主要是给国内的一些|中国|0|0|0数据段增加了省份和城市信息,其他的更新因为无法验证忽略掉了,详情请参考 #419
What's Changed
- update the city name with the latest administrative info by @lionsoul2014 in #415
- ipv4 source isp name stdlize by @lionsoul2014 in #416
- remove the scene and replace it with stdlized isp for ipv6 data by @lionsoul2014 in #417
- stdlize the municipality name by @lionsoul2014 in #418
- update 908 segments based on the reports from community by @lionsoul2014 in #419
Full Changelog: v3.11.2...v3.12.0
v3.11.2
版本详情
- Java
LongByteArray增加固定切片支持,可以设置固定字节数的切片且可以更快的完成指定offset的寻址定位操作。 - Java xdb 内部的 content 缓存默认修改为固定切片的
LongByteArray实现,避免 content 缓存时的 OOM 错误减少峰值堆内存占用,默认的sliceBytes为Searcher.DEFAULT_SLICE_BYTES=50MiB。 - C#
ContentCacheStrategy直接实现ICacheStrategy接口减少启动时候的峰值内存占用。
What's Changed
- Fr java fixed slice bytes by @lionsoul2014 in #411
- fix: Correct abnormal memory spikes by @vccddd in #413
New Contributors
Full Changelog: v3.11.1...v3.11.2
v3.11.1
核心修改
- java xdb 内部的
String xdbPath全部替换为File xdbFile,支持通过File创建查询对象 - java xdb.Searcher 增加通过
InputStream加载整个 xdb 文件 / header / 验证 - java service.ConfigBuilder 增加
setXdbInputStream和setXdbFile,支持通过InputStream和File构建 service.Config - maven pom 版本更新为
3.3.1
What's Changed
- Ip2Region Config build from xdb File Object or xdb InputStream by @lionsoul2014 in #408
Full Changelog: v3.11.0...v3.11.1
v3.11.0
版本更新
- Java
Ip2Region服务类实现移动到org.lionsoul.ip2region.service包下。 - Java 的查询测试改用
Ip2Region查询服务来实现,默认使用data/ip2region_v4.xdb和data/ip2region_v6.xdb,可支持同时输入 IPv4 和 IPv6。 - Golang 增加
Ip2Region查询服务实现,并发安全支持且支持同时输入 IPv4 和 IPv6 的查询。 - Golang 的查询测试改用
Ip2Region查询服务来实现,默认使用data/ip2region_v4.xdb和data/ip2region_v6.xdb,可支持同时输入 IPv4 和 IPv6。
What's Changed
- Package all the classes into the service package. by @lionsoul2014 in #404
- feat: add
Ip2Regionconcurrency safe search service by @lionsoul2014 in #405 - Java search test driven by ip2region service by @lionsoul2014 in #406
- Golang search test with ip2region service by @lionsoul2014 in #407
Full Changelog: v3.10.0...v3.11.0
v3.10.0
版本核心功能:
- C++ IPv6 查询/生成/编辑器支持。
- Java
ip2region查询服务 - IP 版本自动判断且线程安全的查询服务,使用方式请参考 Java Binding ReadMe, Maven pom 版本更新为3.2.0。
What's Changed
- refactor and support ipv6 for binding maker and editor use C++ by @liuyunbin in #403
- java
ip2regionsearcher service with IP version auto detect and Thread-safe search support by @lionsoul2014 , maven pom version upgrade to3.2.0.
Full Changelog: v3.9.0...v3.10.0
v3.9.0
该版本的核心功能是 C# IPv6 查询支持。
What's Changed
- feat: support IPv6 xdb by @ArgoZhang in #399
- fix(NET): refactor GetData method by @ArgoZhang in #401
Full Changelog: v3.8.1...v3.9.0