Skip to content

Releases: maxmind/MaxMind-DB-Reader-python

1.2.0: MODE_FILE fix when reader is loaded before forking

07 Apr 22:20
Compare
Choose a tag to compare
  • Previously if MODE_FILE was used and the database was loaded before
    forking, the parent and children would use the same file table entry without
    locking causing errors reading the database due to the offset being changed
    by other processes. In MODE_FILE, the reader will now use os.pread
    when available and a lock when os.pread is not available (e.g., Python
    2). If you are using MODE_FILE on a Python without os.pread, it is
    recommended that you open the database after forking to reduce resource
    contention.
  • The Metadata class now overloads __repr__ to provide a useful
    representation of the contents when debugging.
  • An InvalidDatabaseError will now be thrown if the data type read from
    the database is invalid. Previously a KeyError was thrown.

1.1.1: Python 3 MODE_AUTO fix

10 Dec 15:47
Compare
Choose a tag to compare
  • On Python 3 there was a potential issue where open_database with
    MODE_AUTO would try to use the C extension when it was not available.
    This could cause the function to fail rather than falling back to a pure
    Python mode.

1.1.0: Memory and file more for Python reader

09 Dec 18:58
Compare
Choose a tag to compare
  • The pure Python reader now supports an optional file and memory mode in
    addition to the existing memory-map mode. If your Python does not provide
    the mmap module, the file mode will be used by default.
  • The preferred method for opening a database is now the open_database
    function in maxminddb. This function now takes an optional read
    mode.
  • The C extension no longer creates its own InvalidDatabaseError class
    and instead uses the one defined in maxminddb.errors.

1.0.0

22 Sep 16:12
Compare
Choose a tag to compare
  • First production release.
  • Two potential C extension issues discovered by Coverity were fixed:
    • There was a small resource leak that occurred when the system ran out of
      memory.
    • There was a theoretical null pointer issue that would occur only if
      libmaxminddb returned invalid data.

0.3.3

09 Apr 20:43
Compare
Choose a tag to compare
0.3.3 Pre-release
Pre-release
  • Corrected initialization of objects in C extension and made the objects
    behave more similarly to their pure Python counterparts.

0.3.2

09 Apr 20:42
Compare
Choose a tag to compare
0.3.2 Pre-release
Pre-release
  • Switched to Apache 2.0 license.
  • We now open the database file in read-only mode.
  • Minor code clean-up.

0.3.1

12 Feb 02:52
Compare
Choose a tag to compare
0.3.1 Pre-release
Pre-release
  • Fixed packaging problem that caused import to fail.

0.3.0 Added pure Python implementation

11 Feb 23:53
Compare
Choose a tag to compare
Pre-release
  • This release includes a pure Python implementation of the database reader.
    If libmaxminddb is not available or there are compilation issues, the
    module will fall-back to the pure Python implementation.
  • Minor changes were made to the exceptions of the C extension make them
    consistent with the pure Python implementation.

0.2.1

18 Dec 18:46
Compare
Choose a tag to compare
0.2.1 Pre-release
Pre-release
  • Removed -Werror compiler flag as it was causing problems for some OS X
    users.

Cleaned up code

15 Oct 17:50
Compare
Choose a tag to compare
Cleaned up code Pre-release
Pre-release
  • Refactored code and fixed a memory leak when throwing an exception.