Skip to content

Releases: maxmind/libmaxminddb

1.5.0

05 Jan 22:57
Compare
Choose a tag to compare
  • A CMake build script has been added for Windows builds. The Visual
    Studio project files in projects are now considered deprecated and will
    be removed in a future release.

1.4.3

06 Aug 16:28
Compare
Choose a tag to compare
  • On Windows, always call CreateFileW instead of CreateFile.
    CreateFile could be mapped to CreateFileA and not work as expected.
    Pull request by Sandu Liviu Catalin. GitHub #228.
  • Fixed use of uninitialized memory in dump_entry_data_list() that could
    cause a heap buffer flow in mmdblookup. As part of this fix, most uses
    of malloc were replaced with calloc. Reported by azhou. GitHub #236.

1.4.2

02 Nov 16:00
Compare
Choose a tag to compare
  • The 1.4.0 release introduced a change that increased the size of MMDB_s,
    unintentionally causing an ABI break. This release reverts the relevant
    commit.

1.4.1 - DO NOT USE

01 Nov 22:42
Compare
Choose a tag to compare
1.4.1 - DO NOT USE Pre-release
Pre-release

DO NOT USE. UNINTENDED ABI BREAK.

  • The man page links for function calls were not generated correctly in
    1.4.0. This has been corrected.

1.4.0 - DO NOT USE

01 Nov 21:37
Compare
Choose a tag to compare
1.4.0 - DO NOT USE Pre-release
Pre-release

DO NOT USE. UNINTENDED ABI BREAK.

  • A negative array index may now be used with MMDB_get_value,
    MMDB_vget_value, and MMDB_aget_value. This specifies the element
    from the end of the array. For instance, -1 would refer to the
    last element of the array. PR by Kyle Box. GitHub #205.
  • On Windows, the file name passed to MMDB_open is now expected to be
    UTF-8 encoded. This allows Unicode characters to be used in file names.
    As part of this change, mmdblookup on Windows now converts its
    arguments to UTF-8. PR by Gerald Combs. GitHub #189 & #191.
  • Fix a memory leak that occurred when freeing an MMDB_s where the
    database had no languages defined in the metadata. If you are using an
    official MaxMind database, this leak does not affect you. Pull request
    by Kókai Péter. GitHub #180.
  • Add --disable-binaries option to configure. Pull request by Fabrice
    Fontaine. GitHub #166.
  • Previous releases incorrectly included *.Po files in the t directory.
    This has been corrected. Reported by Daniel Macks. GitHub #168.
  • The internal use of the MMDB_s now has the const modifier. Public
    functions that accepted an MMDB_s as an argument now also declare it as
    const. Pull request by Kurt Johnson. GitHub #199.
  • mmdblookup now displays the prefix length for the record when using
    the verbose flag. GitHub #172.

1.3.2

17 Jan 21:39
Compare
Choose a tag to compare
  • Allocate memory for MMDB_entry_data_list_s structs in separate chunks
    rather than one large chunk. This simplifies accessing memory in
    MMDB_get_entry_data_list() and increases performance. It builds on the
    changes in 1.3.0 and 1.3.1.
  • We no longer export data_pool_* symbols. These are internal functions
    but we were previously exporting them. Pull request by Faidon Liambotis.
    GitHub #162.
  • Build with POSIX.1-2008 by default if the system supports it. This allows
    use of open() with O_CLOEXEC. We retain support for systems that
    provide only POSIX.1-2001.
  • Open the database with the O_CLOEXEC flag if the system provides it.
    This avoids cases where we could leak fds when called in multi-threaded
    programs that fork() and exec(). Original report and PR by Brandon L
    Black.
  • Added a test to ensure we export only intended symbols (e.g. MMDB_*).

1.3.1

24 Nov 19:17
Compare
Choose a tag to compare
  • Fix build problems related to rpl_malloc(). Pull request by Rainer
    Gerhards. GitHub #152.
  • Fix a race to set and read data in a field on the MMDB_s struct
    (ipv4_start_node). GitHub #153.
  • Fix cases of invalid memory access when using
    MMDB_get_entry_data_list(). This was introduced in 1.3.0 and occurred
    when performing large lookups. GitHub #153.

1.3.0

10 Nov 20:55
Compare
Choose a tag to compare
  • Perform fewer memory allocations in MMDB_get_entry_data_list(). This
    significantly improves its performance. GitHub #147.
  • Fix mmdblookup's build epoch reporting on some systems. Big endian
    systems with a 32-bit time_t no longer show a database build date of
    1970-01-01 00:00:00. Pull request by Rainer Jung. GitHub #143.

1.2.1

15 May 16:37
Compare
Choose a tag to compare
  • Use autoconf to check the system's endianness rather than trying to do this
    with compiler-defined macros like __BYTE_ORDER__. Apparently this didn't
    work properly on a Sparc system. GitHub #120.
  • Several compiler warnings on Visual C++ were fixed. Pull request by Marcel
    Raad. GitHub #130.
  • Fix segmentation faults found in MMDB_open() using afl-fuzz. This
    occurred on corrupt databases that had a data pointer large enough to
    cause an integer overflow when doing bound checking. Reported by Ryan
    Whitworth. GitHub #140.
  • Add --disable-tests option to configure. Pull request by Fabrice
    Fontaine. GitHub #136.

1.2.0 - Extended API for Iteration of Database

23 Mar 17:02
Compare
Choose a tag to compare
  • Four additional fields were added to the end of the MMDB_search_node_s
    struct returned by MMDB_read_node. These fields allow the user to iterate
    through the search tree without making undocumented assumptions about how
    this library works internally and without knowing the specific details of
    the database format. GitHub #110.