http://lynx.invisible-island.net/lynx2.8.9/
This list only summarizes some changes, for a detailed history of changes see the CHANGES file.
In preparing this release, we built/ran on
New features (some are compile-time options):
COLLAPSE_BR_TAGS
.add support for client certificates .
add support for some HTML5 elements Using this change, you can jump to <section id="speakers">. (The addition in src{0,1}_HTMLDTD.txt is copied from DIV.) <section>, <article>, <main>, <aside>, <header>, <footer>, <nav>, <figure>
add PREFERRED_CONTENT_TYPE
defaulting to
text/plain and options-menu to replace an assumption in
HTMIMEConvert that everything is text/html. Since most
servers provide a valid Content-Type for HTML, and are more
likely to omit it for files lacking a known suffix,
defaulting to text/plain is a better choice
The gopher protocol now supports a "+" item type and the extension link to URL.
These changes were made to the configure script:
CF_CURSES_FUNCS
: improve workaround for
weak-linkage, seems to fix tests with NetBSD 6.1
CF_SUBDIR_PATH
: add /usr/pkg and /opt/local
to help configuring with pkgsrc and macports
improve configure check for extended curses functions, needed for compiling with ncursesw on OSX, in particular when configuring with ncurses6
modify configure script to warn if NLS cannot be configured, and disable the feature rather than leaving it partly configured and failing during the build
modify configure script to allow pre-set
$MSGFMT
and $XGETTEXT
variables to
to used to build the NLS configuration using system's native
NLS support
most of the configure script changes were made to work around non-standard system features.
These improvements were made to SSL support:
build-fixes for OpenSSL 1.1.0 versus 1.0.0, along with additional fixes to work with LibreSSL on OpenBSD 6.2
set SSL_MODE_AUTO_RETRY
in OpenSSL
configuration.
improve gnutls interface to support rehandshake on negotiation for optional client certificate, e.g., for https://contributors.debian.org .
change defaults for SSL prompts when a problem is detected to "no"
if an SSL error message is too long for the screen-width, trim it with an ellipsis so that the "(y)" part of the prompt for continuing will be visible
modify gnutls interface to give potentially more details on certficate revocation
These improvements were made to HTML/HTTP interpretation:
improve overlay of field contents in form for "-dump" option; the change in 2.8.8dev.3 did not take into account UTF-8 values
make the HTTP version configurable, defaulting to "1.0" (HTTP/1.0) as HTTP_PROTOCOL, and make it changeable in the options menu
add workaround for servers such as https://www.xing.com which fail to close the connection when they finish sending compressed data. This relies on the content-length
refine special case of server Content-Type from 2.8.7dev.11 changes to decompress files offered for download when the server has gzip'd them
accept userinfo in a URL, subject to override by -auth option or -pauth options. According to RFC-3986, this is deprecated, but testing shows other clients support it
modify legacy feature from Lynx 2.7.2 which checks the
hostname of a URI to guess whether to use HTTP, FTP, etc.,
depending upon the prefix of the URIs hostname. This is now
an optional feature, GUESS_SCHEME
, which
defaults to FALSE
These improvements were made to character sets and display:
most (16/19) translation files were updated.
convert po/zh_TW.po to UTF-8 to work with Solaris10, which lacks big5
amend fix for Debian #841155, adding check for complete multibyte strings to decide when the cell-limit has been met
amend fix for Debian #841155, adding check for special case where the expected number of cells is zero
correct logic in cell2char(), which gave up too early in determining the number of cells needed for a multibyte string in the editable text-fields
when converting host+params to idna, temporarily separate the params to avoid a warning from idna_to_ascii_8z()
restore fix to filter out left-to-right marks which was broken in refactoring in 2.8.9dev.2, and also filter out right-to-left marks
use POSIX locale when sorting entries in cfg_defs.h .
add codes U+200A, U+200B to def7_uni.tbl
add checks when translating from UTF-8 to Unicode, to ensure that only the shortest encoding is accepted. Other/longer encodings are mapped to the UCS replacement character as in xterm
These improvements were made to color-style:
add checks in options-menu in case no color-styles have been defined
modify color-style hashing to check for collisions
improve hashing for anchors and styles by using a more suitable hash-table size
amend change made in 2.8.8dev.17 to permit multiple
COLOR_STYLE
items to restore the ability to
cancel the color-style by providing an explicitly empty
configuration item (in lynx.cfg
,
-lss
or $LYNX_LSS
). In
lynx.cfg
, it is possible to follow the empty
COLOR_STYLE
with other data, but the -lss option
overrides everything, and if that is not found,
$LYNX_LSS
overrides lynx.cfg
These improvements were made for interaction with the user:
ignore content-encoding in HTContentToCompressType() if the content-type is known, to improve the suggested filename
modify HTDoConnect(), adding a check for keyboard interrupt with 'z' in the select-loop
add a note in lynx.cfg telling how to remove a default key-mapping
modify "=" command to make it possible to disable margins for the URL string, by first disabling wrapping using "|"
improve consistency in help-files discussing line-edit keymaps
add a note in the comments for INCLUDE in lynx.cfg regarding the default directory searches LYOpenCFG(), added in 2.8.4dev.20
improve manual page discussion of environment variables, prompted by comments in Debian #791452, which overlooked the fact that details of proxy behavior are found in the user guide
extend advanced mode by showing field names in forms in the status line
add Delete key usage to manpage
add a note about OCSP to url-support documentation
loosen the check in IsOurFile() to permit hard-linked files
modify LYExpandHostForURL() to call HTGetAddrInfo(), allowing DNS lookups for IPv6 to be interrupted, e.g., by typing ^G. This was a path overlooked in 2.8.8dev.13
correct an inconsistent check for reload in the options-screen
These changes improve cookie support:
bug-fixes only
These improvements were made to debug/traces:
put Lynx.leaks file in home directory like Lynx.trace
These improvements were made to scripting/logging:
correct a bug in the map_string_to_keysym() function introduced in 2.8.8dev.17: as used via the remap() function, this returns the curses code for a special key rather than Lynx's internal code
Here are other general improvements:
consistently use "_" in command-line options table and manual page, to work with program logic that treats "-" as "_", but not the reverse
improve portability for sockaddr structures used in HTTP and FTP, for IPv6 and SOCKS configurations
improve logic in HTCopy used to limit reads based on content-length to take into account server headers which extend past the first block read
improve checks for strings which should not be empty, e.g., personal-mail-address
modify po/makefile.inn to ensure the temporary files have distinct names to avoid problem with "make -j8"
permanently enable MISC_EXP
feature
permanently enable EXP_HTTP_HEADERS
feature
There are new/improved sample files:
modify samples/oldlynx to provide an empty ".lss" file as a better default than providing an empty "-lss" option
modify samples/oldlynx.bat to check if Lynx recognizes the -lss option
use default lynx.lss color scheme with samples/lynx.bat
add oldlynx.bat sample script to windows installer
rename test-package for ".rpm" to "lynx-dev" for consistency with ".deb"
modify samples/lynx-demo.cfg to use
SOURCE_CACHE:memory
improve samples/lynx.bat by using location of script rather than current directory
modify samples/*lynx.bat to check for environment variables that Lynx would test for temp-directory, and only if those are absent will the scripts attempt to create a temp-directory
modify samples/*lynx.bat to set PATH for executing utility programs
modify samples/*lynx.bat to use existing TEMP-directory if possible
New ports:
Improvements to Windows port:
modify windows installer to select directory containing SSL DLLs and copy them into lynx's application directory
modify windows installers to use static libraries for PDCurses and slang, because the dll for the latter is much larger than the rest of lynx. Even with this change, lynx.exe is 50% larger when using slang than with PDCurses
fix an abnormal terminate when pressing 'd'(download) on no action button.
work around incompatibility in move() between POSIX and Windows.
fix limit-check for SJIS which prevented showing a show long title in the title bar on Windows environment.
fix problem with PDCurses when wrapping lines. ref: lynx-dev discussions "Subject: Wrapping line behavior"
fix resizing terminal problem with Windows and PDCurses. This problem occurs only with some combinations of source and destination screen size, for example: 80x25 -> 90x20
update makefile/batch-scripts to allow building with newer Visual Studio versions, e.g., 2010, 2012, so that a 64-bit executable can be built
add Visual Studio project files for 2010, 2012
modify Windows makefile to allow SSL_LIBS
and
SSL_DEFS
to be overridden, reflecting
naming-incompatibility in recent OpenSSL development
correct shortcut for "Send To" link used in Inno Setup script, broken in 2.8.8dev.15
build-fixes for djgpp 2.04 and gcc 4.8.4 using Watt-32
fix a few inconsistencies between #if / #ifdef, including one for sleep() which broke cross-compiles for MinGW
These improvements were made for maintainability and testing:
build- and compiler-warning fixes for various compilers including clang, gcc, Intel and PGI compilers.
address issues found by clang and Coverity analyses.
fix memory leaks
As well as security-related changes:
amend fix for stripping user/password to ensure that the stripped value is used when connecting to the host (prompted by discussion of CVE-2016-9179).
improve warning message when stripping user/password from URL.
And finally: