Skip to content

Releases: PowerDNS/lmdb-go

v1.9.2

07 Dec 14:47
28e8840
Compare
Choose a tag to compare

What's Changed

  • Fix: allocate C memory for MDB_val in readonly Txn by @wojas in #29
  • Disable memcpy() overflow warnings in C compilation by @shane-ns1 in #19
  • Replace reflect.SliceHeader with unsafe.Slice by @shane-ns1 in #21
  • Add names to fields used in tests by @shane-ns1 in #22
  • Fix file mode in Open() statement by @shane-ns1 in #24
  • Fix issues reported by staticcheck in tests by @shane-ns1 in #26

New Contributors

Full Changelog: v1.9.1...v1.9.2

v1.9.1

14 Sep 09:39
ae42c40
Compare
Choose a tag to compare

What's Changed

  • Fix release numbers in the readme by @pieterlexis in #10
  • Define IntegerKey and IntegerDup flags by @wojas in #12
  • Upgrade LMDB C lib from 0.9.28 to 0.9.29 by @wojas in #13
  • Upgrade LMDB to 0.9.31 by @wojas in #14
  • CI: switch to Github Actions by @wojas in #15

LMDB C library changes:

LMDB 0.9.31 Release (2023/07/10)
        ITS#8447 - Fix cursor_put(MDB_CURRENT) on DUPSORT DB with different sized data

LMDB 0.9.30 Release (2023/02/08)
        ITS#9806 - LMDB page_split: key threshold depends on page size
        ITS#9916 - avoid gcc optimization bug on sparc64 linux
        ITS#9919 - Mark infrequently used functions as cold
        ITS#9723 - clear C_EOF on cursor with MDB_FIRST_DUP
        ITS#9030 - Use sys/cachectl.h rather than asm/cachectl.h on mips

LMDB 0.9.29 Release (2021/03/16)
        ITS#9461 refix ITS#9376
        ITS#9500 fix regression from ITS#8662

Full Changelog: v1.9.0...v1.9.1

v1.9.0

20 Apr 10:29
Compare
Choose a tag to compare

First release of this PowerDNS/lmdb-go fork.

  • Renamed module from github.com/bmatsuo/lmdb-go to github.com/PowerDNS/lmdb-go (#3, PR #7)
  • Add go.mod and fix tests and Travis CI on recent Go versions (#5, PR #6)
  • Fix: Cursor.Put would write "\x00" instead of an empty value (#1, PR #2)
  • Remove experimental, never released exp/lmdbpool package (PR #9)
  • lmdb: Update LMDB C library to version 0.9.28 (#4).
	LMDB 0.9.28 Release (2021/02/04)
		ITS#8662 add -a append option to mdb_load
	
	LMDB 0.9.27 Release (2020/10/26)
		ITS#9376 fix repeated DUPSORT cursor deletes
	
	LMDB 0.9.26 Release (2020/08/11)
		ITS#9278 fix robust mutex cleanup for FreeBSD
	
	LMDB 0.9.25 Release (2020/01/30)
		ITS#9068 fix mdb_dump/load backslashes in printable content
		ITS#9118 add MAP_NOSYNC for FreeBSD
		ITS#9155 free mt_spill_pgs in non-nested txn on end
	
	LMDB 0.9.24 Release (2019/07/24)
		ITS#8969 Tweak mdb_page_split
		ITS#8975 WIN32 fix writemap set_mapsize crash
		ITS#9007 Fix loose pages in WRITEMAP
	
	LMDB 0.9.23 Release (2018/12/19)
		ITS#8756 Fix loose pages in dirty list
		ITS#8831 Fix mdb_load flag init
		ITS#8844 Fix mdb_env_close in forked process
		Documentation
			ITS#8857 mdb_cursor_del doesn't invalidate cursor
			ITS#8908 GET_MULTIPLE etc don't change passed in key
	
	LMDB 0.9.22 Release (2018/03/22)
		Fix MDB_DUPSORT alignment bug (ITS#8819)
		Fix regression with new db from 0.9.19 (ITS#8760)
		Fix liblmdb to build on Solaris (ITS#8612)
		Fix delete behavior with DUPSORT DB (ITS#8622)
		Fix mdb_cursor_get/mdb_cursor_del behavior (ITS#8722)
	
	LMDB 0.9.21 Release (2017/06/01)
		Fix xcursor after cursor_del (ITS#8622)
	
	LMDB 0.9.20 (Withdrawn)
		Fix mdb_load with escaped plaintext (ITS#8558)
		Fix mdb_cursor_last / mdb_put interaction (ITS#8557)

Changes predating the PowerDNS fork (up to 2017):

  • Fix unsafe threading behavior in benchmarks (bmatsuo#101)
  • Update transactions no longer allocate MDB_val objects (bmatsuo#102)
  • Txn.Renew no longer clears the Txn finalizer -- prevents resource leaks (bmatsuo#104)
  • Txn.Pooled field added so that the Txn finalizer may work better with
    sync.Pool (bmatsuo#104 bmatsuo#105)
  • Fixed a race in the Txn finalizer that could lead to a segfault (bmatsuo#105)
  • Txn.RunOp method added so that it is possible for other packages to create
    other flavors of managed transactions from scratch (bmatsuo#105)
  • Experimental package lmdbpool was added to make integration of lmdb and
    sync.Pool easier (bmatsuo#104 bmatsuo#105)
  • Silence aggressive struct initializer warning from clang (bmatsuo#107)
  • Improved documentation regarding long-running transactions and dead readers
    (bmatsuo#111)