
			ChangeLog for WebLint

1.005
    21-nov-94 neilb
    *	Fixed bug whereby unknown tags were always given as </...>,
	whether they were opening or closing tags.
	(reported by Larry Virden <lvirden@cas.org>)

    20-nov-94 neilb
    *	Giving the -R switch with no files/directories specified now
	defaults to `.', the current directory.
	(suggested by Barry Bakalor <barry@hal.com>)
    *	Fixed bug whereby required attributes were being checked on closing
	tags as well as opening tags.
	(reported by Barry Bakalor <barry@hal.com>)
    *	Fixed bugs in `bad-link' check for non-existent targets:
	    -	mailto:
	    -	news:
	    -	directories
	    -	absolute paths, eg cgi-scripts (HREF="/cgi-bin/foo")
	(reported by Barry Bakalor <barry@hal.com>)
    *	Fixed typos in weblintrc.
	(reported by Barry Bakalor <barry@hal.com>)

1.004
    19-nov-94 neilb
    *	Added an Announce file to distribution, which contains verbose
	announcement for the current version, listing all new warnings and
	their identifiers.
    *	First attempt at check for potentially unclosed elements ---
	checking for:
		< ... < ... >
	for example:
		<A HREF="..." anchor text</A>
	Warning has identifier `unexpected-open'.  This might not catch all
	cases at the moment, since I didn't want it to generate bogus warnings
	where < appears in an attribute value (eg ALT="<-").
    *	Changed the 'expected-attribute' identifier to 'required-attribute',
	and added a warning with identifier 'expected-attribute'.  This is
	for elements which have no *required* attributes, but for which you
	expect to see at least one attribute, such as anchors.
    *	Added a Makefile, with targets for install, preview, tar, clean,
	and a postscript version of the man page.
	(suggested by Richard Lloyd <R.K.Lloyd@csc.liv.ac.uk>)

    18-nov-94 neilb
    *	Added support for `proposed' items: REL and REV attributes of anchors,
	META, DFN, STRIKE, and U.
	(noted by Robert Schmunk <pcrxs@nasagiss.giss.nasa.gov>)

    17-nov-94 neilb
    *	Added a check for relative local links, to generate a warning if
	the target does not exist.  Warning identifier: bad-link
    *	Added -d and -e switches to enable and disable warnings.
	The argument can be one or more warning identifiers, with multiple
	identifiers separated with commas.  For example:
		weblint -e upper-case foo.html
	A pseudo identifier `mixed-case' is now supported:
		weblint -e mixed-case foo.html
	Turns off upper-case and lower-case checking.
    *	Warning added for heading which is more than one level deeper than
	the most recent heading.  I.e.  <H1> followed by <H3> results in
	warning, with identifier 'heading-order'.
	(suggested by Bill Arnett <billa@netcom.com>)

    16-nov-94 neilb
    *	Changed the extension switch from -e to -x, so that -e and -d
	can be used for enable/disable warning(s).

    15-nov-94 neilb
    *	Added a check for an odd number of quotes in an element, so the
	following now generates a warning:
		<A HREF="http://www.foobar.com/>

    14-nov-94 neilb
    *	If an element is not recognized, then any element attributes are
	not checked for validity.
	(suggested by Victor Parada <vparada@inf.utfsm.cl>)
    *	All keywords in the configuration file can now take multiple
	arguments.  I.e., you can enable multiple warnings with:
		enable mailto-link upper-case
    *	The illegal element check wasn't being performed on closing
	tags, so </XYZ> wouldn't generate a warning.
	(reported by Victor Parada <vparada@inf.utfsm.cl>)
    *	Added a sample configuration file `weblintrc', with
	comments describing everything which can be configured.
	Configuration matches the built-in defaults.
    *	Use of <!doctype ...> would generate a bunch of bogus whines.
	(reported by several people :-)

