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