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