# Change History of Line Mode Browser

Improvements made to the Line Mode Browser are listed in reverse chronological order. (See also the bug list and the separate documentation for the VMS version).

Many changes to this product stem directly from changes to libwww, and are documented in the W3C Sample Code Library.

## Line Mode Browser 3.1, November 14 1995

Official release.

## Line Mode Browser 3.1 Prerelease 3, November 13

The browser has been adapted to support the new Event Interface

## Line Mode Browser 3.1 Prerelease 2, November 1

### New Features and Interfaces

- Introduction of the commands "PUT" and "POST" for sending data from either the local file system of a remote HTTP server to a remote wHTTP server - try it, it's fun :-)

## Line Mode Browser 3.1 Prerelease 1, May 20

As usual most of the functionality in the Line Mode Browser comes from the Library, but there are some things that deserve to be mentioned:

### New Features and Interfaces

- Added the -single flag so that it can run in singlethreaded mode
- refresh screen is now improved
- Introduced `-cacheroot' as command line option
- Added STREAM_TRACE to command line option
- Changed SGML trace to `g' instead of `s'

### Bug Fixes

- No more coredump if HTMainText=NULL!
- command line option -listrefs now works again

## Line Mode Browser 3.1 Prerelease, November 1

### New Features and Interfaces

- Introduction of the commands "PUT" and "POST" for sending data from either the local file system of a remote HTTP server to a remote wHTTP server - try it, it's fun :-)

CERN terminated its direct engagement in the World-Wide Web with the release of Library version 3.0 and Line Mode Browser 3.0. The code is now developed and maintained at W3C.

## 3.0 Prerelease 2, Dec 2 1994

- The browser is now much more stable and has the same amount of functionality as the previous version 2.15

## 3.0 Prerelease 1, Nov 26 1994

- Interruptible I/O - hit 'z RETURN' and the current load terminates
- You can at any time initiate a new load or any other command by simply start typing.

## 2.15 on November 25 1994

As always, most of the added features in the Line Mode Browser are a result of changes to the W3C Sample Code Library. However, the following new features deserve to be mentioned:

- Introduced a more sophisticated verbose mode that takes parameter after the -v option. This feature is implemented due to an excessive amount of verbose output from the Library and the Browser. The -v option can now be followed by none, one, or more of the following characters:
  a
    Anchor relevant information
  p
    Protocol Modules
  s
    SGML/HTML information
  u
    URI management

  The `-v` flag alone turns on all trace messages. This feature is a result of a more advanced TRACE management in the W3C Sample Code Library

- LineMode Browser now supports direct WAIS access. If it is compiled with the same WAIS flags in the Makefile as the CERN server then it can access a WAIS server directly.
- New command line feature: -m where is one of
  - GET
  - HEAD

  This will later get extended to also include other HTTP methods

- Cyrillic support added for Line Mode Browser. This is a patch from Anton Tropashko, agl@glas2.glas.apc.org
- Bug where the Browser prompted the user a UserID and Password in non-interactive mode fixed. Now non-interactive really means non-interactive.
- The common BUILD for the Line Mode Browser, the CERN Server and the Library of common code now accepts a command line option:

      	BUILD linemode | daemon | library

  to build a specific component. The default action is to build all three parts. BUILD is now also provided in a Bourne Shell version

## 2.14 on November 1994

- Added -reformat option to allow www to be used for generating HTML in cannonical form for running diffs, putting into code managemenst systems, etc.
- The Browser now understands the "ALT" tag in HTML Inlined Images
- Loads the Command Line Help if called with the parameter "-?" or "-help".
- Bug in understanding "-p" and "-w" with and without spaces between the number fixed.

## 2.13

- This release of the Line Mode Browser is mainly a debugged version that is brought up to date with the WWW library version 2.15. For the changes in the Client side of the Library, see Changes to W3 Common Library . See also existing commands and command line syntax .
- Using the save function ">" now checks if file exists. Use "!>" to overwrite it. All save functions now put up an output stream instead of making a system call.
- The -from command line option can be used in filter mode (using a "-") in order to specify the input format.
- In Non-interactive mode, no third party programs are called through "save & execute". If the Browser finds gets an unknown format, the result is put onto standard output.

## 2.10

- Millions of things which seem to have slipped past this list in versions 2.x to s.09, inclduing the rule file, firing off X applications for graphics files, etc etc. See the library change list.

## 1.4a

- REFRESH command refreshes current document

## 11 Dec 92: 1.4

- -version command line option included .
- Compiled for many machines with library version 1.1.

## Dec 92 1.3c

- Makefile for rs6000 fixed. (rs6000 cc does not have good -o flag). Binary available for rs6000 again.
- -version option on command line for quick version check

## 16 Oct 92: Version 1.3a

