In the following, the most important and user visible changes that have been made to w3browse are given for each version, with the most recent version coming first:
Within the dialog "Save Document", it is now possible to override the original values of the fields Doc-Type, Encoding and Modified, and to use such a set of new values as a basis for determing an (alternate) content handler that should be used to display or otherwise operate on the document that is attached to a response.
The format of the configuration
file of w3browse is now based on RDF/XML (see also
[RDF]). The default name of the
file has been changed to w3browse.rdf
. Now, it is even possible
to have multiple configurations with the ability to share some parts within
the same file.
A new configuration applet called "MIME Applications" has been introduced which makes it possible to edit, add and/or delete entries of the list of applications that should be used to convert documents between different formats or to display them by the help of external programs.
The dialog "Build Dictionary" has been extended and now allows to specify in detail which kinds of documents should be indexed (included and/or exlcuded, based on their type and/or name). This dialog also makes use of the before mentioned "MIME Applications", but only of those that return plain text. All types of documents for which a handler or converter can be found are now indexed by default.
A slimmed version of w3browse called w3bview has been introduced which omits all the advanced features that are additionally provided by w3browse. The configuration file of both applications is the same and can be shared between both of them without problems.
The namespace of some elements that are used in the RDF/XML-based configuration file for the e-mail application has been changed. It is recommended to delete or move away the old file and start again from scratch.
The web page editor has been extended and now also allows to edit RDF documents by the help of a text-based syntax that is very similar to Turtle (an extension of N-Triples, see also [RDF/N3]) and that makes it really easy to create and/or modify RDF/XML files.
It is now possible to specify a different
configuration file than the default
file w3browse.xml
on the command line. For further details see
section "Invoking W3Browse".
Some parts of the configuration
file w3browse.xml
have been reorganized. In order to get
around some problems, it is recommended to delete or move away any old
configuration file and start again from scratch. In the near future, the
format of the file will be based on RDF and its default name will change to
w3browse.rdf
.
The configuration file of the e-mail
application that is also used to store mail account definitions has been
changed to index.dir
and is now based on RDF. Some parts of it
may change again in the near future (see also the previous list item).
The maximum size of viewer windows in general and of WML windows in particular can now be specified within the dialog "Request Settings". Unfortunately, it is still not possible to resize a window once it has been created. Additionally, the ability to display HTML and WML documents within the same viewer window has been implemented and can be determined within the same dialog.
The handling of form elements in WML documents has been improved. Although WML variables in general are still not implemented, the form data values of many simple and stateless WML formulars that do not make advanced use of variables and that do not span multiple cards can now be successfully submitted. The recognition of WML form elements was already present in all previous versions, only the ability of their submission was missing.
The manner in which WML documents should be displayed can now be specified by the help of the dialog "Browser Settings". Rather than displaying only one card at a time, it is now also possible to show all cards that are contained in a WML deck at once, but the scope of WML form elements (see also the previous list item) is still restricted to their containing card.
A remarkable amount of code has been added to the pre-formatting stage of the hypertext rendering engine in order to recognize many (but not all) empty fragment anchors in HTML documents and transform them to more useful values, before they would get lost during formatting. This kind of code is really superfluous, but the HTML specification allows the content of fragment anchors to be empty (see also [HTML]). In the opinion of the author, this is not a good idea, because first, it does not urge authors to attach meaningful titles to fragment anchors and second, it breaks the uniformity in parsing and formatting elements.
Furthermore, if the content of a heading element (<h1>
to <h6>
) or a definition term (<dt>
)
does not already contain a fragment anchor, but the element provides an
id
attribute, then the value of this attribute is used to create
a fragment anchor that encloses the element content.
A similar treatment of fragment anchors, as described in the previous list item, has been implemented in the handling of HTML documents by the web page editor, but additionally, all fragment anchors, if empty or not, occur in the textual representation and will appear as non-empty fragment anchors, perhaps with the fragment identifier as its title, in the saved document if they are not modified before.
It is now possible to specify more than one definition term for the same definition of a compact definition list item in the textual representation of HTML documents that is used by the web page editor.
The value of text input, password input and textarea input elements is now transliterated to the IBM437 character encoding before it is going to be edited. See section "Screens" for the reason of doing so.
The parsing of HTML tables does no longer depend on a preprocessor
that is located between the scanner and the parser and that transforms table
elements to other kinds of elements such as <div>
. This
kind of transformation has certain limitations, for example, missing end
elements cannot be added without knowledge of their correct nesting. But the
parser has already had this knowledge, and now it is used. One benefit is
that header cells can now be marked and colored
as such. Another important benefit is an improved error handling (a built-in
feature of the parser), because improperly nested (table) elements can now be
easily detected and dealt with accordingly. For further details and other
changes see the dialog "Browser Settings".
The (more or less annoying) indentation effects in conjunction with tables in the previous version has been minimized by treating adjacent rows of a table like non-adjacent text blocks, in fact like list items.
This changelog and its alternate RSS version have been made part of the documentation of w3browse and can be found in the appendix.
Some other updates of the documentation have also been made.
A predefined list of some common values for the User-Agent:
header field has been added to the dialog "Request
Settings" and is stored, as usual, in the
configuration file. It should be noted
that many such predefined lists can be modified by the help of some
"Administration Tools".
It is now also possible to jump to the previous hyperlink or
input element within the main subwindow of a
viewer window by making use of the
Shft-Tab key, see also the list of
keyboard shortcuts. Jumping to the
next hyperlink or input element was already introduced in version
20040918
.
The width of a window of the "Goto Menu" is now determined from the average width of all the titles that are to be displayed within such a window. The width of a title is first truncated to certain minimum and maximum values before it is used in calculating the average width.
The linearization of tables has been made more compact (no empty lines
between adjacent rows enforced) when the "compact
" vertical
spacing mode is in effect, see also the parameter VSpace of
the dialog "Browser Settings". This
compactification of tables does not apply to the modes "normal
"
and "loose
". In all modes except "packed
", an empty
line before and after tables is now enforced.
It should be noted that the behavior of indenting the first line of
adjacent text blocks but the first is always enabled, not just in the
"packed
" mode (see also the new section
"Formatting Rules"). So, as a result
of the compactification of tables, this (more or less nice) indentation may
be now more often observed than before, because of so many pages on the web
that make use of tables for layout purposes and that have no or only poor
semantic structure.
A calendar applet has been added to the "Administration Tools" which allows to display the calendar for a certain month or year.
The "Goto Menu" has been extended and is now able to display several kinds of title lists. Besides "Section Titles" and "Anchor Titles", the display of "Hyperlink Titles" as well as "Image Titles" has been introduced. Selecting an item within the goto menu now performs a jump to the beginning of the selected element (not just to its line) within the associated viewer window. A title is meant to be the text that is enclosed by a hypertext element.
The dialog "Save Document" has been reorganized and now also provides a filesystem browser that allows to select a target directory for saving a document to a file.
The navigation within the documentation of w3browse has been improved, and in the course of doing so, other parts of the documentation have been reviewed and updated (if necessary) as well.
Some minor clarifications in the description of the transparency of color components have been made in the documentation of the dialog "Color Settings". The original description was misleading and partly just wrong.
Some colors of the default palette for GUI screens have been changed in order to make them more pleasant (not so bright), see also the dialog "Screen Settings". It is still not easy to find a good background color for the initial screen.
The concept of color attributes that can be attached to hypertext elements has been extended in order to allow the background and/or foreground color component of particular elements to be transparent, see also the dialog "Color Settings". It is now also possible to set the Text color attribute to other values than the default without producing strange effects.
The e-mail composer is now also able to generate an HTML body part, as the only body part of a message or as an alternate version in addition to the text version. In order to do this, the composer makes use of the same textual representation of HTML documents that is also used by the web page editor.
A new pop-up menu named "Edit Menu" has been introduced which provides additional assistance for editing textarea form elements.
The pop-up menu of a viewer window has been split into three separate menues, see also the "View Menu". At the same time, the menubar of a viewer window has been restructured and now always provides the five buttons Prev, Next, Edit, View and Menu. The last button represents an alternate way to invoke the context menu. The other two menues (Edit and View) are not context-sensitive.
It is now possible to jump to the next hyperlink or input element within the main subwindow of a viewer window by making use of the Tab key, see also the list of keyboard shortcuts.
Internally, the association of keys to functions and actions has been completely reworked and causes only minor, user visible effects. Most of these effects, if recognized at all, may be observed with certain form elements.
A dialog that shows the progress in saving a document to a file has been introduced, see also the dialog "Save Document". It also allows to abort the process of saving a document.
The "Tools Menu" has been renamed to "Setup Menu" and now provides only access to the dialogs that allow to change various preference settings. The other tools that were previously located in the "Tools Menu" have been moved to the "Main Menu". The "Topbar Menu" has also been updated accordingly.
Some minor improvements of the web page editor have been made: e-Mail addresses are now also recognized in the textual representation of HTML documents and the handling of the utf-16 character encoding in general has been improved.
The processing of requests has been extended in order to allow internal and external resources to be accessed with the same request context, see the new section "Requests" for the gory details about request processing.
The concept of internal URLs has been introduced and is now used to access the so-called "Internal Applications" such as the "Built-in Help System" and the "e-Mail Application". These kinds of URLs can also be used with the parameter StartURL within the dialog "Open URL Window" in order to immediately fetch and display such documents on startup of the application.
The command line parameter URL, which specifies the URL of a document that should be fetched and displayed directly after startup of the application, does no longer bypass the saved settings of the dialog "Open URL Window". For further details see section "Invoking W3Browse".
The dialog "Open Mail Window" has been obsoleted. The base working directory for the "e-Mail Application" can now also be specified in the dialog "Open URL Window".
Various new "Administration Tools" have been introduced and can be accessed by using certain internal URLs. These tools include a simple Wiki-like text-based editor for HTML and RSS pages. Full support for WML may be added later, currently only a converter from WML to HTML is available.
It is now possible to invoke the "e-Mail Application" automatically on startup of the application, see the parameter Open on Startup of the dialog "Open Mail Window".
If a date (dc:date
or pubDate
) is attached
to an item of an RSS feed, it is now prefixed either to the description of
that item or to its title in case the description is not available.
Several updates of and additions to the documentation have been made. The most important changes can be found in the following sections:
The handling of fonts has been extended in order to allow the use of Unicode encoded system fonts instead of the fonts that are included in the distribution of w3browse. This is primarily useful for X Window System based GUI systems. The implementation is backward compatible, so that at first sight, nothing seems to have been changed, but now, the list of fonts of the dialog "Screen Settings" is no longer hard-coded into the application and can be changed and extended. For further details see section "Handling of Fonts".
It is now possible to perform some convenient keyboard-like actions with the mouse wheel if that is available, see section "Mouse Operation" for further details.
Certain updates of the documentation have been made and a "Table of Contents" has been introduced.
The HTML parser and with it the hypertext rendering engine has been improved in order to be able to handle compact definition lists which was not possible before. Now, it is even possible to have multiple bullets in front of list items, or, what is more important, to use compact definition lists as a replacement for simple tables.
Note also the missing elements 2.2 and 3.3 in the example. Most if not all browsers except w3browse are not able to render this like a table that consists of 3 rows and 4 columns.
Another improvement of the rendering of hypertext concerns the extended possibilities in the selection of a vertical spacing mode that determines the visual separation of text blocks. Included is also a so-called packed mode, in which almost all empty lines between text blocks are avoided and in which the first line of adjacent text blocks except the first are indented. For further details see the parameter VSpace of the dialog "Browser Settings".
Certain updates of the documentation have been made.
The navigation between the different documents that are contained in
the local history of a viewer window
has been simplified by the introduction of two additional buttons named
<Back>
and <Forward>
, and the keyboard
shortcut ^X for <Back>
. Also, the keyboard
shortcut for the "History Menu" has been
changed to ^W, which is more accessible than ^QM.
Within the "e-Mail Application", the text input field for entering a move destination of selected items when browsing in folders has been removed because it is superfluous, the already provided selection field that contains all possible targets is sufficient.
A stupid bug was found and has been fixed in the dialog
"Fetch Documents": It was not
possible to fetch any documents at all. This bug was introduced in version
20040201
.
The items of RSS feeds are now numbered which improves the orientation especially within long lists.
All e-mail addresses mentioned in the documentation and on the website have been converted to another syntax that is hopefully more resistant against being scanned and collected by automated tools, see also the section "Mailto URLs" for some examples that are now also recognized by w3browse.
Certain updates of the documentation have been made.
Support for the UTF-16 character encoding is now complete and includes
also the handling of surrogates. All scanners (HTML, XML, Text)
probe for a BOM (Byte Order Mark) at the start of a document if no
charset
or a value of "utf-16" for it is given.
The configuration settings of
w3browse are now stored in an XML formatted file named
w3browse.xml
.
The definition of mail accounts
is now stored in an XML formatted file named accounts.xml
.
w3browse is now able to parse the contents of
RSS (RDF Site Summary or Rich Site Summary) files, see also
[RSS]. It understands all common
formats (rss
and rdf
), but only the basic
subelements title, link and
description of the channel and
item elements are extracted and internally converted to
HTML that is finally fed to a viewer
window in the usual way.
Note: Many web-servers are badly configured and return
this kind of files with a wrong content-type of
text/plain
or even text/html
, so that
w3browse and maybe other clients are unable to recognize
them as RSS files! Good content-type declarations are: text/xml
,
application/xml
, text/rdf+xml
,
application/rdf+xml
, text/rss+xml
and
application/rss+xml
.
An "Authorization Manager" has been implemented as an HTML application. The so-called authorization records can also be stored in the (reorganized) configuration file (see also above).
All HTML pages that are contained in or generated by w3browse
and all pages of the website have been converted to well-formed XHTML. The
result has also been tested with Mozilla 1.6, which is doing a really good
job when presented with documents of type application/xhtml+xml
that have the right namespace declaration.
The MS-Windows CE (Pocket PC) version of w3browse is now also able to resolve DNS hostnames into IP addresses and vice versa, see also section "Application Files". A (not severe) restriction of this is that only one DNS lookup can be active at the same time.
The "e-Mail Application" now maintains
an index of message-ids of all received and sent messages in
the text file index.mid
. It is used by the application to
resolve the message-ids found in the In-Reply-To:
and References:
header fields and refer to the corresponding
message files.
It is now possible to transmit files under a different filename during
form submission. Within the file selection form
element, a filename specification may be
prefixed by othername=
that causes othername
to be used instead of the basename for this purpose.
The ability to send and receive e-mail messages has been moved from the dialog "Open Mail Window" to the "e-Mail Application" itself. The remaining and sole purpose of the dialog is to specify the base working directory for the e-mail application. All other tasks can be performed there, e.g. the definition of multiple mail accounts, which was not possible in previous versions.
The modification date of transmitted files is now sent along during
form submission, using the parameter modification-date
of the
Content-Disposition:
header field, see also
[MIME] (RFC 2183). Furthermore,
the modification date of files is also recognized and used in various other
places when available, for example within the dialog
"Save Document" when saving files to the
local filesystem, or by the "e-Mail Application"
when such a value is given on a message part or when attaching files to
composed messages.
The possibility to send HTTP Referer:
headers has been
added. This feature can be enabled within the (reorganized) dialog
"Request Settings".
Perhaps useful window titles have been added to progress windows and describe in a brief manner the target of the operation.
Within the dialog "Open Mail Window", it is now possible to import e-mail messages from mbox formatted files. Instead of specifying a pop3 server, the filename of an mbox file whose contents should be imported can be given.
A wrapper script named w3browse-tty that simplifies running w3browse on a text console has been added to the distribution for UNIX/Linux, see also sections "Invoking W3Browse" and "Application Files".
A real bug (!) was found and has been fixed in the
dialog "Open Mail Window": It was not possible to send any e-mails at all.
This bug is present only in versions
20031102
and
20031109
.
The documentation of viewer windows has been updated to describe all types of these windows in more detail. Many other parts of the documentation have also been updated.
Another pop-up menu has been introduced: The "History Menu" lists all URLs that are contained in the local history of a viewer window and allows to switch between the corresponding documents. Unfortunately, the menu can only be invoked by the keyboard shortcut ^QM.
A nice and purely informational gimmick has been added to
viewer windows: At the lower left
within the frame of such a window, a rotating bar (using the characters
-\|/
) is displayed while loading and rendering a document, and
vanishes afterwards. The symbol is updated four times per second.
The possibility to search within the documentation of
w3browse has been introduced, see also the section
"Built-in Help System". The search
dictionary is built at runtime in memory.
This may take a short time before the result of the first query after opening
a help window appears.
Warning: Searching does not work in the on-line version of
the documentation because the required functionality is not available
there.
Support for XHTML (application/xhtml+xml
) has been added.
Actually, the only difference to HTML is that an XML-like scanner
(token splitter) is used instead. The parser, which is fed by the
scanner and evaluates the generated tokens to produce the formatted text, is
the same as for HTML.
Fragment identifiers of URLs for HTML documents are now evaluated, finally after a long struggle with this matter. At the end, after loading and parsing a document, a jump to a given fragment is attempted if the cursor within the viewer window is (still) being positioned at the top left corner. Otherwise, the jump to the fragment is ignored because the user has moved the cursor to another location and is therefore assumingly no longer interested in the jump, and it would just disturb him in reading the document.
The handling of new versus same viewer windows and the interaction with informational viewer windows has been reworked and should now be rather usable. Jumping to fragments (see previous list item) has been optimized when used within the same viewer window, even when they are recalled from the local window history.
Visited hyperlinks can now have a different color than non-visited hyperlinks, see the color attribute for vLink of the dialog "Color Settings". The information about visited links is part of the request context and is therefore bound to that. When a cache is in use, the URLs of the cache provide the relevant information. There are still problems with updating already displayed documents, because visited hyperlinks are only re-displayed with the correct color if the contents of the viewer window is dragged or scrolled again. Moving the cursor alone is not sufficient.
It is now possible to display documents within the same viewer window when following links, see the option Open New Windows of the dialog "Request Settings" for setting the default behavior. A local history allows to switch between different documents in this case, see also the first two possible entries of the "View Menu".
Checkboxes have been added to the request header fields of the dialog "Fetch Documents". This allows to disable certain fields without losing their contents.
The URL of the current document displayed in a viewer window is now shown in the "Windows Menu".
The display of meta information about a document (view doc info) has
been extended to show also the contents of <meta>
and
<link>
elements, and is now
documented.
The display of information about a formular that is related to a particular form element (view form info) is now documented.
The e-Mail Composer now adds the
header field References: Message-ID
to generated
messages when doing a Reply in response to a message. In the
future, this can be used to keep track of reply chains without the need to
include the complete history into the mail messages themselves.
First public release of the software including a comprehensive built-in documentation, but without initial support for SSL/TLS.