This is a Python module for reading MaxMind DB files. The module includes both
a pure Python reader and an optional C extension.
2026-03-06 07:22:39 by Adam Ciarcinski | Files touched by this commit (2) |  |
Log message:
py-maxminddb: updated to 3.1.1
3.1.1 (2026-03-05)
* The vendored ``libmaxminddb`` has been updated to 1.13.3. This includes
a fix for the validation of empty maps and arrays at the end of the
metadata section. Previously, the extension would incorrectly reject
databases where a 0-element map or array was the last field in metadata.
|
2026-03-02 16:18:41 by Adam Ciarcinski | Files touched by this commit (2) |  |
Log message:
py-maxminddb: updated to 3.1.0
3.1.0 (2026-02-24)
* The vendored ``libmaxminddb`` has been updated to 1.13.1. This includes
several security hardening improvements when reading corrupt or malicious
database files, including fixes for integer overflows, bounds checking, and
use-after-free prevention.
|
2025-12-03 15:18:12 by Adam Ciarcinski | Files touched by this commit (2) |  |
Log message:
py-maxminddb: updated to 3.0.0
3.0.0 (2025-10-15)
* IMPORTANT: Python 3.10 or greater is required. If you are using an older
version, please use an earlier release.
* Databases can now be loaded from buffers. This can be done by passing in a
buffer as the database and using mode ``MODE_FD``. Pull request by Emanuel
Seemann.
* The C extension now supports Python 3.13+ free-threading mode and is
thread-safe for concurrent reads on platforms with pthread support (such as
Linux and macOS) and Windows. On other platforms, the extension will use
GIL-based protection.
* The C extension now uses PEP 489 multi-phase initialization, enabling
proper subinterpreter support and module isolation for Python 3.12+. This
modernizes the extension to use heap types instead of static types and
implements per-module state management. Key benefits include support for
Python 3.12+ isolated subinterpreters, multiple independent module
instances, and future-proofing for Python 3.14's InterpreterPoolExecutor.
* **BREAKING**: The pure Python ``maxminddb.reader.Metadata`` class has been
converted to a frozen dataclass. The ``__repr__`` format has changed from
``maxminddb.reader.Metadata(...)`` to ``Metadata(...)``. More importantly,
all Metadata attributes are now readonly and cannot be modified after
creation. If you were modifying metadata attributes after object creation,
you will need to update your code. All functionality remains the same,
including the ``node_byte_size`` and ``search_tree_size`` properties. Note:
The C extension's Metadata class has always been readonly, so this change
brings the pure Python implementation into consistency with the C extension.
* MODE constants have been converted to an ``IntEnum`` (``maxminddb.const.Mode``).
The old constants (``MODE_AUTO``, ``MODE_FILE``, etc.) remain available for
backward compatibility and are now aliases to the enum members. This provides
better IDE support and type safety while maintaining full backward
compatibility. You can now use either ``Mode.FILE`` or ``MODE_FILE`` - both
work identically. Since ``IntEnum`` is int-compatible, existing code using
the constants will continue to work without modification.
|
2025-08-10 11:10:31 by Adam Ciarcinski | Files touched by this commit (2) |  |
Log message:
py-maxminddb: updated to 2.8.2
2.8.2 (2025-07-25)
* Pyodide binary wheels will no longer be built by default. It is not possible to
upload these to PyPI currently. We may consider reenabling them and putting them
on the GitHub Releases page in the future if there is interest.
2.8.1 (2025-07-25)
* When upgrading to ``cibuildwheel`` 3.0.0, we inadvertently changed the artifact
names, causing the wheels to not be uploaded to PyPI. This release fixes that.
There are no other code changes. Report by David Hotham.
2.8.0 (2025-07-25)
* Python 3.14 is now officially supported, including binary wheels.
* We have updated the platforms that we build binary wheels for. In particular,
we now build wheels for Android, iOS, Windows Arm, and Pyodide, and we have
dropped 686 (32 bit), ppc64le, and s390x builds on Linux.
|
2025-05-07 15:53:36 by Adam Ciarcinski | Files touched by this commit (2) |  |
Log message:
py-maxminddb: updated to 2.7.0
2.7.0 (2025-05-05)
* IMPORTANT: Python 3.9 or greater is required. If you are using an older
version, please use an earlier release.
* The vendored ``libmaxminddb`` has been updated to 1.12.2.
* The C extension now checks that the database metadata lookup was
successful.
* A theoretical segmentation fault with the C extension when doing lookups
on a corrupt or invalid database was fixed.
|
| 2025-04-16 16:38:57 by Adam Ciarcinski | Files touched by this commit (14) |
Log message:
Fix for setuptools>=78; bump revision
|
| 2025-01-23 18:36:19 by Havard Eidnes | Files touched by this commit (1) |
Log message:
geography/py-maxminddb: use atomic64.mk to fix build on NetBSD/powerpc w/py3.13.
|
2025-01-15 16:12:37 by Adam Ciarcinski | Files touched by this commit (2) |  |
Log message:
py-maxminddb: updated to 2.6.3
2.6.3 (2025-01-09)
* The vendored ``libmaxminddb`` has been updated to 1.12.0. This fixes a
memory leak when opening a database fails.
* Binary wheels are now built for Python 3.13.
|