1 Important general notes
2 -----------------------
6 2022-07-24 bootstrap To specify a reference directory for the 'gnulib'
7 submodule, use the environment variable
8 GNULIB_REFDIR instead of GNULIB_SRCDIR or the
9 command-line option --gnulib-refdir instead of
12 2022-02-20 (all) Automake >= 1.14 and Autoconf >= 2.64 are required.
14 2021-06-04 (all) The license notices in source files are now really
15 stating the effective license, rather than a fake
17 gnulib-tool no longer replaces GPL notices in source
18 files by something else.
20 2020-08-16 (all) Automake >= 1.11 and Autoconf >= 2.64 are required.
22 2019-12-11 Support for These modules are now supported in C++ mode as well.
23 ISO C or POSIX This means, while the autoconfiguration uses the C
24 functions compiler, the resulting header files and function
25 substitutes can be used with a matching C++ compiler
28 2019-02-14 gnulib-tool If you use multiple --local-dir options at once:
29 The first one now has the highest priority, not the
32 2019-01-04 (all) The meaning of the 'Link' section in the module
33 descriptions has been clarified: It overrides the
34 combined 'Link' sections from the dependencies.
36 2018-10-22 (all) Automake >= 1.11 and Autoconf >= 2.63 are required.
38 2016-09-05 progname There is now an alternate module 'getprogname'. It
39 defines a getprogname() function; use it to obtain
40 the name of the current program.
42 - In a program's main() function, and associated
43 usage() and help() functions, use 'progname'.
44 - In library code, or more generally any code that
45 is not near the main() function, use
48 2013-04-24 gettext If your project uses 'gettextize --intl' it is now
49 your responsibility to put -I$(top_builddir)/intl
50 into the Makefile.am for gnulib.
52 2012-06-27 elisp-comp The module 'elisp-comp' is removed; the script is
53 not independently useful outside of automake.
55 2012-06-21 gnulib-tool The option --with-tests is now implied by the
56 options --create-testdir, --test,
57 --create-megatestdir, --megatest.
59 2012-01-07 quotearg In the C locale, the function will no longer use
60 the grave accent character to begin a quoted
61 string (`like this'). It will use apostrophes
62 'like these' or, in Unicode locales, single quotes
63 ‘like these’. You may want to adjust any error
64 messages that hard code the quoting characters.
66 2010-09-04 gnulib-tool The option '--import' is no longer cumulative; it
67 now expects the complete list of modules and other
68 options on the command line. If you want to
69 augment (not set) the list of modules, use the
70 new option '--add-import' instead of '--import'.
72 User visible incompatible changes
73 ---------------------------------
77 2024-02-09 strftime This module, deprecated on 2017-07-23, is removed.
78 Use module 'nstrftime' instead.
80 2023-09-03 same-inode SAME_INODE, ST_BLKSIZE and ST_NBLOCKS args
81 stat-size must be addressable lvalues.
83 2023-08-08 readutmp The result element type of the function read_utmp,
84 STRUCT_UTMP, is no longer the same as the result
85 value type of the function getutxent, struct utmpx.
87 2023-08-03 readutmp Some STRUCT_UTMP members can be char *,
88 2023-08-01 rather than fixed-length char arrays.
89 On some platforms, the timestamp is ut_ts of type
90 struct timespec, not ut_tv of type struct timeval,
91 and ut_session is pid_t not long.
92 read_utmp's 2nd arg is now idx_t * not size_t *.
93 Link additionally with $(READUTMP_LIB).
95 2023-07-10 dfa The signature of the function
96 case_folded_counterparts, declared in localeinfo.h,
99 2023-06-10 javacomp-script These modules now compile the Java code with option
100 javacomp '-source 1.6' or higher. As a consequence, the
101 compiler may emit notes "... uses unchecked or
102 unsafe operations". To avoid these notes, add
103 template arguments to the types or functions.
105 2023-04-28 largefile-required
107 Modules removed, for consistency with Autoconf
108 master. Use new module year2038-recommended
109 instead of year2038-required.
111 2023-03-25 mtx This module no longer provides the function
112 call_once. To get this function, use the new
113 separate module 'call_once'.
115 2023-03-08 time This module is renamed to 'time-h'.
116 The new 'time' module now also works around an
117 inconsistency in glibc 2.31+ on Linux.
119 2023-02-07 c-nullptr Rename this module to nullptr.
121 2023-01-21 getprogname The include file is changed from "getprogname.h"
124 2023-01-15 stdalign This module is deprecated. Use alignasof instead.
126 2023-01-13 acl Link additionally with $(QCOPY_ACL_LIB).
131 2023-01-13 qcopy-acl Link with $(QCOPY_ACL_LIB) instead of $(LIB_ACL).
133 2023-01-07 timer_time Link with $(TIMER_TIME_LIB) instead of
136 2023-01-07 setlocale-null Link with $(SETLOCALE_NULL_LIB) instead of
137 $(LIB_SETLOCALE_NULL).
139 2023-01-07 setlocale Link with $(SETLOCALE_LIB) instead of
142 2023-01-07 select Link with $(SELECT_LIB) instead of $(LIB_SELECT).
144 2023-01-07 sched_yield Link with $(SCHED_YIELD_LIB) instead of
147 2023-01-07 pthread_sigmask Link with $(PTHREAD_SIGMASK_LIB) instead of
148 $(LIB_PTHREAD_SIGMASK).
150 2023-01-07 posix_spawn Link with $(POSIX_SPAWN_LIB) instead of
153 2023-01-07 poll Link with $(POLL_LIB) instead of $(LIB_POLL).
155 2023-01-07 nanosleep Link with $(NANOSLEEP_LIB) instead of
158 2023-01-07 mbrtowc Link with $(MBRTOWC_LIB) instead of $(LIB_MBRTOWC).
160 2023-01-07 hard-locale Link with $(HARD_LOCALE_LIB) instead of
163 2023-01-07 getrandom Link with $(GETRANDOM_LIB) instead of
166 2023-01-07 getlogin Link with $(GETLOGIN_LIB) instead of
167 getlogin_r $(LIB_GETLOGIN).
169 2023-01-07 gethrxtime Link with $(GETHRXTIME_LIB) instead of
172 2023-01-07 fdatasync Link with $(FDATASYNC_LIB) instead of
175 2023-01-07 euidaccess Link with $(EUIDACCESS_LIBGEN) instead of
178 2023-01-07 duplocale Link with $(DUPLOCALE_LIB) instead of
181 2023-01-07 clock_time Link with $(CLOCK_TIME_LIB) instead of
182 $(LIB_CLOCK_GETTIME).
184 2023-01-06 file-has-acl Link with $(FILE_HAS_ACL_LIB), not $(LIB_HAS_ACL).
186 2022-12-25 largefile configure no longer enables year-2038 support,
187 unless you configure with --enable-year2038
188 or use the year2038 module. This temporary
189 hack should go away before the year 2038.
191 2022-12-24 stdnoreturn This module is deprecated. Use _Noreturn
192 or the noreturn module instead.
194 2022-12-21 ctime This module is deprecated. Use localtime_r
195 and strftime (or even sprintf) instead.
197 2022-11-03 dynarray These modules are renamed to glibc-internal/dynarray
198 scratch_buffer and glibc-internal/scratch_buffer, respectively.
199 They are not meant for general use.
201 2022-11-02 scratch_buffer The function 'gl_scratch_buffer_dupfree' is removed.
203 2022-09-10 stdbool This module now assumes C99 and provides C23,
204 instead of providing C99. For the old behavior,
205 use the already-deprecated stdbool-c99 module.
207 2022-03-09 statat This module is deprecated. Use fstatat instead.
209 2022-01-05 stack This module now uses idx_t instead of size_t
210 for indexes and counts.
212 2021-08-27 base32 These modules now use idx_t instead of size_t
213 base64 for indexes and counts.
215 2021-07-29 (all) Due to draft C2x, the following attributes should
216 now appear at the start of a function declaration:
217 _GL_ATTRIBUTE_DEPRECATED
218 _GL_ATTRIBUTE_MAYBE_UNUSED
219 _GL_ATTRIBUTE_NODISCARD
220 attribute Likewise for DEPRECATED, MAYBE_UNUSED, NODISCARD.
221 snippet/unused-parameter
222 Likewise for _GL_UNUSED_PARAMETER.
224 2021-07-01 largefile AC_SYS_LARGEFILE now also arranges for time_t
225 to be 64-bit on 32-bit GNU/Linux platforms
226 that support it (glibc 2.34 or later).
228 2021-03-21 fatal-signal The function at_fatal_signal now returns an error
231 2021-03-21 diacrit This deprecated module is removed.
233 2021-03-07 mbrtowc For single-locale optimizations, you now need to
234 mbrtoc32 define GNULIB_WCHAR_SINGLE_LOCALE instead of
235 wcwidth GNULIB_WCHAR_SINGLE.
237 2021-02-28 parse-datetime The parse_datetime2 function has been moved
238 to the new parse-datetime2 module, so that
239 programs that need just parse_datetime need
240 not build the fancier function.
242 2020-12-23 execute These functions no longer execute scripts without
243 spawn-pipe '#!' marker through /bin/sh. To execute such a
244 posix_spawn script as a shell script, either add a '#!/bin/sh'
245 posix_spawnp marker in the first line, or specify "/bin/sh" as
246 the program to execute and the script as its first
249 2020-12-18 free This module, obsoleted in 2008, is gone.
251 2020-12-14 findprog-in The function 'find_in_given_path' now takes a 3rd
252 argument 'const char *directory'. To maintain the
253 previous behaviour, insert NULL as additional 3rd
256 2020-12-11 sh-quote The argv argument of the 'shell_quote_argv' function
257 is now of type 'const char * const *'. You no
258 longer need to cast read-only strings to 'char *'
259 when constructing this argument.
260 execute The prog_argv argument of the 'execute' function
261 is now of type 'const char * const *'. You no
262 longer need to cast read-only strings to 'char *'
263 when constructing this argument.
264 spawn-pipe The prog_argv argument of the functions
265 'create_pipe_out', 'create_pipe_in',
266 'create_pipe_bidi' is now of type
267 'const char * const *'. You no longer need to cast
268 read-only strings to 'char *' when constructing this
270 pipe-filter-gi The prog_argv argument of the
271 'pipe_filter_gi_create' function is now of type
272 'const char * const *'. You no longer need to cast
273 read-only strings to 'char *' when constructing this
275 pipe-filter-ii The prog_argv argument of the
276 'pipe_filter_ii_execute' function is now of type
277 'const char * const *'. You no longer need to cast
278 read-only strings to 'char *' when constructing this
280 javaexec The prog_argv argument of the 'execute_fn' function
281 type is now of type 'const char * const *'. Update
282 the signature of all your implementations of this
284 csharpexec The prog_argv argument of the 'execute_fn' function
285 type is now of type 'const char * const *'. Update
286 the signature of all your implementations of this
289 2020-12-02 spawn-pipe The functions 'create_pipe_out', 'create_pipe_in',
290 'create_pipe_bidi' now take a 4th argument
291 'const char *directory'. To maintain the previous
292 behaviour, insert NULL as additional 4th argument.
294 2020-12-02 execute The function 'execute' now takes a 4th argument
295 'const char *directory'. To maintain the previous
296 behaviour, insert NULL as additional 4th argument.
298 2020-10-16 hash This module deprecates the 'hash_delete' function
299 using gcc's "deprecated" attribute. Use the better-
300 named 'hash_remove' equivalent.
302 2020-08-24 diffseq If you do not define NOTE_ORDERED to true,
303 the NOTE_DELETE and NOTE_INSERT actions might
304 not be done in order, to help cut down worst-case
305 recursion stack space from O(N) to O(log N).
307 2020-08-01 libtextstyle-optional You now need to invoke
308 gl_LIBTEXTSTYLE_OPTIONAL explicitly, because
309 this macro now takes an optional
310 MINIMUM-VERSION argument.
312 2020-08-01 libtextstyle You now need to invoke gl_LIBTEXTSTYLE explicitly,
313 because this macro now takes an optional
314 MINIMUM-VERSION argument.
316 2020-06-27 clean-temp The functions open_temp, fopen_temp now take a
317 'bool delete_on_close' argument. If in doubt, pass
320 2020-06-27 tempname The link requirements of these modules are changed
321 mkdtemp from empty to $(LIB_GETRANDOM).
330 javacomp $(LIB_GETRANDOM) was added to the link requirements
333 2020-05-27 read-file The functions provided by this module now take an
334 'int flags' argument to modify the file reading
335 behavior. The read_binary_file function has been
336 removed as it is no longer necessary.
338 2020-04-27 getdate This deprecated module is removed. Use the module
339 'parse-datetime' instead. Instead of
342 #include "parse-datetime.h"
343 The function get_date is renamed to parse_datetime.
345 2020-04-27 realloc This deprecated module is removed. Use the module
346 'realloc-gnu' instead.
348 2020-04-27 calloc This deprecated module is removed. Use the module
349 'calloc-gnu' instead.
351 2020-04-27 malloc This deprecated module is removed. Use the module
352 'malloc-gnu' instead.
354 2020-04-27 fnmatch-posix This deprecated module is removed. Use the module
357 2020-04-27 pipe This deprecated module is removed. Use the module
358 'spawn-pipe' instead. Instead of
361 #include "spawn-pipe.h"
363 2020-04-27 getopt This deprecated module is removed. Please choose
364 among getopt-posix and getopt-gnu. getopt-gnu
365 provides "long options" and "options with optional
366 arguments", getopt-posix doesn't.
368 2020-04-27 rename-dest-slash This deprecated module is removed. Use the
369 module 'rename' instead.
371 2020-04-27 unictype/bidicategory-* These deprecated modules are removed. Use
372 the modules unictype/bidiclass-* instead.
374 2020-03-28 dosname On native Windows, OS/2, DOS,
375 IS_RELATIVE_FILE_NAME("c:") now returns false.
377 2020-03-28 filename The macro IS_ABSOLUTE_PATH is deprecated. Use
378 IS_ABSOLUTE_FILE_NAME instead.
379 The macro IS_PATH_WITH_DIR is deprecated. Use
380 IS_FILE_NAME_WITH_DIR instead.
382 2020-02-22 fchownat This module no longer defines the functions
383 'chownat' and 'lchownat'. Program that need these
384 functions should add the module 'chownat' to the
385 list of imported modules.
387 2020-02-22 fchmodat This module no longer defines the functions
388 'chmodat' and 'lchmodat'. Program that need these
389 functions should add the module 'chmodat' to the
390 list of imported modules.
392 2020-02-07 fchmodat When applied to non-symlinks, these now act like
393 lchmod chmod (the BSD behavior, which POSIX requires for
394 fchmodat + AT_SYMLINK_NOFOLLOW), instead of failing
395 (the GNU/Linux behavior through glibc 2.31).
396 Future versions of GNU/Linux are planned to act as
399 2020-01-15 gc-pbkdf2-sha1 This module is deprecated. Use gc-pbkdf2 instead.
401 2019-12-12 dfa Its API now uses ptrdiff_t instead of size_t.
403 2019-12-11 dfa To call dfamust, one must now call dfaparse
404 without yet calling dfacomp. This fixes a bug
405 introduced on 2018-10-22 that broke dfamust.
407 2019-12-07 xstrtol This module no longer defines the function
408 xstrtoll 'xstrtol_fatal'. Program that need this function
409 xstrtoimax should add the module 'xstrtol-error' to the list
410 xstrtoumax of imported modules.
412 2019-05-90 verify verify_true (deprecated 2011-06-15) is removed.
414 2019-03-16 fatal-signal The function that you pass to at_fatal_signal now
415 takes the signal as argument.
417 2019-02-02 c-strtod This and related modules no longer define
418 the HAVE_C99_STRTOLD macro. Programs requiring
419 standard strtold should use the strtold module.
421 2019-01-21 diacrit This module is deprecated. Please use the module
422 uninorm/canonical-decomposition instead.
424 2018-10-23 backupfile backup_file_rename and find_backup_file_name
425 now take an additional directory file descriptor
426 argument. Pass AT_FDCWD to get the old behavior.
428 2018-08-18 getpass The include file is changed from "getpass.h" to
429 getpass-gnu <unistd.h>.
431 2018-07-17 hard-locale m4/hard-locale.m4 and gl_HARD_LOCALE are removed.
433 2018-07-05 renameat2 This module is renamed to 'renameatu' and all
434 its include files and functions are renamed
437 2017-12-30 chdir-safer This module is removed. It was deprecated
440 2017-11-24 posixtm Previously, callers had to specify either
441 PDS_LEADING_YEAR or PDS_TRAILING_YEAR (but
442 not both). Now, callers should specify
443 only PDS_TRAILING_YEAR; leading years are
444 requested by not specifying PDS_TRAILING_YEAR.
446 2017-08-14 fcntl-h This module now defaults O_CLOEXEC to a nonzero
447 value instead of to 0, as the 'open' and
448 'openat' modules now emulate O_CLOEXEC.
450 2017-07-23 strftime This module is renamed to 'nstrftime'.
452 2017-05-19 closeout close_stdout longer closes stderr when addresses
453 are being sanitized, as the sanitizer outputs to
456 2017-02-16 binary-io On MS-DOS and OS/2, set_binary_mode now fails
457 on ttys, and sets errno == EINVAL.
459 2017-01-20 parse-datetime The parse_datetime2 function now takes two
460 more arguments TZ and TZSTRING, for the
461 time zone and its name.
463 2017-01-16 host-cpu-c-abi On ARM platforms, HOST_CPU_C_ABI is now set to
464 'arm' or 'armhf' instead of 'armel'.
466 2017-01-15 localeinfo Change case_folded_counterparts's first arg's type
467 from wchar_t to wint_t, so it now accepts WEOF.
469 2016-12-17 getlogin The link requirements of these modules are changed
470 getlogin_r from empty to $(LIB_GETLOGIN).
472 2016-12-13 dfa Remove DFA_CASE_FOLD flag. Now based on RE_ICASE.
474 2016-11-17 unistr/u32-strmblen The function u32_strmblen can now return -1.
475 2016-11-17 unistr/u32-strmbtouc The function u32_strmbtouc can now return -1.
477 2016-08-17 stdbool This no longer supports _Bool for C++.
478 Programs intended to be portable to C++
479 compilers should use plain 'bool' instead.
481 2016-04-12 intprops The following macros were removed:
482 TYPE_TWOS_COMPLEMENT TYPE_ONES_COMPLEMENT
483 TYPE_SIGNED_MAGNITUDE
485 2015-09-25 c-ctype The following macros were removed:
486 C_CTYPE_CONSECUTIVE_DIGITS
487 C_CTYPE_CONSECUTIVE_LOWERCASE
488 C_CTYPE_CONSECUTIVE_UPPERCASE
490 2015-09-22 savewd SAVEWD_CHDIR_READABLE constant removed.
492 2015-07-24 fprintftime Exported functions' time zone arguments are now of
493 strftime type timezone_t (with NULL denoting UTC) instead of
494 type int (with nonzero denoting UTC). These
495 modules now depend on time_rz.
497 2015-04-24 acl This module no longer defines file_has_acl.
498 Use the new file-has-acl module for that.
499 Using only the latter module makes for fewer
500 link-time dependencies on GNU/Linux.
502 2015-04-15 acl If your project only uses the file_has_acl()
503 detection routine, then the requirements are
504 potentially reduced by using $LIB_HAS_ACL rather
507 2015-04-03 hash hash_insert0 function removed (deprecated in 2011).
509 2014-10-29 obstack The obstack functions are no longer limited to
510 int sizes; size values are now of type size_t.
511 This changes both the ABI and the API.
512 obstack_blank no longer accepts a negative size to
513 shrink the current object; callers must now use
514 obstack_blank_fast with a "negative" (actually,
515 large positive) size for that.
517 2014-02-23 diffseq The members too_expensive, lo_minimal and hi_minimal
518 were removed from public structures, and the
519 find_minimal argument was removed from diag
522 2014-02-11 savedir The savedir and streamsavedir functions have a
523 new argument specifying how to sort the result.
524 The fdsavedir function is removed.
526 2013-05-04 gnulib-tool CVS checkout of gnulib are no longer supported.
528 2013-02-08 careadlinkat This module no longer provides the careadlinkatcwd
531 2012-06-26 getopt-posix This module no longer guarantees that option
532 processing is resettable. If your code uses
533 'optreset' or 'optind = 0;', rewrite it to make
534 only one pass over the argument array.
536 2012-02-24 streq This module no longer provides the STREQ macro.
537 Use STREQ_OPT instead.
539 2012-01-10 ignore-value This module no longer provides the ignore_ptr
540 function. It was deprecated a year ago, but existed
541 so briefly before then that it never came into use.
542 Now, the ignore_value function does its job.
544 2011-11-18 hash This module deprecates the hash_insert0 function
545 using gcc's "deprecated" attribute. Use the better-
546 named hash_insert_if_absent equivalent.
548 2011-11-04 openat This module no longer provides the mkdirat()
549 function. If you need this function, you now need
550 to request the 'mkdirat' module.
552 2011-11-04 openat This module no longer provides the fstatat()
553 function. If you need this function, you now need
554 to request the 'fstatat' module.
556 2011-11-03 openat This module no longer provides the unlinkat()
557 function. If you need this function, you now need
558 to request the 'unlinkat' module.
560 2011-11-02 openat This module no longer provides the fchmodat()
561 function. If you need this function, you now need
562 to request the 'fchmodat' module.
564 2011-11-01 alignof This module no longer provides the alignof() macro.
565 Use either alignof_slot() or alignof_type() instead.
567 2011-11-01 openat This module no longer provides the fchownat()
568 function. If you need this function, you now need
569 to request the 'fchownat' module.
571 2011-10-03 poll The link requirements of this module are changed
572 from empty to $(LIB_POLL).
574 2011-09-25 sys_stat This module no longer provides the fstat()
575 function. If you need this function, you now need
576 to request the 'fstat' module.
578 2011-09-23 signal This module is renamed to 'signal-h'.
580 2011-09-22 select The link requirements of this module are changed
581 from $(LIBSOCKET) to $(LIB_SELECT).
583 2011-09-12 fchdir This module no longer overrides the functions
584 opendir() and closedir(), unless the modules
585 'opendir' and 'closedir' are in use, respectively.
586 If you use opendir(), please use module 'opendir'.
587 If you use closedir(), please use module 'closedir'.
589 2011-08-04 pathmax The header file "pathmax.h" no longer defines
590 PATH_MAX on GNU/Hurd. Please use one of the methods
591 listed in pathmax.h to ensure your package is
592 portable to GNU/Hurd.
594 2011-07-24 close This module no longer pulls in the 'fclose' module.
595 If your code creates a socket descriptor using
596 socket() or accept(), then a FILE stream referring
597 to it using fdopen(), then in order to close this
598 stream, you need the 'fclose' module.
600 2011-07-12 arg-nonnull Renamed to snippet/arg-nonnull.
601 c++defs Renamed to snippet/c++defs.
602 link-warning Renamed to snippet/link-warning.
603 unused-parameter Renamed to snippet/unused-parameter.
604 warn-on-use Renamed to snippet/warn-on-use.
606 2011-06-15 verify verify_true (V) is deprecated; please use
607 verify_expr (V, 1) instead.
609 2011-06-05 ansi-c++-opt When a C++ compiler is not found, the variable CXX
610 is now set to "no", not to ":".
612 2011-05-11 group-member The include file is changed from "group-member.h"
615 2011-05-02 exit The module is removed. It was deprecated
616 on 2010-03-05. Use 'stdlib' directly instead.
618 2011-04-27 mgetgroups The 'xgetgroups' function has been split into
619 a new 'xgetgroups' module.
621 2011-04-27 save-cwd This module pulls in fewer dependencies by
622 default; to retain robust handling of directories
623 with an absolute name longer than PATH_MAX, you
624 must now explicitly include the 'getcwd' module.
626 2011-04-19 close-hook This module has been renamed to 'fd-hook' and
629 2011-03-08 regex-quote The last argument is no longer an 'int cflags'
630 but instead a pointer to a previously constructed
631 'struct regex_quote_spec'.
633 2011-02-25 dirname These modules no longer put #defines for the
634 dirname-lgpl following symbols into <config.h>: ISSLASH,
635 backupfile FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX,
636 lstat FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR,
637 openat FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE.
638 remove Applications that need ISSLASH can include the new
639 rmdir header dosname.h.
644 2011-02-14 getloadavg This module no longer #defines C_GETLOADAVG or
645 HAVE_GETLOADAVG, as the application no longer needs
646 to worry about how getloadavg is defined. It no
647 longer defines the obsolete symbol NLIST_NAME_UNION
648 (which should have been internal to the module
649 anyway). Also, support for setgid use has been
650 removed, as nobody seems to be using it; thus
651 GETLOADAVG_PRIVILEGED is no longer #defined and
652 KMEM_GROUP and NEED_SETGID are no longer
655 2011-02-08 stdlib Unless the random_r module is also used, this
656 module no longer guarantees that the following are
657 defined: struct random_data, RAND_MAX, random_r,
658 srandom_r, initstate_r, setstate_r.
660 2011-02-08 wctype-h This module no longer provides the iswblank()
661 function. If you need this function, you now need
662 to request the 'iswblank' module.
664 2011-02-07 wctype This module is renamed to wctype-h.
666 2011-01-18 multiarch This no longer #defines AA_APPLE_UNIVERSAL_BUILD;
667 instead, use the shell var APPLE_UNIVERSAL_BUILD.
669 2010-12-10 pipe This module is renamed to spawn-pipe. The include
670 file is renamed to "spawn-pipe.h".
672 2010-10-05 getdate This module is deprecated. Please use the new
673 parse-datetime module for the replacement
674 function parse_datetime(), or help us write
675 getdate-posix for getdate(). Also, the header
676 "getdate.h" has been renamed "parse-datetime.h",
677 and doc/getdate.texi to doc/parse-datetime.texi.
679 2010-09-29 sys_wait This module no longer provides the waitpid()
680 function. If you need this function, you now need
681 to request the 'waitpid' module.
683 2010-09-17 utimens The function gl_futimens is removed, and its
684 signature has been migrated to fdutimens. Callers
685 of gl_futimens should change function name, and
686 callers of fdutimens should swap parameter order.
688 2010-09-17 fdutimensat This function has a new signature: the fd now comes
689 first instead of the dir/name pair, and a new
690 atflag parameter is added at the end. Old code
691 should rearrange parameters, and pass 0 for atflag.
693 2010-09-13 regex The module is not guaranteeing anymore support for
694 64-bit regoff_t on 64-bit systems. The size of
695 regoff_t will always be 32-bit unless the program
696 is being configured --with-included-regex. This
697 may change again in the future once glibc provides
698 this feature as well.
700 2010-09-12 savedir The fdsavedir function is now deprecated.
702 2010-09-10 fcntl-h This module now defaults O_CLOEXEC to 0, and
703 it defaults O_EXEC and O_SEARCH to O_RDONLY.
704 Use "#if O_CLOEXEC" instead of "#ifdef O_CLOEXEC".
706 2010-08-28 realloc This module is deprecated. Use 'realloc-gnu'
707 instead. It will be removed 2012-01-01.
709 2010-08-28 calloc This module is deprecated. Use 'calloc-gnu'
710 instead. It will be removed 2012-01-01.
712 2010-08-28 malloc This module is deprecated. Use 'malloc-gnu'
713 instead. It will be removed 2012-01-01.
715 2010-08-14 memxfrm This module is renamed to amemxfrm. The include
716 file is renamed to "amemxfrm.h". The function is
719 2010-08-09 symlinkat This module now only provides symlinkat; use the
720 new module 'readlinkat' if needed.
722 2010-07-31 ansi-c++-opt If Autoconf >= 2.66 is used, the 'configure'
723 option is now called --disable-c++ rather than
726 2010-04-02 maintainer-makefile
727 The macro _prohibit_regexp has been revamped into
728 a new macro _sc_search_regexp; custom syntax
729 checks in your cfg.mk will need to be rewritten.
731 2010-03-28 lib-ignore This module now provides a variable
732 IGNORE_UNUSED_LIBRARIES_CFLAGS that you should
733 add to LDFLAGS (when linking C programs only) or
734 CFLAGS yourself. It is no longer added to LDFLAGS
737 2010-03-18 pty This module now only declares the pty.h header.
738 Use the new modules 'forkpty' or 'openpty' to
739 get the functions that were previously provided.
741 2010-03-05 exit This module is deprecated, use 'stdlib' directly
742 instead. It will be removed 2011-01-01.
744 2009-12-13 sublist The module does not define functions any more that
745 call xalloc_die() in out-of-memory situations. Use
746 module 'xsublist' and include file "gl_xsublist.h"
749 2009-12-13 list The module does not define functions any more that
750 call xalloc_die() in out-of-memory situations.
751 Use module 'xlist' and include file "gl_xlist.h"
754 2009-12-13 oset The module does not define functions any more that
755 call xalloc_die() in out-of-memory situations.
756 Use module 'xoset' and include file "gl_xoset.h"
759 2009-12-10 * Most source code files have been converted to
760 indentation by spaces (rather than tabs). Patches
761 of gnulib source code needs to be updated.
763 2009-12-09 link-warning The Makefile rules that use $(LINK_WARNING_H) now
764 must contain an explicit dependency on
767 2009-11-12 getgroups These functions now use a signature of gid_t,
768 getugroups rather than GETGROUPS_T. This probably has no
769 effect except on very old platforms.
771 2009-11-04 tempname The gen_tempname function takes an additional
772 'suffixlen' argument. You can safely pass 0.
774 2009-11-04 nproc The num_processors function now takes an argument.
776 2009-11-02 inet_pton The use of this module now requires linking with
779 2009-11-02 inet_ntop The use of this module now requires linking with
782 2009-10-10 utimens The use of this module now requires linking with
783 $(LIB_CLOCK_GETTIME).
785 2009-09-16 canonicalize-lgpl
786 The include file is changed from "canonicalize.h"
789 2009-09-04 link-follow The macro LINK_FOLLOWS_SYMLINK is now tri-state,
790 rather than only defined to 1.
792 2009-09-03 openat The include files are standardized to POSIX 2008.
793 For openat, include <fcntl.h>; for
794 fchmodat, fstatat, and mkdirat, include
795 <sys/stat.h>; for fchownat and unlinkat,
796 include <unistd.h>. For all other
797 functions provided by this module,
798 continue to include "openat.h".
800 2009-08-30 striconveh The functions mem_cd_iconveh and str_cd_iconveh
801 now take an 'iconveh_t *' argument instead of three
804 2009-08-23 tempname The gen_tempname function takes an additional
805 'flags' argument. You can safely pass 0.
807 2009-08-12 getopt This module is deprecated. Please choose among
808 getopt-posix and getopt-gnu. getopt-gnu provides
809 "long options" and "options with optional
810 arguments", getopt-posix doesn't.
812 2009-06-25 fpurge The include file is changed from "fpurge.h" to
815 2009-04-26 modules/uniconv/u8-conv-from-enc
816 modules/uniconv/u16-conv-from-enc
817 modules/uniconv/u32-conv-from-enc
818 The calling convention of the functions
819 u*_conv_from_encoding is changed.
821 2009-04-26 modules/uniconv/u8-conv-to-enc
822 modules/uniconv/u16-conv-to-enc
823 modules/uniconv/u32-conv-to-enc
824 The calling convention of the functions
825 u*_conv_to_encoding is changed.
827 2009-04-24 maintainer-makefile
828 The maint.mk file was copied from
829 coreutils, and the old
830 coverage/gettext/indent rules were
831 re-added. If you used 'make syntax-check'
832 this will add several new checks. If some
833 new check is annoying, add the name of the
834 checks to 'local-checks-to-skip' in your
837 2009-04-01 visibility Renamed to lib-symbol-visibility.
839 2009-04-01 ld-version-script Renamed to lib-symbol-versions.
841 2009-03-20 close The substituted variable LIB_CLOSE is removed.
843 2009-03-05 filevercmp Move hidden files up in ordering.
845 2009-01-22 c-strtod This function no longer calls xalloc_die(). If
846 c-strtold you want to exit the program in case of out-of-
847 memory, the calling function needs to arrange
850 val = c_strtod (...);
851 if (val == 0 && errno == ENOMEM)
854 2009-01-17 relocatable-prog In the Makefile.am or Makefile.in, you now also
855 need to set RELOCATABLE_STRIP = :.
857 2008-12-22 getaddrinfo When using this module, you now need to link with
858 canon-host $(GETADDRINFO_LIB).
860 2008-12-21 mbiter The header files "mbiter.h", "mbuiter.h",
861 mbuiter "mbfile.h" can now be included without checking
862 mbfile HAVE_MBRTOWC. The macro HAVE_MBRTOWC will no
863 longer be defined by these modules in a year. If
864 you want to continue to use it, you need to invoke
865 AC_FUNC_MBRTOWC yourself.
867 2008-11-11 warnings This module subsumes the file m4/warning.m4 which
870 2008-10-20 lstat The include file is changed from "lstat.h" to
873 2008-10-20 getaddrinfo The include file is changed from "getaddrinfo.h"
876 2008-10-19 isnanf The include file is changed from "isnanf.h" to
878 isnand The include file is changed from "isnand.h" to
880 isnanl The include file is changed from "isnanl.h" to
883 2008-10-18 lchmod The include file is changed from "lchmod.h" to
886 2008-10-18 dirfd The include file is changed from "dirfd.h" to
889 2008-10-18 euidaccess The include file is changed from "euidaccess.h"
892 2008-10-18 getdomainname The include file is changed from "getdomainname.h"
895 2008-09-28 sockets When using this module, you now need to link with
898 2008-09-24 sys_select The limitation on 'select', introduced 2008-09-23,
899 was removed. sys_select now includes a select
900 wrapper for Winsock. The wrapper expects socket
901 and file descriptors to be compatible as arranged
902 by the sys_socket on MinGW.
904 2008-09-23 sys_socket Under Windows (MinGW), the module now adds
905 wrappers around Winsock functions, so that
906 socket descriptors are now compatible with
907 file descriptors. In general, this change
908 will simply improve your code's portability
909 between POSIX platforms and Windows. In
910 particular, you will be able to use ioctl and
911 close instead of ioctlsocket and closesocket,
912 and test errno instead of WSAGetLastError ().
913 On the other hand, you have to audit your code to
914 remove usage of these Winsock-specific functions.
916 This change does not remove the need to call
917 the gl_sockets_startup function from the sockets
918 gnulib module. Also, for now select is disabled
919 when you include the sys_socket module; while
920 the functionality will be restored soon, for
921 efficiency it is suggested to use the poll system
922 poll system call and gnulib module instead.
924 2008-09-13 EOVERFLOW The module is removed. Use module errno instead.
926 2008-09-01 filename The module does not define the function
927 concatenated_filename any more. To get an
928 equivalent function, use function
929 xconcatenated_filename from module
932 2008-08-31 havelib On Solaris, when searching for 64-bit mode
933 libraries the directory $prefix/lib is now ignored.
934 Instead the directory $prefix/lib/64 is searched.
935 You may need to create a symbolic link for
936 $prefix/lib/64 if you have 64-bit libraries
937 installed in $prefix/lib.
939 2008-08-19 strverscmp The include file is changed from "strverscmp.h"
942 2008-08-14 lock The include file is changed from "lock.h"
943 to "glthread/lock.h".
944 tls The include file is changed from "tls.h"
947 2008-07-17 c-stack The module now requires the addition of
948 $(LIBCSTACK) or $(LTLIBCSTACK) in Makefile.am,
949 since it may depend on linking with libsigsegv.
951 2008-07-07 isnanf-nolibm The include file is changed from "isnanf.h"
952 to "isnanf-nolibm.h".
953 isnand-nolibm The include file is changed from "isnand.h"
954 to "isnand-nolibm.h".
956 2008-06-10 execute The execute function takes an additional termsigp
957 argument. Passing termsigp = NULL is ok.
958 wait-process The wait_subprocess function takes an additional
959 termsigp argument. Passing termsigp = NULL is ok.
961 2008-05-10 linebreak The module is split into several modules unilbrk/*.
962 The include file is changed from "linebreak.h" to
963 "unilbrk.h". Two functions are renamed:
964 mbs_possible_linebreaks -> ulc_possible_linebreaks
965 mbs_width_linebreaks -> ulc_width_linebreaks
967 2008-04-28 rpmatch The include file is now <stdlib.h>.
969 2008-04-28 inet_ntop The include file is changed from "inet_ntop.h"
972 2008-04-28 inet_pton The include file is changed from "inet_pton.h"
975 2008-03-06 freadahead The return value's computation has changed. It
976 now increases by 1 after ungetc.
978 2008-01-26 isnan-nolibm The module name is changed from isnan-nolibm to
979 isnand-nolibm. The include file is changed from
980 "isnan.h" to "isnand.h". The function that it
981 defines is changed from isnan() to isnand().
983 2008-01-14 strcasestr This module now replaces worst-case inefficient
984 implementations; clients that use controlled
985 needles and thus do not care about worst-case
986 efficiency should use the new strcasestr-simple
987 module instead for smaller code size.
989 2008-01-09 alloca-opt Now defines HAVE_ALLOCA_H only when the system
990 supplies an <alloca.h>. Gnulib-using code is now
991 expected to include <alloca.h> unconditionally.
992 Non-gnulib-using code can continue to include
993 <alloca.h> only if HAVE_ALLOCA_H is defined.
995 2008-01-08 memmem This module now replaces worst-case inefficient
996 implementations; clients that use controlled
997 needles and thus do not care about worst-case
998 efficiency should use the new memmem-simple
999 module instead for smaller code size.
1001 2007-12-24 setenv The include file is changed from "setenv.h" to
1002 <stdlib.h>. Also, the unsetenv function is no
1003 longer declared in this module; use the 'unsetenv'
1004 module if you need it.
1006 2007-12-03 getpagesize The include file is changed from "getpagesize.h"
1009 2007-12-03 strcase The include file is changed from <string.h> to
1012 2007-10-07 most modules The license for most modules has changed from
1013 GPLv2+ to GPLv3+, and from LGPLv2+ to LGPLv3+.
1014 A few modules are still under LGPLv2+; see the
1015 module description for the applicable license.
1017 2007-09-01 linebreak "linebreak.h" no longer declares the functions
1018 locale_charset, uc_width, u{8,16,32}_width. Use
1019 "uniwidth.h" to get these functions declared.
1021 2007-08-28 areadlink-with-size
1022 Renamed from mreadlink-with-size.
1023 Function renamed: mreadlink_with_size ->
1024 areadlink_with_size.
1026 2007-08-22 getdelim, getline
1027 The include file is changed from "getdelim.h"
1028 and "getline.h" to the POSIX 200x <stdio.h>.
1030 2007-08-18 idcache Now provides prototypes in "idcache.h".
1032 2007-08-10 xstrtol The STRTOL_FATAL_ERROR macro is removed.
1033 Use the new xstrtol_fatal function instead.
1035 2007-08-04 human The function human_options no longer reports an
1036 error to standard error; that is now the
1037 caller's responsibility. It returns an
1038 error code of type enum strtol_error
1039 instead of the integer option value, and stores
1040 the option value via a new int * argument.
1041 xstrtol The first two arguments of STRTOL_FATAL_ERROR
1042 are now an option name and option argument
1043 instead of an option argument and a type string,
1044 STRTOL_FAIL_WARN is removed.
1046 2007-07-14 gpl, lgpl New Texinfo versions with no sectioning commands.
1048 2007-07-10 version-etc Output now mentions GPLv3+, not GPLv2+. Use
1049 gnulib-tool --local-dir to override this.
1051 2007-07-07 wcwidth The include file is changed from "wcwidth.h" to
1054 2007-07-02 gpl, lgpl Renamed to gpl-2.0 and lgpl-2.1 respectively.
1055 (There is also a new module gpl-3.0.)
1057 2007-06-16 lchown The include file is changed from "lchown.h" to
1060 2007-06-09 xallocsa Renamed to xmalloca. The include file "xallocsa.h"
1061 was renamed to "xmalloca.h". The function was
1063 xallocsa -> xmalloca
1065 2007-06-09 allocsa Renamed to malloca. The include file "allocsa.h"
1066 was renamed to "malloca.h". The function-like
1067 macros were renamed:
1071 2007-05-20 utimens Renamed futimens to gl_futimens, to avoid
1072 conflict with the glibc-2.6-introduced function
1073 that has a different signature.
1075 2007-05-01 sigprocmask The module now depends on signal, so replace
1076 #include "sigprocmask.h"
1080 2007-04-06 gettext The macro HAVE_LONG_DOUBLE is no longer set.
1081 You can replace all its uses with 1, i.e. assume
1082 'long double' as a type exists.
1084 2007-04-01 arcfour Renamed to crypto/arcfour.
1085 arctwo Renamed to crypto/arctwo.
1086 des Renamed to crypto/des.
1087 gc Renamed to crypto/gc.
1088 gc-arcfour Renamed to crypto/gc-arcfour.
1089 gc-arctwo Renamed to crypto/gc-arctwo.
1090 gc-des Renamed to crypto/gc-des.
1091 gc-hmac-md5 Renamed to crypto/gc-hmac-md5.
1092 gc-hmac-sha1 Renamed to crypto/gc-hmac-sha1.
1093 gc-md2 Renamed to crypto/gc-md2.
1094 gc-md4 Renamed to crypto/gc-md4.
1095 gc-md5 Renamed to crypto/gc-md5.
1096 gc-pbkdf2-sha1 Renamed to crypto/gc-pbkdf2-sha1.
1097 gc-random Renamed to crypto/gc-random.
1098 gc-rijndael Renamed to crypto/gc-rijndael.
1099 gc-sha1 Renamed to crypto/gc-sha1.
1100 hmac-md5 Renamed to crypto/hmac-md5.
1101 hmac-sha1 Renamed to crypto/hmac-sha1.
1102 md2 Renamed to crypto/md2.
1103 md4 Renamed to crypto/md4.
1104 md5 Renamed to crypto/md5.
1105 rijndael Renamed to crypto/rijndael.
1106 sha1 Renamed to crypto/sha1.
1108 2007-03-27 vasprintf The module now depends on stdio, so replace
1109 #include "vasprintf.h"
1113 2007-03-24 tsearch The include file is changed from "tsearch.h" to
1116 2007-03-24 utf8-ucs4 The include file is changed from "utf8-ucs4.h"
1118 utf8-ucs4-unsafe The include file is changed from
1119 "utf8-ucs4-unsafe.h" to "unistr.h".
1120 utf16-ucs4 The include file is changed from "utf16-ucs4.h"
1122 utf16-ucs4-unsafe The include file is changed from
1123 "utf16-ucs4-unsafe.h" to "unistr.h".
1124 ucs4-utf8 The include file is changed from "ucs4-utf8.h"
1126 ucs4-utf16 The include file is changed from "ucs4-utf16.h"
1129 2007-03-19 iconvme The module is removed. Use module striconv instead:
1130 iconv_string -> str_iconv
1131 iconv_alloc -> str_cd_iconv (with reversed
1134 2007-03-15 list The functions gl_list_create_empty and
1135 array-list gl_list_create now take an extra fourth argument.
1136 carray-list You can pass NULL.
1144 2007-03-15 oset The function gl_oset_create_empty now takes a
1145 array-oset third argument. You can pass NULL.
1149 2007-03-12 des The types and functions in lib/des.h have been
1152 des_ctx -> gl_des_ctx, tripledes_ctx -> gl_3des_ctx,
1153 des_is_weak_key -> gl_des_is_weak_key,
1154 des_setkey -> gl_des_setkey,
1155 des_makekey -> gl_des_makekey,
1156 des_ecb_crypt -> gl_des_ecb_crypt,
1157 des_ecb_encrypt -> gl_des_ecb_encrypt,
1158 des_ecb_decrypt -> gl_des_ecb_decrypt,
1159 tripledes_set2keys -> gl_3des_set2keys,
1160 tripledes_set3keys -> gl_3des_set3keys,
1161 tripledes_makekey -> gl_3des_makekey,
1162 tripledes_ecb_crypt -> gl_3des_ecb_crypt.
1164 Also consider using the "gc-des" buffer instead of
1165 using the "des" module directly.
1167 2007-02-28 xreadlink The module xreadlink was renamed to
1168 xreadlink-with-size. The function was renamed:
1169 xreadlink -> xreadlink_with_size.
1171 2007-02-18 exit The modules now depend on stdlib, so replace
1172 mkdtemp #include "exit.h"
1173 mkstemp #include "mkdtemp.h"
1174 #include "mkstemp.h"
1178 2007-01-26 strdup The module now depends on string, so replace
1183 # This is for Emacs.
1186 # indent-tabs-mode: nil
1187 # whitespace-check-buffer-indent: nil