1 GNU dbm NEWS -- history of user-visible changes. 2011-11-13
2 Copyright (C) 1990-2011 Free Software Foundation, Inc.
3 See the end of file for copying conditions.
5 Please send gdbm bug reports to <bug-gdbm@gnu.org>.
7 Version 1.10, 2011-11-13
11 This version of GDBM is fully internationalized. The following
12 localizations are available: Finnish, German, Japanese, Polish and Ukrainian.
14 * Support for close-on-exec flag in gdbm_open (see GDBM_CLOEXEC in the docs).
16 * Improve testgdbm command system
18 The testgdbm tool now supports multicharacter commands.
22 Bug numbers below refer to the tracker at <http://puszcza.gnu.org.ua/bugs/?N>
25 Tolerate I/O operations returning less bytes than expected. Retry I/O
29 Gdbm_open now initializes with zeros the memory allocated for file
30 header. Previous versions left uninitialized portions intact, so
31 they contained whatever happened to be in that memory region at the
32 moment of allocation. This created undesired security implications.
34 ** Fix handling of NDBM databases in read-only mode.
41 Improperly used preprocessor directive caused compilation failure
42 when using gcc 4.4.4 or newer.
45 Version 1.9, 2011-08-12
49 To speed up I/O operations, mmap(2) is used when available.
50 It can be disabled at compile time using --disable-memory-mapped-io,
51 and at run time by giving GDBM_NOMMAP flag to gdbm_open.
53 * Changes in compatibility mode
55 The changes below fix several long-standing bugs in
56 ndbm compatibility code, which made it impossible to
57 use GDBM with Sendmail and Postfix. Now that they are
58 fixed, GDBM can be used with these MTAs.
60 ** Locking is disabled.
62 Neither ndbm nor dbm functions lock their files.
64 This bug was reported, in particular, in
65 https://bugzilla.redhat.com/show_bug.cgi?id=663932
67 ** Do not link pag to dir.
69 Instead of linking pag to dir as previous versions did, GDBM now
70 creates a separate dir file. Consequently, dbm_pagfno and
71 dbm_dirfno return different file descriptors.
73 When opening an existing database as a writer, GDBM determines
74 if dir is linked to pag, and if so breaks the link and creates
75 a new dir file. When such a database is opened in a read-only
76 mode, GDBM does not attempt to alter the link.
80 New options are implemented for use with gdbm_setopt function.
81 In particular, a set of options is provided for retrieving various
82 database parameters, such as the file name, memory mapping status,
85 * The testgdbm program is installed
87 Testgdbm is an interactive tool for manipulating GDBM database files.
88 It allows you to view or update existing databases, export
89 them to the portable flat file format and to create new database files.
91 * A testsuite is provided.
93 * Improved documentation.
97 * Various configure related changes and additional updates.
101 * Allow `NEWDB'-opened databases to actually, well, store records.
105 * Lots of bug fixes, including a data corruption bug.
106 * Updated to current autoconf and libtool.
107 * Moved the dbm/ndbm compatibility routines to libgdbm_compat.
111 * Added GDBM_CENTFREE functionality and option.
112 * Added GDBM_COALESCEBLKS functionality and option.
113 * Added GDBM_NOLOCK flag.
114 * Made ``fast'' mode the default, making GDBM_FAST obsolete, and adding
115 the GDBM_SYNC flag and GDBM_SYNCMODE option.
116 * Switched to building with libtool.
120 * Fixed a couple of last minute problems.
122 Namely, no autoconf.h in version.c, and no GDBM_FASTMODE in gdbm.h!
124 * Fixed some documentation bugs.
128 * Enhanced portability and compile/installation changes.
129 * Additional, "fast mode" related gdbm_setopt() option.
130 * Growth problems bug fix.
134 * Enhanced portabilty and compile/installation bug fixes.
135 * Switched over to using an auto config header.
136 * Slight documentation upgrade.
140 * A new dynamic, delayed initialization, bucket cache.
141 * New gdbm_setopt(), gdbm_exists(), and gdbm_strerror() routines.
142 * Slightly improved dbm/ndbm compatibility.
143 * Greatly improved portability to 64 or 16 bit machines.
148 * New documentation in both man and texinfo formats.
150 * A New "writers" mode that does not fsync the database.
155 * Minor bug fixes. See the ChangeLog.
156 * Added gdbmconst.h to allow users to change the size of the
157 * bucket cache in the systems.h file.
162 * A define for "dbmclose()" was added to dbm.h for those few
163 implementaions that need that call.
164 * For details, see the ChangeLog.
168 * Makefiles were combined into one and a few new things added to it.
169 * Several minor bugs were fixed including a cache bug.
170 * Two new calls (dbm_pagfno, dbm_dirfno) were added to the NDBM interface.
171 * A conversion program from dbm files to gdbm files was added.
172 * Reorganize was changed to allow complex file names. (dir/file form)
173 * testgdbm, testndbm, and testdbm were modified to return key and data
174 pairs where needed and to take an optional file name as an argument.
175 testgdbm had some command characters changed.
176 * The DBM and NDBM interfaces were separated.
177 * An include file for dbm users was added. (dbm.h)
178 * The include file for ndbm users was renamed ndbm.h. (It was gndbm.h.)
182 * The hash function changed.
183 * The file format changed.
184 * There was a complete rewrite of falloc.c.
185 * There were added compatiblity routines for ndbm.
186 * The file names for dbm compatibility routines were made to look like dbm.
187 * Test programs changed.
188 * Support for System V.
189 * Various other small changes.
190 * The need for recovery and associated code was removed.
193 ----------------------------------------------------------------------
194 Copyright information:
196 Copyright (C) 1990-2011 Free Software Foundation, Inc.
198 Permission is granted to anyone to make or distribute verbatim copies
199 of this document as received, in any medium, provided that the
200 copyright notice and this permission notice are preserved,
201 thus giving the recipient permission to redistribute in turn.
203 Permission is granted to distribute modified versions
204 of this document, or of portions of it,
205 under the above conditions, provided also that they
206 carry prominent notices stating who last changed them.
210 paragraph-separate: "[
\f]*$"
211 eval: (add-hook 'write-file-hooks 'time-stamp)
212 time-stamp-start: "changes. "
213 time-stamp-format: "%:y-%02m-%02d"