2004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

	* basic.texi: Document new logging features.  Separate basic config
	  commands from basic VTY commands.

2004-11-25 Hasso Tepper <hasso at quagga.net>

	* *.8: Document -g/--group command line switch and some small
	  cosmetical changes.

2004-11-22 Paul Jakma <paul@dishone.st>

	* bgpd.8: escape -/+ signs, reported by ESR to bug-zebra.

2004-11-19 Hasso Tepper <hasso at quagga.net>

	* Makefile.am: Don't remove quagga.info while cleaning up.

2004-11-15 Paul Jakma <paul@dishone.st>

	* routeserver.texi: Strip ctrl-M from line endings, note by
	  sigma@smx.pair.com
	* quagga.info: Add generated file to CVS, as it requires most recent
          texinfo to build, until such time as texinfo 4.7 is more
          prevalent.

2004-11-08 Paul Jakma <paul@dishone.st>

	* Makefile.am: Add routeserver.texi to quagga_TEXINFOS.
	  Add quagga.info to clean files list (would have thought automake
          would have done this, but it doesnt seem to)

2004-11-07 Paul Jakma <paul@dishone.st>

	* quagga.texi: include routeserver.texi. TODO: integrate the current
          multiple-instance orientated bgpd route-server section with the
          new route-server docs.

2004-11-07 Paul Jakma <paul@dishone.st>

	* Makefile.am: Add automatic rule to build pdf's from eps figures.
	  Clean *.pdf. Add rule for quagga.pdf (as the eps.pdf pattern
          probably otherwise will override automake's rule for quagga.pdf)
	* overview.texi: URL was causing TeX overfull, put on newline.
	* quagga.texi: Put the copyright notice into @copying section, as
	  is proper. Strip trailling space from the main menu lines.
	* rip(ng)?d.texi: Minor reformatting.
	* Add the route server docs.
	* bgpd.texi: remove unneeded page breaks. The 6Bone example
          overflows though.
	* routeserver.texi: new file, texinfo'fied and slightly modified 
          version of the original TeX from James Luis Rubio.
	* fig-*.eps: new files, diagrammes.
        
2004-11-06 Paul Jakma <paul@dishone.st>

	* defines.texi.in: New file, texi variables should be set here,
          autoconf substitution is available. Define common AUTHORS,
          COPYRIGHT_YEAR and COPYRIGHT_STR vars.
	* (global): Make use of makeinfo node pointer auto-creation
          to avoid having to fully specify links for nodes, so we only have
          to specify current node name - simplifies text slightly.
          Remove extraneous newlines which appear to cause extra blank pages
          to be added in output.
          Update copyright strings which appear in various places to
          use the new COPYRIGHT_STR texinfo variable.
	  Change url to uref, the former need not output an actual
	  hyperlink depending on version of texinfo, the latter should if
	  supported by the format (eg PDF).
	* texinfo.tex: Update to a more recent version. previous file
	  was many many years old. This file should possibly be removed
          altogether, and allowed to be installed by automake.
        * quagga.texi: Make use of automake's version.texi feature to
          have VERSION and some other vars auto-defined. include
          defines.texi. Change copyright strings to use the COPYRIGHT_STR
          variable.
	* install.texi: Make the privs section an actual section. Ditto for
	  the Linux notes.
	* overview.texi: Supply URL for Quagga, where format allows. Tidy up
          one or two paragraphs slightly.
	  Update the section on supported platforms.
	  Remove the ZNOG list stuff, direct reader to the website for
          further information on email lists.
	* vtysh.texi: Update the integrated config file section. Make the
	  commands sections so correct PDF indexes are built.

2004-10-12 Hasso Tepper <hasso at quagga.net>

	* snmp.texi: ospf6d supports SNMP as well now.

2004-10-11 Hasso Tepper <hasso at quagga.net>

	* ospfd.8: Update manpage: add info about new -a/--apiserver command
	  line switch.

2004-10-11 Paul Jakma <paul@dishone.st>

	* ospfd.texi: reformat the ospf md5 paragraph, add an additional
	  way to work around bad clocks.

2004-10-03 Hasso Tepper <hasso at quagga.net>

	* vtysh.1: Update vtysh man page to reflect changes in shell. Remove
	  info about -f command line switch.

2004-09-11 Paul Jakma <paul@dishone.st>

	* quagga.texi: Update copyright. Contents should be at beginning
	  of docs...

2004-09-11 Paul Jakma <paul@dishone.st>

	* ospfd.texi: OSPF MD5 auth requires stable time.

2004-08-31 Hasso Tepper <hasso at quagga.net>

	* zebra.8: Document -s/--nl-bufsize command line switch.

2004-08-27 Hasso Tepper <hasso at quagga.net>

	* Update vtysh man page to reflect changes in shell.

2004-08-10 Hasso Tepper <hasso at quagga.net>

	* Updated man pages.
	* Removed vty commands section from all man pages. This inf belongs to
	  Info pages.
	* Added isisd man page.

2004-07-31 Christian Hammers <ch@lathspell.de>

	* snmp.texi: update (completely rewritten almost)
	
2004-06-30  Greg Troxel  <gdt@poblano.ir.bbn.com>

	* Makefile.am (EXTRA_DIST): Add files in mpls explicitly, to avoid
	copying CVS files, per the automake manual's recommendations.

2004-05-27 Paul Jakma <paul@dishone.st>

	* Correct RIP port, s/521/520/, reported by xantius@xantius.com
	
2003-11-27  Hasso Tepper <hasso@estpak.ee>

	* Added -A and -u descriptions to the man pages.

2003-01-22  Christian Hammers <ch@westend.com>

	* ospfd.texi (OSPF router, OSPF router): Add description.

2002-07-07  Kunihiro Ishiguro  <kunihiro@ipinfusion.com>

	* zebra-0.93 released.

2001-02-07  Pekka Savola <pekkas@netcore.fi>

	* Correct bad English ;-).

