http://lynx.invisible-island.net/lynx2.8.8/
This list only summarizes some changes, for a detailed history
of changes see the CHANGES
file.
In preparing this release, we built/ran on
- Linux (ncurses, ncursesw, PDCurses, slang),
- FreeBSD 4.9, 6.3, 8.2, 9.0, 11 (ncurses, ncursesw),
- NetBSD 5.1, 6.0 (curses)
- OpenBSD 5.3 (curses/ncurses).
- OpenVMS (curses),
- win32 (Visual C++ 9.0, Borland C++, Cygwin, MinGW32),
- AIX 5.1, 5.3, 6.1, 7.1 (curses),
- HPUX 10.20, 11.00, 11.11, 11.23, 11.31 (curses),
- Haiku r1a4 (ncurses),
- IRIX 6.5 (curses),
- OS X (Snow Leopard through Mavericks releases)
- Solaris 2.6, 7, 8, 9, 10, 11 (curses)
- Tru64 4.0d, 5.1 (cc, curses),
New features (some are compile-time options):
- add internal URL "LYNXEDITMAP:", which is (like
"LYNXKEYMAP:") generated, making that the primary page for
field-editing help
- make nsl-fork work for the DNS lookup using getaddrinfo,
i.e., for IPv6 configurations
- revise nsl-fork logic for passing addrinfo and hostent data
back to eliminate fixed limit on the number of records to
return
- correct formatting of large file-sizes in directory
listing
- modify finish_ExtEditForm to eliminate wrapping when an
edited line is longer than MAX_LINE. The user is still offered
the choice of wrapping to the displayed size of a TEXTAREA, but
if declined, the TEXTAREA's content will not be wrapped
- add "submit" and "reset" commands
- add "pwd" command, to show current working directory in the
statusline
- modify handling of "set" in -cmd_script option to try both
cfg-file and rc-file settings
- modify LYConvertToURL to use LYTildeExpand for Unix, and
further modify LYTildeExpand to lookup given user's home
directory, thereby making commands such as "g ~root/tmp" work
as expected
- add option -unique-urls
- add -list_inline option, which modifies -dump output to put
links inline with the text rather than in a list at the end of
the dump
- change default behavior:
- change default for --enable-addrlist-page configure
option to enabled
- change #define's for addrlist-page and alt-bindings to
reflect their non-experimental status
- promote some experimental options to normal, tidy up
related EXP_xxx vs USE_xxx symbols:
- EXP_ASCII_CTYPES is now USE_ASCII_CTYPES
- EXP_JUSTIFY_ELTS is now USE_JUSTIFY_ELTS
- EXP_CHARSET_CHOICE is now USE_CHARSET_CHOICE
- The scrollbar, progressbar, sessions and session-cache
options are now enabled by default.
- change compiled-in default for SYSLOG_REQUESTED_URLS to
false
- make DONT_TRACK_INTERNAL_LINKS logic configurable via
lynx.cfg as TRACK_INTERNAL_LINKS; the configure script now
sets the default value
- change URL for HELPFILE in lynx.cfg, etc., to omit
version-specifics
These changes were made to the configure script:
- add configure option --with-cfg-path and environment
variables LYNX_CFG_PATH to provide search-list capability for
the ".cfg" and ".lss" files
- fix a check in configure-script for openssl subdirectory in
includes. It happened to work in most cases due to a spurious
blank in the pkg-config file; this was removed recently, e.g.,
for Fedora20
- update configure script to add --datarootdir option, which
changes the default for man-page from /usr/lib to
/usr/share
- modify configure check for sizeof(time_t), sizeof(off_t) to
help recover if it is run in a deficient environment such as
busybox
- check for tinfo library, which may be present
- add check for 'make' programs ${MAKEFLAGS} versus
${MFLAGS}, for recursive operation.
- add configure --with-textdomain option to allow overriding
the "lynx" NLS textdomain, to help ensure that Lynx's
build-script does not conflict with alternative packages
- use AC_ARG_PROGRAM in configure script, to support
--program-suffix, etc., to help with packaging
- correct typo in configure --enable-gnutls-compat option,
which sometimes made it enabled as a side-effect of setting
--with-gnutls
- add configure option --enable-wais, for test-compiles with
freeWAIS
- add workaround in CF_SSL configure macro for broken openssl
pkg-config script on Redhat, CentOS
- add configure option --disable-rpath-hack
- modify configure script to check if linkage for bzlib and
zlib succeeded, before defining symbol which makes the compiler
uses these libraries
These improvements were made to SSL support:
- add GNUTLS call to enable SNI (Server Name Indication)
extension
- apply openssl patch from openSUSE package for Lynx to
modify the SSL options to omit the SSLv2 and compression
features; apply analogous changes to tidytls.c interface.
- improve warning message for
GNUTLS_CERT_SIGNER_NOT_FOUND
- check for SSL error when reading response from "GET". This
incidentally exposes a longstanding bug in GNUTLS.
- correct check for return-value from
gnutls_certificate_verify_peers2(), which in conjunction with
unclean internals of gnutls caused caused some sites to be
treated as if they were version-1 X.509 CAs
These improvements were made to HTML interpretation:
- modify <address> tag to treat it like <p> when
used within a list
- modify the INFO page, normally bound to "=", to show
decoded strings for URLs, e.g., which use %xy hexadecimal
encoding. The decoded strings are shown on the line following
the encoded URLs if the strings are different. Also if
display-charset is UTF-8, modify -dump "References" URLs to
show the corresponding decoded strings for consistency with the
text which is already in UTF-8. Other URLs such as that shown
in the status area are shown in encoded form per previous
discussion which recommending doing this to address phishing
attempts
- amend implementation of "readonly" attribute from
2.8.7dev.10 to distinguish it from "disabled"
- simplify file-URLs shown in reference list of -dump by
trimming unnecessary "localhost", e.g.,
file://localhost/XXX
becomes
file:///XXX
- modify default case for HTLoadGopher() to use the file's
suffix to obtain a MIME mapping rather than always storing
unknown types to disk
- modify print_wwwfile_to_fd() to add field values to the
printed form
- allow IPv6 addresses without "http://" prefix
- use HTParsePort() in a few places, e.g., HTFinger.c, to
allow for IPv6 addresses with colons
- limit downloaded files by Content-Length if any, to match
behavior of IE, Firefox and some other browsers; this is not
addressed in RFC 2616
- modify HTLoadDocument() to not retain a cached document if
user is explicitly doing a refresh. This fixes the case for a
#fragment url, which was otherwise treated as the same as the
address without the #fragment
- modify HTLoad() to discard charset information before
reloading a document, in case the server changes the
content-type information between loads
- ensure that button/input tags have a value for display, in
case the tag is improperly terminated
- modify comparison for splitting lines to allow for long
preformatted lines, e.g., using 's to not wrap when the
line-wrap mode is disabled
- add optional support for IDNA using GNU libidn
These improvements were makde to character sets and
display:
- modify the LOCALE_CHARSET feature to provide a default
value for the ASSUMED_CHARSET feature aka
"display-charset"
- ignore LEFT-TO-RIGHT-MARK (U+200E) in HTML files
- modify check in HText_endForm() when a form contains only a
single input field, to allow a return in any text-like field
other than textarea to cause the form to be submitted
- use ASCII apostrophe for 7-bit approximation to U+02bd as
well
- use ASCII apostrophe 0x27 for 7-bit approximation to
Unicode apostrophe U+02bc
- add U+0218, U+0219, U+021a, and U+021b to 0x53, 0x73, 0x54,
and 0x74, respectively, for Romanian s/t with cedilla in
def7_uni.tbl
- add HTML5_CHARSETS feature, which allows the user to choose
whether to interpret pages without an explicit charset
according to the HTML5 "compatibility" feature
These improvements were made to color-style:
- add -default-colors command-line option to allow toggling
the state of the DEFAULT_COLORS setting from lynx.cfg
- add on/off toggles to options menu for the color-style and
default-colors features, to help deal with packages which
enable default colors without adjusting the color-style
settings to avoid having yellow text on a white background
- modify configuration of COLOR_STYLE value in lynx.cfg,
allowing multiple filenames to be specified and providing those
as choices in the O'ptions menu
- improve color-style simulation of old color scheme by
coloring input fields with color #5
These improvements were made for interaction with the
user:
- extend ^X-e editing of textarea's to include single-line
fields
- modify LYgetstr, making it call revised function
LYgetBString which handles bstring's, and allows editing fields
which can grow without fixed buffer limits. In particular,
forms all use the same calls, which means that their result is
no longer limited by MAX_LINE. Replaced most LYgetStr calls
with LYgetBString, except for LYMail.c and LYNews.c since those
do use LYgetStr's limits as it was designed. Other calls
generally did not need those limits.
- ask for filesize when downloading via ftp, to use this in
the read-progress ETA
- provide a way to substitute parameters in URLs for
jumpfiles
- extend the "Bad HTML" warning feature to -dump option when
the -stderr option is also set
- revise dired-mode's modify_tagged() function, correcting
and extending the source-paths to validate against the target
path. Before, lynx's current working directory was used to
validate against target path, i.e., when moving all tagged
files to a new location. Lynx's check to ensure that
source/target paths are distinct prevented users from moving
tagged files to the current directory
- remove check from 2.8.5dev.11 which prevents user from
moving a directory in dired unless the external program "mv" is
provided
- apply overlooked patch from pre-2.8.5, makes RMDIR_PATH
configurable
- modify option -dump so it is parsed in the first pass,
using that to suppress requirement for lss file if lynx is used
only to dump output
These changes improve interaction with other programs:
- update/improve blat mailer support:
- document blat/blatj usage in lynx.cfg
- update command-line syntax for the blat mailer, to work
with blat 2.6.2
- change default in makelynx.bat to assume blat rather
than blatj, because the latter does not provide a way to
authenticate user/password on a mail server
- modify blat/blatj configuration so that support for
both is compiled-in for DOSPATH configurations. Add
"-altblat" option to select blat vs blatj. Define
USE_ALT_BLAT_MAILER to specify which is the default
- modified quoting for parameter values passed to blat
mailer to ensure that it handles embedded blanks
These changes improve cookie support:
- add/use WriteStreamTitle(), to provide doctype for
cookie-jar page, used to help validate the page
- improve readability of cookie-jar page by showing the
unescaped cookie values, other minor formatting changes
- modify cookie domain-matching to accommodate RFC 6265,
which states that a leading dot on a domain attribute should be
discarded
These improvements were made to debug/traces:
- add traces for builtin dired operations
These improvements were made to scripting/logging:
Here are other general improvements:
- modify lkcstring_to_lkc() to accept hex/octal values,
allowing those in the KEYMAP configuration as suggested by the
commented lines in lynx.cfg
- add PERSONAL_MAIL_NAME to options menu and .lynxrc
- add EXTERNAL_MENU feature to lynx.cfg, which allows the
user to customize the menu-entry shown, e.g., to suppress the
display of the URL
There are new/improved sample files:
- add samples/oldlynx.bat to demonstrate how to use
non-color-style
- modify samples/lynx-demo.cfg to suppress external
file-utilities, since the intent is to make the installer work
standalone, but allow extension
- install the sample-files in the dpkg test-script
New ports:
- none
(it seems to run everywhere, but there are a few
possibilities)
Improvements to existing ports:
- UNIX:
- Linux:
- WIN32:
- integrate most of the changes from patch in 2.8.6rel.4
package at
http://lynx-win32-pata.sourceforge.jp/
- provide toggle between normal/fullscreen
- ifdef'd changes for FEP.
- correct a message translation in ja.po
- modify Xsystem.c to not use MinGW's system()
call.
- add three items to lynx.cfg
- conv_jisx0201kana
- message_language
- wait_viewer_termination
- replace ifdef's for CONV_JISX0201KANA_JISX0208KANA
with configuration variable conv_jisx0201kana
- modify makefile.bcb and lynx.rsp to use openssl and
intl libraries.
- add feature ifdef'd with USE_PROGRAM_DIR which adds
fallback definitions for pathnames to use the directory
of lynx.exe
- add check for unsafe filenames in DOS/Windows,
e.g., those that correspond to a device.
- improve cross-compiling:
- add NSIS script, to allow building Windows
installer via cross-compiling
- fixes to configure script and makefiles to work
with empty $prefix, e.g., as used in MSYS
- improve configure check for sleep() for
cross-compiling to MinGW
- modify configure check for inet_addr() for
cross-compiling to MinGW
- add configure check for Win32 flavor of PDCurses
when cross-compiling to MinGW using the
"--with-screen=pdcurses" option
- add configure check for windres needed for mingw
build if cross-compiling
- improve/extend native builds
- protect redefined errno values for Windows port
from redefinition warnings when using MinGW build,
since the WSAxxx values are what the configuration
actually uses
- change makefile.msc and lynx-slang.iss to use dll
for slang
- use PDCurses "wide" variation in makefile.msc
- modify makew32.bat and makefile.bcb to use GnuWin32
packages to simplify builds with Borland 5.51 C++
compiler
- improve configure check for IDNA library, which may
depend upon intllib, e.g., building with mingw on
cygwin
- add bzlib to win32 makefile.msc
- define WIN32_LEAN_AND_MEAN in makefile.msc to
accommodate naming conflict in recent Win32 SDKs, which
otherwise include winsock.h in windows.h
- add version-info to LYIcon.rc
- change Windows default for LYNX_LSS_FILE to not use
a directory-path
- improve DOSPATH-related logic in HomeEnv(), making
this work properly with Windows Vista and 7. The
feature is needed to read Lynx's bookmarks file from
the user's "Personal" shell-folder
- modify samples/*.bat to work when running in a
directory whose pathname contains spaces
- reduce required privileges for installing in
lynx.iss
- modify the Inno Setup files to show lynx's version
numbers. Development and prerelease versions are
indicated in the numeric-only versions by prefixing a
"10" or "20"
- modify LYExecv() in LYLocal.c to allow win32
applications to use this function
- VMS:
- Other
These improvements were made for maintainability and
testing:
- update doctype for html documentation to 4.01 strict
- add build/packaging scripts for RPM and DEB, for both
native and cross-compiling.
- several fixes for the -find-leaks option, e.g., include
LYLeaks.h in a few modules, modify the StrAllocVsprintf
function to update the bookkeeping,
- update LYLeaks.c / LYLeaks.h to include the bstring
allocation, copy and free functions etc
As well as security-related changes:
- modify convert_to_idna() to check for malformed urls
(Debian #594300 reports this as CVE-2010-2810)
And finally:
- A lot of bug fixes
- A lot of documentation changes.
- A lot of dead code removed
http://lynx.invisible-island.net/lynx2.8.8/features.html
Page maintained by Thomas Dickey (dickey@invisible-island.net).
Copyright © 2014, Thomas Dickey
Last Updated: 2018-07-08
Valid HTML