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 2025-01-02 string-desc The function prefix is changed from string_desc_
78 xstring-desc to sd_, and from xstring_desc_ to xsd_.
81 2024-12-25 xprintf The functions x[v][f]printf now return an 'off64_t'
84 2024-11-05 eealloc This module is deprecated. Use malloc-gnu or
85 realloc-posix instead.
87 2024-10-22 spawn-pipe The functions 'create_pipe_out', 'create_pipe_in',
88 'create_pipe_bidi' now take a 4th argument
89 'const char * const *dll_dirs'. To maintain the
90 previous behaviour, insert NULL as additional 4th
93 2024-10-22 execute The function 'execute' now takes a 4th argument
94 'const char * const *dll_dirs'. To maintain the
95 previous behaviour, insert NULL as additional 4th
98 2024-10-02 file-has-acl The file_has_aclinfo function introduced 3 days ago
99 now has a different signature.
101 2024-09-25 string-buffer The function sb_append is renamed to sb_append_c.
102 The function sb_dupfree is renamed to sb_dupfree_c.
104 2024-08-14 verror The include file is changed from "verror.h"
107 2024-08-09 full-read These modules now prefer signed types to size_t.
108 full-write The preferred types are idx_t for object sizes and
109 safe-read ptrdiff_t for values that are either a size or -1.
110 safe-write SAFE_READ_ERROR and SAFE_WRITE_ERROR are now
111 obsolescent; callers can just check for < 0.
113 2024-06-22 xvasprintf It is now the programmer's responsibility to pass
114 c-xvasprintf a valid format string without %ls, %lc directives
115 and that all widths are >= -INT_MAX and <= INT_MAX.
117 2024-05-16 putenv This module is renamed to 'putenv-gnu'.
119 2024-02-21 *printf-posix These modules no longer support the 'n' directive
120 by default. In order to keep the 'n' directive
121 enabled, you need to additionally request the
122 module 'printf-with-n-directive'.
124 2024-02-09 strftime This module, deprecated on 2017-07-23, is removed.
125 Use module 'nstrftime' instead.
127 2023-09-03 same-inode SAME_INODE, ST_BLKSIZE and ST_NBLOCKS args
128 stat-size must be addressable lvalues.
130 2023-08-08 readutmp The result element type of the function read_utmp,
131 STRUCT_UTMP, is no longer the same as the result
132 value type of the function getutxent, struct utmpx.
134 2023-08-03 readutmp Some STRUCT_UTMP members can be char *,
135 2023-08-01 rather than fixed-length char arrays.
136 On some platforms, the timestamp is ut_ts of type
137 struct timespec, not ut_tv of type struct timeval,
138 and ut_session is pid_t not long.
139 read_utmp's 2nd arg is now idx_t * not size_t *.
140 Link additionally with $(READUTMP_LIB).
142 2023-07-10 dfa The signature of the function
143 case_folded_counterparts, declared in localeinfo.h,
146 2023-06-10 javacomp-script These modules now compile the Java code with option
147 javacomp '-source 1.6' or higher. As a consequence, the
148 compiler may emit notes "... uses unchecked or
149 unsafe operations". To avoid these notes, add
150 template arguments to the types or functions.
152 2023-04-28 largefile-required
154 Modules removed, for consistency with Autoconf
155 master. Use new module year2038-recommended
156 instead of year2038-required.
158 2023-03-25 mtx This module no longer provides the function
159 call_once. To get this function, use the new
160 separate module 'call_once'.
162 2023-03-08 time This module is renamed to 'time-h'.
163 The new 'time' module now also works around an
164 inconsistency in glibc 2.31+ on Linux.
166 2023-02-07 c-nullptr Rename this module to nullptr.
168 2023-01-21 getprogname The include file is changed from "getprogname.h"
171 2023-01-15 stdalign This module is deprecated. Use alignasof instead.
173 2023-01-13 acl Link additionally with $(QCOPY_ACL_LIB).
178 2023-01-13 qcopy-acl Link with $(QCOPY_ACL_LIB) instead of $(LIB_ACL).
180 2023-01-07 timer_time Link with $(TIMER_TIME_LIB) instead of
183 2023-01-07 setlocale-null Link with $(SETLOCALE_NULL_LIB) instead of
184 $(LIB_SETLOCALE_NULL).
186 2023-01-07 setlocale Link with $(SETLOCALE_LIB) instead of
189 2023-01-07 select Link with $(SELECT_LIB) instead of $(LIB_SELECT).
191 2023-01-07 sched_yield Link with $(SCHED_YIELD_LIB) instead of
194 2023-01-07 pthread_sigmask Link with $(PTHREAD_SIGMASK_LIB) instead of
195 $(LIB_PTHREAD_SIGMASK).
197 2023-01-07 posix_spawn Link with $(POSIX_SPAWN_LIB) instead of
200 2023-01-07 poll Link with $(POLL_LIB) instead of $(LIB_POLL).
202 2023-01-07 nanosleep Link with $(NANOSLEEP_LIB) instead of
205 2023-01-07 mbrtowc Link with $(MBRTOWC_LIB) instead of $(LIB_MBRTOWC).
207 2023-01-07 hard-locale Link with $(HARD_LOCALE_LIB) instead of
210 2023-01-07 getrandom Link with $(GETRANDOM_LIB) instead of
213 2023-01-07 getlogin Link with $(GETLOGIN_LIB) instead of
214 getlogin_r $(LIB_GETLOGIN).
216 2023-01-07 gethrxtime Link with $(GETHRXTIME_LIB) instead of
219 2023-01-07 fdatasync Link with $(FDATASYNC_LIB) instead of
222 2023-01-07 euidaccess Link with $(EUIDACCESS_LIBGEN) instead of
225 2023-01-07 duplocale Link with $(DUPLOCALE_LIB) instead of
228 2023-01-07 clock_time Link with $(CLOCK_TIME_LIB) instead of
229 $(LIB_CLOCK_GETTIME).
231 2023-01-06 file-has-acl Link with $(FILE_HAS_ACL_LIB), not $(LIB_HAS_ACL).
233 2022-12-25 largefile configure no longer enables year-2038 support,
234 unless you configure with --enable-year2038
235 or use the year2038 module. This temporary
236 hack should go away before the year 2038.
238 2022-12-24 stdnoreturn This module is deprecated. Use _Noreturn
239 or the noreturn module instead.
241 2022-12-21 ctime This module is deprecated. Use localtime_r
242 and strftime (or even sprintf) instead.
244 2022-11-03 dynarray These modules are renamed to glibc-internal/dynarray
245 scratch_buffer and glibc-internal/scratch_buffer, respectively.
246 They are not meant for general use.
248 2022-11-02 scratch_buffer The function 'gl_scratch_buffer_dupfree' is removed.
250 2022-09-10 stdbool This module now assumes C99 and provides C23,
251 instead of providing C99. For the old behavior,
252 use the already-deprecated stdbool-c99 module.
254 2022-03-09 statat This module is deprecated. Use fstatat instead.
256 2022-01-05 stack This module now uses idx_t instead of size_t
257 for indexes and counts.
259 2021-08-27 base32 These modules now use idx_t instead of size_t
260 base64 for indexes and counts.
262 2021-07-29 (all) Due to draft C2x, the following attributes should
263 now appear at the start of a function declaration:
264 _GL_ATTRIBUTE_DEPRECATED
265 _GL_ATTRIBUTE_MAYBE_UNUSED
266 _GL_ATTRIBUTE_NODISCARD
267 attribute Likewise for DEPRECATED, MAYBE_UNUSED, NODISCARD.
268 snippet/unused-parameter
269 Likewise for _GL_UNUSED_PARAMETER.
271 2021-07-01 largefile AC_SYS_LARGEFILE now also arranges for time_t
272 to be 64-bit on 32-bit GNU/Linux platforms
273 that support it (glibc 2.34 or later).
275 2021-03-21 fatal-signal The function at_fatal_signal now returns an error
278 2021-03-21 diacrit This deprecated module is removed.
280 2021-03-07 mbrtowc For single-locale optimizations, you now need to
281 mbrtoc32 define GNULIB_WCHAR_SINGLE_LOCALE instead of
282 wcwidth GNULIB_WCHAR_SINGLE.
284 2021-02-28 parse-datetime The parse_datetime2 function has been moved
285 to the new parse-datetime2 module, so that
286 programs that need just parse_datetime need
287 not build the fancier function.
289 2020-12-23 execute These functions no longer execute scripts without
290 spawn-pipe '#!' marker through /bin/sh. To execute such a
291 posix_spawn script as a shell script, either add a '#!/bin/sh'
292 posix_spawnp marker in the first line, or specify "/bin/sh" as
293 the program to execute and the script as its first
296 2020-12-18 free This module, obsoleted in 2008, is gone.
298 2020-12-14 findprog-in The function 'find_in_given_path' now takes a 3rd
299 argument 'const char *directory'. To maintain the
300 previous behaviour, insert NULL as additional 3rd
303 2020-12-11 sh-quote The argv argument of the 'shell_quote_argv' function
304 is now of type 'const char * const *'. You no
305 longer need to cast read-only strings to 'char *'
306 when constructing this argument.
307 execute The prog_argv argument of the 'execute' function
308 is now of type 'const char * const *'. You no
309 longer need to cast read-only strings to 'char *'
310 when constructing this argument.
311 spawn-pipe The prog_argv argument of the functions
312 'create_pipe_out', 'create_pipe_in',
313 'create_pipe_bidi' is now of type
314 'const char * const *'. You no longer need to cast
315 read-only strings to 'char *' when constructing this
317 pipe-filter-gi The prog_argv argument of the
318 'pipe_filter_gi_create' function is now of type
319 'const char * const *'. You no longer need to cast
320 read-only strings to 'char *' when constructing this
322 pipe-filter-ii The prog_argv argument of the
323 'pipe_filter_ii_execute' function is now of type
324 'const char * const *'. You no longer need to cast
325 read-only strings to 'char *' when constructing this
327 javaexec The prog_argv argument of the 'execute_fn' function
328 type is now of type 'const char * const *'. Update
329 the signature of all your implementations of this
331 csharpexec The prog_argv argument of the 'execute_fn' function
332 type is now of type 'const char * const *'. Update
333 the signature of all your implementations of this
336 2020-12-02 spawn-pipe The functions 'create_pipe_out', 'create_pipe_in',
337 'create_pipe_bidi' now take a 4th argument
338 'const char *directory'. To maintain the previous
339 behaviour, insert NULL as additional 4th argument.
341 2020-12-02 execute The function 'execute' now takes a 4th argument
342 'const char *directory'. To maintain the previous
343 behaviour, insert NULL as additional 4th argument.
345 2020-10-16 hash This module deprecates the 'hash_delete' function
346 using gcc's "deprecated" attribute. Use the better-
347 named 'hash_remove' equivalent.
349 2020-08-24 diffseq If you do not define NOTE_ORDERED to true,
350 the NOTE_DELETE and NOTE_INSERT actions might
351 not be done in order, to help cut down worst-case
352 recursion stack space from O(N) to O(log N).
354 2020-08-01 libtextstyle-optional You now need to invoke
355 gl_LIBTEXTSTYLE_OPTIONAL explicitly, because
356 this macro now takes an optional
357 MINIMUM-VERSION argument.
359 2020-08-01 libtextstyle You now need to invoke gl_LIBTEXTSTYLE explicitly,
360 because this macro now takes an optional
361 MINIMUM-VERSION argument.
363 2020-06-27 clean-temp The functions open_temp, fopen_temp now take a
364 'bool delete_on_close' argument. If in doubt, pass
367 2020-06-27 tempname The link requirements of these modules are changed
368 mkdtemp from empty to $(LIB_GETRANDOM).
377 javacomp $(LIB_GETRANDOM) was added to the link requirements
380 2020-05-27 read-file The functions provided by this module now take an
381 'int flags' argument to modify the file reading
382 behavior. The read_binary_file function has been
383 removed as it is no longer necessary.
385 2020-04-27 getdate This deprecated module is removed. Use the module
386 'parse-datetime' instead. Instead of
389 #include "parse-datetime.h"
390 The function get_date is renamed to parse_datetime.
392 2020-04-27 realloc This deprecated module is removed. Use the module
393 'realloc-gnu' instead.
395 2020-04-27 calloc This deprecated module is removed. Use the module
396 'calloc-gnu' instead.
398 2020-04-27 malloc This deprecated module is removed. Use the module
399 'malloc-gnu' instead.
401 2020-04-27 fnmatch-posix This deprecated module is removed. Use the module
404 2020-04-27 pipe This deprecated module is removed. Use the module
405 'spawn-pipe' instead. Instead of
408 #include "spawn-pipe.h"
410 2020-04-27 getopt This deprecated module is removed. Please choose
411 among getopt-posix and getopt-gnu. getopt-gnu
412 provides "long options" and "options with optional
413 arguments", getopt-posix doesn't.
415 2020-04-27 rename-dest-slash This deprecated module is removed. Use the
416 module 'rename' instead.
418 2020-04-27 unictype/bidicategory-* These deprecated modules are removed. Use
419 the modules unictype/bidiclass-* instead.
421 2020-03-28 dosname On native Windows, OS/2, DOS,
422 IS_RELATIVE_FILE_NAME("c:") now returns false.
424 2020-03-28 filename The macro IS_ABSOLUTE_PATH is deprecated. Use
425 IS_ABSOLUTE_FILE_NAME instead.
426 The macro IS_PATH_WITH_DIR is deprecated. Use
427 IS_FILE_NAME_WITH_DIR instead.
429 2020-02-22 fchownat This module no longer defines the functions
430 'chownat' and 'lchownat'. Program that need these
431 functions should add the module 'chownat' to the
432 list of imported modules.
434 2020-02-22 fchmodat This module no longer defines the functions
435 'chmodat' and 'lchmodat'. Program that need these
436 functions should add the module 'chmodat' to the
437 list of imported modules.
439 2020-02-07 fchmodat When applied to non-symlinks, these now act like
440 lchmod chmod (the BSD behavior, which POSIX requires for
441 fchmodat + AT_SYMLINK_NOFOLLOW), instead of failing
442 (the GNU/Linux behavior through glibc 2.31).
443 Future versions of GNU/Linux are planned to act as
446 2020-01-15 gc-pbkdf2-sha1 This module is deprecated. Use gc-pbkdf2 instead.
448 2019-12-12 dfa Its API now uses ptrdiff_t instead of size_t.
450 2019-12-11 dfa To call dfamust, one must now call dfaparse
451 without yet calling dfacomp. This fixes a bug
452 introduced on 2018-10-22 that broke dfamust.
454 2019-12-07 xstrtol This module no longer defines the function
455 xstrtoll 'xstrtol_fatal'. Program that need this function
456 xstrtoimax should add the module 'xstrtol-error' to the list
457 xstrtoumax of imported modules.
459 2019-05-90 verify verify_true (deprecated 2011-06-15) is removed.
461 2019-03-16 fatal-signal The function that you pass to at_fatal_signal now
462 takes the signal as argument.
464 2019-02-02 c-strtod This and related modules no longer define
465 the HAVE_C99_STRTOLD macro. Programs requiring
466 standard strtold should use the strtold module.
468 2019-01-21 diacrit This module is deprecated. Please use the module
469 uninorm/canonical-decomposition instead.
471 2018-10-23 backupfile backup_file_rename and find_backup_file_name
472 now take an additional directory file descriptor
473 argument. Pass AT_FDCWD to get the old behavior.
475 2018-08-18 getpass The include file is changed from "getpass.h" to
476 getpass-gnu <unistd.h>.
478 2018-07-17 hard-locale m4/hard-locale.m4 and gl_HARD_LOCALE are removed.
480 2018-07-05 renameat2 This module is renamed to 'renameatu' and all
481 its include files and functions are renamed
484 2017-12-30 chdir-safer This module is removed. It was deprecated
487 2017-11-24 posixtm Previously, callers had to specify either
488 PDS_LEADING_YEAR or PDS_TRAILING_YEAR (but
489 not both). Now, callers should specify
490 only PDS_TRAILING_YEAR; leading years are
491 requested by not specifying PDS_TRAILING_YEAR.
493 2017-08-14 fcntl-h This module now defaults O_CLOEXEC to a nonzero
494 value instead of to 0, as the 'open' and
495 'openat' modules now emulate O_CLOEXEC.
497 2017-07-23 strftime This module is renamed to 'nstrftime'.
499 2017-05-19 closeout close_stdout longer closes stderr when addresses
500 are being sanitized, as the sanitizer outputs to
503 2017-02-16 binary-io On MS-DOS and OS/2, set_binary_mode now fails
504 on ttys, and sets errno == EINVAL.
506 2017-01-20 parse-datetime The parse_datetime2 function now takes two
507 more arguments TZ and TZSTRING, for the
508 time zone and its name.
510 2017-01-16 host-cpu-c-abi On ARM platforms, HOST_CPU_C_ABI is now set to
511 'arm' or 'armhf' instead of 'armel'.
513 2017-01-15 localeinfo Change case_folded_counterparts's first arg's type
514 from wchar_t to wint_t, so it now accepts WEOF.
516 2016-12-17 getlogin The link requirements of these modules are changed
517 getlogin_r from empty to $(LIB_GETLOGIN).
519 2016-12-13 dfa Remove DFA_CASE_FOLD flag. Now based on RE_ICASE.
521 2016-11-17 unistr/u32-strmblen The function u32_strmblen can now return -1.
522 2016-11-17 unistr/u32-strmbtouc The function u32_strmbtouc can now return -1.
524 2016-08-17 stdbool This no longer supports _Bool for C++.
525 Programs intended to be portable to C++
526 compilers should use plain 'bool' instead.
528 2016-04-12 intprops The following macros were removed:
529 TYPE_TWOS_COMPLEMENT TYPE_ONES_COMPLEMENT
530 TYPE_SIGNED_MAGNITUDE
532 2015-09-25 c-ctype The following macros were removed:
533 C_CTYPE_CONSECUTIVE_DIGITS
534 C_CTYPE_CONSECUTIVE_LOWERCASE
535 C_CTYPE_CONSECUTIVE_UPPERCASE
537 2015-09-22 savewd SAVEWD_CHDIR_READABLE constant removed.
539 2015-07-24 fprintftime Exported functions' time zone arguments are now of
540 strftime type timezone_t (with NULL denoting UTC) instead of
541 type int (with nonzero denoting UTC). These
542 modules now depend on time_rz.
544 2015-04-24 acl This module no longer defines file_has_acl.
545 Use the new file-has-acl module for that.
546 Using only the latter module makes for fewer
547 link-time dependencies on GNU/Linux.
549 2015-04-15 acl If your project only uses the file_has_acl()
550 detection routine, then the requirements are
551 potentially reduced by using $LIB_HAS_ACL rather
554 2015-04-03 hash hash_insert0 function removed (deprecated in 2011).
556 2014-10-29 obstack The obstack functions are no longer limited to
557 int sizes; size values are now of type size_t.
558 This changes both the ABI and the API.
559 obstack_blank no longer accepts a negative size to
560 shrink the current object; callers must now use
561 obstack_blank_fast with a "negative" (actually,
562 large positive) size for that.
564 2014-02-23 diffseq The members too_expensive, lo_minimal and hi_minimal
565 were removed from public structures, and the
566 find_minimal argument was removed from diag
569 2014-02-11 savedir The savedir and streamsavedir functions have a
570 new argument specifying how to sort the result.
571 The fdsavedir function is removed.
573 2013-05-04 gnulib-tool CVS checkout of gnulib are no longer supported.
575 2013-02-08 careadlinkat This module no longer provides the careadlinkatcwd
578 2012-06-26 getopt-posix This module no longer guarantees that option
579 processing is resettable. If your code uses
580 'optreset' or 'optind = 0;', rewrite it to make
581 only one pass over the argument array.
583 2012-02-24 streq This module no longer provides the STREQ macro.
584 Use STREQ_OPT instead.
586 2012-01-10 ignore-value This module no longer provides the ignore_ptr
587 function. It was deprecated a year ago, but existed
588 so briefly before then that it never came into use.
589 Now, the ignore_value function does its job.
591 2011-11-18 hash This module deprecates the hash_insert0 function
592 using gcc's "deprecated" attribute. Use the better-
593 named hash_insert_if_absent equivalent.
595 2011-11-04 openat This module no longer provides the mkdirat()
596 function. If you need this function, you now need
597 to request the 'mkdirat' module.
599 2011-11-04 openat This module no longer provides the fstatat()
600 function. If you need this function, you now need
601 to request the 'fstatat' module.
603 2011-11-03 openat This module no longer provides the unlinkat()
604 function. If you need this function, you now need
605 to request the 'unlinkat' module.
607 2011-11-02 openat This module no longer provides the fchmodat()
608 function. If you need this function, you now need
609 to request the 'fchmodat' module.
611 2011-11-01 alignof This module no longer provides the alignof() macro.
612 Use either alignof_slot() or alignof_type() instead.
614 2011-11-01 openat This module no longer provides the fchownat()
615 function. If you need this function, you now need
616 to request the 'fchownat' module.
618 2011-10-03 poll The link requirements of this module are changed
619 from empty to $(LIB_POLL).
621 2011-09-25 sys_stat This module no longer provides the fstat()
622 function. If you need this function, you now need
623 to request the 'fstat' module.
625 2011-09-23 signal This module is renamed to 'signal-h'.
627 2011-09-22 select The link requirements of this module are changed
628 from $(LIBSOCKET) to $(LIB_SELECT).
630 2011-09-12 fchdir This module no longer overrides the functions
631 opendir() and closedir(), unless the modules
632 'opendir' and 'closedir' are in use, respectively.
633 If you use opendir(), please use module 'opendir'.
634 If you use closedir(), please use module 'closedir'.
636 2011-08-04 pathmax The header file "pathmax.h" no longer defines
637 PATH_MAX on GNU/Hurd. Please use one of the methods
638 listed in pathmax.h to ensure your package is
639 portable to GNU/Hurd.
641 2011-07-24 close This module no longer pulls in the 'fclose' module.
642 If your code creates a socket descriptor using
643 socket() or accept(), then a FILE stream referring
644 to it using fdopen(), then in order to close this
645 stream, you need the 'fclose' module.
647 2011-07-12 arg-nonnull Renamed to snippet/arg-nonnull.
648 c++defs Renamed to snippet/c++defs.
649 link-warning Renamed to snippet/link-warning.
650 unused-parameter Renamed to snippet/unused-parameter.
651 warn-on-use Renamed to snippet/warn-on-use.
653 2011-06-15 verify verify_true (V) is deprecated; please use
654 verify_expr (V, 1) instead.
656 2011-06-05 ansi-c++-opt When a C++ compiler is not found, the variable CXX
657 is now set to "no", not to ":".
659 2011-05-11 group-member The include file is changed from "group-member.h"
662 2011-05-02 exit The module is removed. It was deprecated
663 on 2010-03-05. Use 'stdlib' directly instead.
665 2011-04-27 mgetgroups The 'xgetgroups' function has been split into
666 a new 'xgetgroups' module.
668 2011-04-27 save-cwd This module pulls in fewer dependencies by
669 default; to retain robust handling of directories
670 with an absolute name longer than PATH_MAX, you
671 must now explicitly include the 'getcwd' module.
673 2011-04-19 close-hook This module has been renamed to 'fd-hook' and
676 2011-03-08 regex-quote The last argument is no longer an 'int cflags'
677 but instead a pointer to a previously constructed
678 'struct regex_quote_spec'.
680 2011-02-25 dirname These modules no longer put #defines for the
681 dirname-lgpl following symbols into <config.h>: ISSLASH,
682 backupfile FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX,
683 lstat FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR,
684 openat FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE.
685 remove Applications that need ISSLASH can include the new
686 rmdir header dosname.h.
691 2011-02-14 getloadavg This module no longer #defines C_GETLOADAVG or
692 HAVE_GETLOADAVG, as the application no longer needs
693 to worry about how getloadavg is defined. It no
694 longer defines the obsolete symbol NLIST_NAME_UNION
695 (which should have been internal to the module
696 anyway). Also, support for setgid use has been
697 removed, as nobody seems to be using it; thus
698 GETLOADAVG_PRIVILEGED is no longer #defined and
699 KMEM_GROUP and NEED_SETGID are no longer
702 2011-02-08 stdlib Unless the random_r module is also used, this
703 module no longer guarantees that the following are
704 defined: struct random_data, RAND_MAX, random_r,
705 srandom_r, initstate_r, setstate_r.
707 2011-02-08 wctype-h This module no longer provides the iswblank()
708 function. If you need this function, you now need
709 to request the 'iswblank' module.
711 2011-02-07 wctype This module is renamed to wctype-h.
713 2011-01-18 multiarch This no longer #defines AA_APPLE_UNIVERSAL_BUILD;
714 instead, use the shell var APPLE_UNIVERSAL_BUILD.
716 2010-12-10 pipe This module is renamed to spawn-pipe. The include
717 file is renamed to "spawn-pipe.h".
719 2010-10-05 getdate This module is deprecated. Please use the new
720 parse-datetime module for the replacement
721 function parse_datetime(), or help us write
722 getdate-posix for getdate(). Also, the header
723 "getdate.h" has been renamed "parse-datetime.h",
724 and doc/getdate.texi to doc/parse-datetime.texi.
726 2010-09-29 sys_wait This module no longer provides the waitpid()
727 function. If you need this function, you now need
728 to request the 'waitpid' module.
730 2010-09-17 utimens The function gl_futimens is removed, and its
731 signature has been migrated to fdutimens. Callers
732 of gl_futimens should change function name, and
733 callers of fdutimens should swap parameter order.
735 2010-09-17 fdutimensat This function has a new signature: the fd now comes
736 first instead of the dir/name pair, and a new
737 atflag parameter is added at the end. Old code
738 should rearrange parameters, and pass 0 for atflag.
740 2010-09-13 regex The module is not guaranteeing anymore support for
741 64-bit regoff_t on 64-bit systems. The size of
742 regoff_t will always be 32-bit unless the program
743 is being configured --with-included-regex. This
744 may change again in the future once glibc provides
745 this feature as well.
747 2010-09-12 savedir The fdsavedir function is now deprecated.
749 2010-09-10 fcntl-h This module now defaults O_CLOEXEC to 0, and
750 it defaults O_EXEC and O_SEARCH to O_RDONLY.
751 Use "#if O_CLOEXEC" instead of "#ifdef O_CLOEXEC".
753 2010-08-28 realloc This module is deprecated. Use 'realloc-gnu'
754 instead. It will be removed 2012-01-01.
756 2010-08-28 calloc This module is deprecated. Use 'calloc-gnu'
757 instead. It will be removed 2012-01-01.
759 2010-08-28 malloc This module is deprecated. Use 'malloc-gnu'
760 instead. It will be removed 2012-01-01.
762 2010-08-14 memxfrm This module is renamed to amemxfrm. The include
763 file is renamed to "amemxfrm.h". The function is
766 2010-08-09 symlinkat This module now only provides symlinkat; use the
767 new module 'readlinkat' if needed.
769 2010-07-31 ansi-c++-opt If Autoconf >= 2.66 is used, the 'configure'
770 option is now called --disable-c++ rather than
773 2010-04-02 maintainer-makefile
774 The macro _prohibit_regexp has been revamped into
775 a new macro _sc_search_regexp; custom syntax
776 checks in your cfg.mk will need to be rewritten.
778 2010-03-28 lib-ignore This module now provides a variable
779 IGNORE_UNUSED_LIBRARIES_CFLAGS that you should
780 add to LDFLAGS (when linking C programs only) or
781 CFLAGS yourself. It is no longer added to LDFLAGS
784 2010-03-18 pty This module now only declares the pty.h header.
785 Use the new modules 'forkpty' or 'openpty' to
786 get the functions that were previously provided.
788 2010-03-05 exit This module is deprecated, use 'stdlib' directly
789 instead. It will be removed 2011-01-01.
791 2009-12-13 sublist The module does not define functions any more that
792 call xalloc_die() in out-of-memory situations. Use
793 module 'xsublist' and include file "gl_xsublist.h"
796 2009-12-13 list The module does not define functions any more that
797 call xalloc_die() in out-of-memory situations.
798 Use module 'xlist' and include file "gl_xlist.h"
801 2009-12-13 oset The module does not define functions any more that
802 call xalloc_die() in out-of-memory situations.
803 Use module 'xoset' and include file "gl_xoset.h"
806 2009-12-10 * Most source code files have been converted to
807 indentation by spaces (rather than tabs). Patches
808 of gnulib source code needs to be updated.
810 2009-12-09 link-warning The Makefile rules that use $(LINK_WARNING_H) now
811 must contain an explicit dependency on
814 2009-11-12 getgroups These functions now use a signature of gid_t,
815 getugroups rather than GETGROUPS_T. This probably has no
816 effect except on very old platforms.
818 2009-11-04 tempname The gen_tempname function takes an additional
819 'suffixlen' argument. You can safely pass 0.
821 2009-11-04 nproc The num_processors function now takes an argument.
823 2009-11-02 inet_pton The use of this module now requires linking with
826 2009-11-02 inet_ntop The use of this module now requires linking with
829 2009-10-10 utimens The use of this module now requires linking with
830 $(LIB_CLOCK_GETTIME).
832 2009-09-16 canonicalize-lgpl
833 The include file is changed from "canonicalize.h"
836 2009-09-04 link-follow The macro LINK_FOLLOWS_SYMLINK is now tri-state,
837 rather than only defined to 1.
839 2009-09-03 openat The include files are standardized to POSIX 2008.
840 For openat, include <fcntl.h>; for
841 fchmodat, fstatat, and mkdirat, include
842 <sys/stat.h>; for fchownat and unlinkat,
843 include <unistd.h>. For all other
844 functions provided by this module,
845 continue to include "openat.h".
847 2009-08-30 striconveh The functions mem_cd_iconveh and str_cd_iconveh
848 now take an 'iconveh_t *' argument instead of three
851 2009-08-23 tempname The gen_tempname function takes an additional
852 'flags' argument. You can safely pass 0.
854 2009-08-12 getopt This module is deprecated. Please choose among
855 getopt-posix and getopt-gnu. getopt-gnu provides
856 "long options" and "options with optional
857 arguments", getopt-posix doesn't.
859 2009-06-25 fpurge The include file is changed from "fpurge.h" to
862 2009-04-26 uniconv/u8-conv-from-enc
863 uniconv/u16-conv-from-enc
864 uniconv/u32-conv-from-enc
865 The calling convention of the functions
866 u*_conv_from_encoding is changed.
868 2009-04-26 uniconv/u8-conv-to-enc
869 uniconv/u16-conv-to-enc
870 uniconv/u32-conv-to-enc
871 The calling convention of the functions
872 u*_conv_to_encoding is changed.
874 2009-04-24 maintainer-makefile
875 The maint.mk file was copied from
876 coreutils, and the old
877 coverage/gettext/indent rules were
878 re-added. If you used 'make syntax-check'
879 this will add several new checks. If some
880 new check is annoying, add the name of the
881 checks to 'local-checks-to-skip' in your
884 2009-04-01 visibility Renamed to lib-symbol-visibility.
886 2009-04-01 ld-version-script Renamed to lib-symbol-versions.
888 2009-03-20 close The substituted variable LIB_CLOSE is removed.
890 2009-03-05 filevercmp Move hidden files up in ordering.
892 2009-01-22 c-strtod This function no longer calls xalloc_die(). If
893 c-strtold you want to exit the program in case of out-of-
894 memory, the calling function needs to arrange
897 val = c_strtod (...);
898 if (val == 0 && errno == ENOMEM)
901 2009-01-17 relocatable-prog In the Makefile.am or Makefile.in, you now also
902 need to set RELOCATABLE_STRIP = :.
904 2008-12-22 getaddrinfo When using this module, you now need to link with
905 canon-host $(GETADDRINFO_LIB).
907 2008-12-21 mbiter The header files "mbiter.h", "mbuiter.h",
908 mbuiter "mbfile.h" can now be included without checking
909 mbfile HAVE_MBRTOWC. The macro HAVE_MBRTOWC will no
910 longer be defined by these modules in a year. If
911 you want to continue to use it, you need to invoke
912 AC_FUNC_MBRTOWC yourself.
914 2008-11-11 warnings This module subsumes the file m4/warning.m4 which
917 2008-10-20 lstat The include file is changed from "lstat.h" to
920 2008-10-20 getaddrinfo The include file is changed from "getaddrinfo.h"
923 2008-10-19 isnanf The include file is changed from "isnanf.h" to
925 isnand The include file is changed from "isnand.h" to
927 isnanl The include file is changed from "isnanl.h" to
930 2008-10-18 lchmod The include file is changed from "lchmod.h" to
933 2008-10-18 dirfd The include file is changed from "dirfd.h" to
936 2008-10-18 euidaccess The include file is changed from "euidaccess.h"
939 2008-10-18 getdomainname The include file is changed from "getdomainname.h"
942 2008-09-28 sockets When using this module, you now need to link with
945 2008-09-24 sys_select The limitation on 'select', introduced 2008-09-23,
946 was removed. sys_select now includes a select
947 wrapper for Winsock. The wrapper expects socket
948 and file descriptors to be compatible as arranged
949 by the sys_socket on MinGW.
951 2008-09-23 sys_socket Under Windows (MinGW), the module now adds
952 wrappers around Winsock functions, so that
953 socket descriptors are now compatible with
954 file descriptors. In general, this change
955 will simply improve your code's portability
956 between POSIX platforms and Windows. In
957 particular, you will be able to use ioctl and
958 close instead of ioctlsocket and closesocket,
959 and test errno instead of WSAGetLastError ().
960 On the other hand, you have to audit your code to
961 remove usage of these Winsock-specific functions.
963 This change does not remove the need to call
964 the gl_sockets_startup function from the sockets
965 gnulib module. Also, for now select is disabled
966 when you include the sys_socket module; while
967 the functionality will be restored soon, for
968 efficiency it is suggested to use the poll system
969 poll system call and gnulib module instead.
971 2008-09-13 EOVERFLOW The module is removed. Use module errno instead.
973 2008-09-01 filename The module does not define the function
974 concatenated_filename any more. To get an
975 equivalent function, use function
976 xconcatenated_filename from module
979 2008-08-31 havelib On Solaris, when searching for 64-bit mode
980 libraries the directory $prefix/lib is now ignored.
981 Instead the directory $prefix/lib/64 is searched.
982 You may need to create a symbolic link for
983 $prefix/lib/64 if you have 64-bit libraries
984 installed in $prefix/lib.
986 2008-08-19 strverscmp The include file is changed from "strverscmp.h"
989 2008-08-14 lock The include file is changed from "lock.h"
990 to "glthread/lock.h".
991 tls The include file is changed from "tls.h"
994 2008-07-17 c-stack The module now requires the addition of
995 $(LIBCSTACK) or $(LTLIBCSTACK) in Makefile.am,
996 since it may depend on linking with libsigsegv.
998 2008-07-07 isnanf-nolibm The include file is changed from "isnanf.h"
999 to "isnanf-nolibm.h".
1000 isnand-nolibm The include file is changed from "isnand.h"
1001 to "isnand-nolibm.h".
1003 2008-06-10 execute The execute function takes an additional termsigp
1004 argument. Passing termsigp = NULL is ok.
1005 wait-process The wait_subprocess function takes an additional
1006 termsigp argument. Passing termsigp = NULL is ok.
1008 2008-05-10 linebreak The module is split into several modules unilbrk/*.
1009 The include file is changed from "linebreak.h" to
1010 "unilbrk.h". Two functions are renamed:
1011 mbs_possible_linebreaks -> ulc_possible_linebreaks
1012 mbs_width_linebreaks -> ulc_width_linebreaks
1014 2008-04-28 rpmatch The include file is now <stdlib.h>.
1016 2008-04-28 inet_ntop The include file is changed from "inet_ntop.h"
1019 2008-04-28 inet_pton The include file is changed from "inet_pton.h"
1022 2008-03-06 freadahead The return value's computation has changed. It
1023 now increases by 1 after ungetc.
1025 2008-01-26 isnan-nolibm The module name is changed from isnan-nolibm to
1026 isnand-nolibm. The include file is changed from
1027 "isnan.h" to "isnand.h". The function that it
1028 defines is changed from isnan() to isnand().
1030 2008-01-14 strcasestr This module now replaces worst-case inefficient
1031 implementations; clients that use controlled
1032 needles and thus do not care about worst-case
1033 efficiency should use the new strcasestr-simple
1034 module instead for smaller code size.
1036 2008-01-09 alloca-opt Now defines HAVE_ALLOCA_H only when the system
1037 supplies an <alloca.h>. Gnulib-using code is now
1038 expected to include <alloca.h> unconditionally.
1039 Non-gnulib-using code can continue to include
1040 <alloca.h> only if HAVE_ALLOCA_H is defined.
1042 2008-01-08 memmem This module now replaces worst-case inefficient
1043 implementations; clients that use controlled
1044 needles and thus do not care about worst-case
1045 efficiency should use the new memmem-simple
1046 module instead for smaller code size.
1048 2007-12-24 setenv The include file is changed from "setenv.h" to
1049 <stdlib.h>. Also, the unsetenv function is no
1050 longer declared in this module; use the 'unsetenv'
1051 module if you need it.
1053 2007-12-03 getpagesize The include file is changed from "getpagesize.h"
1056 2007-12-03 strcase The include file is changed from <string.h> to
1059 2007-10-07 most modules The license for most modules has changed from
1060 GPLv2+ to GPLv3+, and from LGPLv2+ to LGPLv3+.
1061 A few modules are still under LGPLv2+; see the
1062 module description for the applicable license.
1064 2007-09-01 linebreak "linebreak.h" no longer declares the functions
1065 locale_charset, uc_width, u{8,16,32}_width. Use
1066 "uniwidth.h" to get these functions declared.
1068 2007-08-28 areadlink-with-size
1069 Renamed from mreadlink-with-size.
1070 Function renamed: mreadlink_with_size ->
1071 areadlink_with_size.
1073 2007-08-22 getdelim, getline
1074 The include file is changed from "getdelim.h"
1075 and "getline.h" to the POSIX 200x <stdio.h>.
1077 2007-08-18 idcache Now provides prototypes in "idcache.h".
1079 2007-08-10 xstrtol The STRTOL_FATAL_ERROR macro is removed.
1080 Use the new xstrtol_fatal function instead.
1082 2007-08-04 human The function human_options no longer reports an
1083 error to standard error; that is now the
1084 caller's responsibility. It returns an
1085 error code of type enum strtol_error
1086 instead of the integer option value, and stores
1087 the option value via a new int * argument.
1088 xstrtol The first two arguments of STRTOL_FATAL_ERROR
1089 are now an option name and option argument
1090 instead of an option argument and a type string,
1091 STRTOL_FAIL_WARN is removed.
1093 2007-07-14 gpl, lgpl New Texinfo versions with no sectioning commands.
1095 2007-07-10 version-etc Output now mentions GPLv3+, not GPLv2+. Use
1096 gnulib-tool --local-dir to override this.
1098 2007-07-07 wcwidth The include file is changed from "wcwidth.h" to
1101 2007-07-02 gpl, lgpl Renamed to gpl-2.0 and lgpl-2.1 respectively.
1102 (There is also a new module gpl-3.0.)
1104 2007-06-16 lchown The include file is changed from "lchown.h" to
1107 2007-06-09 xallocsa Renamed to xmalloca. The include file "xallocsa.h"
1108 was renamed to "xmalloca.h". The function was
1110 xallocsa -> xmalloca
1112 2007-06-09 allocsa Renamed to malloca. The include file "allocsa.h"
1113 was renamed to "malloca.h". The function-like
1114 macros were renamed:
1118 2007-05-20 utimens Renamed futimens to gl_futimens, to avoid
1119 conflict with the glibc-2.6-introduced function
1120 that has a different signature.
1122 2007-05-01 sigprocmask The module now depends on signal, so replace
1123 #include "sigprocmask.h"
1127 2007-04-06 gettext The macro HAVE_LONG_DOUBLE is no longer set.
1128 You can replace all its uses with 1, i.e. assume
1129 'long double' as a type exists.
1131 2007-04-01 arcfour Renamed to crypto/arcfour.
1132 arctwo Renamed to crypto/arctwo.
1133 des Renamed to crypto/des.
1134 gc Renamed to crypto/gc.
1135 gc-arcfour Renamed to crypto/gc-arcfour.
1136 gc-arctwo Renamed to crypto/gc-arctwo.
1137 gc-des Renamed to crypto/gc-des.
1138 gc-hmac-md5 Renamed to crypto/gc-hmac-md5.
1139 gc-hmac-sha1 Renamed to crypto/gc-hmac-sha1.
1140 gc-md2 Renamed to crypto/gc-md2.
1141 gc-md4 Renamed to crypto/gc-md4.
1142 gc-md5 Renamed to crypto/gc-md5.
1143 gc-pbkdf2-sha1 Renamed to crypto/gc-pbkdf2-sha1.
1144 gc-random Renamed to crypto/gc-random.
1145 gc-rijndael Renamed to crypto/gc-rijndael.
1146 gc-sha1 Renamed to crypto/gc-sha1.
1147 hmac-md5 Renamed to crypto/hmac-md5.
1148 hmac-sha1 Renamed to crypto/hmac-sha1.
1149 md2 Renamed to crypto/md2.
1150 md4 Renamed to crypto/md4.
1151 md5 Renamed to crypto/md5.
1152 rijndael Renamed to crypto/rijndael.
1153 sha1 Renamed to crypto/sha1.
1155 2007-03-27 vasprintf The module now depends on stdio, so replace
1156 #include "vasprintf.h"
1160 2007-03-24 tsearch The include file is changed from "tsearch.h" to
1163 2007-03-24 utf8-ucs4 The include file is changed from "utf8-ucs4.h"
1165 utf8-ucs4-unsafe The include file is changed from
1166 "utf8-ucs4-unsafe.h" to "unistr.h".
1167 utf16-ucs4 The include file is changed from "utf16-ucs4.h"
1169 utf16-ucs4-unsafe The include file is changed from
1170 "utf16-ucs4-unsafe.h" to "unistr.h".
1171 ucs4-utf8 The include file is changed from "ucs4-utf8.h"
1173 ucs4-utf16 The include file is changed from "ucs4-utf16.h"
1176 2007-03-19 iconvme The module is removed. Use module striconv instead:
1177 iconv_string -> str_iconv
1178 iconv_alloc -> str_cd_iconv (with reversed
1181 2007-03-15 list The functions gl_list_create_empty and
1182 array-list gl_list_create now take an extra fourth argument.
1183 carray-list You can pass NULL.
1191 2007-03-15 oset The function gl_oset_create_empty now takes a
1192 array-oset third argument. You can pass NULL.
1196 2007-03-12 des The types and functions in lib/des.h have been
1199 des_ctx -> gl_des_ctx, tripledes_ctx -> gl_3des_ctx,
1200 des_is_weak_key -> gl_des_is_weak_key,
1201 des_setkey -> gl_des_setkey,
1202 des_makekey -> gl_des_makekey,
1203 des_ecb_crypt -> gl_des_ecb_crypt,
1204 des_ecb_encrypt -> gl_des_ecb_encrypt,
1205 des_ecb_decrypt -> gl_des_ecb_decrypt,
1206 tripledes_set2keys -> gl_3des_set2keys,
1207 tripledes_set3keys -> gl_3des_set3keys,
1208 tripledes_makekey -> gl_3des_makekey,
1209 tripledes_ecb_crypt -> gl_3des_ecb_crypt.
1211 Also consider using the "gc-des" buffer instead of
1212 using the "des" module directly.
1214 2007-02-28 xreadlink The module xreadlink was renamed to
1215 xreadlink-with-size. The function was renamed:
1216 xreadlink -> xreadlink_with_size.
1218 2007-02-18 exit The modules now depend on stdlib, so replace
1219 mkdtemp #include "exit.h"
1220 mkstemp #include "mkdtemp.h"
1221 #include "mkstemp.h"
1225 2007-01-26 strdup The module now depends on string, so replace
1230 # This is for Emacs.
1233 # indent-tabs-mode: nil
1234 # whitespace-check-buffer-indent: nil