Imported Upstream version 1.10
[platform/upstream/gdbm.git] / NEWS
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.
4
5 Please send gdbm bug reports to <bug-gdbm@gnu.org>.
6 \f
7 Version 1.10, 2011-11-13
8
9 * Internationalization
10
11 This version of GDBM is fully internationalized.  The following
12 localizations are available: Finnish, German, Japanese, Polish and Ukrainian.
13
14 * Support for close-on-exec flag in gdbm_open (see GDBM_CLOEXEC in the docs).
15
16 * Improve testgdbm command system
17
18 The testgdbm tool now supports multicharacter commands.
19
20 * Bugfixes
21
22 Bug numbers below refer to the tracker at <http://puszcza.gnu.org.ua/bugs/?N>
23
24 ** Bug #150.
25 Tolerate I/O operations returning less bytes than expected.  Retry I/O
26 if possible.
27
28 ** Bug #151
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.
33
34 ** Fix handling of NDBM databases in read-only mode.
35
36 \f
37 Version 1.9.1
38
39 * Bugfix
40
41 Improperly used preprocessor directive caused compilation failure
42 when using gcc 4.4.4 or newer.
43
44 \f
45 Version 1.9, 2011-08-12
46
47 * Use of mmap
48
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.
52
53 * Changes in compatibility mode
54
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. 
59
60 ** Locking is disabled.
61
62 Neither ndbm nor dbm functions lock their files.
63
64 This bug was reported, in particular, in
65 https://bugzilla.redhat.com/show_bug.cgi?id=663932
66
67 ** Do not link pag to dir.
68
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.
72
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.
77
78 * gdbm_setopt
79
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,
83 etc.
84
85 * The testgdbm program is installed
86
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.
90
91 * A testsuite is provided.
92
93 * Improved documentation.
94 \f
95 Version 1.8.3
96
97 * Various configure related changes and additional updates.
98 \f
99 Version 1.8.2
100
101 * Allow `NEWDB'-opened databases to actually, well, store records.
102 \f
103 Version 1.8.1
104
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.
108 \f
109 Version 1.8
110
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.
117 \f
118 Version 1.7.3
119
120 * Fixed a couple of last minute problems.
121
122 Namely, no autoconf.h in version.c, and no GDBM_FASTMODE in gdbm.h!
123
124 * Fixed some documentation bugs.
125 \f
126 Version 1.7.2
127
128 * Enhanced portability and compile/installation changes.
129 * Additional, "fast mode" related gdbm_setopt() option.
130 * Growth problems bug fix.
131 \f
132 Version 1.7.1
133
134 * Enhanced portabilty and compile/installation bug fixes.
135 * Switched over to using an auto config header.
136 * Slight documentation upgrade.
137 \f
138 Version 1.7
139
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.
144 * Various bug fixes.
145 \f
146 Version 1.6
147
148 * New documentation in both man and texinfo formats.
149 * Bug fixes.
150 * A New "writers" mode that does not fsync the database.
151 * Uses Autoconf now.
152 \f
153 Version 1.5
154
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.
158 \f
159 Version 1.4
160
161 * Mainly bug fixes
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.
165 \f
166 Version 1.0
167
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.)
179 \f
180 Version 0.9
181
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.
191 \f
192 \f
193 ----------------------------------------------------------------------
194 Copyright information:
195
196 Copyright (C) 1990-2011 Free Software Foundation, Inc.
197
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.
202
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.
207 \f
208 Local variables:
209 mode: outline
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"
214 time-stamp-end: "\n"
215 end: