source: vendor/findutils/4.3.2/NEWS@ 3410

Last change on this file since 3410 was 3170, checked in by bird, 18 years ago

findutils 4.3.2

File size: 35.9 KB
Line 
1GNU findutils NEWS - User visible changes. -*- outline -*- (allout)
2* Major changes in release 4.3.2
3
4** Bug Fixes
5
6#18222: find -printf '%H %P' once again prints the right result if
7more than one start point was given on the command line.
8
9#17782: find -execdir now correctly puts the prefix "./" before the
10expansion of "{}" rather than at the start of the argument it appears
11in. Please note that if you use the -exec or -execdir actions with a
12shell, then you may be vulnerable to shell code injection attacks, so
13don't do that. It's not a security defect in find - you should not be
14passing untrusted data (such as file names chosen by other people) to
15the shell.
16
17#17490: find -regex generated a segfault in findutils-4.3.1, but this
18 is fixed in findutils-4.3.2.
19
20#17477: find -printf '%' (that is, where the format has a trailing %)
21now generates an error message.
22
23#17372: The fts-based find executable (the default configuration uses
24fts) is now much faster when -maxdepth is used on filesystems with
25high fanouts.
26
27#15531: The -prune action now behaves correctly when applied to a file.
28
29** Functional changes
30
31The slocate database format is now supported. Preliminary changes
32intended to eventually allow setuid operation of locate have also been
33made. For the moment, please don't install GNU locate as a
34set-user-ID program (except for testing purposes; if you do so, please
35make sure that untrusted users cannot execute the set-user-ID locate
36program).
37
38Use of an slocate database which was built with a nonzero security
39mode (at the moment, GNU updatedb will not do this) forces locate's
40"-e" option to be turned on, which has an effect on the "-S" option
41which is probably surprising for most users.
42
43
44** Documentation Fixes
45
46The global effect of options (other than -daystart and -follow) is now
47explained more clearly in the manual page. Savannah bug #15360.
48
49
50* Major changes in release 4.3.1
51
52** Bug Fixes
53
54Find now follows POSIX rules for determining where directories end and
55expressions start. This means that "find \(1 \!2 \, \)" now searches
56in the four named directories, rather than trying to parse an
57expression. (Savannah bug #15235).
58
59You now get a more helpful error message when you use command lines
60which have missing expressions, such as
61 find . ( )
62 find . !
63 find . -a
64 find . \( -not \)
65 find . \( -true -a
66
67Savannah bug #15800: If find finds more subdirectories within a parent
68directory than it previously expected to based on the link count of
69the parent, the resulting error message now gives the correct
70directory name (previously an error message was issued but it
71specified the wrong directory).
72
73Savannah bug #16738: "find .... -exec ... {} +" now works if you have
74a large environment and many files must be passed to the -exec
75action. The same problem affected the -execdir action, though since
76the number of files in a given directory will normally be smaller, the
77problem was worse for -exec.
78
79Savannah bug #16579: Updatedb now works if it is running as a user
80whose login shell is not actually a shell.
81
82There have also been a number of documentation improvements (includng
83Savannah bug #16269).
84
85** Functional changes
86
87For find, debug output can now be enabled at runtime with the -D
88option. This causes the printing of various sorts of information
89about find's internal state and progress.
90
91The find option -nowarn cannot itself produce a warning (this used to
92happen with commands like "find . -name quux -nowarn -print".
93
94** Performance Enhancements
95
96Find now has a rudimentary cost-based optimiser. It has an idea of
97the basic cost of each test (i.e. that -name is very cheap while -size
98is more expensive). It re-orders tests bearing in mind the cost of
99each test and its likely success. Predicates with side effects (for
100example -delete or -exec) are not reordered. The optimiser is not
101yet enabled by default, but the new option -O controls the query
102optimisation level. To see this in action, try
103 find -D opt -O3 . -type f -o -type c -o -size 555 -name Z
104and compare the optimised query with:
105 find -D opt -O3 . -size 555 -o -type c -o -type f -name Z
106and
107 find -D opt . -size 555 -o -type c -o -type f -name Z
108
109Over time, as optimisations are proven to be robust and correct, they
110will be moved to lower optimisation levels. Some optimisations have
111always been performed by find (for example -name is always done early
112if possible).
113
114** Translations
115
116Findutils 4.3.1 includes updated translations for the following
117languages:
118 Vietnamese, Belarusian, Catalan, Danish, German, Greek, Esperanto,
119 Spanish, Estonian, Finnish, French, Irish, Galician, Croatian, Hungarian,
120 Indonesian, Italian, Japanese, Korean, Luganda, Malay, Dutch, Polish,
121 Portuguese, Brazilian Portuguese, Romanian, Russian, Kinyarwanda,
122 Slovak, Slovenian, Serbian, Swedish, Turkish, Chinese (simplified),
123 Chinese (traditional), Bulgarian
124
125* Major changes in release 4.3.0
126
127The 4.3.x release series are currently 'development' releases. Please
128test it, but think carefully before installing it in a production
129system. New features in findutils-4.3.x are under development; they
130may change or go away.
131
132All changes up to and including findutils-4.2.27 are included in this
133release. In addition the following changes are new in this release:
134
135** Functional Changes
136
137By default, find now uses the fts() function to search the file
138system. The use of fts greatly increases find's ability to search
139extremely deep directory hierarchites.
140
141You can tell that the version of find you are using uses FTS, because
142the output of "find --version" will include the word "FTS".
143
144Currently two binaries for 'find' are built. The configure option
145--without-fts can be used to select whether 'find' uses fts:
146
147 With fts Without fts
148default configuration find oldfind
149configure --with-fts find oldfind
150configure --without-fts ftsfind find
151
152New tests, -readable, -writable, -executable. These check that a file
153can be read, written or executed respectively.
154
155* Major changes in release 4.2.27
156
157** Warnings of Future Changes
158
159The test -perm /000 currently matches no files, but for greater
160consistency with -perm -000, this will be changed to match all files;
161this change will probably be made in early 2006. Meanwhile, a warning
162message is given if you do this.
163
164** Bug Fixes
165
166If xargs is invoked with many short arguments on PPC systems running
167the Linux kernel, we no longer get an "argument list too long" error
168from the operating system.
169
170Fixed a bug in the test suite which caused it to spuriously fail on
171systems where ARG_MAX is different to the value used by the Linux
172kernel on 32-bit x86-architecture systems.
173
174On systems running the Linux kernel, "find -printf %F" no longer
175produces the wrong answer for files on filesystems that have been
176remounted elsewhere using "mount --bind". (Savannah bug #14921).
177
178** Documentation Changes
179
180Following some extensive and detailed review comments from Aaron
181Hawley, the material in the manual pages and the Texinfo manual are
182now synchronised.
183
184The %M format specifier of "find -printf" is now documented, although
185it has existed since release 4.2.5.
186
187The 'find' manual page now correctly documents the fact that -regex
188defaults to using Emacs-style regular expressions (though this can be
189changed).
190
191* Major changes in release 4.2.26
192
193** Public Service Announcements
194
195I'd like to point out a second time that the interpretation of '-perm
196+mode' has changed to be more POSIX-compliant. If you want the old
197behaviour of the GNU extension you should use '-perm /mode'. See the
198NEWS entry for findutils version 4.2.21 for details.
199
200** Functional Changes
201
202The xargs command now supports a new option (--delimiter) which allows
203input items to be separated by characters other than null and
204whitespace. This resolves Savannah support request sr #102914.
205
206Sometimes find needs to read the /etc/mtab file (or perform the
207equivalent operation on systems not using /etc/mtab). If this
208information is needed butnot available, find now exits with an error
209message non-zero status. If the information is not needed, find will
210not spuriously fail.
211
212A new xargs option --delimiter allows the input delimiter to be
213changed (previously \0 was the only choice unless you use the -L
214option, which changes other semantics too).
215
216** Bug Fixes
217
218If the environment size is too large to allow xargs to operate
219normally, 'xargs --help' still works (now).
220
221If the input to xargs is a large number of very short options (for
222example, one character each), earlier versions of xargs would fail
223with 'Argument list too long'. However, since this is precisely the
224problem that xargs was invented to solve, this is a bug. Hence on
225those systems we now correctly use a shorter command line. This
226problem particularly affected 64-bit Linux systems because of the
227larger size of pointers, although 32-bit Linux systems were also
228affected (albeit for longer command lines). In theory the same
229problem could affect 'find -exec {} +', but that's much less likely
230(even so, the bug is fixed there too).
231
232Bugfix for an unusual failure mode (Savannah bug #14842) where an
233attempt to allocate more space for directory contents succeeds but is
234incorrectly diagnosed as a failure. The likelihood of you
235experiencing this depends on your architecture, operating system and
236resource limits. This failure has been observed in a directory
237containing 35396 entries.
238
239** Documentation Changes
240
241The EXAMPLES section of the find manual page now correctly describes
242the symbolic and octal modes for the -perm test.
243
244The documentation and "--help" usage information for the -L, -l, -I
245and -i options have been clarified (but the behaviour has not changed).
246
247The documentation now explains more clearly what happens when you use
248"-L -type l".
249
250* Major changes in release 4.2.25
251
252** Bug Fixes
253
254find -perm /440 (which should succeed if a file is readable by its
255owner or group) now works. Previously there was a bug which caused
256this to be treated as "find -perm 440".
257
258Some files in the xargs test suite have been renamed to avoid problems
259on operating systems whoch cannot distinguish filenames on the basis
260of upper/lower case distinctions.
261
262The software now builds on Cygwin, including the generated file
263regexprops.texi.
264
265Findutils should now build once again on systems supporting AFS, but
266this support has not recently been fully tested. Findutils should
267also (once again) build on Cygwin.
268
269** Other Changes
270
271The test suite for find is now much more extensive.
272
273* Major changes in release 4.2.24
274
275** Documentation Changes
276
277The manual now includes a "Worked Examples" section which talks about
278the various ways in which findutils can be used to perform common
279tasks, and why some of these alternatives are better than others.
280
281The -I option of xargs (which is required by the POSIX standard) is
282now documented.
283
284We now document the fact that find ensures that commands run by -ok
285and -okdir don't steal find's input. Find does this by redirecting
286the command's standard input from stdin.
287
288Many documentation readability enhancements and proofreading fixes
289were contributed by Aaron Hawley.
290
291** Functional Changes
292
293*** Functional changes in locate
294
295The "--regex" option of locate now assumes the regular expression to
296be in the same syntax as is used in GNU Emacs, though this can be
297changed with the new option --regextype. This is a change from the
298existing behaviour (which was to use POSIX Basic Regular Expressions).
299Since this feature is releatively new anyway, I though it was more
300useful to have compatibility between regular expression handling in
301find and locate than to maintain the short-lived previous behaviour of
302locate.
303
304The locate program now also supports a "--regextype" long option which
305controls which regular expression syntax is understood by locate.
306This is a long option and has no single-letter 'short option'
307equivalent.
308
309*** Functional changes in find
310
311The regular expression syntax understood by "find" can be changed with
312the -regextype option; this option is positional, meaning that you can
313have several tests, each using a distinct syntax (this is not
314recommended practice however).
315
316The default regular expression syntax is substantially the same as
317that recognised by GNU Emacs, except for the fact that "." will match
318a newline.
319
320The leaf optimisation can be disabled with the configure option
321"--disable-leaf-optimisation", which is equivalent to specifying
322"-noleaf" on all find command lines. This is useful for systems
323having filesystems which do not provide traditional Unix behaviour for
324the link count on directories (for example Cygwin and the Solaris 9
325HSFS implementation).
326
327** Bug Fixes
328
329*** Bug Fixes for find
330
331The -iregex test now works once again on systems that lack
332re_search() (that is, systems on which findutils needs to use the
333gnulib version of this function).
334
335find -regex now once again uses GNU Emacs-compatible regular
336expressions.
337
338If invoked with stderr closed, the -fprint and -fprintf actions now no
339longer cause error messages to be sent into the output file.
340
341If the link count of a directory is less that two, the leaf
342optimisation is now disabled for that directory. This should allow
343searching of non-Unix filesystems to be more reliable on systems that
344don't take the trouble to make their filesystems look like traditional
345Unix filesystems. Some filesystems don't even take the trouble to
346have a link count of less than two and for these, -noleaf is still
347required unless --disable-leaf-optimisation was used at configure time.
348
349The "%Y" directive for the -printf action now no longer changes find's
350idea of the mode of the file, so this means among other things that
351"-printf %Y %y" now works properly. This is Savannah bug #13973.
352
353* Major changes in release 4.2.23
354
355** Documentation Changes
356
357The -L and -I options of xargs are currently incompatible (but should
358not be).
359
360Improved the documentation for -execdir and -okdir.
361
362** Functional Changes to updatedb
363
364File names ending in "/" which are specified as an argument to
365--prunepaths (or in $PRUNEPATHS) don't work, so we now issue an error
366message if the user tries to do that. The obvious exception of course
367is "/" which does work and is not rejected.
368
369
370* Major changes in release 4.2.22
371
372** Security Fixes
373
374If a directory entry searched with "find -L" is a symbolic link to
375".", we no longer loop indefinitely. This problem affected find
376versions 4.2.19, 4.2.20 and 4.2.21. This problem allows users to make
377"find" loop indefinitely. This is in effect a denial of service and
378could be used to prevent updates to the locate database or to defeat
379file security checks based on find. However, it should be noted that
380you should not use "find -L" in security-sensitive scenarios.
381
382** Other Bug Fixes
383
384None in this release.
385
386** Functional Changes to locate
387
388A locate database can now be supplied on stdin, using '-' as a element
389of the database-path. If more than one database-path element is '-',
390later instances are ignored.
391
392A new option to locate, '--all' ('-A') causes matches to be limited to
393entries which match all given patterns, not entries which match
394one or more patterns.
395
396** Documentation Changes
397
398Some typos in the manual pages have been fixed. Various parts of the
399manual now point out that it is good practice to quote the argument of
400"-name". The manpage now has a "NON-BUGS" section which explains some
401symptoms that look like bugs but aren't. The explanations of the "%k"
402and "%b" directives to "find -printf" have been imrpoved.
403
404
405* Major changes in release 4.2.21
406** Functional Changes to find
407
408The GNU extension "find ... -perm +MODE" has been withdrawn because it
409is incompatible with POSIX in obscure cases like "find ... -perm ++r".
410Use the new syntax "find ... -perm /MODE" instead. Old usages will
411still continue to work, so long as they don't conflict with POSIX.
412
413If the output is going to a terminal, the -print, -fprint, -printf and
414-fprintf actions now quote "unusual" characters to prevent unwanted
415effects on the terminal. See "Unusual Characters in File Names" for
416further details. There is no change to the behaviour when the output
417is not going to a terminal. The locate program does the same thing,
418unless the -0 option is in effect (in which case the filenames are
419printed as-is).
420
421** Functional Changes to locate
422
423The locate command will now read each locate database at most once.
424This means that if you are using multiple databases and are searching
425for more than one name, the results will now be printed in a different
426order (and if you specified a small limit with --limit, you may get a
427different set of results).
428
429A new option '--print' for locate causes it to print the matching
430results even if the '--count' or '--statistics' option is in effect.
431
432** Bug Fixes
433find /blah/blah/blah -depth -empty now works once again.
434
435The -regex and -iregex tests of find now correctly accept POSIX Basic
436Regular Expressions. (Savannah bug #12999)
437
438The updatedb program now works on systems where "su" does not support
439the "-s" option, for example Solaris.
440
441* Major changes in release 4.2.20
442** Internationalization and Localization
443Updated Vietnamese and Dutch translations.
444
445** Bug Fixes
446Minor bugfix affecting only those who compile from the CVS repository,
447as opposed to those who compile from the source releases.
448
449* Major changes in release 4.2.19
450** Bug Fixes
451
452find should now no longer hang on systems which lack the O_NOFOLLOW
453flag to open(2) and which are clients of an unresponsive NFS server
454(Savannah bug #12044).
455
456We now avoid inappropriately failing for "find -L foo" or "find -H
457foo" if foo is a symbolic link (Savannah bug #12181). Previously we
458used to fail with the error message "Too many levels of symbolic
459links".
460
461"find . -false -exec foo {} +" no longer runs an extra instance of foo
462when find exits (Savannah bug #12230).
463
464If the chdir() safety check fails but we can no longer get back to
465where we started, exit with an explanatory (fatal) error message.
466This does not happen on GNU/Linux and FreeBSD because the safety check
467is not needed (the security problem the safety check protects against
468is prevented in a cleaner way on those systems).
469
470"make distclean" no longer deletes regex.c (which "make all" needs).
471
472** Functionality Changes
473"find -printf "%h\n" will now print "." for files in the current directory.
474Previously it printed nothing (but there was a bug in the %h
475implementation anyway). This fixes Savannah bug #12085.
476
477Should now build (again) on non-C99-compliant systems.
478
479** Documentation enhancements
480Fixed some typos and clarified wording in "Working with automounters".
481
482** Internationalization and Localization
483New Vietnamese message translation.
484
485
486* Major changes in release 4.2.18
487** Bug Fixes
488*** "find -depth" was missing out non-leaf directories when they contain
489 non-directories. This affected findutils releases 4.2.15,
490 4.2.16 and 4.2.17, but the bug is now fixed.
491*** Find no longer hangs on systems which are clients of unresponsive
492 NFS servers.
493** Documentation improvements
494*** Improvements and corrections to the find.1 manpage, including corrections to the descriptions of -H and -L.
495
496
497* Major changes in release 4.2.17
498** Bug Fixes
499*** bug #11861 undefined symbol "basename" on IRIX 5.3
500*** bug #11865 xargs -i regression (as compared to findutils-4.2.12)
501*** bug #11866 Typo in pred_okdir renders it useless (affecting 4.2.16 only)
502*** patch #3723 fix recent process_top_path change (for -execdir on /)
503*** Fixing bug #11866 and applying patch #3723 made -execdir work much better.
504*** find bar/baz/ugh now works again if baz is a symbolic link (broken
505 in 4.2.15).
506
507
508* Major changes in release 4.2.16
509** Functionality Changes
510*** Updated the message catalogues for the translated messages.
511*** The subfs filesystem is now treated the same as the autofs
512 filesystem is.
513*** New translations: Belarusian, Catalan, Greek, Esperanto,
514 Finnish, Irish, Croatian, Hungarian, Japanese, Luganda,
515 Malay, Romanian, Slovenian, Serbian, Chinese (simplified).
516
517** Bug Fixes
518*** The -execdir action now works correctly for files named on the
519 command line.
520
521
522* Major changes in release 4.2.15
523** Functionality Changes
524*** locate now supports matching regular expression (--regex).
525*** --enable-d_type-optimization (introduced in findutils 4.2.13) is now turned on by default.
526
527
528* Major changes in release 4.2.14
529** Functionality Changes
530*** New options -L, -P, -H for locate. The work in the same was as the same options for find.
531** Bug Fixes
532*** Don't include the "findutils/find/testsuite/find.gnu" subdirectory in the
533 distributed tar file more than once.
534*** Should now build on Solaris once again.
535*** -xtype and -printf %Y now work correctly for symbolic links once again
536** Documentation improvements
537*** All options for "locate" are now documented
538
539
540* Major changes in release 4.2.13
541** Performance Enhancements
542*** On Linux and some other systems, a large performance improvement,
543 because we can eliminate many of the calls to lstat() (in extreme
544 cases, 99% of them). Limited testing shows a 2x speedup on NFS
545 filesystems. Other systems which can make use of this enhancement
546 include Mac OS X and *BSD.
547
548
549* Major changes in release 4.2.12
550** Functionality Changes
551*** find is now POSIX-compliant, as far as I know.
552*** -exec ... {} + now works.
553*** New actions -execdir and -okdir which are like -exec and -ok but more secure.
554*** "locate -w" is now a synonym for "locate --wholepath".
555*** An empty path entry in the locate database path (for example "::" in
556 $LOCATE_PATH or in the argument to "locate -d") is taken to mean
557 the default database, whose name is hard-coded in locate.
558** Bug Fixes
559*** If find or xargs cannot write to stdout, for example because
560 output is redirected to a file and the disk is full, the
561 relevant program will return a non-zero exit status.
562
563
564* Major changes in release 4.2.11
565** Bug Fixes
566*** Compilation fix for systems without EOVERFLOW.
567*** More helpful error message if you make a mistake with (, ), -o or -a.
568** Functionality Changes
569*** If you have unclosed parentheses on the find command line,
570 or any of a number of similar problems, find will now produce
571 a more helpful error message.
572*** locate -b is now a synonym for locate --basename
573*** locate now supports a --statistics (or -S) option, which prints some
574 statistics about the locate databases.
575*** Implemented the -samefile option.
576** Documentation improvements
577*** New chapter in the manual, "Security Considerations".
578*** Better documentation for -prune (Mainly thanks to Stepan Kasal)
579** Bug Fixes
580*** locate's options -i and -w now work with the -e option (previously a bug
581 prevented this).
582
583
584* Major changes in release 4.2.10
585** Bug Fixes
586*** Portability fix for fstype.c: should now compile on UNICOS, and possibly
587 also produce useful results on BeOS and Dolphin, perhaps other
588 systems too.
589
590
591* Major changes in release 4.2.9
592** Functionality Changes
593*** xargs no longer treats a line containing only an underscore as a logical end-of-file. To obtain the behaviour that was previously the default, use "-E_".
594*** xargs now supports the POSIX options -E, -I and -L. These are synonyms
595 for the existing options -e, -i and -l, but the latter three are
596 now deprecated.
597** Bug Fixes
598*** xargs -n NUM now invokes a command as soon as it has NUM arguments.
599 Previously, it waited until NUM+1 items had been read, and then
600 invoked the command with NUM arguments, saving the remaining one
601 for next time.
602*** If "find -L" discovers a symbolic link loop, an error message is issued.
603*** If you specify a directory on the find command line, but -prune
604 is applied to it, find will no longer chdir() into it anyway.
605** Documentation improvements
606*** The precise interpretation of the arguments to the -atime, -ctime
607 and similar tests in find has been documented more clearly.
608
609
610* Major changes in release 4.2.8
611*** Bugfix to the findutils 4.2.7 automount handling on Solaris. This
612 worked to some extent in findutils-4.2.7, but is much improved in
613 findutils-4.2.8.
614
615
616* Major changes in release 4.2.7
617** Functionality Changes
618*** xargs can now read a list of arguments from a named file, allowing
619 the invoked program to use the same stdin as xargs started with
620 (for example ``xargs --arg-file=todo emacs'').
621** Documentation improvements
622*** The Texinfo manual now has an extra chapter, "Error Messages". Most
623 error messages are self-explanatory, but some of the ones which
624 are not are explained in this chapter.
625** Bug Fixes
626*** Avoid trying to link against -lsun on UNICOS, which doesn't need it or
627 have it.
628*** Bugfix to the findutils 4.2.6 automount handling (which hadn't been enabled
629 on Solaris).
630*** Reenabled internationalisation support (which had been accidentally
631 disabled in findutils-4.2.5).
632
633
634* Major changes in release 4.2.6
635** Bug Fixes
636*** find now copes rather better when a directory appears to change just as
637 it is about to start examining it, which happens with automount.
638 This is because automount mounts filesystems as you change
639 directory into them. This should resolve Savannah bugs #3998,
640 #9043.
641
642
643* Major changes in release 4.2.5
644** Functionality Changes
645*** The POSIX options -H and -L are supported. These control whether or not
646 find will follow symbolic links.
647*** The BSD option -P is also now supported (though in any case
648 it is the default).
649** Documentation improvements
650*** Better documentation for "xargs -i".
651** Bug Fixes
652*** "make install" now respects DESTDIR when generating localstatedir.
653 (this is only relevant if you are installing to some location
654 other than the one that you indictaed when you ran "configure").
655*** Compatible with automake versions 1.8 and 1.9.
656*** Build problems on UNICOS now fixed, though the linker will still generate
657 warnings because we try to link with the nonexistent library
658 "-lsun". Edit $(LIBS) to work around this problem.
659
660
661* Major changes in release 4.2.4
662** Functionality Changes
663*** If your system sort command has a working "-z" option, updatedb will
664 now correctly handle newline characters in filenames (as will
665 locate).
666*** xargs now uses 128Kb of command line by default (less if the system
667 doesn't support that much).
668*** If you specify a 'find' option after non-option, a warning message
669 is now issued. Options should be specified immediately after the
670 list of paths to search. These warnings are enabled if you
671 specify the -warn option, or if stdin is a tty. They are diabled
672 by the use of the -nowarn option.
673*** Like find, the locate program now supports an option --null (short form -0)
674 which changes the result separator from newline to NULL.
675*** Locate supports the option -c (long form --count) which suppresses normal
676 output but prints on stdout the number of results produced (like
677 grep -c).
678*** Locate supports the option -l (long form --limit) which limits the
679 number of results. This is useful if you only want to find out if
680 there are copies of a certain file on the system, but don't want
681 to wait for the entire locate database to be searched.
682*** Locate now has an option --basename which forces the specified pattern to
683 be matched against the basename of the entries in the locate
684 database, rather than the whole name. The default behaviour
685 (matching against the whole name of the file including all the
686 parent directory names) corresponds to the option --wholename.
687*** updatedb has a new option, --findoptions, that can be used to
688 pass extra options through to the find command that it uses.
689** Bug Fixes
690*** "find -printf '%H\n'" now works (rather than segfaulting) on
691 systems that have non-writable string constants.
692*** Better POSIX compliance for the -s option to xargs (out of range
693 values should just result in bounding to the correct range, not an
694 error, so now we just print a warning message and adjust the
695 value).
696*** Corrected section numbers of manual page cross-references
697
698
699* Major changes in release 4.2.3
700** Functionality Changes
701*** Added new action -delete which deletes things that find matches.
702*** Added new action -quit which causes find to exit immediately.
703*** A new format directive '%D' for "find -printf" prints the device number.
704*** The -ls predicate no longer truncates user or group names.
705*** Added new option "-d" which is a synonym for "-depth" for compatibility
706 with Mac OS, OpenBSD and FreeBSD. This option is already
707 deprecated since the POSIX standard specifies "-depth".
708*** Added two new format specifiers to the -printf action; these are
709 %y and %Y. They indicate the type of the file as a single letter;
710 these are the same latters as are used by the "-type" test.
711*** If a parent directory changes during the execution of find,
712 the error message we issue identifies the nature of the change
713 (for example the previous and current inode numbers of the
714 directory we've just returned out of).
715** Other Changes
716*** Non-functional code changes to silence compiler warnings.
717
718
719* Major changes in release 4.2.2
720** Documentation improvements
721*** "find ... -exec {}+" is not yet supported.
722** Bug Fixes
723*** Fixed compilation problems on Solaris, RedHat EL AS 2.1, Irix, AIX
724*** Work around possible compiler bug on HP-UX 11.23 for ia64
725*** The built-in internationalisation support now works again.
726** Other Changes
727*** We now import the gnulib source in the way it is intended to be used,
728 which means among other things that we only have one config.h file
729 now.
730*** Functions which findutils requires but which are not present in
731 gnulib are now defined in "libfind.a". This is in the lib
732 directory, while gnulib is in the gnulib subdirectory.
733*** Fixed a typo in the address of the FSF in many of the file headers.
734
735
736* Major changes in release 4.2.1
737** Bug Fixes
738*** 'find -name \*bar now matches .foobar, because the POSIX standard
739 requires it, as explained at
740 http://standards.ieee.org/reading/ieee/interp/1003-2-92_int/pasc-1003.2-126.html
741
742
743* Major changes in release 4.2.1
744** Bug Fixes
745*** find -iname now works correctly on systems that have an fnmatch() function
746 that does not support FNM_CASEFOLD
747*** updatedb now uses signal names for "trap" instead of numbers,
748 as per bug #9465 (see http://www.opengroup.org/onlinepubs/009695399/utilities/trap.html)
749*** Better support for systems lacking intmax_t
750** Other Changes
751**** findutils now uses a newer version of gnulib (dated 2004-10-17).
752
753
754* Major changes in release 4.2.0
755** Functionality Changes
756*** xargs now works better when the environment variables are very extensive.
757 The xargs command used to run into difficulties if the environment
758 data contained more than 20480 bytes.
759*** New options -wholename and -iwholename
760 As per the GNU Projecvt coding standard, These are preferred over
761 the -path and -ipath options. Using -ipath now generates a warning,
762 though -path does not (since HPUX also offers -path).
763*** The environment variable FIND_BLOCK_SIZE is now ignored.
764*** New option "-ignore_readdir_race"
765 silences an error messages which would otherwise occur if a file is removed
766 after find has read it from the directory using readdir(), but before
767 find stats the file. There is also an option
768 -noignore_readdir_race which has the opposite effect.
769** Documentation improvements
770*** The -size option of find is now documented in more detail
771*** POSIX compliance and GNU extensions
772 The find manual page also now includes a section
773 which describes the relationship between the features of GNU
774 find and the POSIX standard. Some other small improvements
775 to the find and xargs manual pages have been made.
776*** The argument to the -fprintf directive is now better documented.
777 The escape code '\0' for the `-printf' predicate of find is now
778 documented, and the documentation for the %k and %b specifiers
779 has been improved.
780*** xargs -i is now more clearly documented.
781** Bug Fixes
782*** locate 'pa*d' will now find /etc/passwd (if it exists, of course)
783*** xargs standard input is not inherited by child processes
784 If the command invoked by xargs reads from its standard input,
785 it now gets nothing, as opposed to stealing data from the
786 list of files that xargs is trying to read.
787*** Better support for 64-bit systems.
788*** The command "xargs -i -n1" now works as one might expect,
789 I think this is a strange thing to want to do.
790*** Arguments to find -mtime that are too large are now diagnosed
791 Previously, this just used to cause find just to do the wrong thing.
792*** updatedb is now somewhat more robust
793 The updatedb shell script now does not generate an empty
794 database if it fails.
795*** Sanity-check on some data read from locatedb
796 Locate now detects some types of file corruption in the
797 locate database.
798*** The %k format specifier for -fprintf now works
799 This was broken in 4.1.20.
800
801
802* Major changes in release 4.1.20:
803** New maintainer, James Youngman <jay@gnu.org>
804** As far as I know, this is the first release after 4.1.7, but I've left
805 a gap just in case.
806** We now use an "imported" version of gnulib, rather than including
807 a copy of the gnulib code in our CVS repository. There are no
808 differences in the build instructions, though (unless you are
809 building directly from CVS, in which case please read the file
810 README-CVS).
811** There are no (deliberate) functional changes in version 4.1.20.
812
813
814* Major changes in release 4.1.7:
815fix problem so that default "-print" is added when "-prune" is used.
816security fixes related to directories changing while find is executing.
817
818
819* Major changes in release 4.1.6:
820correct bug in prune.
821added --ignore-case option for locate
822
823* Major changes in release 4.1.5:
824Add support for large files
825
826* Major changes in release 4.1.4:
827bug fixes, more up-to-date languages.
828
829* Major changes in release 4.1.3:
830added internationalization and localization.
831
832* Major changes in release 4.1.1:
833attempt at successful compilation on many platforms after years of neglect
834 "--existing" option added to locate "--prunefs" option added to updatedb
835
836* Major changes in release 4.1:
837
838** Distribution renamed to findutils.
839** updatedb is now a user command, installed in $exec_prefix/bin
840 instead of $exec_prefix/libexec.
841** A few problems in Makefiles and testsuite corrected.
842
843
844* Major changes in release 4.0:
845
846** Documentation:
847*** Texinfo manual.
848*** Man page for updatedb.
849*** Man page for the locate database formats.
850
851** find:
852*** Takes less CPU time on long paths, because it uses chdir to descend
853 trees, so it does fewer inode lookups.
854*** Does not get trapped in symbolic link loops when -follow is given.
855*** Supports "-fstype afs" if you have /afs and /usr/afsws/include
856 and you configure using the --with-afs option.
857*** New action -fls FILE; like -ls but writes to FILE.
858
859** locate:
860*** Supports a new database format, which is 8-bit clean and
861 allows machines with different byte orderings and integer sizes to
862 share the databases. The new locate can also detect and read the
863 old database format automatically. The new databases are typically
864 30% or more larger than the old ones (due to allowing all 8 bits in
865 file names). Search times are approximately the same, or faster on
866 some systems.
867*** Warns if a file name database is more than 8 days old.
868
869** updatedb:
870*** Takes command-line options.
871
872** xargs:
873*** Performance improved 10-20%.
874*** The EOF string is not used when -0 is given.
875*** Now has a test suite. Some minor bugs fixed as a result.
876
877
878* Major changes in release 3.8:
879
880** case insensitive versions of -lname, -name, -path, -regex:
881 -ilname, -iname, -ipath, -iregex
882** %F directive for -printf, -fprintf to print file system type
883
884
885* Major changes in release 3.7:
886
887** locate can search multiple databases
888** locate has an option to specify the database path
889** updatedb no longer goes into an infinite loop with some versions of tail
890
891 --//--
892This is used by Emacs' spell checker ispell.el:
893
894LocalWords: ansi knr strftime xargs updatedb sh fnmatch hin strcpy
895LocalWords: lib getstr getline frcode bigram texi depcomp automake
896LocalWords: strncasecmp strcasecmp LIBOBJS FUNC prunefs allout libexec
897LocalWords: testsuite Texinfo chdir inode fstype afs fls ls EOF lname
898LocalWords: regex ilname iname ipath iregex printf fprintf
899
Note: See TracBrowser for help on using the repository browser.