Home | History | Annotate | Line # | Download | only in liblmdb
      1 LMDB 0.9 Change Log
      2 
      3 LMDB 0.9.33 Release (2024/05/21)
      4 	ITS#9037 mdb_page_search: fix error code when DBI record is missing
      5 	ITS#10198 For win32, stop passing ignored parameter
      6 	ITS#10212 Fix meta page usage by read only tools
      7 
      8 LMDB 0.9.32 Release (2024/01/29)
      9 	ITS#9378 - Add ability to replay log and replay log tool
     10 	ITS#10095 - partial revert of ITS#9278. The patch was incorrect and introduced numerous race conditions.
     11 	ITS#10125 - mdb_load: fix cursor reinit in Append mode
     12 	ITS#10137 - Allow users to define MDB_IDL_LOGN
     13 
     14 LMDB 0.9.31 Release (2023/07/10)
     15 	ITS#8447 - Fix cursor_put(MDB_CURRENT) on DUPSORT DB with different sized data
     16 
     17 LMDB 0.9.30 Release (2023/02/08)
     18 	ITS#9806 - LMDB page_split: key threshold depends on page size
     19 	ITS#9916 - avoid gcc optimization bug on sparc64 linux
     20 	ITS#9919 - Mark infrequently used functions as cold
     21 	ITS#9723 - clear C_EOF on cursor with MDB_FIRST_DUP
     22 	ITS#9030 - Use sys/cachectl.h rather than asm/cachectl.h on mips
     23 
     24 LMDB 0.9.29 Release (2021/03/16)
     25 	ITS#9461 refix ITS#9376
     26 	ITS#9500 fix regression from ITS#8662
     27 
     28 LMDB 0.9.28 Release (2021/02/04)
     29 	ITS#8662 add -a append option to mdb_load
     30 
     31 LMDB 0.9.27 Release (2020/10/26)
     32 	ITS#9376 fix repeated DUPSORT cursor deletes
     33 
     34 LMDB 0.9.26 Release (2020/08/11)
     35 	ITS#9278 fix robust mutex cleanup for FreeBSD
     36 
     37 LMDB 0.9.25 Release (2020/01/30)
     38 	ITS#9068 fix mdb_dump/load backslashes in printable content
     39 	ITS#9118 add MAP_NOSYNC for FreeBSD
     40 	ITS#9155 free mt_spill_pgs in non-nested txn on end
     41 
     42 LMDB 0.9.24 Release (2019/07/24)
     43 	ITS#8969 Tweak mdb_page_split
     44 	ITS#8975 WIN32 fix writemap set_mapsize crash
     45 	ITS#9007 Fix loose pages in WRITEMAP
     46 
     47 LMDB 0.9.23 Release (2018/12/19)
     48 	ITS#8756 Fix loose pages in dirty list
     49 	ITS#8831 Fix mdb_load flag init
     50 	ITS#8844 Fix mdb_env_close in forked process
     51 	Documentation
     52 		ITS#8857 mdb_cursor_del doesn't invalidate cursor
     53 		ITS#8908 GET_MULTIPLE etc don't change passed in key
     54 
     55 LMDB 0.9.22 Release (2018/03/22)
     56 	Fix MDB_DUPSORT alignment bug (ITS#8819)
     57 	Fix regression with new db from 0.9.19 (ITS#8760)
     58 	Fix liblmdb to build on Solaris (ITS#8612)
     59 	Fix delete behavior with DUPSORT DB (ITS#8622)
     60 	Fix mdb_cursor_get/mdb_cursor_del behavior (ITS#8722)
     61 
     62 LMDB 0.9.21 Release (2017/06/01)
     63 	Fix xcursor after cursor_del (ITS#8622)
     64 
     65 LMDB 0.9.20 (Withdrawn)
     66 	Fix mdb_load with escaped plaintext (ITS#8558)
     67 	Fix mdb_cursor_last / mdb_put interaction (ITS#8557)
     68 
     69 LMDB 0.9.19 Release (2016/12/28)
     70 	Fix mdb_env_cwalk cursor init (ITS#8424)
     71 	Fix robust mutexes on Solaris 10/11 (ITS#8339)
     72 	Tweak Win32 error message buffer
     73 	Fix MDB_GET_BOTH on non-dup record (ITS#8393)
     74 	Optimize mdb_drop
     75 	Fix xcursors after mdb_cursor_del (ITS#8406)
     76 	Fix MDB_NEXT_DUP after mdb_cursor_del (ITS#8412)
     77 	Fix mdb_cursor_put resetting C_EOF (ITS#8489)
     78 	Fix mdb_env_copyfd2 to return EPIPE on SIGPIPE (ITS#8504)
     79 	Fix mdb_env_copy with empty DB (ITS#8209)
     80 	Fix behaviors with fork (ITS#8505)
     81 	Fix mdb_dbi_open with mainDB cursors (ITS#8542)
     82 	Fix robust mutexes on kFreeBSD (ITS#8554)
     83 	Fix utf8_to_utf16 error checks (ITS#7992)
     84 	Fix F_NOCACHE on MacOS, error is non-fatal (ITS#7682)
     85 	Build
     86 		Make shared lib suffix overridable (ITS#8481)
     87 	Documentation
     88 		Cleanup doxygen nits
     89 		Note reserved vs actual mem/disk usage
     90 
     91 
     92 LMDB 0.9.18 Release (2016/02/05)
     93 	Fix robust mutex detection on glibc 2.10-11 (ITS#8330)
     94 	Fix page_search_root assert on FreeDB (ITS#8336)
     95 	Fix MDB_APPENDDUP vs. rewrite(single item) (ITS#8334)
     96 	Fix mdb_copy of large files on Windows
     97 	Fix subcursor move after delete (ITS#8355)
     98 	Fix mdb_midl_shirnk off-by-one (ITS#8363)
     99 	Check for utf8_to_utf16 failures (ITS#7992)
    100 	Catch strdup failure in mdb_dbi_open
    101 	Build
    102 		Additional makefile var tweaks (ITS#8169)
    103 	Documentation
    104 		Add Getting Started page
    105 		Update WRITEMAP description
    106 	
    107 
    108 LMDB 0.9.17 Release (2015/11/30)
    109 	Fix ITS#7377 catch calloc failure
    110 	Fix ITS#8237 regression from ITS#7589
    111 	Fix ITS#8238 page_split for DUPFIXED pages
    112 	Fix ITS#8221 MDB_PAGE_FULL on delete/rebalance
    113 	Fix ITS#8258 rebalance/split assert
    114 	Fix ITS#8263 cursor_put cursor tracking
    115 	Fix ITS#8264 cursor_del cursor tracking
    116 	Fix ITS#8310 cursor_del cursor tracking
    117 	Fix ITS#8299 mdb_del cursor tracking
    118 	Fix ITS#8300 mdb_del cursor tracking
    119 	Fix ITS#8304 mdb_del cursor tracking
    120 	Fix ITS#7771 fakepage cursor tracking
    121 	Fix ITS#7789 ensure mapsize >= pages in use
    122 	Fix ITS#7971 mdb_txn_renew0() new reader slots
    123 	Fix ITS#7969 use __sync_synchronize on non-x86
    124 	Fix ITS#8311 page_split from update_key
    125 	Fix ITS#8312 loose pages in nested txn
    126 	Fix ITS#8313 mdb_rebalance dummy cursor
    127 	Fix ITS#8315 dirty_room in nested txn
    128 	Fix ITS#8323 dirty_list in nested txn
    129 	Fix ITS#8316 page_merge cursor tracking
    130 	Fix ITS#8321 cursor tracking
    131 	Fix ITS#8319 mdb_load error messages
    132 	Fix ITS#8320 mdb_load plaintext input
    133 	Added mdb_txn_id() (ITS#7994)
    134 	Added robust mutex support
    135 	Miscellaneous cleanup/simplification
    136 	Build
    137 		Create install dirs if needed (ITS#8256)
    138 		Fix ThreadProc decl on Win32/MSVC (ITS#8270)
    139 		Added ssize_t typedef for MSVC (ITS#8067)
    140 		Use ANSI apis on Windows (ITS#8069)
    141 		Use O_SYNC if O_DSYNC,MDB_DSYNC are not defined (ITS#7209)
    142 		Allow passing AR to make (ITS#8168)
    143 		Allow passing mandir to make install (ITS#8169)
    144 
    145 LMDB 0.9.16 Release (2015/08/14)
    146 	Fix cursor EOF bug (ITS#8190)
    147 	Fix handling of subDB records (ITS#8181)
    148 	Fix mdb_midl_shrink() usage (ITS#8200)
    149 
    150 LMDB 0.9.15 Release (2015/06/19)
    151 	Fix txn init (ITS#7961,#7987)
    152 	Fix MDB_PREV_DUP (ITS#7955,#7671)
    153 	Fix compact of empty env (ITS#7956)
    154 	Fix mdb_copy file mode
    155 	Fix mdb_env_close() after failed mdb_env_open()
    156 	Fix mdb_rebalance collapsing root (ITS#8062)
    157 	Fix mdb_load with large values (ITS#8066)
    158 	Fix to retry writes on EINTR (ITS#8106)
    159 	Fix mdb_cursor_del on empty DB (ITS#8109)
    160 	Fix MDB_INTEGERDUP key compare (ITS#8117)
    161 	Fix error handling (ITS#7959,#8157,etc.)
    162 	Fix race conditions (ITS#7969,7970)
    163 	Added workaround for fdatasync bug in ext3fs
    164 	Build
    165 		Don't use -fPIC for static lib
    166 		Update .gitignore (ITS#7952,#7953)
    167 		Cleanup for "make test" (ITS#7841), "make clean", mtest*.c
    168 		Misc. Android/Windows cleanup
    169 	Documentation
    170 		Fix MDB_APPEND doc
    171 		Fix MDB_MAXKEYSIZE doc (ITS#8156)
    172 		Fix mdb_cursor_put,mdb_cursor_del EACCES description
    173 		Fix mdb_env_sync(MDB_RDONLY env) doc (ITS#8021)
    174 		Clarify MDB_WRITEMAP doc (ITS#8021)
    175 		Clarify mdb_env_open doc
    176 		Clarify mdb_dbi_open doc
    177 
    178 LMDB 0.9.14 Release (2014/09/20)
    179 	Fix to support 64K page size (ITS#7713)
    180 	Fix to persist decreased as well as increased mapsizes (ITS#7789)
    181 	Fix cursor bug when deleting last node of a DUPSORT key
    182 	Fix mdb_env_info to return FIXEDMAP address
    183 	Fix ambiguous error code from writing to closed DBI (ITS#7825)
    184 	Fix mdb_copy copying past end of file (ITS#7886)
    185 	Fix cursor bugs from page_merge/rebalance
    186 	Fix to dirty fewer pages in deletes (mdb_page_loose())
    187 	Fix mdb_dbi_open creating subDBs (ITS#7917)
    188 	Fix mdb_cursor_get(_DUP) with single value (ITS#7913)
    189 	Fix Windows compat issues in mtests (ITS#7879)
    190 	Add compacting variant of mdb_copy
    191 	Add BigEndian integer key compare code
    192 	Add mdb_dump/mdb_load utilities
    193 
    194 LMDB 0.9.13 Release (2014/06/18)
    195 	Fix mdb_page_alloc unlimited overflow page search
    196 	Documentation
    197 		Re-fix MDB_CURRENT doc (ITS#7793)
    198 		Fix MDB_GET_MULTIPLE/MDB_NEXT_MULTIPLE doc
    199 
    200 LMDB 0.9.12 Release (2014/06/13)
    201 	Fix MDB_GET_BOTH regression (ITS#7875,#7681)
    202 	Fix MDB_MULTIPLE writing multiple keys (ITS#7834)
    203 	Fix mdb_rebalance (ITS#7829)
    204 	Fix mdb_page_split (ITS#7815)
    205 	Fix md_entries count (ITS#7861,#7828,#7793)
    206 	Fix MDB_CURRENT (ITS#7793)
    207 	Fix possible crash on Windows DLL detach
    208 	Misc code cleanup
    209 	Documentation
    210 		mdb_cursor_put: cursor moves on error (ITS#7771)
    211 
    212 
    213 LMDB 0.9.11 Release (2014/01/15)
    214 	Add mdb_env_set_assert() (ITS#7775)
    215 	Fix: invalidate txn on page allocation errors (ITS#7377)
    216 	Fix xcursor tracking in mdb_cursor_del0() (ITS#7771)
    217 	Fix corruption from deletes (ITS#7756)
    218 	Fix Windows/MSVC build issues
    219 	Raise safe limit of max MDB_MAXKEYSIZE
    220 	Misc code cleanup
    221 	Documentation
    222 		Remove spurious note about non-overlapping flags (ITS#7665)
    223 
    224 LMDB 0.9.10 Release (2013/11/12)
    225 	Add MDB_NOMEMINIT option
    226 	Fix mdb_page_split() again (ITS#7589)
    227 	Fix MDB_NORDAHEAD definition (ITS#7734)
    228 	Fix mdb_cursor_del() positioning (ITS#7733)
    229 	Partial fix for larger page sizes (ITS#7713)
    230 	Fix Windows64/MSVC build issues
    231 
    232 LMDB 0.9.9 Release (2013/10/24)
    233 	Add mdb_env_get_fd()
    234 	Add MDB_NORDAHEAD option
    235 	Add MDB_NOLOCK option
    236 	Avoid wasting space in mdb_page_split() (ITS#7589)
    237 	Fix mdb_page_merge() cursor fixup (ITS#7722)
    238 	Fix mdb_cursor_del() on last delete (ITS#7718)
    239 	Fix adding WRITEMAP on existing env (ITS#7715)
    240 	Fix nested txns (ITS#7515)
    241 	Fix mdb_env_copy() O_DIRECT bug (ITS#7682)
    242 	Fix mdb_cursor_set(SET_RANGE) return code (ITS#7681)
    243 	Fix mdb_rebalance() cursor fixup (ITS#7701)
    244 	Misc code cleanup
    245 	Documentation
    246 		Note that by default, readers need write access
    247 
    248 
    249 LMDB 0.9.8 Release (2013/09/09)
    250 	Allow mdb_env_set_mapsize() on an open environment
    251 	Fix mdb_dbi_flags() (ITS#7672)
    252 	Fix mdb_page_unspill() in nested txns
    253 	Fix mdb_cursor_get(CURRENT|NEXT) after a delete
    254 	Fix mdb_cursor_get(DUP) to always return key (ITS#7671)
    255 	Fix mdb_cursor_del() to always advance to next item (ITS#7670)
    256 	Fix mdb_cursor_set(SET_RANGE) for tree with single page (ITS#7681)
    257 	Fix mdb_env_copy() retry open if O_DIRECT fails (ITS#7682)
    258 	Tweak mdb_page_spill() to be less aggressive
    259 	Documentation
    260 		Update caveats since mdb_reader_check() added in 0.9.7
    261 
    262 LMDB 0.9.7 Release (2013/08/17)
    263 	Don't leave stale lockfile on failed RDONLY open (ITS#7664)
    264 	Fix mdb_page_split() ref beyond cursor depth
    265 	Fix read txn data race (ITS#7635)
    266 	Fix mdb_rebalance (ITS#7536, #7538)
    267 	Fix mdb_drop() (ITS#7561)
    268 	Misc DEBUG macro fixes
    269 	Add MDB_NOTLS envflag
    270 	Add mdb_env_copyfd()
    271 	Add mdb_txn_env() (ITS#7660)
    272 	Add mdb_dbi_flags() (ITS#7661)
    273 	Add mdb_env_get_maxkeysize()
    274 	Add mdb_env_reader_list()/mdb_env_reader_check()
    275 	Add mdb_page_spill/unspill, remove hard txn size limit
    276 	Use shorter names for semaphores (ITS#7615)
    277 	Build
    278 		Fix install target (ITS#7656)
    279 	Documentation
    280 		Misc updates for cursors, DB handles, data lifetime
    281 
    282 LMDB 0.9.6 Release (2013/02/25)
    283 	Many fixes/enhancements
    284 
    285 LMDB 0.9.5 Release (2012/11/30)
    286 	Renamed from libmdb to liblmdb
    287 	Many fixes/enhancements
    288