* NEWS: Document recent changes to fcntl-h.
[gnulib.git] / NEWS
1 Important notes
2 ---------------
3
4 2010-09-04  gnulib-tool     The option '--import' is no longer cumulative; it
5                             now expects the complete list of modules and other
6                             options on the command line. If you want to
7                             augment (not set) the list of modules, use the
8                             new option '--add-import' instead of '--import'.
9
10 User visible incompatible changes
11 ---------------------------------
12
13 Date        Modules         Changes
14
15 2010-09-10 fcntl-h          This module now defaults O_CLOEXEC to 0, and
16                             it defaults O_EXEC and O_SEARCH to O_RDONLY.
17
18 2010-08-28  realloc         This module is deprecated. Use 'realloc-gnu'
19                             instead. It will be removed 2012-01-01.
20
21 2010-08-28  calloc          This module is deprecated. Use 'calloc-gnu'
22                             instead. It will be removed 2012-01-01.
23
24 2010-08-28  malloc          This module is deprecated. Use 'malloc-gnu'
25                             instead. It will be removed 2012-01-01.
26
27 2010-08-14  memxfrm         This module is renamed to amemxfrm. The include
28                             file is renamed to "amemxfrm.h". The function is
29                             renamed to amemxfrm.
30
31 2010-08-09  symlinkat       This module now only provides symlinkat; use the
32                             new module 'readlinkat' if needed.
33
34 2010-07-31  ansi-c++-opt    If Autoconf >= 2.66 is used, the 'configure'
35                             option is now called --disable-c++ rather than
36                             --disable-cxx.
37
38 2010-04-02  maintainer-makefile
39                             The macro _prohibit_regexp has been revamped into
40                             a new macro _sc_search_regexp; custom syntax
41                             checks in your cfg.mk will need to be rewritten.
42
43 2010-03-28  lib-ignore      This module now provides a variable
44                             IGNORE_UNUSED_LIBRARIES_CFLAGS that you should
45                             add to LDFLAGS (when linking C programs only) or
46                             CFLAGS yourself. It is no longer added to LDFLAGS
47                             automatically.
48
49 2010-03-18  pty             This module now only declares the pty.h header.
50                             Use the new modules 'forkpty' or 'openpty' to
51                             get the functions that were previously provided.
52
53 2010-03-05  exit            This module is deprecated, use 'stdlib' directly
54                             instead.  It will be removed 2011-01-01.
55
56 2009-12-13  sublist         The module does not define functions any more that
57                             call xalloc_die() in out-of-memory situations. Use
58                             module 'xsublist' and include file "gl_xsublist.h"
59                             instead.
60
61 2009-12-13  list            The module does not define functions any more that
62                             call xalloc_die() in out-of-memory situations.
63                             Use module 'xlist' and include file "gl_xlist.h"
64                             instead.
65
66 2009-12-13  oset            The module does not define functions any more that
67                             call xalloc_die() in out-of-memory situations.
68                             Use module 'xoset' and include file "gl_xoset.h"
69                             instead.
70
71 2009-12-10  *               Most source code files have been converted to
72                             indentation by spaces (rather than tabs). Patches
73                             of gnulib source code needs to be updated.
74
75 2009-12-09  link-warning    The Makefile rules that use $(LINK_WARNING_H) now
76                             must contain an explicit dependency on
77                             $(LINK_WARNING_H).
78
79 2009-11-12  getgroups       These functions now use a signature of gid_t,
80             getugroups      rather than GETGROUPS_T.  This probably has no
81                             effect except on very old platforms.
82
83 2009-11-04  tempname        The gen_tempname function takes an additional
84                             'suffixlen' argument. You can safely pass 0.
85
86 2009-11-04  nproc           The num_processors function now takes an argument.
87
88 2009-11-02  inet_pton       The use of this module now requires linking with
89                             $(INET_PTON_LIB).
90
91 2009-11-02  inet_ntop       The use of this module now requires linking with
92                             $(INET_NTOP_LIB).
93
94 2009-10-10  utimens         The use of this module now requires linking with
95                             $(LIB_CLOCK_GETTIME).
96
97 2009-09-16  canonicalize-lgpl
98                             The include file is changed from "canonicalize.h"
99                             to <stdlib.h>.
100
101 2009-09-04  link-follow     The macro LINK_FOLLOWS_SYMLINK is now tri-state,
102                             rather than only defined to 1.
103
104 2009-09-03  openat          The include files are standardized to POSIX 2008.
105                             For openat, include <fcntl.h>; for
106                             fchmodat, fstatat, and mkdirat, include
107                             <sys/stat.h>; for fchownat and unlinkat,
108                             include <unistd.h>.  For all other
109                             functions provided by this module,
110                             continue to include "openat.h".
111
112 2009-08-30  striconveh      The functions mem_cd_iconveh and str_cd_iconveh
113                             now take an 'iconveh_t *' argument instead of three
114                             iconv_t arguments.
115
116 2009-08-23  tempname        The gen_tempname function takes an additional
117                             'flags' argument. You can safely pass 0.
118
119 2009-08-12  getopt          This module is deprecated. Please choose among
120                             getopt-posix and getopt-gnu. getopt-gnu provides
121                             "long options" and "options with optional
122                             arguments", getopt-posix doesn't.
123
124 2009-06-25  fpurge          The include file is changed from "fpurge.h" to
125                             <stdio.h>.
126
127 2009-04-26  modules/uniconv/u8-conv-from-enc
128             modules/uniconv/u16-conv-from-enc
129             modules/uniconv/u32-conv-from-enc
130                             The calling convention of the functions
131                             u*_conv_from_encoding is changed.
132
133 2009-04-26  modules/uniconv/u8-conv-to-enc
134             modules/uniconv/u16-conv-to-enc
135             modules/uniconv/u32-conv-to-enc
136                             The calling convention of the functions
137                             u*_conv_to_encoding is changed.
138
139 2009-04-24  maintainer-makefile
140                             The maint.mk file was copied from
141                             coreutils, and the old
142                             coverage/gettext/indent rules were
143                             re-added.  If you used 'make syntax-check'
144                             this will add several new checks.  If some
145                             new check is annoying, add the name of the
146                             checks to 'local-checks-to-skip' in your
147                             cfg.mk.
148
149 2009-04-01  visibility      Renamed to lib-symbol-visibility.
150
151 2009-04-01  ld-version-script  Renamed to lib-symbol-versions.
152
153 2009-03-20  close           The substituted variable LIB_CLOSE is removed.
154
155 2009-03-05  filevercmp      Move hidden files up in ordering.
156
157 2009-01-22  c-strtod        This function no longer calls xalloc_die(). If
158             c-strtold       you want to exit the program in case of out-of-
159                             memory, the calling function needs to arrange
160                             for it, like this:
161                                 errno = 0;
162                                 val = c_strtod (...);
163                                 if (val == 0 && errno == ENOMEM)
164                                   xalloc_die ();
165
166 2009-01-17  relocatable-prog  In the Makefile.am or Makefile.in, you now also
167                             need to set RELOCATABLE_STRIP = :.
168
169 2008-12-22  getaddrinfo     When using this module, you now need to link with
170             canon-host      $(GETADDRINFO_LIB).
171
172 2008-12-21  mbiter          The header files "mbiter.h", "mbuiter.h",
173             mbuiter         "mbfile.h" can now be included without checking
174             mbfile          HAVE_MBRTOWC. The macro HAVE_MBRTOWC will no
175                             longer be defined by these modules in a year. If
176                             you want to continue to use it, you need to invoke
177                             AC_FUNC_MBRTOWC yourself.
178
179 2008-11-11  warnings        This module subsumes the file m4/warning.m4 which
180                             was removed.
181
182 2008-10-20  lstat           The include file is changed from "lstat.h" to
183                             <sys/stat.h>.
184
185 2008-10-20  getaddrinfo     The include file is changed from "getaddrinfo.h"
186                             to <netdb.h>.
187
188 2008-10-19  isnanf          The include file is changed from "isnanf.h" to
189                             <math.h>.
190             isnand          The include file is changed from "isnand.h" to
191                             <math.h>.
192             isnanl          The include file is changed from "isnanl.h" to
193                             <math.h>.
194
195 2008-10-18  lchmod          The include file is changed from "lchmod.h" to
196                             <sys/stat.h>.
197
198 2008-10-18  dirfd           The include file is changed from "dirfd.h" to
199                             <dirent.h>.
200
201 2008-10-18  euidaccess      The include file is changed from "euidaccess.h"
202                             to <unistd.h>.
203
204 2008-10-18  getdomainname   The include file is changed from "getdomainname.h"
205                             to <unistd.h>.
206
207 2008-09-28  sockets         When using this module, you now need to link with
208                             $(LIBSOCKET).
209
210 2008-09-24  sys_select      The limitation on `select', introduced 2008-09-23,
211                             was removed.  sys_select now includes a select
212                             wrapper for Winsock.  The wrapper expects socket
213                             and file descriptors to be compatible as arranged
214                             by the sys_socket on MinGW.
215
216 2008-09-23  sys_socket      Under Windows (MinGW), the module now adds
217                             wrappers around Winsock functions, so that
218                             socket descriptors are now compatible with
219                             file descriptors.  In general, this change
220                             will simply improve your code's portability
221                             between POSIX platforms and Windows.  In
222                             particular, you will be able to use ioctl and
223                             close instead of ioctlsocket and closesocket,
224                             and test errno instead of WSAGetLastError ().
225                             On the other hand, you have to audit your code to
226                             remove usage of these Winsock-specific functions.
227
228                             This change does not remove the need to call
229                             the gl_sockets_startup function from the sockets
230                             gnulib module.  Also, for now select is disabled
231                             when you include the sys_socket module; while
232                             the functionality will be restored soon, for
233                             efficiency it is suggested to use the poll system
234                             poll system call and gnulib module instead.
235
236 2008-09-13  EOVERFLOW       The module is removed. Use module errno instead.
237
238 2008-09-01  filename        The module does not define the function
239                             concatenated_filename any more. To get an
240                             equivalent function, use function
241                             xconcatenated_filename from module
242                             'xconcat-filename'.
243
244 2008-08-31  havelib         On Solaris, when searching for 64-bit mode
245                             libraries the directory $prefix/lib is now ignored.
246                             Instead the directory $prefix/lib/64 is searched.
247                             You may need to create a symbolic link for
248                             $prefix/lib/64 if you have 64-bit libraries
249                             installed in $prefix/lib.
250
251 2008-08-19  strverscmp      The include file is changed from "strverscmp.h"
252                             to <string.h>.
253
254 2008-08-14  lock            The include file is changed from "lock.h"
255                             to "glthread/lock.h".
256             tls             The include file is changed from "tls.h"
257                             to "glthread/tls.h".
258
259 2008-07-17  c-stack         The module now requires the addition of
260                             $(LIBCSTACK) or $(LTLIBCSTACK) in Makefile.am,
261                             since it may depend on linking with libsigsegv.
262
263 2008-07-07  isnanf-nolibm   The include file is changed from "isnanf.h"
264                             to "isnanf-nolibm.h".
265             isnand-nolibm   The include file is changed from "isnand.h"
266                             to "isnand-nolibm.h".
267
268 2008-06-10  execute         The execute function takes an additional termsigp
269                             argument. Passing termsigp = NULL is ok.
270             wait-process    The wait_subprocess function takes an additional
271                             termsigp argument. Passing termsigp = NULL is ok.
272
273 2008-05-10  linebreak       The module is split into several modules unilbrk/*.
274                             The include file is changed from "linebreak.h" to
275                             "unilbrk.h". Two functions are renamed:
276                             mbs_possible_linebreaks -> ulc_possible_linebreaks
277                             mbs_width_linebreaks -> ulc_width_linebreaks
278
279 2008-04-28  rpmatch         The include file is now <stdlib.h>.
280
281 2008-04-28  inet_ntop       The include file is changed from "inet_ntop.h"
282                             to <arpa/inet.h>.
283
284 2008-04-28  inet_pton       The include file is changed from "inet_pton.h"
285                             to <arpa/inet.h>.
286
287 2008-03-06  freadahead      The return value's computation has changed. It
288                             now increases by 1 after ungetc.
289
290 2008-01-26  isnan-nolibm    The module name is changed from isnan-nolibm to
291                             isnand-nolibm. The include file is changed from
292                             "isnan.h" to "isnand.h". The function that it
293                             defines is changed from isnan() to isnand().
294
295 2008-01-14  strcasestr      This module now replaces worst-case inefficient
296                             implementations; clients that use controlled
297                             needles and thus do not care about worst-case
298                             efficiency should use the new strcasestr-simple
299                             module instead for smaller code size.
300
301 2008-01-09  alloca-opt      Now defines HAVE_ALLOCA_H only when the system
302                             supplies an <alloca.h>.  Gnulib-using code is now
303                             expected to include <alloca.h> unconditionally.
304                             Non-gnulib-using code can continue to include
305                             <alloca.h> only if HAVE_ALLOCA_H is defined.
306
307 2008-01-08  memmem          This module now replaces worst-case inefficient
308                             implementations; clients that use controlled
309                             needles and thus do not care about worst-case
310                             efficiency should use the new memmem-simple
311                             module instead for smaller code size.
312
313 2007-12-24  setenv          The include file is changed from "setenv.h" to
314                             <stdlib.h>. Also, the unsetenv function is no
315                             longer declared in this module; use the 'unsetenv'
316                             module if you need it.
317
318 2007-12-03  getpagesize     The include file is changed from "getpagesize.h"
319                             to <unistd.h>.
320
321 2007-12-03  strcase         The include file is changed from <string.h> to
322                             <strings.h>.
323
324 2007-10-07  most modules    The license for most modules has changed from
325                             GPLv2+ to GPLv3+, and from LGPLv2+ to LGPLv3+.
326                             A few modules are still under LGPLv2+; see the
327                             module description for the applicable license.
328
329 2007-09-01  linebreak       "linebreak.h" no longer declares the functions
330                             locale_charset, uc_width, u{8,16,32}_width. Use
331                             "uniwidth.h" to get these functions declared.
332
333 2007-08-28  areadlink-with-size
334                             Renamed from mreadlink-with-size.
335                             Function renamed: mreadlink_with_size ->
336                             areadlink_with_size.
337
338 2007-08-22  getdelim, getline
339                             The include file is changed from "getdelim.h"
340                             and "getline.h" to the POSIX 200x <stdio.h>.
341
342 2007-08-18  idcache         Now provides prototypes in "idcache.h".
343
344 2007-08-10  xstrtol         The STRTOL_FATAL_ERROR macro is removed.
345                             Use the new xstrtol_fatal function instead.
346
347 2007-08-04  human           The function human_options no longer reports an
348                             error to standard error; that is now the
349                             caller's responsibility.  It returns an
350                             error code of type enum strtol_error
351                             instead of the integer option value, and stores
352                             the option value via a new int * argument.
353             xstrtol         The first two arguments of STRTOL_FATAL_ERROR
354                             are now an option name and option argument
355                             instead of an option argument and a type string,
356                             STRTOL_FAIL_WARN is removed.
357
358 2007-07-14  gpl, lgpl       New Texinfo versions with no sectioning commands.
359
360 2007-07-10  version-etc     Output now mentions GPLv3+, not GPLv2+.  Use
361                             gnulib-tool --local-dir to override this.
362
363 2007-07-07  wcwidth         The include file is changed from "wcwidth.h" to
364                             <wchar.h>.
365
366 2007-07-02  gpl, lgpl       Renamed to gpl-2.0 and lgpl-2.1 respectively.
367                             (There is also a new module gpl-3.0.)
368
369 2007-06-16  lchown          The include file is changed from "lchown.h" to
370                             <unistd.h>.
371
372 2007-06-09  xallocsa        Renamed to xmalloca. The include file "xallocsa.h"
373                             was remamed to "xmalloca.h". The function was
374                             renamed:
375                               xallocsa -> xmalloca
376
377 2007-06-09  allocsa         Renamed to malloca. The include file "allocsa.h"
378                             was remamed to "malloca.h". The function-like
379                             macros were renamed:
380                               allocsa -> malloca
381                               freesa -> freea
382
383 2007-05-20  utimens         Renamed futimens to gl_futimens, to avoid
384                             conflict with the glibc-2.6-introduced function
385                             that has a different signature.
386
387 2007-05-01  sigprocmask     The module now depends on signal, so replace
388                               #include "sigprocmask.h"
389                             with
390                               #include <signal.h>
391
392 2007-04-06  gettext         The macro HAVE_LONG_DOUBLE is no longer set.
393                             You can replace all its uses with 1, i.e. assume
394                             'long double' as a type exists.
395
396 2007-04-01  arcfour         Renamed to crypto/arcfour.
397             arctwo          Renamed to crypto/arctwo.
398             des             Renamed to crypto/des.
399             gc              Renamed to crypto/gc.
400             gc-arcfour      Renamed to crypto/gc-arcfour.
401             gc-arctwo       Renamed to crypto/gc-arctwo.
402             gc-des          Renamed to crypto/gc-des.
403             gc-hmac-md5     Renamed to crypto/gc-hmac-md5.
404             gc-hmac-sha1    Renamed to crypto/gc-hmac-sha1.
405             gc-md2          Renamed to crypto/gc-md2.
406             gc-md4          Renamed to crypto/gc-md4.
407             gc-md5          Renamed to crypto/gc-md5.
408             gc-pbkdf2-sha1  Renamed to crypto/gc-pbkdf2-sha1.
409             gc-random       Renamed to crypto/gc-random.
410             gc-rijndael     Renamed to crypto/gc-rijndael.
411             gc-sha1         Renamed to crypto/gc-sha1.
412             hmac-md5        Renamed to crypto/hmac-md5.
413             hmac-sha1       Renamed to crypto/hmac-sha1.
414             md2             Renamed to crypto/md2.
415             md4             Renamed to crypto/md4.
416             md5             Renamed to crypto/md5.
417             rijndael        Renamed to crypto/rijndael.
418             sha1            Renamed to crypto/sha1.
419
420 2007-03-27  vasprintf       The module now depends on stdio, so replace
421                                #include "vasprintf.h"
422                             with
423                                #include <stdio.h>
424
425 2007-03-24  tsearch         The include file is changed from "tsearch.h" to
426                             <search.h>.
427
428 2007-03-24  utf8-ucs4       The include file is changed from "utf8-ucs4.h"
429                             to "unistr.h".
430             utf8-ucs4-unsafe  The include file is changed from
431                             "utf8-ucs4-unsafe.h" to "unistr.h".
432             utf16-ucs4      The include file is changed from "utf16-ucs4.h"
433                             to "unistr.h".
434             utf16-ucs4-unsafe  The include file is changed from
435                             "utf16-ucs4-unsafe.h" to "unistr.h".
436             ucs4-utf8       The include file is changed from "ucs4-utf8.h"
437                             to "unistr.h".
438             ucs4-utf16      The include file is changed from "ucs4-utf16.h"
439                             to "unistr.h".
440
441 2007-03-19  iconvme         The module is removed. Use module striconv instead:
442                             iconv_string -> str_iconv
443                             iconv_alloc -> str_cd_iconv (with reversed
444                                            arguments)
445
446 2007-03-15  list            The functions gl_list_create_empty and
447             array-list      gl_list_create now take an extra fourth argument.
448             carray-list     You can pass NULL.
449             linked-list
450             linkedhash-list
451             avltree-list
452             rbtree-list
453             avltreehash-list
454             rbtreehash-list
455
456 2007-03-15  oset            The function gl_oset_create_empty now takes a
457             array-oset      third argument. You can pass NULL.
458             avltree-oset
459             rbtree-oset
460
461 2007-03-12  des             The types and functions in lib/des.h have been
462             gc-des          renamed:
463
464                             des_ctx -> gl_des_ctx, tripledes_ctx -> gl_3des_ctx,
465                             des_is_weak_key -> gl_des_is_weak_key,
466                             des_setkey -> gl_des_setkey,
467                             des_makekey -> gl_des_makekey,
468                             des_ecb_crypt -> gl_des_ecb_crypt,
469                             des_ecb_encrypt -> gl_des_ecb_encrypt,
470                             des_ecb_decrypt -> gl_des_ecb_decrypt,
471                             tripledes_set2keys -> gl_3des_set2keys,
472                             tripledes_set3keys -> gl_3des_set3keys,
473                             tripledes_makekey -> gl_3des_makekey,
474                             tripledes_ecb_crypt -> gl_3des_ecb_crypt.
475
476                             Also consider using the "gc-des" buffer instead of
477                             using the "des" module directly.
478
479 2007-02-28  xreadlink       The module xreadlink was renamed to
480                             xreadlink-with-size. The function was renamed:
481                             xreadlink -> xreadlink_with_size.
482
483 2007-02-18  exit            The modules now depend on stdlib, so replace
484             mkdtemp           #include "exit.h"
485             mkstemp           #include "mkdtemp.h"
486                               #include "mkstemp.h"
487                             with
488                               #include <stdlib.h>
489
490 2007-01-26  strdup          The module now depends on string, so replace
491                               #include "strdup.h"
492                             with
493                               #include <string.h>
494
495 # This is for Emacs.
496 # Local Variables:
497 # indent-tabs-mode: nil
498 # whitespace-check-buffer-indent: nil
499 # End: