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-05-16 putenv This module is renamed to 'putenv-gnu'.
79 2024-02-21 *printf-posix These modules no longer support the 'n' directive
80 by default. In order to keep the 'n' directive
81 enabled, you need to additionally request the
82 module 'printf-with-n-directive'.
84 2024-02-09 strftime This module, deprecated on 2017-07-23, is removed.
85 Use module 'nstrftime' instead.
87 2023-09-03 same-inode SAME_INODE, ST_BLKSIZE and ST_NBLOCKS args
88 stat-size must be addressable lvalues.
90 2023-08-08 readutmp The result element type of the function read_utmp,
91 STRUCT_UTMP, is no longer the same as the result
92 value type of the function getutxent, struct utmpx.
94 2023-08-03 readutmp Some STRUCT_UTMP members can be char *,
95 2023-08-01 rather than fixed-length char arrays.
96 On some platforms, the timestamp is ut_ts of type
97 struct timespec, not ut_tv of type struct timeval,
98 and ut_session is pid_t not long.
99 read_utmp's 2nd arg is now idx_t * not size_t *.
100 Link additionally with $(READUTMP_LIB).
102 2023-07-10 dfa The signature of the function
103 case_folded_counterparts, declared in localeinfo.h,
106 2023-06-10 javacomp-script These modules now compile the Java code with option
107 javacomp '-source 1.6' or higher. As a consequence, the
108 compiler may emit notes "... uses unchecked or
109 unsafe operations". To avoid these notes, add
110 template arguments to the types or functions.
112 2023-04-28 largefile-required
114 Modules removed, for consistency with Autoconf
115 master. Use new module year2038-recommended
116 instead of year2038-required.
118 2023-03-25 mtx This module no longer provides the function
119 call_once. To get this function, use the new
120 separate module 'call_once'.
122 2023-03-08 time This module is renamed to 'time-h'.
123 The new 'time' module now also works around an
124 inconsistency in glibc 2.31+ on Linux.
126 2023-02-07 c-nullptr Rename this module to nullptr.
128 2023-01-21 getprogname The include file is changed from "getprogname.h"
131 2023-01-15 stdalign This module is deprecated. Use alignasof instead.
133 2023-01-13 acl Link additionally with $(QCOPY_ACL_LIB).
138 2023-01-13 qcopy-acl Link with $(QCOPY_ACL_LIB) instead of $(LIB_ACL).
140 2023-01-07 timer_time Link with $(TIMER_TIME_LIB) instead of
143 2023-01-07 setlocale-null Link with $(SETLOCALE_NULL_LIB) instead of
144 $(LIB_SETLOCALE_NULL).
146 2023-01-07 setlocale Link with $(SETLOCALE_LIB) instead of
149 2023-01-07 select Link with $(SELECT_LIB) instead of $(LIB_SELECT).
151 2023-01-07 sched_yield Link with $(SCHED_YIELD_LIB) instead of
154 2023-01-07 pthread_sigmask Link with $(PTHREAD_SIGMASK_LIB) instead of
155 $(LIB_PTHREAD_SIGMASK).
157 2023-01-07 posix_spawn Link with $(POSIX_SPAWN_LIB) instead of
160 2023-01-07 poll Link with $(POLL_LIB) instead of $(LIB_POLL).
162 2023-01-07 nanosleep Link with $(NANOSLEEP_LIB) instead of
165 2023-01-07 mbrtowc Link with $(MBRTOWC_LIB) instead of $(LIB_MBRTOWC).
167 2023-01-07 hard-locale Link with $(HARD_LOCALE_LIB) instead of
170 2023-01-07 getrandom Link with $(GETRANDOM_LIB) instead of
173 2023-01-07 getlogin Link with $(GETLOGIN_LIB) instead of
174 getlogin_r $(LIB_GETLOGIN).
176 2023-01-07 gethrxtime Link with $(GETHRXTIME_LIB) instead of
179 2023-01-07 fdatasync Link with $(FDATASYNC_LIB) instead of
182 2023-01-07 euidaccess Link with $(EUIDACCESS_LIBGEN) instead of
185 2023-01-07 duplocale Link with $(DUPLOCALE_LIB) instead of
188 2023-01-07 clock_time Link with $(CLOCK_TIME_LIB) instead of
189 $(LIB_CLOCK_GETTIME).
191 2023-01-06 file-has-acl Link with $(FILE_HAS_ACL_LIB), not $(LIB_HAS_ACL).
193 2022-12-25 largefile configure no longer enables year-2038 support,
194 unless you configure with --enable-year2038
195 or use the year2038 module. This temporary
196 hack should go away before the year 2038.
198 2022-12-24 stdnoreturn This module is deprecated. Use _Noreturn
199 or the noreturn module instead.
201 2022-12-21 ctime This module is deprecated. Use localtime_r
202 and strftime (or even sprintf) instead.
204 2022-11-03 dynarray These modules are renamed to glibc-internal/dynarray
205 scratch_buffer and glibc-internal/scratch_buffer, respectively.
206 They are not meant for general use.
208 2022-11-02 scratch_buffer The function 'gl_scratch_buffer_dupfree' is removed.
210 2022-09-10 stdbool This module now assumes C99 and provides C23,
211 instead of providing C99. For the old behavior,
212 use the already-deprecated stdbool-c99 module.
214 2022-03-09 statat This module is deprecated. Use fstatat instead.
216 2022-01-05 stack This module now uses idx_t instead of size_t
217 for indexes and counts.
219 2021-08-27 base32 These modules now use idx_t instead of size_t
220 base64 for indexes and counts.
222 2021-07-29 (all) Due to draft C2x, the following attributes should
223 now appear at the start of a function declaration:
224 _GL_ATTRIBUTE_DEPRECATED
225 _GL_ATTRIBUTE_MAYBE_UNUSED
226 _GL_ATTRIBUTE_NODISCARD
227 attribute Likewise for DEPRECATED, MAYBE_UNUSED, NODISCARD.
228 snippet/unused-parameter
229 Likewise for _GL_UNUSED_PARAMETER.
231 2021-07-01 largefile AC_SYS_LARGEFILE now also arranges for time_t
232 to be 64-bit on 32-bit GNU/Linux platforms
233 that support it (glibc 2.34 or later).
235 2021-03-21 fatal-signal The function at_fatal_signal now returns an error
238 2021-03-21 diacrit This deprecated module is removed.
240 2021-03-07 mbrtowc For single-locale optimizations, you now need to
241 mbrtoc32 define GNULIB_WCHAR_SINGLE_LOCALE instead of
242 wcwidth GNULIB_WCHAR_SINGLE.
244 2021-02-28 parse-datetime The parse_datetime2 function has been moved
245 to the new parse-datetime2 module, so that
246 programs that need just parse_datetime need
247 not build the fancier function.
249 2020-12-23 execute These functions no longer execute scripts without
250 spawn-pipe '#!' marker through /bin/sh. To execute such a
251 posix_spawn script as a shell script, either add a '#!/bin/sh'
252 posix_spawnp marker in the first line, or specify "/bin/sh" as
253 the program to execute and the script as its first
256 2020-12-18 free This module, obsoleted in 2008, is gone.
258 2020-12-14 findprog-in The function 'find_in_given_path' now takes a 3rd
259 argument 'const char *directory'. To maintain the
260 previous behaviour, insert NULL as additional 3rd
263 2020-12-11 sh-quote The argv argument of the 'shell_quote_argv' function
264 is now of type 'const char * const *'. You no
265 longer need to cast read-only strings to 'char *'
266 when constructing this argument.
267 execute The prog_argv argument of the 'execute' function
268 is now of type 'const char * const *'. You no
269 longer need to cast read-only strings to 'char *'
270 when constructing this argument.
271 spawn-pipe The prog_argv argument of the functions
272 'create_pipe_out', 'create_pipe_in',
273 'create_pipe_bidi' is now of type
274 'const char * const *'. You no longer need to cast
275 read-only strings to 'char *' when constructing this
277 pipe-filter-gi The prog_argv argument of the
278 'pipe_filter_gi_create' function is now of type
279 'const char * const *'. You no longer need to cast
280 read-only strings to 'char *' when constructing this
282 pipe-filter-ii The prog_argv argument of the
283 'pipe_filter_ii_execute' function is now of type
284 'const char * const *'. You no longer need to cast
285 read-only strings to 'char *' when constructing this
287 javaexec The prog_argv argument of the 'execute_fn' function
288 type is now of type 'const char * const *'. Update
289 the signature of all your implementations of this
291 csharpexec The prog_argv argument of the 'execute_fn' function
292 type is now of type 'const char * const *'. Update
293 the signature of all your implementations of this
296 2020-12-02 spawn-pipe The functions 'create_pipe_out', 'create_pipe_in',
297 'create_pipe_bidi' now take a 4th argument
298 'const char *directory'. To maintain the previous
299 behaviour, insert NULL as additional 4th argument.
301 2020-12-02 execute The function 'execute' now takes a 4th argument
302 'const char *directory'. To maintain the previous
303 behaviour, insert NULL as additional 4th argument.
305 2020-10-16 hash This module deprecates the 'hash_delete' function
306 using gcc's "deprecated" attribute. Use the better-
307 named 'hash_remove' equivalent.
309 2020-08-24 diffseq If you do not define NOTE_ORDERED to true,
310 the NOTE_DELETE and NOTE_INSERT actions might
311 not be done in order, to help cut down worst-case
312 recursion stack space from O(N) to O(log N).
314 2020-08-01 libtextstyle-optional You now need to invoke
315 gl_LIBTEXTSTYLE_OPTIONAL explicitly, because
316 this macro now takes an optional
317 MINIMUM-VERSION argument.
319 2020-08-01 libtextstyle You now need to invoke gl_LIBTEXTSTYLE explicitly,
320 because this macro now takes an optional
321 MINIMUM-VERSION argument.
323 2020-06-27 clean-temp The functions open_temp, fopen_temp now take a
324 'bool delete_on_close' argument. If in doubt, pass
327 2020-06-27 tempname The link requirements of these modules are changed
328 mkdtemp from empty to $(LIB_GETRANDOM).
337 javacomp $(LIB_GETRANDOM) was added to the link requirements
340 2020-05-27 read-file The functions provided by this module now take an
341 'int flags' argument to modify the file reading
342 behavior. The read_binary_file function has been
343 removed as it is no longer necessary.
345 2020-04-27 getdate This deprecated module is removed. Use the module
346 'parse-datetime' instead. Instead of
349 #include "parse-datetime.h"
350 The function get_date is renamed to parse_datetime.
352 2020-04-27 realloc This deprecated module is removed. Use the module
353 'realloc-gnu' instead.
355 2020-04-27 calloc This deprecated module is removed. Use the module
356 'calloc-gnu' instead.
358 2020-04-27 malloc This deprecated module is removed. Use the module
359 'malloc-gnu' instead.
361 2020-04-27 fnmatch-posix This deprecated module is removed. Use the module
364 2020-04-27 pipe This deprecated module is removed. Use the module
365 'spawn-pipe' instead. Instead of
368 #include "spawn-pipe.h"
370 2020-04-27 getopt This deprecated module is removed. Please choose
371 among getopt-posix and getopt-gnu. getopt-gnu
372 provides "long options" and "options with optional
373 arguments", getopt-posix doesn't.
375 2020-04-27 rename-dest-slash This deprecated module is removed. Use the
376 module 'rename' instead.
378 2020-04-27 unictype/bidicategory-* These deprecated modules are removed. Use
379 the modules unictype/bidiclass-* instead.
381 2020-03-28 dosname On native Windows, OS/2, DOS,
382 IS_RELATIVE_FILE_NAME("c:") now returns false.
384 2020-03-28 filename The macro IS_ABSOLUTE_PATH is deprecated. Use
385 IS_ABSOLUTE_FILE_NAME instead.
386 The macro IS_PATH_WITH_DIR is deprecated. Use
387 IS_FILE_NAME_WITH_DIR instead.
389 2020-02-22 fchownat This module no longer defines the functions
390 'chownat' and 'lchownat'. Program that need these
391 functions should add the module 'chownat' to the
392 list of imported modules.
394 2020-02-22 fchmodat This module no longer defines the functions
395 'chmodat' and 'lchmodat'. Program that need these
396 functions should add the module 'chmodat' to the
397 list of imported modules.
399 2020-02-07 fchmodat When applied to non-symlinks, these now act like
400 lchmod chmod (the BSD behavior, which POSIX requires for
401 fchmodat + AT_SYMLINK_NOFOLLOW), instead of failing
402 (the GNU/Linux behavior through glibc 2.31).
403 Future versions of GNU/Linux are planned to act as
406 2020-01-15 gc-pbkdf2-sha1 This module is deprecated. Use gc-pbkdf2 instead.
408 2019-12-12 dfa Its API now uses ptrdiff_t instead of size_t.
410 2019-12-11 dfa To call dfamust, one must now call dfaparse
411 without yet calling dfacomp. This fixes a bug
412 introduced on 2018-10-22 that broke dfamust.
414 2019-12-07 xstrtol This module no longer defines the function
415 xstrtoll 'xstrtol_fatal'. Program that need this function
416 xstrtoimax should add the module 'xstrtol-error' to the list
417 xstrtoumax of imported modules.
419 2019-05-90 verify verify_true (deprecated 2011-06-15) is removed.
421 2019-03-16 fatal-signal The function that you pass to at_fatal_signal now
422 takes the signal as argument.
424 2019-02-02 c-strtod This and related modules no longer define
425 the HAVE_C99_STRTOLD macro. Programs requiring
426 standard strtold should use the strtold module.
428 2019-01-21 diacrit This module is deprecated. Please use the module
429 uninorm/canonical-decomposition instead.
431 2018-10-23 backupfile backup_file_rename and find_backup_file_name
432 now take an additional directory file descriptor
433 argument. Pass AT_FDCWD to get the old behavior.
435 2018-08-18 getpass The include file is changed from "getpass.h" to
436 getpass-gnu <unistd.h>.
438 2018-07-17 hard-locale m4/hard-locale.m4 and gl_HARD_LOCALE are removed.
440 2018-07-05 renameat2 This module is renamed to 'renameatu' and all
441 its include files and functions are renamed
444 2017-12-30 chdir-safer This module is removed. It was deprecated
447 2017-11-24 posixtm Previously, callers had to specify either
448 PDS_LEADING_YEAR or PDS_TRAILING_YEAR (but
449 not both). Now, callers should specify
450 only PDS_TRAILING_YEAR; leading years are
451 requested by not specifying PDS_TRAILING_YEAR.
453 2017-08-14 fcntl-h This module now defaults O_CLOEXEC to a nonzero
454 value instead of to 0, as the 'open' and
455 'openat' modules now emulate O_CLOEXEC.
457 2017-07-23 strftime This module is renamed to 'nstrftime'.
459 2017-05-19 closeout close_stdout longer closes stderr when addresses
460 are being sanitized, as the sanitizer outputs to
463 2017-02-16 binary-io On MS-DOS and OS/2, set_binary_mode now fails
464 on ttys, and sets errno == EINVAL.
466 2017-01-20 parse-datetime The parse_datetime2 function now takes two
467 more arguments TZ and TZSTRING, for the
468 time zone and its name.
470 2017-01-16 host-cpu-c-abi On ARM platforms, HOST_CPU_C_ABI is now set to
471 'arm' or 'armhf' instead of 'armel'.
473 2017-01-15 localeinfo Change case_folded_counterparts's first arg's type
474 from wchar_t to wint_t, so it now accepts WEOF.
476 2016-12-17 getlogin The link requirements of these modules are changed
477 getlogin_r from empty to $(LIB_GETLOGIN).
479 2016-12-13 dfa Remove DFA_CASE_FOLD flag. Now based on RE_ICASE.
481 2016-11-17 unistr/u32-strmblen The function u32_strmblen can now return -1.
482 2016-11-17 unistr/u32-strmbtouc The function u32_strmbtouc can now return -1.
484 2016-08-17 stdbool This no longer supports _Bool for C++.
485 Programs intended to be portable to C++
486 compilers should use plain 'bool' instead.
488 2016-04-12 intprops The following macros were removed:
489 TYPE_TWOS_COMPLEMENT TYPE_ONES_COMPLEMENT
490 TYPE_SIGNED_MAGNITUDE
492 2015-09-25 c-ctype The following macros were removed:
493 C_CTYPE_CONSECUTIVE_DIGITS
494 C_CTYPE_CONSECUTIVE_LOWERCASE
495 C_CTYPE_CONSECUTIVE_UPPERCASE
497 2015-09-22 savewd SAVEWD_CHDIR_READABLE constant removed.
499 2015-07-24 fprintftime Exported functions' time zone arguments are now of
500 strftime type timezone_t (with NULL denoting UTC) instead of
501 type int (with nonzero denoting UTC). These
502 modules now depend on time_rz.
504 2015-04-24 acl This module no longer defines file_has_acl.
505 Use the new file-has-acl module for that.
506 Using only the latter module makes for fewer
507 link-time dependencies on GNU/Linux.
509 2015-04-15 acl If your project only uses the file_has_acl()
510 detection routine, then the requirements are
511 potentially reduced by using $LIB_HAS_ACL rather
514 2015-04-03 hash hash_insert0 function removed (deprecated in 2011).
516 2014-10-29 obstack The obstack functions are no longer limited to
517 int sizes; size values are now of type size_t.
518 This changes both the ABI and the API.
519 obstack_blank no longer accepts a negative size to
520 shrink the current object; callers must now use
521 obstack_blank_fast with a "negative" (actually,
522 large positive) size for that.
524 2014-02-23 diffseq The members too_expensive, lo_minimal and hi_minimal
525 were removed from public structures, and the
526 find_minimal argument was removed from diag
529 2014-02-11 savedir The savedir and streamsavedir functions have a
530 new argument specifying how to sort the result.
531 The fdsavedir function is removed.
533 2013-05-04 gnulib-tool CVS checkout of gnulib are no longer supported.
535 2013-02-08 careadlinkat This module no longer provides the careadlinkatcwd
538 2012-06-26 getopt-posix This module no longer guarantees that option
539 processing is resettable. If your code uses
540 'optreset' or 'optind = 0;', rewrite it to make
541 only one pass over the argument array.
543 2012-02-24 streq This module no longer provides the STREQ macro.
544 Use STREQ_OPT instead.
546 2012-01-10 ignore-value This module no longer provides the ignore_ptr
547 function. It was deprecated a year ago, but existed
548 so briefly before then that it never came into use.
549 Now, the ignore_value function does its job.
551 2011-11-18 hash This module deprecates the hash_insert0 function
552 using gcc's "deprecated" attribute. Use the better-
553 named hash_insert_if_absent equivalent.
555 2011-11-04 openat This module no longer provides the mkdirat()
556 function. If you need this function, you now need
557 to request the 'mkdirat' module.
559 2011-11-04 openat This module no longer provides the fstatat()
560 function. If you need this function, you now need
561 to request the 'fstatat' module.
563 2011-11-03 openat This module no longer provides the unlinkat()
564 function. If you need this function, you now need
565 to request the 'unlinkat' module.
567 2011-11-02 openat This module no longer provides the fchmodat()
568 function. If you need this function, you now need
569 to request the 'fchmodat' module.
571 2011-11-01 alignof This module no longer provides the alignof() macro.
572 Use either alignof_slot() or alignof_type() instead.
574 2011-11-01 openat This module no longer provides the fchownat()
575 function. If you need this function, you now need
576 to request the 'fchownat' module.
578 2011-10-03 poll The link requirements of this module are changed
579 from empty to $(LIB_POLL).
581 2011-09-25 sys_stat This module no longer provides the fstat()
582 function. If you need this function, you now need
583 to request the 'fstat' module.
585 2011-09-23 signal This module is renamed to 'signal-h'.
587 2011-09-22 select The link requirements of this module are changed
588 from $(LIBSOCKET) to $(LIB_SELECT).
590 2011-09-12 fchdir This module no longer overrides the functions
591 opendir() and closedir(), unless the modules
592 'opendir' and 'closedir' are in use, respectively.
593 If you use opendir(), please use module 'opendir'.
594 If you use closedir(), please use module 'closedir'.
596 2011-08-04 pathmax The header file "pathmax.h" no longer defines
597 PATH_MAX on GNU/Hurd. Please use one of the methods
598 listed in pathmax.h to ensure your package is
599 portable to GNU/Hurd.
601 2011-07-24 close This module no longer pulls in the 'fclose' module.
602 If your code creates a socket descriptor using
603 socket() or accept(), then a FILE stream referring
604 to it using fdopen(), then in order to close this
605 stream, you need the 'fclose' module.
607 2011-07-12 arg-nonnull Renamed to snippet/arg-nonnull.
608 c++defs Renamed to snippet/c++defs.
609 link-warning Renamed to snippet/link-warning.
610 unused-parameter Renamed to snippet/unused-parameter.
611 warn-on-use Renamed to snippet/warn-on-use.
613 2011-06-15 verify verify_true (V) is deprecated; please use
614 verify_expr (V, 1) instead.
616 2011-06-05 ansi-c++-opt When a C++ compiler is not found, the variable CXX
617 is now set to "no", not to ":".
619 2011-05-11 group-member The include file is changed from "group-member.h"
622 2011-05-02 exit The module is removed. It was deprecated
623 on 2010-03-05. Use 'stdlib' directly instead.
625 2011-04-27 mgetgroups The 'xgetgroups' function has been split into
626 a new 'xgetgroups' module.
628 2011-04-27 save-cwd This module pulls in fewer dependencies by
629 default; to retain robust handling of directories
630 with an absolute name longer than PATH_MAX, you
631 must now explicitly include the 'getcwd' module.
633 2011-04-19 close-hook This module has been renamed to 'fd-hook' and
636 2011-03-08 regex-quote The last argument is no longer an 'int cflags'
637 but instead a pointer to a previously constructed
638 'struct regex_quote_spec'.
640 2011-02-25 dirname These modules no longer put #defines for the
641 dirname-lgpl following symbols into <config.h>: ISSLASH,
642 backupfile FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX,
643 lstat FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR,
644 openat FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE.
645 remove Applications that need ISSLASH can include the new
646 rmdir header dosname.h.
651 2011-02-14 getloadavg This module no longer #defines C_GETLOADAVG or
652 HAVE_GETLOADAVG, as the application no longer needs
653 to worry about how getloadavg is defined. It no
654 longer defines the obsolete symbol NLIST_NAME_UNION
655 (which should have been internal to the module
656 anyway). Also, support for setgid use has been
657 removed, as nobody seems to be using it; thus
658 GETLOADAVG_PRIVILEGED is no longer #defined and
659 KMEM_GROUP and NEED_SETGID are no longer
662 2011-02-08 stdlib Unless the random_r module is also used, this
663 module no longer guarantees that the following are
664 defined: struct random_data, RAND_MAX, random_r,
665 srandom_r, initstate_r, setstate_r.
667 2011-02-08 wctype-h This module no longer provides the iswblank()
668 function. If you need this function, you now need
669 to request the 'iswblank' module.
671 2011-02-07 wctype This module is renamed to wctype-h.
673 2011-01-18 multiarch This no longer #defines AA_APPLE_UNIVERSAL_BUILD;
674 instead, use the shell var APPLE_UNIVERSAL_BUILD.
676 2010-12-10 pipe This module is renamed to spawn-pipe. The include
677 file is renamed to "spawn-pipe.h".
679 2010-10-05 getdate This module is deprecated. Please use the new
680 parse-datetime module for the replacement
681 function parse_datetime(), or help us write
682 getdate-posix for getdate(). Also, the header
683 "getdate.h" has been renamed "parse-datetime.h",
684 and doc/getdate.texi to doc/parse-datetime.texi.
686 2010-09-29 sys_wait This module no longer provides the waitpid()
687 function. If you need this function, you now need
688 to request the 'waitpid' module.
690 2010-09-17 utimens The function gl_futimens is removed, and its
691 signature has been migrated to fdutimens. Callers
692 of gl_futimens should change function name, and
693 callers of fdutimens should swap parameter order.
695 2010-09-17 fdutimensat This function has a new signature: the fd now comes
696 first instead of the dir/name pair, and a new
697 atflag parameter is added at the end. Old code
698 should rearrange parameters, and pass 0 for atflag.
700 2010-09-13 regex The module is not guaranteeing anymore support for
701 64-bit regoff_t on 64-bit systems. The size of
702 regoff_t will always be 32-bit unless the program
703 is being configured --with-included-regex. This
704 may change again in the future once glibc provides
705 this feature as well.
707 2010-09-12 savedir The fdsavedir function is now deprecated.
709 2010-09-10 fcntl-h This module now defaults O_CLOEXEC to 0, and
710 it defaults O_EXEC and O_SEARCH to O_RDONLY.
711 Use "#if O_CLOEXEC" instead of "#ifdef O_CLOEXEC".
713 2010-08-28 realloc This module is deprecated. Use 'realloc-gnu'
714 instead. It will be removed 2012-01-01.
716 2010-08-28 calloc This module is deprecated. Use 'calloc-gnu'
717 instead. It will be removed 2012-01-01.
719 2010-08-28 malloc This module is deprecated. Use 'malloc-gnu'
720 instead. It will be removed 2012-01-01.
722 2010-08-14 memxfrm This module is renamed to amemxfrm. The include
723 file is renamed to "amemxfrm.h". The function is
726 2010-08-09 symlinkat This module now only provides symlinkat; use the
727 new module 'readlinkat' if needed.
729 2010-07-31 ansi-c++-opt If Autoconf >= 2.66 is used, the 'configure'
730 option is now called --disable-c++ rather than
733 2010-04-02 maintainer-makefile
734 The macro _prohibit_regexp has been revamped into
735 a new macro _sc_search_regexp; custom syntax
736 checks in your cfg.mk will need to be rewritten.
738 2010-03-28 lib-ignore This module now provides a variable
739 IGNORE_UNUSED_LIBRARIES_CFLAGS that you should
740 add to LDFLAGS (when linking C programs only) or
741 CFLAGS yourself. It is no longer added to LDFLAGS
744 2010-03-18 pty This module now only declares the pty.h header.
745 Use the new modules 'forkpty' or 'openpty' to
746 get the functions that were previously provided.
748 2010-03-05 exit This module is deprecated, use 'stdlib' directly
749 instead. It will be removed 2011-01-01.
751 2009-12-13 sublist The module does not define functions any more that
752 call xalloc_die() in out-of-memory situations. Use
753 module 'xsublist' and include file "gl_xsublist.h"
756 2009-12-13 list The module does not define functions any more that
757 call xalloc_die() in out-of-memory situations.
758 Use module 'xlist' and include file "gl_xlist.h"
761 2009-12-13 oset The module does not define functions any more that
762 call xalloc_die() in out-of-memory situations.
763 Use module 'xoset' and include file "gl_xoset.h"
766 2009-12-10 * Most source code files have been converted to
767 indentation by spaces (rather than tabs). Patches
768 of gnulib source code needs to be updated.
770 2009-12-09 link-warning The Makefile rules that use $(LINK_WARNING_H) now
771 must contain an explicit dependency on
774 2009-11-12 getgroups These functions now use a signature of gid_t,
775 getugroups rather than GETGROUPS_T. This probably has no
776 effect except on very old platforms.
778 2009-11-04 tempname The gen_tempname function takes an additional
779 'suffixlen' argument. You can safely pass 0.
781 2009-11-04 nproc The num_processors function now takes an argument.
783 2009-11-02 inet_pton The use of this module now requires linking with
786 2009-11-02 inet_ntop The use of this module now requires linking with
789 2009-10-10 utimens The use of this module now requires linking with
790 $(LIB_CLOCK_GETTIME).
792 2009-09-16 canonicalize-lgpl
793 The include file is changed from "canonicalize.h"
796 2009-09-04 link-follow The macro LINK_FOLLOWS_SYMLINK is now tri-state,
797 rather than only defined to 1.
799 2009-09-03 openat The include files are standardized to POSIX 2008.
800 For openat, include <fcntl.h>; for
801 fchmodat, fstatat, and mkdirat, include
802 <sys/stat.h>; for fchownat and unlinkat,
803 include <unistd.h>. For all other
804 functions provided by this module,
805 continue to include "openat.h".
807 2009-08-30 striconveh The functions mem_cd_iconveh and str_cd_iconveh
808 now take an 'iconveh_t *' argument instead of three
811 2009-08-23 tempname The gen_tempname function takes an additional
812 'flags' argument. You can safely pass 0.
814 2009-08-12 getopt This module is deprecated. Please choose among
815 getopt-posix and getopt-gnu. getopt-gnu provides
816 "long options" and "options with optional
817 arguments", getopt-posix doesn't.
819 2009-06-25 fpurge The include file is changed from "fpurge.h" to
822 2009-04-26 uniconv/u8-conv-from-enc
823 uniconv/u16-conv-from-enc
824 uniconv/u32-conv-from-enc
825 The calling convention of the functions
826 u*_conv_from_encoding is changed.
828 2009-04-26 uniconv/u8-conv-to-enc
829 uniconv/u16-conv-to-enc
830 uniconv/u32-conv-to-enc
831 The calling convention of the functions
832 u*_conv_to_encoding is changed.
834 2009-04-24 maintainer-makefile
835 The maint.mk file was copied from
836 coreutils, and the old
837 coverage/gettext/indent rules were
838 re-added. If you used 'make syntax-check'
839 this will add several new checks. If some
840 new check is annoying, add the name of the
841 checks to 'local-checks-to-skip' in your
844 2009-04-01 visibility Renamed to lib-symbol-visibility.
846 2009-04-01 ld-version-script Renamed to lib-symbol-versions.
848 2009-03-20 close The substituted variable LIB_CLOSE is removed.
850 2009-03-05 filevercmp Move hidden files up in ordering.
852 2009-01-22 c-strtod This function no longer calls xalloc_die(). If
853 c-strtold you want to exit the program in case of out-of-
854 memory, the calling function needs to arrange
857 val = c_strtod (...);
858 if (val == 0 && errno == ENOMEM)
861 2009-01-17 relocatable-prog In the Makefile.am or Makefile.in, you now also
862 need to set RELOCATABLE_STRIP = :.
864 2008-12-22 getaddrinfo When using this module, you now need to link with
865 canon-host $(GETADDRINFO_LIB).
867 2008-12-21 mbiter The header files "mbiter.h", "mbuiter.h",
868 mbuiter "mbfile.h" can now be included without checking
869 mbfile HAVE_MBRTOWC. The macro HAVE_MBRTOWC will no
870 longer be defined by these modules in a year. If
871 you want to continue to use it, you need to invoke
872 AC_FUNC_MBRTOWC yourself.
874 2008-11-11 warnings This module subsumes the file m4/warning.m4 which
877 2008-10-20 lstat The include file is changed from "lstat.h" to
880 2008-10-20 getaddrinfo The include file is changed from "getaddrinfo.h"
883 2008-10-19 isnanf The include file is changed from "isnanf.h" to
885 isnand The include file is changed from "isnand.h" to
887 isnanl The include file is changed from "isnanl.h" to
890 2008-10-18 lchmod The include file is changed from "lchmod.h" to
893 2008-10-18 dirfd The include file is changed from "dirfd.h" to
896 2008-10-18 euidaccess The include file is changed from "euidaccess.h"
899 2008-10-18 getdomainname The include file is changed from "getdomainname.h"
902 2008-09-28 sockets When using this module, you now need to link with
905 2008-09-24 sys_select The limitation on 'select', introduced 2008-09-23,
906 was removed. sys_select now includes a select
907 wrapper for Winsock. The wrapper expects socket
908 and file descriptors to be compatible as arranged
909 by the sys_socket on MinGW.
911 2008-09-23 sys_socket Under Windows (MinGW), the module now adds
912 wrappers around Winsock functions, so that
913 socket descriptors are now compatible with
914 file descriptors. In general, this change
915 will simply improve your code's portability
916 between POSIX platforms and Windows. In
917 particular, you will be able to use ioctl and
918 close instead of ioctlsocket and closesocket,
919 and test errno instead of WSAGetLastError ().
920 On the other hand, you have to audit your code to
921 remove usage of these Winsock-specific functions.
923 This change does not remove the need to call
924 the gl_sockets_startup function from the sockets
925 gnulib module. Also, for now select is disabled
926 when you include the sys_socket module; while
927 the functionality will be restored soon, for
928 efficiency it is suggested to use the poll system
929 poll system call and gnulib module instead.
931 2008-09-13 EOVERFLOW The module is removed. Use module errno instead.
933 2008-09-01 filename The module does not define the function
934 concatenated_filename any more. To get an
935 equivalent function, use function
936 xconcatenated_filename from module
939 2008-08-31 havelib On Solaris, when searching for 64-bit mode
940 libraries the directory $prefix/lib is now ignored.
941 Instead the directory $prefix/lib/64 is searched.
942 You may need to create a symbolic link for
943 $prefix/lib/64 if you have 64-bit libraries
944 installed in $prefix/lib.
946 2008-08-19 strverscmp The include file is changed from "strverscmp.h"
949 2008-08-14 lock The include file is changed from "lock.h"
950 to "glthread/lock.h".
951 tls The include file is changed from "tls.h"
954 2008-07-17 c-stack The module now requires the addition of
955 $(LIBCSTACK) or $(LTLIBCSTACK) in Makefile.am,
956 since it may depend on linking with libsigsegv.
958 2008-07-07 isnanf-nolibm The include file is changed from "isnanf.h"
959 to "isnanf-nolibm.h".
960 isnand-nolibm The include file is changed from "isnand.h"
961 to "isnand-nolibm.h".
963 2008-06-10 execute The execute function takes an additional termsigp
964 argument. Passing termsigp = NULL is ok.
965 wait-process The wait_subprocess function takes an additional
966 termsigp argument. Passing termsigp = NULL is ok.
968 2008-05-10 linebreak The module is split into several modules unilbrk/*.
969 The include file is changed from "linebreak.h" to
970 "unilbrk.h". Two functions are renamed:
971 mbs_possible_linebreaks -> ulc_possible_linebreaks
972 mbs_width_linebreaks -> ulc_width_linebreaks
974 2008-04-28 rpmatch The include file is now <stdlib.h>.
976 2008-04-28 inet_ntop The include file is changed from "inet_ntop.h"
979 2008-04-28 inet_pton The include file is changed from "inet_pton.h"
982 2008-03-06 freadahead The return value's computation has changed. It
983 now increases by 1 after ungetc.
985 2008-01-26 isnan-nolibm The module name is changed from isnan-nolibm to
986 isnand-nolibm. The include file is changed from
987 "isnan.h" to "isnand.h". The function that it
988 defines is changed from isnan() to isnand().
990 2008-01-14 strcasestr This module now replaces worst-case inefficient
991 implementations; clients that use controlled
992 needles and thus do not care about worst-case
993 efficiency should use the new strcasestr-simple
994 module instead for smaller code size.
996 2008-01-09 alloca-opt Now defines HAVE_ALLOCA_H only when the system
997 supplies an <alloca.h>. Gnulib-using code is now
998 expected to include <alloca.h> unconditionally.
999 Non-gnulib-using code can continue to include
1000 <alloca.h> only if HAVE_ALLOCA_H is defined.
1002 2008-01-08 memmem This module now replaces worst-case inefficient
1003 implementations; clients that use controlled
1004 needles and thus do not care about worst-case
1005 efficiency should use the new memmem-simple
1006 module instead for smaller code size.
1008 2007-12-24 setenv The include file is changed from "setenv.h" to
1009 <stdlib.h>. Also, the unsetenv function is no
1010 longer declared in this module; use the 'unsetenv'
1011 module if you need it.
1013 2007-12-03 getpagesize The include file is changed from "getpagesize.h"
1016 2007-12-03 strcase The include file is changed from <string.h> to
1019 2007-10-07 most modules The license for most modules has changed from
1020 GPLv2+ to GPLv3+, and from LGPLv2+ to LGPLv3+.
1021 A few modules are still under LGPLv2+; see the
1022 module description for the applicable license.
1024 2007-09-01 linebreak "linebreak.h" no longer declares the functions
1025 locale_charset, uc_width, u{8,16,32}_width. Use
1026 "uniwidth.h" to get these functions declared.
1028 2007-08-28 areadlink-with-size
1029 Renamed from mreadlink-with-size.
1030 Function renamed: mreadlink_with_size ->
1031 areadlink_with_size.
1033 2007-08-22 getdelim, getline
1034 The include file is changed from "getdelim.h"
1035 and "getline.h" to the POSIX 200x <stdio.h>.
1037 2007-08-18 idcache Now provides prototypes in "idcache.h".
1039 2007-08-10 xstrtol The STRTOL_FATAL_ERROR macro is removed.
1040 Use the new xstrtol_fatal function instead.
1042 2007-08-04 human The function human_options no longer reports an
1043 error to standard error; that is now the
1044 caller's responsibility. It returns an
1045 error code of type enum strtol_error
1046 instead of the integer option value, and stores
1047 the option value via a new int * argument.
1048 xstrtol The first two arguments of STRTOL_FATAL_ERROR
1049 are now an option name and option argument
1050 instead of an option argument and a type string,
1051 STRTOL_FAIL_WARN is removed.
1053 2007-07-14 gpl, lgpl New Texinfo versions with no sectioning commands.
1055 2007-07-10 version-etc Output now mentions GPLv3+, not GPLv2+. Use
1056 gnulib-tool --local-dir to override this.
1058 2007-07-07 wcwidth The include file is changed from "wcwidth.h" to
1061 2007-07-02 gpl, lgpl Renamed to gpl-2.0 and lgpl-2.1 respectively.
1062 (There is also a new module gpl-3.0.)
1064 2007-06-16 lchown The include file is changed from "lchown.h" to
1067 2007-06-09 xallocsa Renamed to xmalloca. The include file "xallocsa.h"
1068 was renamed to "xmalloca.h". The function was
1070 xallocsa -> xmalloca
1072 2007-06-09 allocsa Renamed to malloca. The include file "allocsa.h"
1073 was renamed to "malloca.h". The function-like
1074 macros were renamed:
1078 2007-05-20 utimens Renamed futimens to gl_futimens, to avoid
1079 conflict with the glibc-2.6-introduced function
1080 that has a different signature.
1082 2007-05-01 sigprocmask The module now depends on signal, so replace
1083 #include "sigprocmask.h"
1087 2007-04-06 gettext The macro HAVE_LONG_DOUBLE is no longer set.
1088 You can replace all its uses with 1, i.e. assume
1089 'long double' as a type exists.
1091 2007-04-01 arcfour Renamed to crypto/arcfour.
1092 arctwo Renamed to crypto/arctwo.
1093 des Renamed to crypto/des.
1094 gc Renamed to crypto/gc.
1095 gc-arcfour Renamed to crypto/gc-arcfour.
1096 gc-arctwo Renamed to crypto/gc-arctwo.
1097 gc-des Renamed to crypto/gc-des.
1098 gc-hmac-md5 Renamed to crypto/gc-hmac-md5.
1099 gc-hmac-sha1 Renamed to crypto/gc-hmac-sha1.
1100 gc-md2 Renamed to crypto/gc-md2.
1101 gc-md4 Renamed to crypto/gc-md4.
1102 gc-md5 Renamed to crypto/gc-md5.
1103 gc-pbkdf2-sha1 Renamed to crypto/gc-pbkdf2-sha1.
1104 gc-random Renamed to crypto/gc-random.
1105 gc-rijndael Renamed to crypto/gc-rijndael.
1106 gc-sha1 Renamed to crypto/gc-sha1.
1107 hmac-md5 Renamed to crypto/hmac-md5.
1108 hmac-sha1 Renamed to crypto/hmac-sha1.
1109 md2 Renamed to crypto/md2.
1110 md4 Renamed to crypto/md4.
1111 md5 Renamed to crypto/md5.
1112 rijndael Renamed to crypto/rijndael.
1113 sha1 Renamed to crypto/sha1.
1115 2007-03-27 vasprintf The module now depends on stdio, so replace
1116 #include "vasprintf.h"
1120 2007-03-24 tsearch The include file is changed from "tsearch.h" to
1123 2007-03-24 utf8-ucs4 The include file is changed from "utf8-ucs4.h"
1125 utf8-ucs4-unsafe The include file is changed from
1126 "utf8-ucs4-unsafe.h" to "unistr.h".
1127 utf16-ucs4 The include file is changed from "utf16-ucs4.h"
1129 utf16-ucs4-unsafe The include file is changed from
1130 "utf16-ucs4-unsafe.h" to "unistr.h".
1131 ucs4-utf8 The include file is changed from "ucs4-utf8.h"
1133 ucs4-utf16 The include file is changed from "ucs4-utf16.h"
1136 2007-03-19 iconvme The module is removed. Use module striconv instead:
1137 iconv_string -> str_iconv
1138 iconv_alloc -> str_cd_iconv (with reversed
1141 2007-03-15 list The functions gl_list_create_empty and
1142 array-list gl_list_create now take an extra fourth argument.
1143 carray-list You can pass NULL.
1151 2007-03-15 oset The function gl_oset_create_empty now takes a
1152 array-oset third argument. You can pass NULL.
1156 2007-03-12 des The types and functions in lib/des.h have been
1159 des_ctx -> gl_des_ctx, tripledes_ctx -> gl_3des_ctx,
1160 des_is_weak_key -> gl_des_is_weak_key,
1161 des_setkey -> gl_des_setkey,
1162 des_makekey -> gl_des_makekey,
1163 des_ecb_crypt -> gl_des_ecb_crypt,
1164 des_ecb_encrypt -> gl_des_ecb_encrypt,
1165 des_ecb_decrypt -> gl_des_ecb_decrypt,
1166 tripledes_set2keys -> gl_3des_set2keys,
1167 tripledes_set3keys -> gl_3des_set3keys,
1168 tripledes_makekey -> gl_3des_makekey,
1169 tripledes_ecb_crypt -> gl_3des_ecb_crypt.
1171 Also consider using the "gc-des" buffer instead of
1172 using the "des" module directly.
1174 2007-02-28 xreadlink The module xreadlink was renamed to
1175 xreadlink-with-size. The function was renamed:
1176 xreadlink -> xreadlink_with_size.
1178 2007-02-18 exit The modules now depend on stdlib, so replace
1179 mkdtemp #include "exit.h"
1180 mkstemp #include "mkdtemp.h"
1181 #include "mkstemp.h"
1185 2007-01-26 strdup The module now depends on string, so replace
1190 # This is for Emacs.
1193 # indent-tabs-mode: nil
1194 # whitespace-check-buffer-indent: nil