Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitca25f8f

Browse files
committed
Format changelog with prettier
1 parent7b58901 commitca25f8f

File tree

1 file changed

+102
-89
lines changed

1 file changed

+102
-89
lines changed

‎CHANGELOG.md‎

Lines changed: 102 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -1,86 +1,92 @@
11
#2.0.0 -
22

3-
* Updated dependency on`github.com/oschwald/maxminddb-golang/v2` to`v2.0.0`.
3+
- Updated dependency on`github.com/oschwald/maxminddb-golang/v2` to`v2.0.0`.
44

55
#2.0.0-beta.4 - 2025-08-23
66

7-
* Updated maxminddb dependency to v2.0.0-beta.9.
8-
* Added`OpenBytes` method to match the API changes in maxminddb v2.0.0-beta.9.
9-
* Deprecated`FromBytes` method. Use`OpenBytes` instead.`FromBytes` will be
7+
- Updated maxminddb dependency to v2.0.0-beta.9.
8+
- Added`OpenBytes` method to match the API changes in maxminddb v2.0.0-beta.9.
9+
- Deprecated`FromBytes` method. Use`OpenBytes` instead.`FromBytes` will be
1010
removed in a future version.
1111

1212
#2.0.0-beta.3 - 2025-07-07
1313

14-
* Add support for`GeoIP-City-Redacted-US` and`GeoIP-Enterprise-Redacted-US`.
14+
- Add support for`GeoIP-City-Redacted-US` and`GeoIP-Enterprise-Redacted-US`.
1515
Requested by Tom Anderson. GitHub#134.
16-
* Upgrade`github.com/oschwald/maxminddb-golang/v2` to`v2.0.0-beta.7`.
16+
- Upgrade`github.com/oschwald/maxminddb-golang/v2` to`v2.0.0-beta.7`.
1717

1818
#2.0.0-beta.2 - 2025-06-28
1919

20-
***BREAKING CHANGE**: Replaced`IsZero()` methods with`HasData()` methods on all
21-
result structs (including Names). The new methods provide clearer semantics:
22-
`HasData()` returns`true` when GeoIP data is found and`false` when no data is
23-
available. Unlike`IsZero()`,`HasData()` excludes Network and IPAddress fields
24-
from validation, allowing users to access network topology information even when
25-
no GeoIP data is found. The Network and IPAddress fields are now always
26-
populated for all lookups, regardless of whether GeoIP data is available.
27-
***BREAKING CHANGE**: Replaced all anonymous nested structs with named types to
28-
improve struct initialization ergonomics. All result structs (Enterprise, City,
29-
Country) now use named types like`EnterpriseCityRecord`,`CityTraits`,
20+
-**BREAKING CHANGE**: Replaced`IsZero()` methods with`HasData()` methods on
21+
all result structs (including Names). The new methods provide clearer
22+
semantics:`HasData()` returns`true` when GeoIP data is found and`false`
23+
when no data is available. Unlike`IsZero()`,`HasData()` excludes Network
24+
and IPAddress fields from validation, allowing users to access network
25+
topology information even when no GeoIP data is found. The Network and
26+
IPAddress fields are now always populated for all lookups, regardless of
27+
whether GeoIP data is available.
28+
-**BREAKING CHANGE**: Replaced all anonymous nested structs with named types
29+
to improve struct initialization ergonomics. All result structs (Enterprise,
30+
City, Country) now use named types like`EnterpriseCityRecord`,`CityTraits`,
3031
`CountryRecord`, etc. This makes it much easier to initialize structs in user
3132
code while maintaining the same JSON serialization behavior.
32-
***BREAKING CHANGE**: Changed`Location.Latitude` and`Location.Longitude` from
33-
`float64` to`*float64` to properly distinguish between missing coordinates and
34-
the valid location (0, 0). Missing coordinates are now represented as`nil`
35-
and are omitted from JSON output, while valid zero coordinates are preserved.
36-
This fixes the ambiguity where (0, 0) was incorrectly treated as "no data".
37-
Added`Location.HasCoordinates()` method for safe coordinate access. Reported
38-
by Nick Bruun. GitHub#5.
33+
-**BREAKING CHANGE**: Changed`Location.Latitude` and`Location.Longitude`
34+
from`float64` to`*float64` to properly distinguish between missing
35+
coordinates andthe valid location (0, 0). Missing coordinates are now
36+
represented as`nil`and are omitted from JSON output, while valid zero
37+
coordinates are preserved.This fixes the ambiguity where (0, 0) was
38+
incorrectly treated as "no data".Added`Location.HasCoordinates()` method
39+
for safe coordinate access. Reportedby Nick Bruun. GitHub#5.
3940

