Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Nov 17, 2025

Bumps com.maxmind.db:maxmind-db from 4.0.0-SNAPSHOT to 4.0.0.

Release notes

Sourced from com.maxmind.db:maxmind-db's releases.

4.0.0

This is a major release with several breaking changes. Please see https://github.com/maxmind/MaxMind-DB-Reader-java/blob/HEAD/UPGRADING.md for detailed migration instructions.

  • Java 17 or greater is now required.
  • Added support for MaxMind DB files larger than 2GB. The library now uses an internal Buffer abstraction that can handle databases exceeding the 2GB ByteBuffer limit. Files under 2GB continue to use a single ByteBuffer for optimal performance. Requested by nonetallt. GitHub #154. Fixed by Silvano Cerza. GitHub #289.
  • Metadata.getBuildDate() has been replaced with buildTime(), which returns java.time.Instant instead of java.util.Date. The instant represents the database build time in UTC.
  • DatabaseRecord, Metadata, Network, and internal DecodedValue classes have been converted to records. The following API changes were made:
    • DatabaseRecord.getData() and DatabaseRecord.getNetwork() have been replaced with record accessor methods data() and network().
    • Simple getter methods on Metadata (e.g., getBinaryFormatMajorVersion(), getDatabaseType(), etc.) have been replaced with their corresponding record accessor methods (e.g., binaryFormatMajorVersion(), databaseType(), etc.).
    • Network.getNetworkAddress() and Network.getPrefixLength() have been replaced with record accessor methods networkAddress() and prefixLength().
    • Removed the legacy DatabaseRecord(T, InetAddress, int) constructor; pass a Network when constructing records manually.
  • Deserialization improvements:
    • If no constructor is annotated with @MaxMindDbConstructor, records now use their canonical constructor automatically. For non‑record classes with a single public constructor, that constructor is used by default.
    • @MaxMindDbParameter annotations are now optional when parameter names match field names in the database: for records, component names are used; for classes, Java parameter names are used (when compiled with -parameters). Annotations still take precedence when present.
    • Added @MaxMindDbIpAddress and @MaxMindDbNetwork annotations to inject the lookup IP address and resulting network into constructors. Annotation metadata is cached per type to avoid repeated reflection overhead.
Changelog

Sourced from com.maxmind.db:maxmind-db's changelog.

4.0.0 (2025-11-10)

This is a major release with several breaking changes. Please see https://github.com/maxmind/MaxMind-DB-Reader-java/blob/main/UPGRADING.md for detailed migration instructions.

  • Java 17 or greater is now required.
  • Added support for MaxMind DB files larger than 2GB. The library now uses an internal Buffer abstraction that can handle databases exceeding the 2GB ByteBuffer limit. Files under 2GB continue to use a single ByteBuffer for optimal performance. Requested by nonetallt. GitHub #154. Fixed by Silvano Cerza. GitHub #289.
  • Metadata.getBuildDate() has been replaced with buildTime(), which returns java.time.Instant instead of java.util.Date. The instant represents the database build time in UTC.
  • DatabaseRecord, Metadata, Network, and internal DecodedValue classes have been converted to records. The following API changes were made:
    • DatabaseRecord.getData() and DatabaseRecord.getNetwork() have been replaced with record accessor methods data() and network().
    • Simple getter methods on Metadata (e.g., getBinaryFormatMajorVersion(), getDatabaseType(), etc.) have been replaced with their corresponding record accessor methods (e.g., binaryFormatMajorVersion(), databaseType(), etc.).
    • Network.getNetworkAddress() and Network.getPrefixLength() have been replaced with record accessor methods networkAddress() and prefixLength().
    • Removed the legacy DatabaseRecord(T, InetAddress, int) constructor; pass a Network when constructing records manually.
  • Deserialization improvements:
    • If no constructor is annotated with @MaxMindDbConstructor, records now use their canonical constructor automatically. For non‑record classes with a single public constructor, that constructor is used by default.
    • @MaxMindDbParameter annotations are now optional when parameter names match field names in the database: for records, component names are used; for classes, Java parameter names are used (when compiled with -parameters). Annotations still take precedence when present.
    • Added @MaxMindDbIpAddress and @MaxMindDbNetwork annotations to inject the lookup IP address and resulting network into constructors. Annotation metadata is cached per type to avoid repeated reflection overhead.

3.2.0 (2025-05-28)

  • First release using Central Portal instead of Legacy OSSRH.
  • Improve internal uses of types and other code cleanups. Pull requests by Philippe Marschall. GitHub #246, #247, #248, and #249.

3.1.1 (2024-09-19)

  • When handling a deserialization exception, the decoder now avoids throwing a NullPointerException when one of the constructor arguments

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [com.maxmind.db:maxmind-db](https://github.com/maxmind/MaxMind-DB-Reader-java) from 4.0.0-SNAPSHOT to 4.0.0.
- [Release notes](https://github.com/maxmind/MaxMind-DB-Reader-java/releases)
- [Changelog](https://github.com/maxmind/MaxMind-DB-Reader-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/maxmind/MaxMind-DB-Reader-java/commits/v4.0.0)

---
updated-dependencies:
- dependency-name: com.maxmind.db:maxmind-db
  dependency-version: 4.0.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file java Pull requests that update Java code labels Nov 17, 2025
@horgh horgh merged commit 2685b6e into main Nov 17, 2025
23 checks passed
@horgh horgh deleted the dependabot/maven/com.maxmind.db-maxmind-db-4.0.0 branch November 17, 2025 18:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file java Pull requests that update Java code

Development

Successfully merging this pull request may close these issues.

2 participants