- SOURCE command prefix allows printing, pipiping etc postscript source without formatting. SOURCE PRINT prints a postscript file. SOURCE > allows the original source to be saved.
- -listrefs option allow noninteractive output to be followed by lists of addresses of documents referred to.
- MANUAL command takes a hypertext jump straight to the latest version of the online manual. (HELP is still local slightly context-sensitive help).

## Oct 92 version 1.2l

- Bug in Gopher access removed.
- Now uses common code library

## version 1.2k

- Default port number changed to 80 ****.

## 18 May 92 version 1.2h

- PS command added to print document on local printer attached to a terminal. Special compilation flag SLAVE_PRINTER.
- BUG FIX: Crashes on some machines only fixed (malloc length error on HTTP.c.)

## version 1.2f

- Bug fix: telnet under unix: -l option was put AFTER the host name. Fixed 27-Mar-92.

## Version 1.2e

- New command: 'Verbose' toggles verbose mode on/off as per '-v' command switch.
- New command: for Unix, 'cd' or 'lcd' changes the local working directory (as in FTP clients).
- Command input handled more efficiently. Should use readline() in the future, with completion on anchor names..
- Some minor bug fixes.

## Version 1.2d

- COMMENT tag introduced for future use only.
- Speed improvement: Use of a hash table for document names improves load time especially of documents with many links.

## Version 1.2c

- Bug fix: unknown tags without attributes caused text to be skipped until the end of the next tag. This lead to missing information (like phone numbers! ) in CERN yellow pages listing and a strange format for the xfind server.

## Version 1.2b

Release includes a few strict C bug fixes for the Mac, and adds makefile for pc-nfs.

## Version 1.2a

- Feature: the -source option makes www load the unparsed source from HTML servers. See details ...
- Tags MENU and DIR introduced for future use.
- Bug fix: The style was not set until a style change occured: therefore, formatting of any text before a heading etc was wrong (no paragraph spacing, indents, etc).
- Bug fix: Newlines in HTML source are not taken as blanks if they follow other white space. This caused initial blanks on some paragraphs when a newline followed a tag.

## Feb 12 1992: Version 1.2

- Binaries generated for unix and vms hosts, for general announcement. Code fixes for compilation on the various platforms.

## Version 1.1c

- www can be used as a filter: The - option (a dash by itself) makes it take HTML data from stdin. Seedetails
- FTP directories contain pointers back to their parent directory.
- Bug fix: News access didn't work on little-endian machines (VAX etc).
- Bug fix: VMS descrip.mms file was not complete.

## Version 1.1b

- Bug fix: when using the ">" and "|" commands in www on a document whose name contained shell metacharacters, it failed.
- Bug fix: HTBrowse.h missing from source release.

## Version 1.1a

- Bug fix: news server address always taken as "cernvax" : see documentation

## January 1992 Version 1.1

- "Gopher" protocol added to allow access to those campus-wide systems using that protocol.
- "Telnet:" access added for information system which don't have a server at all;
- Allows gateways to be defined for arbitrary new (or old) naming schemes, eg setenv WWW_wais_GATEWAY //node:port/
- Bug fixes: the -n option didn't work properly in v1.0

## Version 1.0 (released as alpha test only)

- New archiecture, more modularity.
- "News" access added: picks up news using NNTP as the NeXT W3 browser does.
- Forward and reverse scrolling.
- "Next" and "Previous" commands added to allow to move to next article in a list.
- Bug fix: Searches are now only allowed on indexes.

## Version 14a

- Logfile option -l, and -h allows remote usage to be logged. (Existed in version 14, but bug in that log file was all one line!)
- If telnet used, default logfile /usr/adm/www-log- is used even though no -l logfileroot is specified.

## November 1991 version 0.14