4041
#2.0.0-beta.1 - 2025-06-22
4142

42-
***BREAKING CHANGE**: Updated to use`maxminddb-golang/v2` which provides
43+
-**BREAKING CHANGE**: Updated to use`maxminddb-golang/v2` which provides
4344
significant performance improvements and a more modern API.
44-
***BREAKING CHANGE**: All lookup methods now accept`netip.Addr` instead of
45+
-**BREAKING CHANGE**: All lookup methods now accept`netip.Addr` instead of
4546
`net.IP`. This provides better performance and aligns with modern Go
4647
networking practices.
47-
***BREAKING CHANGE**: Renamed`IsoCode` fields to`ISOCode` in all structs
48-
to follow proper capitalization for the ISO acronym. Closes GitHub issue#4.
49-
***BREAKING CHANGE**: Replaced`map[string]string` Names fields with structured
50-
`Names` type for significant performance improvements. This eliminates map
51-
allocation overhead, reducing memory usage by 34% and allocations by 56%.
52-
***BREAKING CHANGE**: Added JSON tags to all struct fields. JSON tags match
53-
the corresponding`maxminddb` tags where they exist. Custom fields (`IPAddress`
54-
and`Network`) use snake_case (`ip_address` and`network`).
55-
***BREAKING CHANGE**: Removed`IsAnonymousProxy` and`IsSatelliteProvider` fields
56-
from all Traits structs. These fields have been removed from MaxMind databases.
57-
Use the dedicated Anonymous IP database for anonymity detection instead.
58-
***BREAKING CHANGE**: Go 1.24 or greater is now required. This enables the use
48+
-**BREAKING CHANGE**: Renamed`IsoCode` fields to`ISOCode` in all structs to
49+
follow proper capitalization for the ISO acronym. Closes GitHub issue#4.
50+
-**BREAKING CHANGE**: Replaced`map[string]string` Names fields with
51+
structured`Names` type for significant performance improvements. This
52+
eliminates map allocation overhead, reducing memory usage by 34% and
53+
allocations by 56%.
54+
-**BREAKING CHANGE**: Added JSON tags to all struct fields. JSON tags match
55+
the corresponding`maxminddb` tags where they exist. Custom fields
56+
(`IPAddress` and`Network`) use snake_case (`ip_address` and`network`).
57+
-**BREAKING CHANGE**: Removed`IsAnonymousProxy` and`IsSatelliteProvider`
58+
fields from all Traits structs. These fields have been removed from MaxMind
59+
databases. Use the dedicated Anonymous IP database for anonymity detection
60+
instead.
61+
-**BREAKING CHANGE**: Go 1.24 or greater is now required. This enables the use
5962
of`omitzero` in JSON tags to match MaxMind database behavior where empty
6063
values are not included.
61-
* Added`IsZero()` method to all result structs (City, Country, Enterprise, ASN,
62-
etc.) to easily check whether any data was found for the queried IP address.
63-
Requested by Salim Alami. GitHub[#32](https://github.com/oschwald/geoip2-golang/issues/32).
64-
* Added`Network` and`IPAddress` fields to all result structs. The`Network` field
65-
exposes the network prefix from the MaxMind database lookup, and the`IPAddress` field
66-
contains the IP address used during the lookup. These fields are only populated when
67-
data is found for the IP address. For flat record types (ASN, ConnectionType, Domain,
68-
ISP, AnonymousIP), the fields are named`Network` and`IPAddress`. For complex types
69-
(City, Country, Enterprise), the fields are located at`.Traits.Network` and
70-
`.Traits.IPAddress`.
71-
Requested by Aaron Bishop. GitHub[#128](https://github.com/oschwald/geoip2-golang/issues/128).
72-
* Updated module path to`github.com/oschwald/geoip2-golang/v2` to follow
73-
Go's semantic versioning guidelines for breaking changes.
74-
* Updated examples and documentation to demonstrate proper error handling
75-
with`netip.ParseAddr()`.
76-
* Updated linting rules to support both v1 and v2 import paths during the
64+
- Added`IsZero()` method to all result structs (City, Country, Enterprise,
65+
ASN, etc.) to easily check whether any data was found for the queried IP
66+
address. Requested by Salim Alami. GitHub
67+
[#32](https://github.com/oschwald/geoip2-golang/issues/32).
68+
- Added`Network` and`IPAddress` fields to all result structs. The`Network`
69+
field exposes the network prefix from the MaxMind database lookup, and the
70+
`IPAddress` field contains the IP address used during the lookup. These
71+
fields are only populated when data is found for the IP address. For flat
72+
record types (ASN, ConnectionType, Domain, ISP, AnonymousIP), the fields are
73+
named`Network` and`IPAddress`. For complex types (City, Country,
74+
Enterprise), the fields are located at`.Traits.Network` and
75+
`.Traits.IPAddress`. Requested by Aaron Bishop. GitHub
76+
[#128](https://github.com/oschwald/geoip2-golang/issues/128).
77+
- Updated module path to`github.com/oschwald/geoip2-golang/v2` to follow Go's
78+
semantic versioning guidelines for breaking changes.
79+
- Updated examples and documentation to demonstrate proper error handling with
80+
`netip.ParseAddr()`.
81+
- Updated linting rules to support both v1 and v2 import paths during the
7782
transition period.
7883

7984
##Migration Guide
8085

8186
To migrate from v1 to v2:
8287

8388
1. Update your import path:
89+
8490
```go
8591
// Old
8692
import"github.com/oschwald/geoip2-golang"
@@ -90,6 +96,7 @@ To migrate from v1 to v2:
9096
```
9197

9298
2. Replace`net.IP` with`netip.Addr`:
99+
93100
```go
94101
// Old
95102
ip:= net.ParseIP("81.2.69.142")
@@ -104,6 +111,7 @@ To migrate from v1 to v2:
104111
```
105112

106113
3. Update field names from`IsoCode` to`ISOCode`:
114+
107115
```go
108116
// Old
109117
countryCode:= record.Country.IsoCode
@@ -115,6 +123,7 @@ To migrate from v1 to v2:
115123
```
116124

117125
4. Replace map-based Names access with struct fields:
126+
118127
```go
119128
// Old
120129
cityName:= record.City.Names["en"]
@@ -152,78 +161,82 @@ To migrate from v1 to v2:
152161

153162
#1.11.0 - 2024-06-03
154163

155-
* Go 1.21 or greater is now required.
156-
* The new`is_anycast` output is now supported on the GeoIP2 Country, City,
157-
and Enterprise databases.[#119](https://github.com/oschwald/geoip2-golang/issues/119).
164+
- Go 1.21 or greater is now required.
165+
- The new`is_anycast` output is now supported on the GeoIP2 Country, City, and
166+
Enterprise databases.
167+
[#119](https://github.com/oschwald/geoip2-golang/issues/119).
158168

159169
Note: 1.10.0 was accidentally skipped.
160170

161171
#1.9.0 - 2023-06-18
162172

163-
* Rearrange fields in structs to reduce memory usage. Although this
164-
does reducereadability, these structs are often created at very
165-
rates, making thetrade-off worth it.
173+
- Rearrange fields in structs to reduce memory usage. Although this does reduce
174+
readability, these structs are often created at very rates, making the
175+
trade-off worth it.
166176

167177
#1.8.0 - 2022-08-07
168178

169-
* Set Go version to 1.18 in go.mod.
179+
- Set Go version to 1.18 in go.mod.
170180

171181
#1.7.0 - 2022-03-26
172182

173-
* Set the minimum Go version in the go.mod file to 1.17.
174-
* Updated dependencies.
183+
- Set the minimum Go version in the go.mod file to 1.17.
184+
- Updated dependencies.
175185

176186
#1.6.1 - 2022-01-28
177187

178-
* This is a re-release with the changes that were supposed to be in 1.6.0.
188+
- This is a re-release with the changes that were supposed to be in 1.6.0.
179189

180190
#1.6.0 - 2022-01-28
181191

182-
* Add support for new`mobile_country_code` and`mobile_network_code` outputs
192+
- Add support for new`mobile_country_code` and`mobile_network_code` outputs
183193
on GeoIP2 ISP and GeoIP2 Enterprise.
184194

185195
#1.5.0 - 2021-02-20
186196

187-
* Add`StaticIPScore` field to Enterprise. Pull request by Pierre
188-
Bonzel.GitHub[#54](https://github.com/oschwald/geoip2-golang/issues/54).
189-
* Add`IsResidentialProxy` field to`AnonymousIP`. Pull request by
190-
BrendanBoyle. GitHub[#72](https://github.com/oschwald/geoip2-golang/issues/72).
191-
* Support DBIP-ASN-Lite database. Requested by Muhammad Hussein
192-
Fattahizadeh.GitHub[#69](https://github.com/oschwald/geoip2-golang/issues/69).
197+
- Add`StaticIPScore` field to Enterprise. Pull request by Pierre Bonzel.
198+
GitHub[#54](https://github.com/oschwald/geoip2-golang/issues/54).
199+
- Add`IsResidentialProxy` field to`AnonymousIP`. Pull request by Brendan
200+
Boyle. GitHub[#72](https://github.com/oschwald/geoip2-golang/issues/72).
201+
- Support DBIP-ASN-Lite database. Requested by Muhammad Hussein Fattahizadeh.
202+
GitHub[#69](https://github.com/oschwald/geoip2-golang/issues/69).
193203

194204
#1.4.0 - 2019-12-25
195205

196-
* This module now uses Go modules. Requested by Axel Etcheverry.
197-
GitHub[#52](https://github.com/oschwald/geoip2-golang/issues/52).
198-
* DBIP databases are now supported. Requested by jaw0. GitHub[#45](https://github.com/oschwald/geoip2-golang/issues/45).
199-
* Allow using the ASN method with the GeoIP2 ISP database. Pull request
200-
by lspgn. GitHub[#47](https://github.com/oschwald/geoip2-golang/issues/47).
201-
* The example in the`README.md` now checks the length of the
202-
subdivision slice before using it. GitHub[#51](https://github.com/oschwald/geoip2-golang/issues/51).
206+
- This module now uses Go modules. Requested by Axel Etcheverry. GitHub
207+
[#52](https://github.com/oschwald/geoip2-golang/issues/52).
208+
- DBIP databases are now supported. Requested by jaw0. GitHub
209+
[#45](https://github.com/oschwald/geoip2-golang/issues/45).
210+
- Allow using the ASN method with the GeoIP2 ISP database. Pull request by
211+
lspgn. GitHub[#47](https://github.com/oschwald/geoip2-golang/issues/47).
212+
- The example in the`README.md` now checks the length of the subdivision slice
213+
before using it. GitHub
214+
[#51](https://github.com/oschwald/geoip2-golang/issues/51).
203215

204216
#1.3.0 - 2019-08-28
205217

206-
* Added support for the GeoIP2 Enterprise database.
218+
- Added support for the GeoIP2 Enterprise database.
207219

208220
#1.2.1 - 2018-02-25
209221

210-
* HTTPS is now used for the test data submodule rather than the Git
211-
protocol
222+
- HTTPS is now used for the test data submodule rather than the Git protocol
212223

213224
#1.2.0 - 2018-02-19
214225

215-
* The country structs for`geoip2.City` and`geoip2.Country` now have an
216-
`IsInEuropeanUnion` boolean field. This is true when the associated
217-
country is a member state of the European Union. This requires a
218-
database built on or after February 13, 2018.
219-
* Switch from Go Check to Testify. Closes[#27](https://github.com/oschwald/geoip2-golang/issues/27)
226+
- The country structs for`geoip2.City` and`geoip2.Country` now have an
227+
`IsInEuropeanUnion` boolean field. This is true when the associated country
228+
is a member state of the European Union. This requires a database built on or
229+
after February 13, 2018.
230+
- Switch from Go Check to Testify. Closes
231+
[#27](https://github.com/oschwald/geoip2-golang/issues/27)
220232

221233
#1.1.0 - 2017-04-23
222234

223-
* Add support for the GeoLite2 ASN database.
224-
* Add support for the GeoIP2 City by Continent databases. GitHub[#26](https://github.com/oschwald/geoip2-golang/issues/26).
225-
235+
- Add support for the GeoLite2 ASN database.
236+
- Add support for the GeoIP2 City by Continent databases. GitHub
237+
[#26](https://github.com/oschwald/geoip2-golang/issues/26).
226238

227239
#1.0.0 - 2016-11-09
228240

229-
New release for those using tagged releases. Closes[#21](https://github.com/oschwald/geoip2-golang/issues/21).
241+
New release for those using tagged releases. Closes
242+
[#21](https://github.com/oschwald/geoip2-golang/issues/21).

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp