Voyager 1.48
============

Welcome to Voyager V1.48.  Note that this release is available to
registered users only; it will NOT run without a key file.  There
will be a freely usable demo version again as soon as all
projected changes and testing are complete. The current
registration fee is a "discount price" for early orders.
It will raise as soon as the full version is finished.

Note also that this is a beta version.  If you hit any bugs, don't
scream and get a heart attack, but instead write a bug report to
<voyager-bugs@vapor.com>.  Please state the Voyager version, your
OS version, machine configuration, whether you use a graphics
board and which graphic support library and, esspecially with
image related bugs, what kind of screen V runs on.  Please include
a enforcer/mungwall/poolwatch log if your system permits running
these useful tools.

Due to the beta nature, Voyager is currently updated frequently.
Check out the V 1.x internal page

 http://www.vapor.com/voyager/v1x.html

for updates regularly.  Updates are also announced on the Voyager
mailing list.  If you are not on it yet, you are encouraged to
subscribe.  Mail to <voyager-request@vapor.com> and put "ADD" in
the body of the mail. Put "HELP" there to obtain a complete
description on how to use the mail server. The mailing list
is also a good place to discuss enhancement suggestions.

Major changes to Voyager since Version 1.0:

· Uses internal image decoding routines. Visually incremental
  on-the-fly image decoding, leaving the program operational
  during decode. No more hassle with datatypes related bugs.
  Optimized memory usage. The routines are optimized for speed
  and are very fast. Full support of CyberGFX HiColor/TrueColor
  screens.

· Supports HTML tables. Many more HTML commands 
  and Netscapism's are understood (including FONT SIZE and
  HR WIDTH). Improved general compatibility with broken
  and nonstandard HTML code.

· Supports T/TCP "TCP for Transactions" requests,
  allowing for much faster establishment of HTTP links
  to servers. This is currently supported by
  Miami 1.9.x beta versions only. Specified
  in RFC 1644. As far as we know, Voyager is the
  first browser on any platform supporting this!

· Totally reworked preference setting. The transfer anim is 
  now configurable, too.

· Supports Shift & Click downloading of files even from
  servers with broken configuration which state
  that binary data is of type "text/plain" (which
  happens frequently with .lha and .lzx files,
  because these suffixes are missing in many
  http server example mime.types files)

· Popup menus for links offering link specific options.

· Parses FRAME tags into links as a preliminary
  solution to the FRAMEs epidemy.

· Added internal SMTP send capability. Also
  supports mailto: forms now. Improved news
  handling.

· Many minor enhancements, and of course
  All The Popular Bugs were fixed, too.

A full list of changes is included below.

Installation Notes
------------------

This beta release comes without a installer script.
You can simply drag and copy the files onto your
HD. You may, but don't need to, install the
provided .mcc classes from the MUI drawer
to the MUI:Libs/MUI/ directory on your system.
A few of the former external classes are
now integrated into Voyager. Required are:

- bookmarks.mcc
- textview.mcc
- listtree.mcc/.mcp

The latter is part of the standard MUI 3.6
distributions, but the provided versions 
are newer than these.

The format of the configuration and cache
files is compatible to V1.0, but due to
configuration changes, many of the new
settings will appear as defaults,
and a few old ones may get lost, because
they are replced with more fine tuned
versions.

*** Release History ***

V1.48beta
---------
- increased <TEXTAREA> buffer
- made <TEXTAREA> size calculations
  more reasonable

V1.47beta
---------
- fixed incremental refresh problems with
  plaintext layout
- fixed occasional write-over-window-pane
  bug
- fixed occasional why-should-I-bother-to-
  display-that-html-stuff-anyway bug

V1.46beta
---------
- fixed display of busy bar in
  gauge while being busy with
  non-transfer stuff
- fixed excessive scroller
  setting on html class content
  switch
- bumped requested version of miami.library
  to 5 to avoid having to deal with
  the Miami 1.8.x T/TCP problems
- reenabled T/TCP (really, this time)
  in the progress

V1.45beta
---------
- now installs cliprect for updating
  again
- removed some more debugging stuff

V1.44beta
---------
- now adds "Mozilla/3.01" to
  it's User-Agent: field to trick lame
  servers into sending the full business
- fixed a really nasty bug in the
  imagedecoder which caused the
  prefilling of images of sizes < 2 pixels
  to nuke really hard.