1.003
    11-nov-94 neilb
    *	Added support for HTML extensions.  Currently only the
	netscape extensions are supported, either by:

		weblint -e netscape ....

	or, in your .weblintrc:

		# enable the netscape HTML extensions
		extension netscape

	Weblint will not complain that <CENTER> is an unknown element,
	and also knows about the additional element attributes.
    *	Fixed the bug in the -R code whereby it would get confused
	about where it was.
	(reported by Victor Parada <vparada@inf.utfsm.cl>, and
	Bob Friesenhahn <bfriesen@simple.dallas.tx.us>)
    *	Removed the generic context check added on 6-nov-94.
	I need to learn more about implied context before this is
	added back in.  It currently whines about *everything* :-(

    6-nov-94 neilb
    *	Generalized the context checks;  they are now table driven,
	and based on the HTML spec.  Warning identifier is
	`illegal-context'.

    5-nov-94 neilb
    *	Made the usage slightly more verbose, giving example usage.
	(suggested by Douglas Brick <dbrick@u.washington.edu>)
    *	Added a check for illegal elements, with warning identifier
	of 'unknown-element', enabled by default.  So
		<\PRE> and <CENTER>
	will generate this warning.  (suggested by Joerg Heitkoetter
	<Joerg.Heitkoetter\@germany.eu.net>)
    *	For non-nestable elements (such as anchors), the warning
	now gives the line number of the still open element.
    *	Weblint now correctly recognizes SGML comments where there
	is whitespace between the -- and > closing the comment. Eg:
		<!-- this is a valid comment --   >
	(reported by Paul Black <black@lal.cs.byu.edu>)

    3-nov-94 neilb
    *	Removed the warning with identifier 'tag-args':
		expected argument for tag <...>.
	and replaced it with a general check for required attributes,
	with identifier 'expected-attribute':
		sample.html(9): SRC attribute is required for <IMG>.
    *	Added a -s command-line switch, for short warnings.  Short
	warnings do not include the filename:
		line 5: no <TITLE> in HEAD element.
	(suggested by Clay Webster <clay@unipress.com>)
    *	Added a check and warning (identifier: leading-whitespace)
	for whitespace between < and tag name, for example:
		< TITLE>
	will generate warning:
		Should not have whitespace between "<" and "TITLE>".
    *	The usage statement is now printed if weblint is invoked
	without any command-line arguments.
    *	Fixed bug whereby
		<IMG SRC="foo.gif" ISMAP ALT="alt text">
	would generate a warning that element had no ALT text.
    *	Added a check for legal attributes.  So the following
		<A HROF="...">
	generates a warning:
		Unknown attribute "HROF" for element <A>.
	with warning identifier of 'unknown-attribute'.
    *	Messages are now written to STDOUT rather than STDERR.

1.002
    2-nov-94 neilb
    *	Now correctly (or more correctly at least) recognizes SGML
	comments, and doesn't get confused by markup embedded in
	comments.  Added a new warning for markup embedded in a
	comment, since this confuses some browsers.  The warning,
	with identifier 'markup-in-comment', is enabled by default.
    *	Modified the checks on element closing tags </...>,
	performed for </HEAD>, </BODY> and </HTML> -- the following
	used to generate a bogus warning that no </UL> was seen:

		<HTML><HEAD><TITLE>sample</TITLE></HEAD><BODY>
		<UL>
		<LI><I>unclosed italic
		</UL>
		</BODY></HTML>
    *	Slight re-arrangement of man page sections, to follow
	traditional UNIX conventions (reported by Joerg Heitkoetter
	<Joerg.Heitkoetter@germany.eu.net>)
    *	No longer complains if you have more than one ADDRESS
	element on a page.

    1-nov-94 neilb
    *	added a -R switch, which is used to recurse down directories,
	checking any files found with a file extension of .html or
	.htm; for example:
		weblint -R .
	Weblint now depends on find.pl from the standard perl library.
	(suggested by Thomas Leavitt <leavitt@webcom.com>)
    *	changed logic of the check for elements which can and can't
	appear in the HEAD element.  Weblint previously complained
	that ISINDEX could only appear in the HEAD, which was not
	true (reported by Victor Parada <vparada@inf.utfsm.cl>)

    29-oct-94 neilb
    *	attributes were not being seen in multi-line tags if they
	appeared after the first newline.  Eg:
		<IMG SRC="foo.gif"
		ALT="alt text>
	generated a warning that the IMG had no ALT text.
	(reported by Barry Bakalor <barry@hal.com>)
    *	Now handles whitespace around the = of tag attributes.
	The following used to generate a warning:
		<IMG SRC = "foo.gif" ALT="alt text>
	(reported by Barry Bakalor <barry@hal.com>)
    *	No longer complains about comments in the HEAD element.
	(reported by Douglas Brick <dbrick@u.washington.edu>)
    *	Certain variables were not declared local to the WebLint()
	function, which meant that when weblint'ing more than one
	file on the command-line, some state variables would roll
	over to the next file, causing bogus warnings.
	(reported by Barry Bakalor <barry@hal.com>)
    *	Now handles case where a tag attribute does not have
	a value (attribute = value), as is the case with ISMAP.
	Weblint was getting confused over things like:
		<IMG SRC="foo.gif" ISMAP ALT="alt text">
	and complaining that the IMG had no ALT text.
	(reported by Richard Lloyd <R.K.Lloyd@csc.liv.ac.uk>)
    *	If you give `-' as a filename, weblint will read from
	standard input.  Warnings will be given for `stdin'.
	(suggested by Ryan Waldron <rew@nuance.com>)


1.001
    24-oct-94 neilb
    *	Added a man page (initial man page supplied by
	Juergen Schoenwaelder <schoenw@ibr.cs.tu-bs.de>)
    *	Added a check for FORM elements:
	  - INPUT, SELECT, and TEXTAREA must appear in a FORM.
	  - OPTION must be within a SELECT element.
    *	Added code which checks for overlapped elements.  E.g.:
		<H1> ... <A HREF="foobar"> ... </H1> </A>
	This now results in one warning rather than six :-)
	Multiply overlapped elements (more than two) don't always
	generated the `correct' number of warnings, but you should
	get at least one :-)
    *	Improved check for unclosed elements.  Following example
	now generates one warning, instead of the multitude
	generated by weblint 1.0:
		<HTML><HEAD><TITLE>...</TITLE></HEAD>
		<BODY> <B> unclosed bold element
		</BODY></HTML>

    23-oct-94 neilb
    *	fixed the whine generated if you have a <!DOCTYPE ...>
	at the start of your page.
    *	added support for a configuration file.  WEBLINTRC,
	or $HOME/.weblintrc.  Changed the whine() function to use
	warning identifiers.  Defined whines, with identifiers,
	and default enabling are stored beyond the end of the script.
	Can enable or disable warnings in your .weblintrc.
    *	added check for illegally nested elements (eg anchors).
    *	additional check for items which should not appear in HEAD.
    *	check that <DT> and <DD> appear in a definition list (DL).
    *	added COMMENT to list of obsolete elements.
    *	added check for elements which must be in a FORM element.
    *	added check for <LINK REV=MADE HREF="mailto:...">,
	which is not enabled by default.

    21-oct-94 neilb
    *	added check for LI, that it appears within DIR, MENU,
	OL or UL elements
    *	Fixed bug whereby weblint wasn't seeing tags with
	embedded newlines.  Eg:
		<A
		HREF="...."
		>

    20-oct-94 neilb
    *	fixed bug in the code which keeps track of currently `open'
	elements.  It was getting confused on line numbers.
	(reported by Barry Bakalor <barry@hal.com>)

    *	checks at end of file for unclosed elements were giving
	message:
		tag <...> has no matching </HTML>.
	rather than correct closing tag.
	(reported by Barry Bakalor <barry@hal.com>)


1.000
	First version made publically available.
