diff options
Diffstat (limited to 'NEWS')
-rw-r--r-- | NEWS | 117 |
1 files changed, 117 insertions, 0 deletions
@@ -5,6 +5,123 @@ are permitted in any medium without royalty provided the copyright notice and this notice are preserved. +Changes from 4.1.x to 4.2.0 +--------------------------- + +1. If not in POSIX mode, changes to ENVIRON are reflected into + gawk's environment, affecting any programs run by system() + or for piped redirections. This can also affect built-in routines, such + as mktime(), which is typically influenced by the TZ environment variable. + +2. The series of numbers returned by rand() should now be "more + random" than previously. Gawk's rand() remains repeatable; you will + get the same series of numbers each time you call rand() repeatedly, + but this will be a different series than previously. + +3. The --pretty-print option no longer runs the program too. + +4. The igawk script and igawk.1 man page are no longer installed by + `make install'. They have been obsolete since gawk 4.0.0. + +5. Gawk now has a `intdiv()' function to perform integer division; this is + primarily useful for the -M option to avoid MPFR division when all + values involved are integers. + +6. Gawk can now be built with CMake. This is an alternative build + system for those who may want it; gawk is not going to switch off + use of the autotools anytime soon, if ever. + +7. Gawk now processes a maximum of two hexadecimal digits in \x + escape sequences inside strings. + +8. Setting PROCINFO["redirection", "NONFATAL"] to true makes I/O + errors for "redirection" not fatal, setting ERRNO. Setting + PROCINFO["NONFATAL"] makes all I/O nonfatal. + +9. MirBSD is no longer supported. + +10. Pretty printing now preserves comments and places them into the + pretty-printed file. + +11. `make install' now installs shell startup files + $sysconfdir/profile.d/gawk.{csh,sh} containing shell functions to + manipulate the AWKPATH and AWKLIBPATH environment variables. On a Fedora + system, these files belong in /etc/profile.d, but the appropriate location + may be different on other platforms. + +12. Gawk now supports retryable I/O via PROCINFO[input-file, "RETRY"]; see + the manual. + +13. The API minor version has been increased to 2; the get_file() + API provides access to open redirections. Also see the manual. + +14. Revisions in the POSIX standard remove the special case for POSIX + mode when FS = " " where newline was not a field separator. The code + and doc have been updated. + +15. Gawk now supports strongly typed regexp constants. Such constants + look like @/.../. You can assign them to variables, pass them to + functions, use them in ~, !~ and the case part of a switch statement. + More details are provided in the manual. + +16. The new typeof() function can be used to indicate if a variable or + array element is an array, regexp, string or number. The isarray() + function is deprecated in favor of typeof(). + +17. As promised when 4.1 was released, the old extension mechanism, + using the `extension' function, is now gone. + +18. Support for GNU/Linux on Alpha systems has been removed. + +19. Optimizations are now enabled by default. Use the new -s/--no-optimize + option(s) to disable them. Pretty-printing and profiling automatically + disable optimizations so that the output program is the same as the + original input program. + +20. The extension API now provides a mechanism for generating nonfatal + error messages. + +20. Gawk now uses fwrite_unlocked if it's available. The yields a 7% - 18% + improvement in raw output speed (gawk '{ print }' on a large file). + +21. Pretty-printing now uses the original text of constant numeric values for + pretty-printing and profiling. + +22. Passing negative operands to any of the bitwise functions now + produces a fatal error. + +23. The C API has undergone changes that break binary compatibility with + the previous version. Thus the API version is now at 2.0. YOU WILL + NEED TO RECOMPILE YOUR EXTENSIONS to work with this version of gawk. + Source code compatibility remains intact, although you will get + compiler warnings if you do not revise your extensions. We strongly + recommend that you do so. Fortunately, the changes are fairly minor + and straightforward. + +24. Programs that toggle IGNORECASE a lot should now be noticeably faster. + +25. The mktime function now accepts an optional second argument. If this + argument is present and is non-zero or non-null, the time will be converted + from UTC instead of from the local timezone. + +26. The FIELDWIDTHS parsing syntax has been enhanced to allow specifying + how many characters to skip before a field starts. It also allows + specifying '*' as the last character to mean "the rest of the record". + Field splitting with FIELDWIDTHS now sets NF correctly. The documentation + for FIELDWIDTHS in the manual has been considerably reorganized and + improved as well. + +27. An API input parser now has the ability to override the default field + parsing mechanism by specifying the locations of each field in the input + record. When this is in effect, PROCINFO["FS"] will be set to "API". + +28. The PROCINFO["argv"] array records all of gawk's command line arguments + as gawk received them (the values of the C level argv array). + +29. Pretty-printing now preserves parenthesized expressions as they + were in the source file. This solves several niggling corner cases + with such things. + Changes from 4.1.3 to 4.1.4 --------------------------- |