V1.43beta
---------
- on file:/// URLs, the internal progress
  counter for bytes read was set before
  the data was actually read, thus causing
  images to not load and other neat stuff.
- oops, the same was true for reading
  any stuff from the cache. Wee.
- image decoder no longer relies on server
  submitted mime types, but recognizes
  file formats by itself

V1.42beta
---------
- <IMG ISMAP> without <A HREF>
  context caused hitsfloods when
  mousepointer was over the image
- image decoder no longer tries
  CyberGFX calls on Non-CyberMapped-
  Screens even if cybergfx.library
  is installed.
- fixed cliprect problems
  with incremental layout
  (causing V overwrite other window
  stuff)
- big (and lame) bug: documents
  were freed as soon as a new
  URL was started to be loaded.
  Could cause references to
  free memory on resize/back/stop.
- <BASE> now does a real URL merge,
  instead of assuming the HREF
  is a fully specified URL
- fixed bogus displaying of
  old <TITLE>s
- fixed a problem relating to
  using a wrong baseref when
  assembling <IMG> sources

V1.41beta
---------
- fixed the imagedecoder to no
  longer hog the public screen
  upon a screen switch
- fixed tiny font preset to not
  overwrite any existing setting
  (MUI 3.7 only)
- fixed a potential arbitration
  problem in the network stream
  module

V1.40beta
---------
- fixed the deadlock-on-screen-swap
  problem
- fixed pen-loosing-problem on
  screen swap/prefs change
- fixed handling of tab/lf's
  in <OPTION>s
- fixed counting of images still to load
  when dealing with images which don't have
  sizes specified

V1.39beta
---------
- fixed a serious bug related to
  using malloc() from both the
  main process and from the image
  decoder. All kind of really
  nice crashes, corrupted mem lists
  and everything.
- removed some bogus debug Printf()
  from smtp send

V1.38beta
---------
- fixed image decoder to no longer
  overwrite innocent memory
  when hitting images which are
  an odd multiple of 16 pixels
  width
- reenabled T/TCP for use with
  Miami 1.9.1
- raised image decoder stack size
  to avoid spurious crashes

V1.37beta
---------
- <BR CLEAR> is now equal to <BR CLEAR=ALL>
- rewrote several important parts of
  the image decoder (c2p, mask generation, etc.)
  in highly optimized assembler for
  maximum speed. Also fixed all kind
  of problems related to usage of
  WritePixelLine8() on OS 3.0/non-CyberGFX
  systems

V1.36beta
---------
- "Open local file" caused stack trash
  to be used as the Referer:

V1.35beta
---------
- client side image map shape=default is now
  understood
- clicking on a image map caused stacktrash
  to be used as the Referer:
- GIF input suspension was hosed, causing
  GIF images to frequently not load
  on "slow" links

V1.34beta
---------
- fixed printing to not feed CyberGFX
  bitmaps to printer.device anymore.
- errors in libjpeg no longer cause
  a full crash. May have been one
  of the major causes of nifty
  crashes.
- can now internally display images

V1.33beta
---------
- fixed form enabling
- increased GIF prefetch buffer to
  cope with large bogus data chunks
- fixed decoding of greyscale colorspace
  jpeg images to truecolor destinations
- fixed screen switch image flushing

V1.32beta
---------
- fixed major crash reason: <AREA SHAPE=POLY> caused
  internal memory pool trashing, this giving really
  nice crashes. Also made client side image maps
  not work.
- fixed enable/disable behavior of the STOP, LOAD 
  IMAGES etc. buttons
- <TITLE> didn't properly handle non-space whitespace
  chars
- added full printing capability (requires upcoming
  MUI 3.7)
- bumped catalog version to 2 to avoid loading
  of totally bogus V1.0 catalogs
- fixed image decoder to no longer ReleasePen()
  from closed screens, thus causing a major
  crash orgy. Happened when changing prefs
  or moving V to another screen.
- made image frames 3D
- fixed bitmap prefill of image decoder
  to match the empty frame appearance
- added nicer 32 color version of the default
  transfer anim

V1.31alpha
----------
- disabled Miami sendto() API
  and T/TCP support
- GIF "mask optimizer" caused
  image class to reference
  mask even when it was freed,
  thus causing enforcer/crash orgy
  and bullshit on the screen
- fixed a few sync problems in
  the image decoder
- jpeg context was hogging
  url streams as well, thus
  making loading of further
  images impossible
- included updated bookmarks.mcc class

V1.30alpha
----------
- removed bullocks debug Printf
  from clickimage class
- now correctly sets window title
- <UL>, <LI> etc. no longer
  do the internal equivalent of
  <BR CLEAR=ALL>
- changed default settings
  to helvetica for normal,
  cgtriumvirate for <Hx>
  and courier for fixed.

V1.29alpha
----------
- fixed internal IPC problem with
  the image decoder causing image
  finish message to not be triggered
  correctly
- upon hitting unspecified images,
  now builds a image client list
  to gather as much width/size
  information as possible before
  new layout
- GIF handler was hogging resources
  (gif decoder context and URL
  streams) longer than needed
- reworked image decoder internal
  flow. Will now favour decode
  of other images in preference
  to decode all frames of a GIF
  anim even if the data for that
  is there.

V1.28alpha
----------
- fixed background-image-is-already-there
  handling
- fixed yet another unneccessary refresh
  orgy of the status line display
- removed unncessary pen reallocation
  on relayout
- status line image count was broken while
  the main text was loaded
- layout is now "hold" when hitting an
  image with unknown sizes
- smoothed out incremental display heavily.
  Will now do "silent" relayout or
  clip constant parts of dispay accordingly
  for faster and visually more attractive
  display. 
- now handles "broken" GIF images which
  don't have a terminator at the end.
- GIF anims where some frames
  don't have a local color map were
  displayed hosed

V1.27alpha
----------
- completely rewrote internal document
  management system to take advantage
  of new image loader and stuff. Yes, this
  is actually point (2) :-) Fixes
  several of the recently introduced
  and old annoyances
- fixed status line flicker when mouse pointer
  was over an object (i.e. frame border,
  ruler, list image etc.)
- GIF decoder puked heavily on images wider 
  than 1024 pixels.
- now correctly handles double <BODY> broken
  HTML

V1.26alpha
----------
- fixed enforcer hits from image display class

[1.24/1.25 skipped]

V1.23alpha
----------
- added "Add to bookmarks" and "Copy to clipboard"
  to URL context menus
- added Image and Imagelink context menus
- reenabled MIME config pages (not used yet)
- added "Download dir" item to MIME config page
- now skips <SCRIPT> sections properly,
  not relying on proper comments

V1.22alpha
----------
- fixed layout problems in the prefs window
- the "Fixed Font" selector didn't filter
  proportional fonts
- fixed cycle chain in font select group
- now properly flushes images from memory
  on page flips
- fixed trash display (or crash orgy,
  when running enforcer/mungwall) of
  broken images

V1.21alpha
----------
- fixed about:
- TD VALIGN now works
- fixed incremental decoding being not really
  incremental (caused by a wrongly set flag
  telling the net loader to only report data
  when the whole download was finished)
- net loading of images was totally hosed
  (due to text/html being filled in)

V1.20alpha
----------
- speed up the GIF decoder a bit
- made size calculation of string form elements
  more resistant against bogus tf_XSizes
- fixed crash on exit-on-startup when for
  example no keyfile was available
- added new about: page

V1.19alpha
----------
- now recognizes <INPUT TYPE=STRING> as a synonym
  for <INPUT TYPE=TEXT>
- fixed startup enforcer hits caused by a race
  condition on setting up the image decoder
  process
- now assumes documents are of type text/html
  if no Content-Type: is specified in the HTTP
  transfer phase

V1.18alpha
----------
- fixed GIF transparency problems
  with interleaved target screens.
- fixed GIF decode messup on Truecolor/Hicolor
  screens.
- fixed a longstanding background rendering
  bug which involved a wrong X offset
  into the pattern to be used, thus
  creating false display with nifty
  backgrounds.
- fixed internal total messup caused by
  the image decoder sending messages
  to the virtgroup container which
  in turn broadcasted this to all
  image objects.
- added smart "mask usage" recognition.
  If a GIF specifies transparency,
  but in fact doesn't use the transparent
  color, the mask is freed to spare memory
  and reduce blit times.
- fixed GIF anim background refresh problem
  (without additional memory usage for
   double buffering :-)
- hopefully fixed crash when quitting
  with other means than closing all
  active windows
- now accepts HTTP/1.1 responses from
  broken servers (notably current
  apache ebtas)
- image bitmaps are now prefilled with
  correct background/alttext pens
  for a nicer look
- added <CENTRE> as an alias for <CENTER>
  on popular demand

V1.17alpha
----------
- added internal GIF support (including anims)

V1.16alpha
----------
- added internal image decoding. Caches
  images as memory permits, including auto
  flush with low memory handler. Uses
  cybergfx when available, including proper
  handling of Non-Colormapped destinations
  (HiColor/TrueColor screens). Incremental
  display speed is scaled depending on
  "how fast" image data comes in.
- removed "Broken Image" image. Image boxes
  now stay textual until some image is loaded.
  Broken images are alttext'ed with '×' prefix,
  still loading ones with '·' prefix.
- the logo anim is now loaded from disk
  instead of being hardcoded into the program.
  Filename is "TransferAnim". Plain IFF file
  with frames in horizontal order. Use an icon 
  with tooltype "FRAMEWIDTH=pixels" to specify
  frame width, otherwise totalsize/16 is assumed.
  Recognizes WIDTH for IB compatibility :)
  Recognizes "FRAMETICKS=milliseconds" as
  a frame timer (defaults to 150). First
  frame is considered "idle image" and not
  included in the anim. FRAMES= and HEIGHT= 
  are not required.

V1.15alpha
----------
- no longer wraps images in <PRE> environment

V1.14alpha
----------
- http loader didn't strip #fragments from the URL
  when first accessing a object thus causing
  "object not found" errors.
- redirect caused <freed memory> to be send
  as Referer:, causing poolwatch hits and
  possibly crash.
- fixed handling of <BLOCKQUOTE> which was
  broken all the time (handled like <PRE>).

V1.13alpha
----------
- fixed <PRE> handling
- improved rendering of small background images alot
- fixed form objects and images not causing a line wrap
  when expected to
- fixed text fitting ignoring width extending styles.
- fixed object size calculation bug which happened
  when a text string fitted exactly into the provided
  space
- added a workaround for broken HTML where
  <TD WIDTH> plus table borders exceeds <TABLE WIDTH>.
  Fixes http://www.cam.org/~ericgir/amiga.html :-)
- now parses broken <MAP> which uses blanks to seperate
  coords.

V1.12alpha
----------
- fixed word wrap loosing one char sometimes.
- reenabled Goto/Location switch in main
  URL gadget with MUI 3.7++
- fixed excess status bar refreshes 
  while the mouse is over a table cell
  object

V1.11alpha
----------
- now honours <IMG WIDTH|HEIGHT> tags and draws
  an empty box of appropriate size (with the alttext)
  to avoid layout cluttering while images come in
- fixed refresh bug
- fixed severe memory trashing when hitting
  an image map area with more than 4 coordinates.
  Has been in there since client side image map
  first implementation.

V1.10alpha
---------
- fixed <INPUT TYPE=hidden> (or unknowns) causing
  the layout to be sucked up <stacktrash> pixels
  width or height.
- fixed several other small layout bugs
  
V1.9alpha
---------
- fixed <LI> image sizing
- fixed <LI> images sometimes causing a crash on clear
  due to overwritten bitmap
- added <HR WIDTH> and <HR NOSHADE> support
- now interprets <IMG WIDTH|HEIGHT> for table cell
  space calculations
- BORDER without parameters is now interpreted as BORDER=1
- fixed <CAPTION>
- fixed several other small layout bugs
- fixed table centering again
- fixed another problem with <TD WIDTH=pixels> and
  <IMG>s
- no longer shows link context menu for non-link images
- fixed <INPUT TYPE=IMAGE>
- fixed ignorance against ftp/gopher/wais proxy settings

V1.8alpha
---------
- fixed deadlock when due to stacked IMG ALIGNs text
  didn't fit atomically into layout space
- fixed TextView usage
- fixed <TABLE WIDTH>
- fixed centering of nested tables
- fixed several other small layout bugs

V1.7alpha
---------
- fixed <TH> bolding
- fixed text after <TR> without <TD>
- fixed problems with floating images and
  missing <TD>s in table cells
- fixed a problem with proper table HTML --
  </TD>s didn't trigger a line alignment run,
  thus causing misalignment if there were
  spaces between </TD> and the next <TD|TR|/TABLE>