2001-02-01  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* zebra-0.91 released.

2001-01-09  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* zebra-0.90 released.

2000-10-02  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* zebra-0.89 released.

2000-10-02  Horms <horms@vergenet.net>

	* Makefile.am: Fix texinfo file installation problem.

2000-08-17  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* zebra-0.88 released.

	* ospfd.texi (Redistribute routes to OSPF): distance <1-255>
	@var{source} command is temporary disabled.  So it is removed from
	document.

2000-07-04  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* vtysh.1: Add man entry for vtysh.

	* bgpd.1: Change section to 8.
	* ospfd.1: Likewise.
	* ospf6d.1: Likewise.
	* ripd.1: Likewise.
	* ripngd.1: Likewise.
	* zebra.1: Likewise.

1999-09-01  "A.Waddington" <waddington@usa.net>

	* zebra.texi: Replace @command with @code until it gets ready.
	Remove @macro.

1999-08-26  Andrew Waddington <waddington@usa.net>

	* bgpd.1: Add man page.
	ospf6d.1: Likewise.
	ospfd.1: Likewise.
	ripd.1: Likewise.
	ripngd.1: Likewise.
	zebra.1: Likewise.

1999-08-14  Andrew Waddington <waddington@usa.net>

	* zebra.texi: Many typo is fixed.  Some grammatical rectifications
	is made.

1999-07-27  Gerhard Poul <gpoul@gnu.org>

	* zebra.texi: Update zebra.texi.

1999-07-02  Gerhard Poul <gpoul@gnu.org>

	* draft-zebra-00.ms: New file added.  This is groff version of
	draft-zebra-00.txt.  This is a master file of draft-zebra-00.txt.

	* draft-zebra-00.txt: Generated from draft-zebra-00.txt.

1999-05-07  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* zebra.texi (Top): Add ospf6d chapter.

1999-03-31  Jeroen Ruigrok/Asmodai <asmodai@wxs.nl>

	* zebra.texi: Improve some sections.

1999-03-04  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* archfig.tex, zebra.sty, zebra.tex: Temporary removed due to the
	description is out of date.

1999-02-24  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* texinfo.tex: New file added.  Automake complains the absence of
	texinfo.tex.
