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-21 *printf-posix These modules no longer support the 'n' directive
78 by default. In order to keep the 'n' directive
79 enabled, you need to additionally request the
80 module 'printf-with-n-directive'.
82 2024-02-09 strftime This module, deprecated on 2017-07-23, is removed.
83 Use module 'nstrftime' instead.
85 2023-09-03 same-inode SAME_INODE, ST_BLKSIZE and ST_NBLOCKS args
86 stat-size must be addressable lvalues.
88 2023-08-08 readutmp The result element type of the function read_utmp,
89 STRUCT_UTMP, is no longer the same as the result
90 value type of the function getutxent, struct utmpx.
92 2023-08-03 readutmp Some STRUCT_UTMP members can be char *,
93 2023-08-01 rather than fixed-length char arrays.
94 On some platforms, the timestamp is ut_ts of type
95 struct timespec, not ut_tv of type struct timeval,
96 and ut_session is pid_t not long.
97 read_utmp's 2nd arg is now idx_t * not size_t *.
98 Link additionally with $(READUTMP_LIB).
100 2023-07-10 dfa The signature of the function
101 case_folded_counterparts, declared in localeinfo.h,
104 2023-06-10 javacomp-script These modules now compile the Java code with option
105 javacomp '-source 1.6' or higher. As a consequence, the
106 compiler may emit notes "... uses unchecked or
107 unsafe operations". To avoid these notes, add
108 template arguments to the types or functions.
110 2023-04-28 largefile-required
112 Modules removed, for consistency with Autoconf
113 master. Use new module year2038-recommended
114 instead of year2038-required.
116 2023-03-25 mtx This module no longer provides the function
117 call_once. To get this function, use the new
118 separate module 'call_once'.
120 2023-03-08 time This module is renamed to 'time-h'.
121 The new 'time' module now also works around an
122 inconsistency in glibc 2.31+ on Linux.
124 2023-02-07 c-nullptr Rename this module to nullptr.
126 2023-01-21 getprogname The include file is changed from "getprogname.h"
129 2023-01-15 stdalign This module is deprecated. Use alignasof instead.
131 2023-01-13 acl Link additionally with $(QCOPY_ACL_LIB).
136 2023-01-13 qcopy-acl Link with $(QCOPY_ACL_LIB) instead of $(LIB_ACL).
138 2023-01-07 timer_time Link with $(TIMER_TIME_LIB) instead of
141 2023-01-07 setlocale-null Link with $(SETLOCALE_NULL_LIB) instead of
142 $(LIB_SETLOCALE_NULL).
144 2023-01-07 setlocale Link with $(SETLOCALE_LIB) instead of
147 2023-01-07 select Link with $(SELECT_LIB) instead of $(LIB_SELECT).
149 2023-01-07 sched_yield Link with $(SCHED_YIELD_LIB) instead of
152 2023-01-07 pthread_sigmask Link with $(PTHREAD_SIGMASK_LIB) instead of
153 $(LIB_PTHREAD_SIGMASK).
155 2023-01-07 posix_spawn Link with $(POSIX_SPAWN_LIB) instead of
158 2023-01-07 poll Link with $(POLL_LIB) instead of $(LIB_POLL).
160 2023-01-07 nanosleep Link with $(NANOSLEEP_LIB) instead of
163 2023-01-07 mbrtowc Link with $(MBRTOWC_LIB) instead of $(LIB_MBRTOWC).
165 2023-01-07 hard-locale Link with $(HARD_LOCALE_LIB) instead of
168 2023-01-07 getrandom Link with $(GETRANDOM_LIB) instead of
171 2023-01-07 getlogin Link with $(GETLOGIN_LIB) instead of
172 getlogin_r $(LIB_GETLOGIN).
174 2023-01-07 gethrxtime Link with $(GETHRXTIME_LIB) instead of
177 2023-01-07 fdatasync Link with $(FDATASYNC_LIB) instead of
180 2023-01-07 euidaccess Link with $(EUIDACCESS_LIBGEN) instead of
183 2023-01-07 duplocale Link with $(DUPLOCALE_LIB) instead of
186 2023-01-07 clock_time Link with $(CLOCK_TIME_LIB) instead of
187 $(LIB_CLOCK_GETTIME).
189 2023-01-06 file-has-acl Link with $(FILE_HAS_ACL_LIB), not $(LIB_HAS_ACL).
191 2022-12-25 largefile configure no longer enables year-2038 support,
192 unless you configure with --enable-year2038
193 or use the year2038 module. This temporary
194 hack should go away before the year 2038.
196 2022-12-24 stdnoreturn This module is deprecated. Use _Noreturn
197 or the noreturn module instead.
199 2022-12-21 ctime This module is deprecated. Use localtime_r
200 and strftime (or even sprintf) instead.
202 2022-11-03 dynarray These modules are renamed to glibc-internal/dynarray
203 scratch_buffer and glibc-internal/scratch_buffer, respectively.
204 They are not meant for general use.
206 2022-11-02 scratch_buffer The function 'gl_scratch_buffer_dupfree' is removed.
208 2022-09-10 stdbool This module now assumes C99 and provides C23,
209 instead of providing C99. For the old behavior,
210 use the already-deprecated stdbool-c99 module.
212 2022-03-09 statat This module is deprecated. Use fstatat instead.
214 2022-01-05 stack This module now uses idx_t instead of size_t
215 for indexes and counts.
217 2021-08-27 base32 These modules now use idx_t instead of size_t
218 base64 for indexes and counts.
220 2021-07-29 (all) Due to draft C2x, the following attributes should
221 now appear at the start of a function declaration:
222 _GL_ATTRIBUTE_DEPRECATED
223 _GL_ATTRIBUTE_MAYBE_UNUSED
224 _GL_ATTRIBUTE_NODISCARD
225 attribute Likewise for DEPRECATED, MAYBE_UNUSED, NODISCARD.
226 snippet/unused-parameter
227 Likewise for _GL_UNUSED_PARAMETER.
229 2021-07-01 largefile AC_SYS_LARGEFILE now also arranges for time_t
230 to be 64-bit on 32-bit GNU/Linux platforms
231 that support it (glibc 2.34 or later).
233 2021-03-21 fatal-signal The function at_fatal_signal now returns an error
236 2021-03-21 diacrit This deprecated module is removed.
238 2021-03-07 mbrtowc For single-locale optimizations, you now need to
239 mbrtoc32 define GNULIB_WCHAR_SINGLE_LOCALE instead of
240 wcwidth GNULIB_WCHAR_SINGLE.
242 2021-02-28 parse-datetime The parse_datetime2 function has been moved
243 to the new parse-datetime2 module, so that
244 programs that need just parse_datetime need
245 not build the fancier function.
247 2020-12-23 execute These functions no longer execute scripts without
248 spawn-pipe '#!' marker through /bin/sh. To execute such a
249 posix_spawn script as a shell script, either add a '#!/bin/sh'
250 posix_spawnp marker in the first line, or specify "/bin/sh" as
251 the program to execute and the script as its first
254 2020-12-18 free This module, obsoleted in 2008, is gone.
256 2020-12-14 findprog-in The function 'find_in_given_path' now takes a 3rd
257 argument 'const char *directory'. To maintain the
258 previous behaviour, insert NULL as additional 3rd
261 2020-12-11 sh-quote The argv argument of the 'shell_quote_argv' function
262 is now of type 'const char * const *'. You no
263 longer need to cast read-only strings to 'char *'
264 when constructing this argument.
265 execute The prog_argv argument of the 'execute' function
266 is now of type 'const char * const *'. You no
267 longer need to cast read-only strings to 'char *'
268 when constructing this argument.
269 spawn-pipe The prog_argv argument of the functions
270 'create_pipe_out', 'create_pipe_in',
271 'create_pipe_bidi' 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-gi The prog_argv argument of the
276 'pipe_filter_gi_create' 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 pipe-filter-ii The prog_argv argument of the
281 'pipe_filter_ii_execute' function is now of type
282 'const char * const *'. You no longer need to cast
283 read-only strings to 'char *' when constructing this
285 javaexec The prog_argv argument of the 'execute_fn' function
286 type is now of type 'const char * const *'. Update
287 the signature of all your implementations of this
289 csharpexec The prog_argv argument of the 'execute_fn' function
290 type is now of type 'const char * const *'. Update
291 the signature of all your implementations of this
294 2020-12-02 spawn-pipe The functions 'create_pipe_out', 'create_pipe_in',
295 'create_pipe_bidi' now take a 4th argument
296 'const char *directory'. To maintain the previous
297 behaviour, insert NULL as additional 4th argument.
299 2020-12-02 execute The function 'execute' now takes a 4th argument
300 'const char *directory'. To maintain the previous
301 behaviour, insert NULL as additional 4th argument.
303 2020-10-16 hash This module deprecates the 'hash_delete' function
304 using gcc's "deprecated" attribute. Use the better-
305 named 'hash_remove' equivalent.
307 2020-08-24 diffseq If you do not define NOTE_ORDERED to true,
308 the NOTE_DELETE and NOTE_INSERT actions might
309 not be done in order, to help cut down worst-case
310 recursion stack space from O(N) to O(log N).
312 2020-08-01 libtextstyle-optional You now need to invoke
313 gl_LIBTEXTSTYLE_OPTIONAL explicitly, because
314 this macro now takes an optional
315 MINIMUM-VERSION argument.
317 2020-08-01 libtextstyle You now need to invoke gl_LIBTEXTSTYLE explicitly,
318 because this macro now takes an optional
319 MINIMUM-VERSION argument.
321 2020-06-27 clean-temp The functions open_temp, fopen_temp now take a
322 'bool delete_on_close' argument. If in doubt, pass
325 2020-06-27 tempname The link requirements of these modules are changed
326 mkdtemp from empty to $(LIB_GETRANDOM).
335 javacomp $(LIB_GETRANDOM) was added to the link requirements
338 2020-05-27 read-file The functions provided by this module now take an
339 'int flags' argument to modify the file reading
340 behavior. The read_binary_file function has been
341 removed as it is no longer necessary.
343 2020-04-27 getdate This deprecated module is removed. Use the module
344 'parse-datetime' instead. Instead of
347 #include "parse-datetime.h"
348 The function get_date is renamed to parse_datetime.
350 2020-04-27 realloc This deprecated module is removed. Use the module
351 'realloc-gnu' instead.
353 2020-04-27 calloc This deprecated module is removed. Use the module
354 'calloc-gnu' instead.
356 2020-04-27 malloc This deprecated module is removed. Use the module
357 'malloc-gnu' instead.
359 2020-04-27 fnmatch-posix This deprecated module is removed. Use the module
362 2020-04-27 pipe This deprecated module is removed. Use the module
363 'spawn-pipe' instead. Instead of
366 #include "spawn-pipe.h"
368 2020-04-27 getopt This deprecated module is removed. Please choose
369 among getopt-posix and getopt-gnu. getopt-gnu
370 provides "long options" and "options with optional
371 arguments", getopt-posix doesn't.
373 2020-04-27 rename-dest-slash This deprecated module is removed. Use the
374 module 'rename' instead.
376 2020-04-27 unictype/bidicategory-* These deprecated modules are removed. Use
377 the modules unictype/bidiclass-* instead.
379 2020-03-28 dosname On native Windows, OS/2, DOS,
380 IS_RELATIVE_FILE_NAME("c:") now returns false.
382 2020-03-28 filename The macro IS_ABSOLUTE_PATH is deprecated. Use
383 IS_ABSOLUTE_FILE_NAME instead.
384 The macro IS_PATH_WITH_DIR is deprecated. Use
385 IS_FILE_NAME_WITH_DIR instead.
387 2020-02-22 fchownat This module no longer defines the functions
388 'chownat' and 'lchownat'. Program that need these
389 functions should add the module 'chownat' to the
390 list of imported modules.
392 2020-02-22 fchmodat This module no longer defines the functions
393 'chmodat' and 'lchmodat'. Program that need these
394 functions should add the module 'chmodat' to the
395 list of imported modules.
397 2020-02-07 fchmodat When applied to non-symlinks, these now act like
398 lchmod chmod (the BSD behavior, which POSIX requires for
399 fchmodat + AT_SYMLINK_NOFOLLOW), instead of failing
400 (the GNU/Linux behavior through glibc 2.31).
401 Future versions of GNU/Linux are planned to act as
404 2020-01-15 gc-pbkdf2-sha1 This module is deprecated. Use gc-pbkdf2 instead.
406 2019-12-12 dfa Its API now uses ptrdiff_t instead of size_t.
408 2019-12-11 dfa To call dfamust, one must now call dfaparse
409 without yet calling dfacomp. This fixes a bug
410 introduced on 2018-10-22 that broke dfamust.
412 2019-12-07 xstrtol This module no longer defines the function
413 xstrtoll 'xstrtol_fatal'. Program that need this function
414 xstrtoimax should add the module 'xstrtol-error' to the list
415 xstrtoumax of imported modules.
417 2019-05-90 verify verify_true (deprecated 2011-06-15) is removed.
419 2019-03-16 fatal-signal The function that you pass to at_fatal_signal now
420 takes the signal as argument.
422 2019-02-02 c-strtod This and related modules no longer define
423 the HAVE_C99_STRTOLD macro. Programs requiring
424 standard strtold should use the strtold module.
426 2019-01-21 diacrit This module is deprecated. Please use the module
427 uninorm/canonical-decomposition instead.
429 2018-10-23 backupfile backup_file_rename and find_backup_file_name
430 now take an additional directory file descriptor
431 argument. Pass AT_FDCWD to get the old behavior.
433 2018-08-18 getpass The include file is changed from "getpass.h" to
434 getpass-gnu <unistd.h>.
436 2018-07-17 hard-locale m4/hard-locale.m4 and gl_HARD_LOCALE are removed.
438 2018-07-05 renameat2 This module is renamed to 'renameatu' and all
439 its include files and functions are renamed
442 2017-12-30 chdir-safer This module is removed. It was deprecated
445 2017-11-24 posixtm Previously, callers had to specify either
446 PDS_LEADING_YEAR or PDS_TRAILING_YEAR (but
447 not both). Now, callers should specify
448 only PDS_TRAILING_YEAR; leading years are
449 requested by not specifying PDS_TRAILING_YEAR.
451 2017-08-14 fcntl-h This module now defaults O_CLOEXEC to a nonzero
452 value instead of to 0, as the 'open' and
453 'openat' modules now emulate O_CLOEXEC.
455 2017-07-23 strftime This module is renamed to 'nstrftime'.
457 2017-05-19 closeout close_stdout longer closes stderr when addresses
458 are being sanitized, as the sanitizer outputs to
461 2017-02-16 binary-io On MS-DOS and OS/2, set_binary_mode now fails
462 on ttys, and sets errno == EINVAL.
464 2017-01-20 parse-datetime The parse_datetime2 function now takes two
465 more arguments TZ and TZSTRING, for the
466 time zone and its name.
468 2017-01-16 host-cpu-c-abi On ARM platforms, HOST_CPU_C_ABI is now set to
469 'arm' or 'armhf' instead of 'armel'.
471 2017-01-15 localeinfo Change case_folded_counterparts's first arg's type
472 from wchar_t to wint_t, so it now accepts WEOF.
474 2016-12-17 getlogin The link requirements of these modules are changed
475 getlogin_r from empty to $(LIB_GETLOGIN).
477 2016-12-13 dfa Remove DFA_CASE_FOLD flag. Now based on RE_ICASE.
479 2016-11-17 unistr/u32-strmblen The function u32_strmblen can now return -1.
480 2016-11-17 unistr/u32-strmbtouc The function u32_strmbtouc can now return -1.
482 2016-08-17 stdbool This no longer supports _Bool for C++.
483 Programs intended to be portable to C++
484 compilers should use plain 'bool' instead.
486 2016-04-12 intprops The following macros were removed:
487 TYPE_TWOS_COMPLEMENT TYPE_ONES_COMPLEMENT
488 TYPE_SIGNED_MAGNITUDE
490 2015-09-25 c-ctype The following macros were removed:
491 C_CTYPE_CONSECUTIVE_DIGITS
492 C_CTYPE_CONSECUTIVE_LOWERCASE
493 C_CTYPE_CONSECUTIVE_UPPERCASE
495 2015-09-22 savewd SAVEWD_CHDIR_READABLE constant removed.
497 2015-07-24 fprintftime Exported functions' time zone arguments are now of
498 strftime type timezone_t (with NULL denoting UTC) instead of
499 type int (with nonzero denoting UTC). These
500 modules now depend on time_rz.
502 2015-04-24 acl This module no longer defines file_has_acl.
503 Use the new file-has-acl module for that.
504 Using only the latter module makes for fewer
505 link-time dependencies on GNU/Linux.
507 2015-04-15 acl If your project only uses the file_has_acl()
508 detection routine, then the requirements are
509 potentially reduced by using $LIB_HAS_ACL rather
512 2015-04-03 hash hash_insert0 function removed (deprecated in 2011).
514 2014-10-29 obstack The obstack functions are no longer limited to
515 int sizes; size values are now of type size_t.
516 This changes both the ABI and the API.
517 obstack_blank no longer accepts a negative size to
518 shrink the current object; callers must now use
519 obstack_blank_fast with a "negative" (actually,
520 large positive) size for that.
522 2014-02-23 diffseq The members too_expensive, lo_minimal and hi_minimal
523 were removed from public structures, and the
524 find_minimal argument was removed from diag
527 2014-02-11 savedir The savedir and streamsavedir functions have a
528 new argument specifying how to sort the result.
529 The fdsavedir function is removed.
531 2013-05-04 gnulib-tool CVS checkout of gnulib are no longer supported.
533 2013-02-08 careadlinkat This module no longer provides the careadlinkatcwd
536 2012-06-26 getopt-posix This module no longer guarantees that option
537 processing is resettable. If your code uses
538 'optreset' or 'optind = 0;', rewrite it to make
539 only one pass over the argument array.
541 2012-02-24 streq This module no longer provides the STREQ macro.
542 Use STREQ_OPT instead.
544 2012-01-10 ignore-value This module no longer provides the ignore_ptr
545 function. It was deprecated a year ago, but existed
546 so briefly before then that it never came into use.
547 Now, the ignore_value function does its job.
549 2011-11-18 hash This module deprecates the hash_insert0 function
550 using gcc's "deprecated" attribute. Use the better-
551 named hash_insert_if_absent equivalent.
553 2011-11-04 openat This module no longer provides the mkdirat()
554 function. If you need this function, you now need
555 to request the 'mkdirat' module.
557 2011-11-04 openat This module no longer provides the fstatat()
558 function. If you need this function, you now need
559 to request the 'fstatat' module.
561 2011-11-03 openat This module no longer provides the unlinkat()
562 function. If you need this function, you now need
563 to request the 'unlinkat' module.
565 2011-11-02 openat This module no longer provides the fchmodat()
566 function. If you need this function, you now need
567 to request the 'fchmodat' module.
569 2011-11-01 alignof This module no longer provides the alignof() macro.
570 Use either alignof_slot() or alignof_type() instead.
572 2011-11-01 openat This module no longer provides the fchownat()
573 function. If you need this function, you now need
574 to request the 'fchownat' module.
576 2011-10-03 poll The link requirements of this module are changed
577 from empty to $(LIB_POLL).
579 2011-09-25 sys_stat This module no longer provides the fstat()
580 function. If you need this function, you now need
581 to request the 'fstat' module.
583 2011-09-23 signal This module is renamed to 'signal-h'.
585 2011-09-22 select The link requirements of this module are changed
586 from $(LIBSOCKET) to $(LIB_SELECT).
588 2011-09-12 fchdir This module no longer overrides the functions
589 opendir() and closedir(), unless the modules
590 'opendir' and 'closedir' are in use, respectively.
591 If you use opendir(), please use module 'opendir'.
592 If you use closedir(), please use module 'closedir'.
594 2011-08-04 pathmax The header file "pathmax.h" no longer defines
595 PATH_MAX on GNU/Hurd. Please use one of the methods
596 listed in pathmax.h to ensure your package is
597 portable to GNU/Hurd.
599 2011-07-24 close This module no longer pulls in the 'fclose' module.
600 If your code creates a socket descriptor using
601 socket() or accept(), then a FILE stream referring
602 to it using fdopen(), then in order to close this
603 stream, you need the 'fclose' module.
605 2011-07-12 arg-nonnull Renamed to snippet/arg-nonnull.
606 c++defs Renamed to snippet/c++defs.
607 link-warning Renamed to snippet/link-warning.
608 unused-parameter Renamed to snippet/unused-parameter.
609 warn-on-use Renamed to snippet/warn-on-use.
611 2011-06-15 verify verify_true (V) is deprecated; please use
612 verify_expr (V, 1) instead.
614 2011-06-05 ansi-c++-opt When a C++ compiler is not found, the variable CXX
615 is now set to "no", not to ":".
617 2011-05-11 group-member The include file is changed from "group-member.h"
620 2011-05-02 exit The module is removed. It was deprecated
621 on 2010-03-05. Use 'stdlib' directly instead.
623 2011-04-27 mgetgroups The 'xgetgroups' function has been split into
624 a new 'xgetgroups' module.
626 2011-04-27 save-cwd This module pulls in fewer dependencies by
627 default; to retain robust handling of directories
628 with an absolute name longer than PATH_MAX, you
629 must now explicitly include the 'getcwd' module.
631 2011-04-19 close-hook This module has been renamed to 'fd-hook' and
634 2011-03-08 regex-quote The last argument is no longer an 'int cflags'
635 but instead a pointer to a previously constructed
636 'struct regex_quote_spec'.
638 2011-02-25 dirname These modules no longer put #defines for the
639 dirname-lgpl following symbols into <config.h>: ISSLASH,
640 backupfile FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX,
641 lstat FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR,
642 openat FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE.
643 remove Applications that need ISSLASH can include the new
644 rmdir header dosname.h.
649 2011-02-14 getloadavg This module no longer #defines C_GETLOADAVG or
650 HAVE_GETLOADAVG, as the application no longer needs
651 to worry about how getloadavg is defined. It no
652 longer defines the obsolete symbol NLIST_NAME_UNION
653 (which should have been internal to the module
654 anyway). Also, support for setgid use has been
655 removed, as nobody seems to be using it; thus
656 GETLOADAVG_PRIVILEGED is no longer #defined and
657 KMEM_GROUP and NEED_SETGID are no longer
660 2011-02-08 stdlib Unless the random_r module is also used, this
661 module no longer guarantees that the following are
662 defined: struct random_data, RAND_MAX, random_r,
663 srandom_r, initstate_r, setstate_r.
665 2011-02-08 wctype-h This module no longer provides the iswblank()
666 function. If you need this function, you now need
667 to request the 'iswblank' module.
669 2011-02-07 wctype This module is renamed to wctype-h.
671 2011-01-18 multiarch This no longer #defines AA_APPLE_UNIVERSAL_BUILD;
672 instead, use the shell var APPLE_UNIVERSAL_BUILD.
674 2010-12-10 pipe This module is renamed to spawn-pipe. The include
675 file is renamed to "spawn-pipe.h".
677 2010-10-05 getdate This module is deprecated. Please use the new
678 parse-datetime module for the replacement
679 function parse_datetime(), or help us write
680 getdate-posix for getdate(). Also, the header
681 "getdate.h" has been renamed "parse-datetime.h",
682 and doc/getdate.texi to doc/parse-datetime.texi.
684 2010-09-29 sys_wait This module no longer provides the waitpid()
685 function. If you need this function, you now need
686 to request the 'waitpid' module.
688 2010-09-17 utimens The function gl_futimens is removed, and its
689 signature has been migrated to fdutimens. Callers
690 of gl_futimens should change function name, and
691 callers of fdutimens should swap parameter order.
693 2010-09-17 fdutimensat This function has a new signature: the fd now comes
694 first instead of the dir/name pair, and a new
695 atflag parameter is added at the end. Old code
696 should rearrange parameters, and pass 0 for atflag.
698 2010-09-13 regex The module is not guaranteeing anymore support for
699 64-bit regoff_t on 64-bit systems. The size of
700 regoff_t will always be 32-bit unless the program
701 is being configured --with-included-regex. This
702 may change again in the future once glibc provides
703 this feature as well.
705 2010-09-12 savedir The fdsavedir function is now deprecated.
707 2010-09-10 fcntl-h This module now defaults O_CLOEXEC to 0, and
708 it defaults O_EXEC and O_SEARCH to O_RDONLY.
709 Use "#if O_CLOEXEC" instead of "#ifdef O_CLOEXEC".
711 2010-08-28 realloc This module is deprecated. Use 'realloc-gnu'
712 instead. It will be removed 2012-01-01.
714 2010-08-28 calloc This module is deprecated. Use 'calloc-gnu'
715 instead. It will be removed 2012-01-01.
717 2010-08-28 malloc This module is deprecated. Use 'malloc-gnu'
718 instead. It will be removed 2012-01-01.
720 2010-08-14 memxfrm This module is renamed to amemxfrm. The include
721 file is renamed to "amemxfrm.h". The function is
724 2010-08-09 symlinkat This module now only provides symlinkat; use the
725 new module 'readlinkat' if needed.
727 2010-07-31 ansi-c++-opt If Autoconf >= 2.66 is used, the 'configure'
728 option is now called --disable-c++ rather than
731 2010-04-02 maintainer-makefile
732 The macro _prohibit_regexp has been revamped into
733 a new macro _sc_search_regexp; custom syntax
734 checks in your cfg.mk will need to be rewritten.
736 2010-03-28 lib-ignore This module now provides a variable
737 IGNORE_UNUSED_LIBRARIES_CFLAGS that you should
738 add to LDFLAGS (when linking C programs only) or
739 CFLAGS yourself. It is no longer added to LDFLAGS
742 2010-03-18 pty This module now only declares the pty.h header.
743 Use the new modules 'forkpty' or 'openpty' to
744 get the functions that were previously provided.
746 2010-03-05 exit This module is deprecated, use 'stdlib' directly
747 instead. It will be removed 2011-01-01.
749 2009-12-13 sublist The module does not define functions any more that
750 call xalloc_die() in out-of-memory situations. Use
751 module 'xsublist' and include file "gl_xsublist.h"
754 2009-12-13 list The module does not define functions any more that
755 call xalloc_die() in out-of-memory situations.
756 Use module 'xlist' and include file "gl_xlist.h"
759 2009-12-13 oset The module does not define functions any more that
760 call xalloc_die() in out-of-memory situations.
761 Use module 'xoset' and include file "gl_xoset.h"
764 2009-12-10 * Most source code files have been converted to
765 indentation by spaces (rather than tabs). Patches
766 of gnulib source code needs to be updated.
768 2009-12-09 link-warning The Makefile rules that use $(LINK_WARNING_H) now
769 must contain an explicit dependency on
772 2009-11-12 getgroups These functions now use a signature of gid_t,
773 getugroups rather than GETGROUPS_T. This probably has no
774 effect except on very old platforms.
776 2009-11-04 tempname The gen_tempname function takes an additional
777 'suffixlen' argument. You can safely pass 0.
779 2009-11-04 nproc The num_processors function now takes an argument.
781 2009-11-02 inet_pton The use of this module now requires linking with
784 2009-11-02 inet_ntop The use of this module now requires linking with
787 2009-10-10 utimens The use of this module now requires linking with
788 $(LIB_CLOCK_GETTIME).
790 2009-09-16 canonicalize-lgpl
791 The include file is changed from "canonicalize.h"
794 2009-09-04 link-follow The macro LINK_FOLLOWS_SYMLINK is now tri-state,
795 rather than only defined to 1.
797 2009-09-03 openat The include files are standardized to POSIX 2008.
798 For openat, include <fcntl.h>; for
799 fchmodat, fstatat, and mkdirat, include
800 <sys/stat.h>; for fchownat and unlinkat,
801 include <unistd.h>. For all other
802 functions provided by this module,
803 continue to include "openat.h".
805 2009-08-30 striconveh The functions mem_cd_iconveh and str_cd_iconveh
806 now take an 'iconveh_t *' argument instead of three
809 2009-08-23 tempname The gen_tempname function takes an additional
810 'flags' argument. You can safely pass 0.
812 2009-08-12 getopt This module is deprecated. Please choose among
813 getopt-posix and getopt-gnu. getopt-gnu provides
814 "long options" and "options with optional
815 arguments", getopt-posix doesn't.
817 2009-06-25 fpurge The include file is changed from "fpurge.h" to
820 2009-04-26 uniconv/u8-conv-from-enc
821 uniconv/u16-conv-from-enc
822 uniconv/u32-conv-from-enc
823 The calling convention of the functions
824 u*_conv_from_encoding is changed.
826 2009-04-26 uniconv/u8-conv-to-enc
827 uniconv/u16-conv-to-enc
828 uniconv/u32-conv-to-enc
829 The calling convention of the functions
830 u*_conv_to_encoding is changed.
832 2009-04-24 maintainer-makefile
833 The maint.mk file was copied from
834 coreutils, and the old
835 coverage/gettext/indent rules were
836 re-added. If you used 'make syntax-check'
837 this will add several new checks. If some
838 new check is annoying, add the name of the
839 checks to 'local-checks-to-skip' in your
842 2009-04-01 visibility Renamed to lib-symbol-visibility.
844 2009-04-01 ld-version-script Renamed to lib-symbol-versions.
846 2009-03-20 close The substituted variable LIB_CLOSE is removed.
848 2009-03-05 filevercmp Move hidden files up in ordering.
850 2009-01-22 c-strtod This function no longer calls xalloc_die(). If
851 c-strtold you want to exit the program in case of out-of-
852 memory, the calling function needs to arrange
855 val = c_strtod (...);
856 if (val == 0 && errno == ENOMEM)
859 2009-01-17 relocatable-prog In the Makefile.am or Makefile.in, you now also
860 need to set RELOCATABLE_STRIP = :.
862 2008-12-22 getaddrinfo When using this module, you now need to link with
863 canon-host $(GETADDRINFO_LIB).
865 2008-12-21 mbiter The header files "mbiter.h", "mbuiter.h",
866 mbuiter "mbfile.h" can now be included without checking
867 mbfile HAVE_MBRTOWC. The macro HAVE_MBRTOWC will no
868 longer be defined by these modules in a year. If
869 you want to continue to use it, you need to invoke
870 AC_FUNC_MBRTOWC yourself.
872 2008-11-11 warnings This module subsumes the file m4/warning.m4 which
875 2008-10-20 lstat The include file is changed from "lstat.h" to
878 2008-10-20 getaddrinfo The include file is changed from "getaddrinfo.h"
881 2008-10-19 isnanf The include file is changed from "isnanf.h" to
883 isnand The include file is changed from "isnand.h" to
885 isnanl The include file is changed from "isnanl.h" to
888 2008-10-18 lchmod The include file is changed from "lchmod.h" to
891 2008-10-18 dirfd The include file is changed from "dirfd.h" to
894 2008-10-18 euidaccess The include file is changed from "euidaccess.h"
897 2008-10-18 getdomainname The include file is changed from "getdomainname.h"
900 2008-09-28 sockets When using this module, you now need to link with
903 2008-09-24 sys_select The limitation on 'select', introduced 2008-09-23,
904 was removed. sys_select now includes a select
905 wrapper for Winsock. The wrapper expects socket
906 and file descriptors to be compatible as arranged
907 by the sys_socket on MinGW.
909 2008-09-23 sys_socket Under Windows (MinGW), the module now adds
910 wrappers around Winsock functions, so that
911 socket descriptors are now compatible with
912 file descriptors. In general, this change
913 will simply improve your code's portability
914 between POSIX platforms and Windows. In
915 particular, you will be able to use ioctl and
916 close instead of ioctlsocket and closesocket,
917 and test errno instead of WSAGetLastError ().
918 On the other hand, you have to audit your code to
919 remove usage of these Winsock-specific functions.
921 This change does not remove the need to call
922 the gl_sockets_startup function from the sockets
923 gnulib module. Also, for now select is disabled
924 when you include the sys_socket module; while
925 the functionality will be restored soon, for
926 efficiency it is suggested to use the poll system
927 poll system call and gnulib module instead.
929 2008-09-13 EOVERFLOW The module is removed. Use module errno instead.
931 2008-09-01 filename The module does not define the function
932 concatenated_filename any more. To get an
933 equivalent function, use function
934 xconcatenated_filename from module
937 2008-08-31 havelib On Solaris, when searching for 64-bit mode
938 libraries the directory $prefix/lib is now ignored.
939 Instead the directory $prefix/lib/64 is searched.
940 You may need to create a symbolic link for
941 $prefix/lib/64 if you have 64-bit libraries
942 installed in $prefix/lib.
944 2008-08-19 strverscmp The include file is changed from "strverscmp.h"
947 2008-08-14 lock The include file is changed from "lock.h"
948 to "glthread/lock.h".
949 tls The include file is changed from "tls.h"
952 2008-07-17 c-stack The module now requires the addition of
953 $(LIBCSTACK) or $(LTLIBCSTACK) in Makefile.am,
954 since it may depend on linking with libsigsegv.
956 2008-07-07 isnanf-nolibm The include file is changed from "isnanf.h"
957 to "isnanf-nolibm.h".
958 isnand-nolibm The include file is changed from "isnand.h"
959 to "isnand-nolibm.h".
961 2008-06-10 execute The execute function takes an additional termsigp
962 argument. Passing termsigp = NULL is ok.
963 wait-process The wait_subprocess function takes an additional
964 termsigp argument. Passing termsigp = NULL is ok.
966 2008-05-10 linebreak The module is split into several modules unilbrk/*.
967 The include file is changed from "linebreak.h" to
968 "unilbrk.h". Two functions are renamed:
969 mbs_possible_linebreaks -> ulc_possible_linebreaks
970 mbs_width_linebreaks -> ulc_width_linebreaks
972 2008-04-28 rpmatch The include file is now <stdlib.h>.
974 2008-04-28 inet_ntop The include file is changed from "inet_ntop.h"
977 2008-04-28 inet_pton The include file is changed from "inet_pton.h"
980 2008-03-06 freadahead The return value's computation has changed. It
981 now increases by 1 after ungetc.
983 2008-01-26 isnan-nolibm The module name is changed from isnan-nolibm to
984 isnand-nolibm. The include file is changed from
985 "isnan.h" to "isnand.h". The function that it
986 defines is changed from isnan() to isnand().
988 2008-01-14 strcasestr This module now replaces worst-case inefficient
989 implementations; clients that use controlled
990 needles and thus do not care about worst-case
991 efficiency should use the new strcasestr-simple
992 module instead for smaller code size.
994 2008-01-09 alloca-opt Now defines HAVE_ALLOCA_H only when the system
995 supplies an <alloca.h>. Gnulib-using code is now
996 expected to include <alloca.h> unconditionally.
997 Non-gnulib-using code can continue to include
998 <alloca.h> only if HAVE_ALLOCA_H is defined.
1000 2008-01-08 memmem This module now replaces worst-case inefficient
1001 implementations; clients that use controlled
1002 needles and thus do not care about worst-case
1003 efficiency should use the new memmem-simple
1004 module instead for smaller code size.
1006 2007-12-24 setenv The include file is changed from "setenv.h" to
1007 <stdlib.h>. Also, the unsetenv function is no
1008 longer declared in this module; use the 'unsetenv'
1009 module if you need it.
1011 2007-12-03 getpagesize The include file is changed from "getpagesize.h"
1014 2007-12-03 strcase The include file is changed from <string.h> to
1017 2007-10-07 most modules The license for most modules has changed from
1018 GPLv2+ to GPLv3+, and from LGPLv2+ to LGPLv3+.
1019 A few modules are still under LGPLv2+; see the
1020 module description for the applicable license.
1022 2007-09-01 linebreak "linebreak.h" no longer declares the functions
1023 locale_charset, uc_width, u{8,16,32}_width. Use
1024 "uniwidth.h" to get these functions declared.
1026 2007-08-28 areadlink-with-size
1027 Renamed from mreadlink-with-size.
1028 Function renamed: mreadlink_with_size ->
1029 areadlink_with_size.
1031 2007-08-22 getdelim, getline
1032 The include file is changed from "getdelim.h"
1033 and "getline.h" to the POSIX 200x <stdio.h>.
1035 2007-08-18 idcache Now provides prototypes in "idcache.h".
1037 2007-08-10 xstrtol The STRTOL_FATAL_ERROR macro is removed.
1038 Use the new xstrtol_fatal function instead.
1040 2007-08-04 human The function human_options no longer reports an
1041 error to standard error; that is now the
1042 caller's responsibility. It returns an
1043 error code of type enum strtol_error
1044 instead of the integer option value, and stores
1045 the option value via a new int * argument.
1046 xstrtol The first two arguments of STRTOL_FATAL_ERROR
1047 are now an option name and option argument
1048 instead of an option argument and a type string,
1049 STRTOL_FAIL_WARN is removed.
1051 2007-07-14 gpl, lgpl New Texinfo versions with no sectioning commands.
1053 2007-07-10 version-etc Output now mentions GPLv3+, not GPLv2+. Use
1054 gnulib-tool --local-dir to override this.
1056 2007-07-07 wcwidth The include file is changed from "wcwidth.h" to
1059 2007-07-02 gpl, lgpl Renamed to gpl-2.0 and lgpl-2.1 respectively.
1060 (There is also a new module gpl-3.0.)
1062 2007-06-16 lchown The include file is changed from "lchown.h" to
1065 2007-06-09 xallocsa Renamed to xmalloca. The include file "xallocsa.h"
1066 was renamed to "xmalloca.h". The function was
1068 xallocsa -> xmalloca
1070 2007-06-09 allocsa Renamed to malloca. The include file "allocsa.h"
1071 was renamed to "malloca.h". The function-like
1072 macros were renamed:
1076 2007-05-20 utimens Renamed futimens to gl_futimens, to avoid
1077 conflict with the glibc-2.6-introduced function
1078 that has a different signature.
1080 2007-05-01 sigprocmask The module now depends on signal, so replace
1081 #include "sigprocmask.h"
1085 2007-04-06 gettext The macro HAVE_LONG_DOUBLE is no longer set.
1086 You can replace all its uses with 1, i.e. assume
1087 'long double' as a type exists.
1089 2007-04-01 arcfour Renamed to crypto/arcfour.
1090 arctwo Renamed to crypto/arctwo.
1091 des Renamed to crypto/des.
1092 gc Renamed to crypto/gc.
1093 gc-arcfour Renamed to crypto/gc-arcfour.
1094 gc-arctwo Renamed to crypto/gc-arctwo.
1095 gc-des Renamed to crypto/gc-des.
1096 gc-hmac-md5 Renamed to crypto/gc-hmac-md5.
1097 gc-hmac-sha1 Renamed to crypto/gc-hmac-sha1.
1098 gc-md2 Renamed to crypto/gc-md2.
1099 gc-md4 Renamed to crypto/gc-md4.
1100 gc-md5 Renamed to crypto/gc-md5.
1101 gc-pbkdf2-sha1 Renamed to crypto/gc-pbkdf2-sha1.
1102 gc-random Renamed to crypto/gc-random.
1103 gc-rijndael Renamed to crypto/gc-rijndael.
1104 gc-sha1 Renamed to crypto/gc-sha1.
1105 hmac-md5 Renamed to crypto/hmac-md5.
1106 hmac-sha1 Renamed to crypto/hmac-sha1.
1107 md2 Renamed to crypto/md2.
1108 md4 Renamed to crypto/md4.
1109 md5 Renamed to crypto/md5.
1110 rijndael Renamed to crypto/rijndael.
1111 sha1 Renamed to crypto/sha1.
1113 2007-03-27 vasprintf The module now depends on stdio, so replace
1114 #include "vasprintf.h"
1118 2007-03-24 tsearch The include file is changed from "tsearch.h" to
1121 2007-03-24 utf8-ucs4 The include file is changed from "utf8-ucs4.h"
1123 utf8-ucs4-unsafe The include file is changed from
1124 "utf8-ucs4-unsafe.h" to "unistr.h".
1125 utf16-ucs4 The include file is changed from "utf16-ucs4.h"
1127 utf16-ucs4-unsafe The include file is changed from
1128 "utf16-ucs4-unsafe.h" to "unistr.h".
1129 ucs4-utf8 The include file is changed from "ucs4-utf8.h"
1131 ucs4-utf16 The include file is changed from "ucs4-utf16.h"
1134 2007-03-19 iconvme The module is removed. Use module striconv instead:
1135 iconv_string -> str_iconv
1136 iconv_alloc -> str_cd_iconv (with reversed
1139 2007-03-15 list The functions gl_list_create_empty and
1140 array-list gl_list_create now take an extra fourth argument.
1141 carray-list You can pass NULL.
1149 2007-03-15 oset The function gl_oset_create_empty now takes a
1150 array-oset third argument. You can pass NULL.
1154 2007-03-12 des The types and functions in lib/des.h have been
1157 des_ctx -> gl_des_ctx, tripledes_ctx -> gl_3des_ctx,
1158 des_is_weak_key -> gl_des_is_weak_key,
1159 des_setkey -> gl_des_setkey,
1160 des_makekey -> gl_des_makekey,
1161 des_ecb_crypt -> gl_des_ecb_crypt,
1162 des_ecb_encrypt -> gl_des_ecb_encrypt,
1163 des_ecb_decrypt -> gl_des_ecb_decrypt,
1164 tripledes_set2keys -> gl_3des_set2keys,
1165 tripledes_set3keys -> gl_3des_set3keys,
1166 tripledes_makekey -> gl_3des_makekey,
1167 tripledes_ecb_crypt -> gl_3des_ecb_crypt.
1169 Also consider using the "gc-des" buffer instead of
1170 using the "des" module directly.
1172 2007-02-28 xreadlink The module xreadlink was renamed to
1173 xreadlink-with-size. The function was renamed:
1174 xreadlink -> xreadlink_with_size.
1176 2007-02-18 exit The modules now depend on stdlib, so replace
1177 mkdtemp #include "exit.h"
1178 mkstemp #include "mkdtemp.h"
1179 #include "mkstemp.h"
1183 2007-01-26 strdup The module now depends on string, so replace
1188 # This is for Emacs.
1191 # indent-tabs-mode: nil
1192 # whitespace-check-buffer-indent: nil