V1.6alpha
---------
- Prefs: changed listview spacing
- replaced textfield.mcc with textview.mcc
- fixed totally broken HTTP POST
- fixed broken HTML with <TD> right after <TABLE>
  without <TR> (fixes www.amigaworld.com and several
  other pages)
- fixed crash/hits when the first page loaded
  had client-side image maps
- many form elements weren't properly accounted for
  during table layout stage, thus messing up
  sizes
- fixed several bugs related to form layout

V1.5alpha
---------
- Prefs: fixed list image height (Stuntzi doesn't suck, I do,
  but I found out about MUIA_List_MinLineHeight now :-)
- Prefs: Homepage string is now a URL-Drag&Drop-String gadget,
  too.
- TH/TD WIDTH now fully works. Does a nice 3 pass run on
  tables to get minimum sizes, suggested width. Does proper
  weighting on the column layout, plus added heuristics
  to deal with people specifying % widths for large image
  cells. Overally cool now.
- fixed table centering
- fixed deadlock on empty table rows
- fixed a really stoneage bug which caused hits when
  the very first page loaded into a window had <A NAME>
  tags.
- fixed a stoneage bug in the TextFit() calculation
  which caused it to "drop" one pixel too early. Liked
  to show up as vertically overfloating tables now.
- now renders text with different heights aligned to
  to the bottom line

V1.4alpha
---------
- fixed <FONT SIZE> with negative values
- added prefs list images
- added prefs item for homepage <blush>
- now requires a key file, added about:owner scheme
- fixed calling telnet app on telnet:// links
- changed default smtp host to "mail.vapor.com"

V1.3alpha
---------
- fixed usatoday.com :-) [illegal <TD WEIGHT>]
- added support for <FONT SIZE>
- fixed scrolling on table pages
- reenabled stacked <IMG ALIGN=LEFT|RIGHT> (who uses this when
  there are tables? Guess who :-)
- fixed <TABLE><CAPTION>
- fixed <TH> (now rendered bold)
- fixed height calculation of [IMAGELINK] links
- fixed lots of stuff related to nested tables
- news: tried to access the SMTP server

V1.2alpha
---------
- completely rewrote prefs system (most of the settings not
  yet functional and therefore ghosted)
- fixed the first 10.000 of the 1.000.000 bugs in the table
  layouter
- fixed layouting of <LI> items without preceeding <UL>/<OL>
  object

V1.1alpha12
-----------
- fixed a longstanding bug with centering objects which liked to show
  up with tables. Also speeds layout a bit.

V1.1alpha11
-----------
- added context menu for links, offering "Goto", "Open new"
  and "Download to file"
- shift-click on a link will now "Download to file" regardless
  of the MIME type to cope for badly configured servers. 
- added basic table support (lots of stuff is still missing)

V1.1alpha10
-----------
- integrated toolbar and toolbutton class, no more .mcc's
  required

V1.1alpha9
----------
- fixed file:///<*.jpg|*.jpeg|*.gif> links
- recompiled with SAS/C 6.57

V1.1alpha8
----------
- added support for <INPUT TYPE=IMAGE>

V1.1alpha7
----------
- fixed smtp send return code parsing
- now reads a env variable "VOYAGERDIR" which allows to point
  the progdir: (Cache, bookmarks etc.) to different locations.
  Mainly for CD-ROM distributions.

V1.1alpha6
----------
- http transaction code totally broken due to send() modification

V1.1alpha5
----------
- fixed smtp post
- fixed longstanding tcp_send bug

V1.1alpha4
----------
- now can be started with a list of URLs to open (shell only)
- supports T/TCP data exchange with approriate 
  versions of Miami
- fixed application name
- parses and displays FRAME tags
- <A> with both HREF and NAME now works
- improved "table emulation" a bit
- fixed flaky behavior regarded to illicit <A> tags
- added option to call cachebrowser from menu
- fixed potential 060 problems
- default telnet: app is now AmTelnet
- added internal smtp send
- now correctly handles full rfc-822 addresses in news
- now understands the netscape mailto: extension to put
  the comment/realname part of a mail address into the subject
  of the generated mail
- Organization:-header is now configurable (and created)
- now understands <form action=mailto:xxx> forms
- pressing return in the only stringgadget of a form is now
  equal to SUBMIT


V1.0
----
- first official release
