| 1 | GNU 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 | 
|---|
| 7 | more than one start point was given on the command line. | 
|---|
| 8 |  | 
|---|
| 9 | #17782: find -execdir now correctly puts the prefix "./" before the | 
|---|
| 10 | expansion of "{}" rather than at the start of the argument it appears | 
|---|
| 11 | in.  Please note that if you use the -exec or -execdir actions with a | 
|---|
| 12 | shell, then you may be vulnerable to shell code injection attacks, so | 
|---|
| 13 | don't do that.  It's not a security defect in find - you should not be | 
|---|
| 14 | passing untrusted data (such as file names chosen by other people) to | 
|---|
| 15 | the 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 %) | 
|---|
| 21 | now generates an error message. | 
|---|
| 22 |  | 
|---|
| 23 | #17372: The fts-based find executable (the default configuration uses | 
|---|
| 24 | fts) is now much faster when -maxdepth is used on filesystems with | 
|---|
| 25 | high fanouts. | 
|---|
| 26 |  | 
|---|
| 27 | #15531: The -prune action now behaves correctly when applied to a file. | 
|---|
| 28 |  | 
|---|
| 29 | ** Functional changes | 
|---|
| 30 |  | 
|---|
| 31 | The slocate database format is now supported.  Preliminary changes | 
|---|
| 32 | intended to eventually allow setuid operation of locate have also been | 
|---|
| 33 | made.  For the moment, please don't install GNU locate as a | 
|---|
| 34 | set-user-ID program (except for testing purposes; if you do so, please | 
|---|
| 35 | make sure that untrusted users cannot execute the set-user-ID locate | 
|---|
| 36 | program). | 
|---|
| 37 |  | 
|---|
| 38 | Use of an slocate database which was built with a nonzero security | 
|---|
| 39 | mode (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 | 
|---|
| 41 | which is probably surprising for most users. | 
|---|
| 42 |  | 
|---|
| 43 |  | 
|---|
| 44 | ** Documentation Fixes | 
|---|
| 45 |  | 
|---|
| 46 | The global effect of options (other than -daystart and -follow) is now | 
|---|
| 47 | explained more clearly in the manual page.   Savannah bug #15360. | 
|---|
| 48 |  | 
|---|
| 49 |  | 
|---|
| 50 | * Major changes in release 4.3.1 | 
|---|
| 51 |  | 
|---|
| 52 | ** Bug Fixes | 
|---|
| 53 |  | 
|---|
| 54 | Find now follows POSIX rules for determining where directories end and | 
|---|
| 55 | expressions start.  This means that "find \(1 \!2 \, \)" now searches | 
|---|
| 56 | in the four named directories, rather than trying to parse an | 
|---|
| 57 | expression. (Savannah bug #15235). | 
|---|
| 58 |  | 
|---|
| 59 | You now get a more helpful error message when you use command lines | 
|---|
| 60 | which have missing expressions, such as | 
|---|
| 61 | find . ( ) | 
|---|
| 62 | find . ! | 
|---|
| 63 | find . -a | 
|---|
| 64 | find . \( -not \) | 
|---|
| 65 | find . \( -true -a | 
|---|
| 66 |  | 
|---|
| 67 | Savannah bug #15800: If find finds more subdirectories within a parent | 
|---|
| 68 | directory than it previously expected to based on the link count of | 
|---|
| 69 | the parent, the resulting error message now gives the correct | 
|---|
| 70 | directory name (previously an error message was issued but it | 
|---|
| 71 | specified the wrong directory). | 
|---|
| 72 |  | 
|---|
| 73 | Savannah bug #16738: "find .... -exec ... {} +" now works if you have | 
|---|
| 74 | a large environment and many files must be passed to the -exec | 
|---|
| 75 | action.  The same problem affected the -execdir action, though since | 
|---|
| 76 | the number of files in a given directory will normally be smaller, the | 
|---|
| 77 | problem was worse for -exec. | 
|---|
| 78 |  | 
|---|
| 79 | Savannah bug #16579: Updatedb now works if it is running as a user | 
|---|
| 80 | whose login shell is not actually a shell. | 
|---|
| 81 |  | 
|---|
| 82 | There have also been a number of documentation improvements (includng | 
|---|
| 83 | Savannah bug #16269). | 
|---|
| 84 |  | 
|---|
| 85 | ** Functional changes | 
|---|
| 86 |  | 
|---|
| 87 | For find, debug output can now be enabled at runtime with the -D | 
|---|
| 88 | option.  This causes the printing of various sorts of information | 
|---|
| 89 | about find's internal state and progress. | 
|---|
| 90 |  | 
|---|
| 91 | The find option -nowarn cannot itself produce a warning (this used to | 
|---|
| 92 | happen with commands like "find . -name quux -nowarn -print". | 
|---|
| 93 |  | 
|---|
| 94 | ** Performance Enhancements | 
|---|
| 95 |  | 
|---|
| 96 | Find now has a rudimentary cost-based optimiser.  It has an idea of | 
|---|
| 97 | the basic cost of each test (i.e. that -name is very cheap while -size | 
|---|
| 98 | is more expensive).  It re-orders tests bearing in mind the cost of | 
|---|
| 99 | each test and its likely success.  Predicates with side effects (for | 
|---|
| 100 | example -delete or -exec) are not reordered.  The optimiser is not | 
|---|
| 101 | yet enabled by default, but the new option -O controls the query | 
|---|
| 102 | optimisation level.  To see this in action, try | 
|---|
| 103 | find -D opt -O3 . -type f -o -type c -o -size 555 -name Z | 
|---|
| 104 | and compare the optimised query with: | 
|---|
| 105 | find -D opt -O3 . -size 555 -o -type c -o -type f -name Z | 
|---|
| 106 | and | 
|---|
| 107 | find -D opt     . -size 555 -o -type c -o -type f -name Z | 
|---|
| 108 |  | 
|---|
| 109 | Over time, as optimisations are proven to be robust and correct, they | 
|---|
| 110 | will be moved to lower optimisation levels.  Some optimisations have | 
|---|
| 111 | always been performed by find (for example -name is always done early | 
|---|
| 112 | if possible). | 
|---|
| 113 |  | 
|---|
| 114 | ** Translations | 
|---|
| 115 |  | 
|---|
| 116 | Findutils 4.3.1 includes updated translations for the following | 
|---|
| 117 | languages: | 
|---|
| 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 |  | 
|---|
| 127 | The 4.3.x release series are currently 'development' releases.  Please | 
|---|
| 128 | test it, but think carefully before installing it in a production | 
|---|
| 129 | system.  New features in findutils-4.3.x are under development; they | 
|---|
| 130 | may change or go away. | 
|---|
| 131 |  | 
|---|
| 132 | All changes up to and including findutils-4.2.27 are included in this | 
|---|
| 133 | release.  In addition the following changes are new in this release: | 
|---|
| 134 |  | 
|---|
| 135 | ** Functional Changes | 
|---|
| 136 |  | 
|---|
| 137 | By default, find now uses the fts() function to search the file | 
|---|
| 138 | system.  The use of fts greatly increases find's ability to search | 
|---|
| 139 | extremely deep directory hierarchites. | 
|---|
| 140 |  | 
|---|
| 141 | You can tell that the version of find you are using uses FTS, because | 
|---|
| 142 | the output of "find --version" will include the word "FTS". | 
|---|
| 143 |  | 
|---|
| 144 | Currently 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 | 
|---|
| 148 | default configuration             find          oldfind | 
|---|
| 149 | configure --with-fts              find          oldfind | 
|---|
| 150 | configure --without-fts           ftsfind       find | 
|---|
| 151 |  | 
|---|
| 152 | New tests, -readable, -writable, -executable.  These check that a file | 
|---|
| 153 | can be read, written or executed respectively. | 
|---|
| 154 |  | 
|---|
| 155 | * Major changes in release 4.2.27 | 
|---|
| 156 |  | 
|---|
| 157 | ** Warnings of Future Changes | 
|---|
| 158 |  | 
|---|
| 159 | The test -perm /000 currently matches no files, but for greater | 
|---|
| 160 | consistency with -perm -000, this will be changed to match all files; | 
|---|
| 161 | this change will probably be made in early 2006.  Meanwhile, a warning | 
|---|
| 162 | message is given if you do this. | 
|---|
| 163 |  | 
|---|
| 164 | ** Bug Fixes | 
|---|
| 165 |  | 
|---|
| 166 | If xargs is invoked with many short arguments on PPC systems running | 
|---|
| 167 | the Linux kernel, we no longer get an "argument list too long" error | 
|---|
| 168 | from the operating system. | 
|---|
| 169 |  | 
|---|
| 170 | Fixed a bug in the test suite which caused it to spuriously fail on | 
|---|
| 171 | systems where ARG_MAX is different to the value used by the Linux | 
|---|
| 172 | kernel on 32-bit x86-architecture systems. | 
|---|
| 173 |  | 
|---|
| 174 | On systems running the Linux kernel, "find -printf %F" no longer | 
|---|
| 175 | produces the wrong answer for files on filesystems that have been | 
|---|
| 176 | remounted elsewhere using "mount --bind". (Savannah bug #14921). | 
|---|
| 177 |  | 
|---|
| 178 | ** Documentation Changes | 
|---|
| 179 |  | 
|---|
| 180 | Following some extensive and detailed review comments from Aaron | 
|---|
| 181 | Hawley, the material in the manual pages and the Texinfo manual are | 
|---|
| 182 | now synchronised. | 
|---|
| 183 |  | 
|---|
| 184 | The %M format specifier of "find -printf" is now documented, although | 
|---|
| 185 | it has existed since release 4.2.5. | 
|---|
| 186 |  | 
|---|
| 187 | The 'find' manual page now correctly documents the fact that -regex | 
|---|
| 188 | defaults to using Emacs-style regular expressions (though this can be | 
|---|
| 189 | changed). | 
|---|
| 190 |  | 
|---|
| 191 | * Major changes in release 4.2.26 | 
|---|
| 192 |  | 
|---|
| 193 | ** Public Service Announcements | 
|---|
| 194 |  | 
|---|
| 195 | I'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 | 
|---|
| 197 | behaviour of the GNU extension you should use '-perm /mode'.  See the | 
|---|
| 198 | NEWS entry for findutils version 4.2.21 for details. | 
|---|
| 199 |  | 
|---|
| 200 | ** Functional Changes | 
|---|
| 201 |  | 
|---|
| 202 | The xargs command now supports a new option (--delimiter) which allows | 
|---|
| 203 | input items to be separated by characters other than null and | 
|---|
| 204 | whitespace.  This resolves Savannah support request sr #102914. | 
|---|
| 205 |  | 
|---|
| 206 | Sometimes find needs to read the /etc/mtab file (or perform the | 
|---|
| 207 | equivalent operation on systems not using /etc/mtab).  If this | 
|---|
| 208 | information is needed butnot available, find now exits with an error | 
|---|
| 209 | message non-zero status.  If the information is not needed, find will | 
|---|
| 210 | not spuriously fail. | 
|---|
| 211 |  | 
|---|
| 212 | A new xargs option --delimiter allows the input delimiter to be | 
|---|
| 213 | changed (previously \0 was the only choice unless you use the -L | 
|---|
| 214 | option, which changes other semantics too). | 
|---|
| 215 |  | 
|---|
| 216 | ** Bug Fixes | 
|---|
| 217 |  | 
|---|
| 218 | If the environment size is too large to allow xargs to operate | 
|---|
| 219 | normally, 'xargs --help' still works (now). | 
|---|
| 220 |  | 
|---|
| 221 | If the input to xargs is a large number of very short options (for | 
|---|
| 222 | example, one character each), earlier versions of xargs would fail | 
|---|
| 223 | with 'Argument list too long'.  However, since this is precisely the | 
|---|
| 224 | problem that xargs was invented to solve, this is a bug.  Hence on | 
|---|
| 225 | those systems we now correctly use a shorter command line.  This | 
|---|
| 226 | problem particularly affected 64-bit Linux systems because of the | 
|---|
| 227 | larger size of pointers, although 32-bit Linux systems were also | 
|---|
| 228 | affected (albeit for longer command lines).  In theory the same | 
|---|
| 229 | problem could affect 'find -exec {} +', but that's much less likely | 
|---|
| 230 | (even so, the bug is fixed there too). | 
|---|
| 231 |  | 
|---|
| 232 | Bugfix for an unusual failure mode (Savannah bug #14842) where an | 
|---|
| 233 | attempt to allocate more space for directory contents succeeds but is | 
|---|
| 234 | incorrectly diagnosed as a failure.  The likelihood of you | 
|---|
| 235 | experiencing this depends on your architecture, operating system and | 
|---|
| 236 | resource limits.  This failure has been observed in a directory | 
|---|
| 237 | containing 35396 entries. | 
|---|
| 238 |  | 
|---|
| 239 | ** Documentation Changes | 
|---|
| 240 |  | 
|---|
| 241 | The EXAMPLES section of the find manual page now correctly describes | 
|---|
| 242 | the symbolic and octal modes for the -perm test. | 
|---|
| 243 |  | 
|---|
| 244 | The documentation and "--help" usage information for the -L, -l, -I | 
|---|
| 245 | and -i options have been clarified (but the behaviour has not changed). | 
|---|
| 246 |  | 
|---|
| 247 | The 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 |  | 
|---|
| 254 | find -perm /440 (which should succeed if a file is readable by its | 
|---|
| 255 | owner or group) now works.  Previously there was a bug which caused | 
|---|
| 256 | this to be treated as "find -perm 440". | 
|---|
| 257 |  | 
|---|
| 258 | Some files in the xargs test suite have been renamed to avoid problems | 
|---|
| 259 | on operating systems whoch cannot distinguish filenames on the basis | 
|---|
| 260 | of upper/lower case distinctions. | 
|---|
| 261 |  | 
|---|
| 262 | The software now builds on Cygwin, including the generated file | 
|---|
| 263 | regexprops.texi. | 
|---|
| 264 |  | 
|---|
| 265 | Findutils should now build once again on systems supporting AFS, but | 
|---|
| 266 | this support has not recently been fully tested.  Findutils should | 
|---|
| 267 | also (once again) build on Cygwin. | 
|---|
| 268 |  | 
|---|
| 269 | ** Other Changes | 
|---|
| 270 |  | 
|---|
| 271 | The test suite for find is now much more extensive. | 
|---|
| 272 |  | 
|---|
| 273 | * Major changes in release 4.2.24 | 
|---|
| 274 |  | 
|---|
| 275 | ** Documentation Changes | 
|---|
| 276 |  | 
|---|
| 277 | The manual now includes a "Worked Examples" section which talks about | 
|---|
| 278 | the various ways in which findutils can be used to perform common | 
|---|
| 279 | tasks, and why some of these alternatives are better than others. | 
|---|
| 280 |  | 
|---|
| 281 | The -I option of xargs (which is required by the POSIX standard) is | 
|---|
| 282 | now documented. | 
|---|
| 283 |  | 
|---|
| 284 | We now document the fact that find ensures that commands run by -ok | 
|---|
| 285 | and -okdir don't steal find's input.  Find does this by redirecting | 
|---|
| 286 | the command's standard input from stdin. | 
|---|
| 287 |  | 
|---|
| 288 | Many documentation readability enhancements and proofreading fixes | 
|---|
| 289 | were contributed by Aaron Hawley. | 
|---|
| 290 |  | 
|---|
| 291 | ** Functional Changes | 
|---|
| 292 |  | 
|---|
| 293 | *** Functional changes in locate | 
|---|
| 294 |  | 
|---|
| 295 | The "--regex" option of locate now assumes the regular expression to | 
|---|
| 296 | be in the same syntax as is used in GNU Emacs, though this can be | 
|---|
| 297 | changed with the new option --regextype.  This is a change from the | 
|---|
| 298 | existing behaviour (which was to use POSIX Basic Regular Expressions). | 
|---|
| 299 | Since this feature is releatively new anyway, I though it was more | 
|---|
| 300 | useful to have compatibility between regular expression handling in | 
|---|
| 301 | find and locate than to maintain the short-lived previous behaviour of | 
|---|
| 302 | locate. | 
|---|
| 303 |  | 
|---|
| 304 | The locate program now also supports a "--regextype" long option which | 
|---|
| 305 | controls which regular expression syntax is understood by locate. | 
|---|
| 306 | This is a long option and has no single-letter 'short option' | 
|---|
| 307 | equivalent. | 
|---|
| 308 |  | 
|---|
| 309 | *** Functional changes in find | 
|---|
| 310 |  | 
|---|
| 311 | The regular expression syntax understood by "find" can be changed with | 
|---|
| 312 | the -regextype option; this option is positional, meaning that you can | 
|---|
| 313 | have several tests, each using a distinct syntax (this is not | 
|---|
| 314 | recommended practice however). | 
|---|
| 315 |  | 
|---|
| 316 | The default regular expression syntax is substantially the same as | 
|---|
| 317 | that recognised by GNU Emacs, except for the fact that "." will match | 
|---|
| 318 | a newline. | 
|---|
| 319 |  | 
|---|
| 320 | The 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 | 
|---|
| 323 | having filesystems which do not provide traditional Unix behaviour for | 
|---|
| 324 | the link count on directories (for example Cygwin and the Solaris 9 | 
|---|
| 325 | HSFS implementation). | 
|---|
| 326 |  | 
|---|
| 327 | ** Bug Fixes | 
|---|
| 328 |  | 
|---|
| 329 | *** Bug Fixes for find | 
|---|
| 330 |  | 
|---|
| 331 | The -iregex test now works once again on systems that lack | 
|---|
| 332 | re_search() (that is, systems on which findutils needs to use the | 
|---|
| 333 | gnulib version of this function). | 
|---|
| 334 |  | 
|---|
| 335 | find -regex now once again uses GNU Emacs-compatible regular | 
|---|
| 336 | expressions. | 
|---|
| 337 |  | 
|---|
| 338 | If invoked with stderr closed, the -fprint and -fprintf actions now no | 
|---|
| 339 | longer cause error messages to be sent into the output file. | 
|---|
| 340 |  | 
|---|
| 341 | If the link count of a directory is less that two, the leaf | 
|---|
| 342 | optimisation is now disabled for that directory.  This should allow | 
|---|
| 343 | searching of non-Unix filesystems to be more reliable on systems that | 
|---|
| 344 | don't take the trouble to make their filesystems look like traditional | 
|---|
| 345 | Unix filesystems.   Some filesystems don't even take the trouble to | 
|---|
| 346 | have a link count of less than two and for these, -noleaf is still | 
|---|
| 347 | required unless --disable-leaf-optimisation was used at configure time. | 
|---|
| 348 |  | 
|---|
| 349 | The "%Y" directive for the -printf action now no longer changes find's | 
|---|
| 350 | idea 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 |  | 
|---|
| 357 | The -L and -I options of xargs are currently incompatible (but should | 
|---|
| 358 | not be). | 
|---|
| 359 |  | 
|---|
| 360 | Improved the documentation for -execdir and -okdir. | 
|---|
| 361 |  | 
|---|
| 362 | ** Functional Changes to updatedb | 
|---|
| 363 |  | 
|---|
| 364 | File names ending in "/" which are specified as an argument to | 
|---|
| 365 | --prunepaths (or in $PRUNEPATHS) don't work, so we now issue an error | 
|---|
| 366 | message if the user tries to do that.  The obvious exception of course | 
|---|
| 367 | is "/" which does work and is not rejected. | 
|---|
| 368 |  | 
|---|
| 369 |  | 
|---|
| 370 | * Major changes in release 4.2.22 | 
|---|
| 371 |  | 
|---|
| 372 | ** Security Fixes | 
|---|
| 373 |  | 
|---|
| 374 | If a directory entry searched with "find -L" is a symbolic link to | 
|---|
| 375 | ".", we no longer loop indefinitely.  This problem affected find | 
|---|
| 376 | versions 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 | 
|---|
| 378 | could be used to prevent updates to the locate database or to defeat | 
|---|
| 379 | file security checks based on find.   However, it should be noted that | 
|---|
| 380 | you should not use "find -L" in security-sensitive scenarios. | 
|---|
| 381 |  | 
|---|
| 382 | ** Other Bug Fixes | 
|---|
| 383 |  | 
|---|
| 384 | None in this release. | 
|---|
| 385 |  | 
|---|
| 386 | ** Functional Changes to locate | 
|---|
| 387 |  | 
|---|
| 388 | A locate database can now be supplied on stdin, using '-' as a element | 
|---|
| 389 | of the database-path. If more than one database-path element is '-', | 
|---|
| 390 | later instances are ignored. | 
|---|
| 391 |  | 
|---|
| 392 | A new option to locate, '--all' ('-A') causes matches to be limited to | 
|---|
| 393 | entries which match all given patterns, not entries which match | 
|---|
| 394 | one or more patterns. | 
|---|
| 395 |  | 
|---|
| 396 | ** Documentation Changes | 
|---|
| 397 |  | 
|---|
| 398 | Some typos in the manual pages have been fixed.  Various parts of the | 
|---|
| 399 | manual 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 | 
|---|
| 401 | symptoms that look like bugs but aren't.  The explanations of the "%k" | 
|---|
| 402 | and "%b" directives to "find -printf" have been imrpoved. | 
|---|
| 403 |  | 
|---|
| 404 |  | 
|---|
| 405 | * Major changes in release 4.2.21 | 
|---|
| 406 | ** Functional Changes to find | 
|---|
| 407 |  | 
|---|
| 408 | The GNU extension "find ... -perm +MODE" has been withdrawn because it | 
|---|
| 409 | is incompatible with POSIX in obscure cases like "find ... -perm ++r". | 
|---|
| 410 | Use the new syntax "find ... -perm /MODE" instead.  Old usages will | 
|---|
| 411 | still continue to work, so long as they don't conflict with POSIX. | 
|---|
| 412 |  | 
|---|
| 413 | If the output is going to a terminal, the -print, -fprint, -printf and | 
|---|
| 414 | -fprintf actions now quote "unusual" characters to prevent unwanted | 
|---|
| 415 | effects on the terminal.  See "Unusual Characters in File Names" for | 
|---|
| 416 | further details.  There is no change to the behaviour when the output | 
|---|
| 417 | is not going to a terminal.   The locate program does the same thing, | 
|---|
| 418 | unless the -0 option is in effect (in which case the filenames are | 
|---|
| 419 | printed as-is). | 
|---|
| 420 |  | 
|---|
| 421 | ** Functional Changes to locate | 
|---|
| 422 |  | 
|---|
| 423 | The locate command will now read each locate database at most once. | 
|---|
| 424 | This means that if you are using multiple databases and are searching | 
|---|
| 425 | for more than one name, the results will now be printed in a different | 
|---|
| 426 | order (and if you specified a small limit with --limit, you may get a | 
|---|
| 427 | different set of results). | 
|---|
| 428 |  | 
|---|
| 429 | A new option '--print' for locate causes it to print the matching | 
|---|
| 430 | results even if the '--count' or '--statistics' option is in effect. | 
|---|
| 431 |  | 
|---|
| 432 | ** Bug Fixes | 
|---|
| 433 | find /blah/blah/blah -depth -empty now works once again. | 
|---|
| 434 |  | 
|---|
| 435 | The -regex and -iregex tests of find now correctly accept POSIX Basic | 
|---|
| 436 | Regular Expressions.  (Savannah bug #12999) | 
|---|
| 437 |  | 
|---|
| 438 | The updatedb program now works on systems where "su" does not support | 
|---|
| 439 | the "-s" option, for example Solaris. | 
|---|
| 440 |  | 
|---|
| 441 | * Major changes in release 4.2.20 | 
|---|
| 442 | ** Internationalization and Localization | 
|---|
| 443 | Updated Vietnamese and Dutch translations. | 
|---|
| 444 |  | 
|---|
| 445 | ** Bug Fixes | 
|---|
| 446 | Minor bugfix affecting only those who compile from the CVS repository, | 
|---|
| 447 | as opposed to those who compile from the source releases. | 
|---|
| 448 |  | 
|---|
| 449 | * Major changes in release 4.2.19 | 
|---|
| 450 | ** Bug Fixes | 
|---|
| 451 |  | 
|---|
| 452 | find should now no longer hang on systems which lack the O_NOFOLLOW | 
|---|
| 453 | flag to open(2) and which are clients of an unresponsive NFS server | 
|---|
| 454 | (Savannah bug #12044). | 
|---|
| 455 |  | 
|---|
| 456 | We now avoid inappropriately failing for "find -L foo" or "find -H | 
|---|
| 457 | foo" if foo is a symbolic link (Savannah bug #12181).  Previously we | 
|---|
| 458 | used to fail with the error message "Too many levels of symbolic | 
|---|
| 459 | links". | 
|---|
| 460 |  | 
|---|
| 461 | "find . -false -exec foo {} +" no longer runs an extra instance of foo | 
|---|
| 462 | when find exits (Savannah bug #12230). | 
|---|
| 463 |  | 
|---|
| 464 | If the chdir() safety check fails but we can no longer get back to | 
|---|
| 465 | where we started, exit with an explanatory (fatal) error message. | 
|---|
| 466 | This does not happen on GNU/Linux and FreeBSD because the safety check | 
|---|
| 467 | is not needed (the security problem the safety check protects against | 
|---|
| 468 | is 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. | 
|---|
| 474 | Previously it printed nothing (but there was a bug in the %h | 
|---|
| 475 | implementation anyway).  This fixes Savannah bug #12085. | 
|---|
| 476 |  | 
|---|
| 477 | Should now build (again) on non-C99-compliant systems. | 
|---|
| 478 |  | 
|---|
| 479 | ** Documentation enhancements | 
|---|
| 480 | Fixed some typos and clarified wording in "Working with automounters". | 
|---|
| 481 |  | 
|---|
| 482 | ** Internationalization and Localization | 
|---|
| 483 | New 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: | 
|---|
| 815 | fix problem so that default "-print" is added when "-prune" is used. | 
|---|
| 816 | security fixes related to directories changing while find is executing. | 
|---|
| 817 |  | 
|---|
| 818 |  | 
|---|
| 819 | * Major changes in release 4.1.6: | 
|---|
| 820 | correct bug in prune. | 
|---|
| 821 | added --ignore-case option for locate | 
|---|
| 822 |  | 
|---|
| 823 | * Major changes in release 4.1.5: | 
|---|
| 824 | Add support for large files | 
|---|
| 825 |  | 
|---|
| 826 | * Major changes in release 4.1.4: | 
|---|
| 827 | bug fixes, more up-to-date languages. | 
|---|
| 828 |  | 
|---|
| 829 | * Major changes in release 4.1.3: | 
|---|
| 830 | added internationalization and localization. | 
|---|
| 831 |  | 
|---|
| 832 | * Major changes in release 4.1.1: | 
|---|
| 833 | attempt 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 | --//-- | 
|---|
| 892 | This is used by Emacs' spell checker ispell.el: | 
|---|
| 893 |  | 
|---|
| 894 | LocalWords: ansi knr strftime xargs updatedb sh fnmatch hin strcpy | 
|---|
| 895 | LocalWords: lib getstr getline frcode bigram texi depcomp automake | 
|---|
| 896 | LocalWords: strncasecmp strcasecmp LIBOBJS FUNC prunefs allout libexec | 
|---|
| 897 | LocalWords: testsuite Texinfo chdir inode fstype afs fls ls EOF lname | 
|---|
| 898 | LocalWords: regex ilname iname ipath iregex printf fprintf | 
|---|
| 899 |  | 
|---|