- The `Recall' command now displays references as `R 1', `R 2', etc. instead of just `1', `2', etc. so the user is reminded to type `R <number>'.
- An out-of-range reference number will launch a keyword search if applicable. For instance, in the phone book, you can now type directly `3755' instead of `K 3755'.
- New command : `(G)OTO <address>' jumps to the document specified by its hypertext address. The address may be absolute or relative to the current node.
- Clear screen after user input for NEWLIB and VM. NEWLIB-special source put in. VM version defaults to home page on //w3.org.
- Entity handling ., . and . put in for text and TITLE fields.
- Bug fix: CR now ignored in remote FTP files which used to be displayed double-spaced.
- Bug fix: tabs in plain text were displayed as newlines! Now to next multiple of 8 columns.

## version 0.12

- -a xxx option now allows the anchor format to be specified. The old -a option for anchor supression is renamed -na.
- Bug fix: occasional crash when going "back".
- Bug fix with the -n command line option. In non interactive mode the prompt was still produced.
- Now treats '\r' characters as '\n' characters.
- Reproduces last line of page at the top of the next page if a paragraph is split between them.
- Bug fix in FTP handling as for NeXTStep editor. (Could not access some sites).
- HTTP host addresses may now contain a port number after a colon to override the default.

## 15 November 1991 version 0.11

- You can read the address of the current document in the HELP information.
- MVS and VM only: Line width reduced to 78 characters.

## November 91 version 0.10

- Bug fix for TOP commmand. Now functions correctly, and data is only buffered and formatted when the user requires more text, hence saving time.
- Can pick up on the users home environment, to display a certain intial page. Set variable (on VMS, logical name) WWW_HOME to the full hypertext of the file or index you want to start with.
- Keyword search accepts longer strings.
- On VMS, VMS files may be accessed. The WWW address is still unix-like, with slashes, and is converted into VMS syntax by the browser. VMS users can now write their own hypertext and keep it on VMS, though it will only be readable (at the moment) from VMS machines.

## November 91 version 0.9

- Bug fix in anonymous FTP. The first version with a-ftp access.

## 24 May 91 version 0.8

- Page size selection now works with -p (bug in version 0.7)
- Styles have been made more compact, plain text uses all 80 columns.
- Bug fix: Missing loop end condidtion caused crash when listing some documents
- Files with suffixes other than .HTML are treated as plain text.

## 21 May 91 version 0.7

- Parameters avaliable on the command line :-

-v
  Shows trace comments, including the pathways taken to locate a file.
-n
  Makes the program non interactive with the user. No prompts are shown, and after the node is displayed it exits the program
-p
  Turns off the paging. The page size can be selected by adding the value immediately after the 'p'.
-a
  Stops positions of anchors being shown in the text.

- These options are particulary useful when redirecting the input into either a file or to the printer. They can also be used in any order on the command line, as long as 'WWW' is the first arguement.
- When the recall command is used to view what files have been visited, the titles of the files are used, rather than the file name. If there is no title then the file name is used.

## 14 May 91

- The function HTOpen() called from HTAccess has been changed so that it takes two parameters instead of one. This extra one being a pointer to an address where the format style is stored as an integer. The translations of the integers to the formats can be seen in WWW.h. At the momment this extra parameter is not used but will be in the near future so that more files can be accessed.

## 10 May 91

- WWW now reads the formatted text into a double linked buffer one screen full at a time and then produces it on the screen. This enables checking of documents so that splitting of small paragraphs or titles does not occur at the bottom of the screen.
- An option is offered to return to the top of the present document being viewed.
- Tim added the necessary code so that WWW can now access remote files using anonymous FTP.

## 17 April 91

- Modified WWW so that it is also executable on the SUN machines., i.e. using ordinary C.
- First version realeased on PRIAM, for testing by a few users, to gain feedback.
- Accepts keywords with the execute command.

## 8 April 91

- Keywords can be entered on the command line.
- The input file is copied into a buffer as soon as it is opened, so that the input channel is closed as soon as possible and the server freed. The first 23 lines of the document are read into the buffer and produced onto the screen. As soon as this is done, the remaining file is read into the buffer so the input channel is closed.

## 7 March 91

- Created an array called 'string_space' which is filled with blank spaces to be used for printing out margins etc. This method of printing a string was found to be faster than individually printing spaces.
- A history mechanism has been included so that a list of all the documents viewed are stored so that the user can refer back to them using the BACK, HOME and RECALL commands.
- Changed code so that the browser can handle text which contains long words which exceed the allowed line length on their own. This is just done by continuing the word on the following line.
- Read titles and headings into a buffer before outputting so that in cases where the title has a word longer than the allowed line length can be dealt with (for example above).This could also be useful in helping to solve the above problem. Maybe extend the length of headings.

## 5 March 91

- Handles a "LISTING" tag by treating it in the same way as an "XMP" tag. This is because, in the case of the line mode browser, the screen is limited to 80 columns and so the browser is unable to work with the 132 columns which the "LISTING" tag normally expects.
- Handles an "ADDRESS" tag, which left justifies the text.

## 27 Feb 91

- Lists and the help menu are not so spread out, as before.
- The browser works with file numbers rather than the file pointers.
- Tidied up paging, with the last line of a page repeated at top of next.
- Deals with tags within anchors.

## 11 Feb 91

- HTTP access to cernvm server, including FIND and NEWS tested.
- Browser can be executed by 'WWW' , 'YP' (yellow pages), 'XNEWS', or 'FIND'.
- "PLAINTEXT" tag added. Prints out the node exactly as it finds it in the file.
- Prompt only contains appropriate options, as does the help message.
- Keyword search option added.

## Before Feb 91

- Text formatting and line wrapping completed to a reasonable standard.
- Removed section of program where 'r' has to be entered in order to select a reference.
- When no hypertext references have been found, the browser informs the user, and doesn't offer the list option in the help menu.
- Produces an error message if the user tries to select a reference or menu, when no references have been found.
- Records whether an anchor is a NAME or an HREF.
- Stop **** END **** (now [End]) appearing in the wrong places. This problem appears due to the lines in the html file being too long, so this causes an error in the 'C' run time.
- Handles a glossary.