Release notes for the gEDA/gaf 20021103 development snapshot
------------------------------------------------------------
CHANGES:

   General / Summary

	* This release has additional file format changes:

	  - Pins now include a flag which specify which end of the pin is
	    the active end.  You can only connect nets and other pins
	    to this active end.

	  - Pins also have another flag which determines if this pin is a
	    regular pin (for nets and other pins) or a bus pin.  Bus pins
	    are not fully implemented yet.

	  - Buses now have a flag which controls which direction the bus
	    ripper is drawn.  Initially this direction is not set, but
	    once you connect a net to the bus, the direction is saved
	    for the lifetime of the bus segment.

	* The above changes should be completely transparent to the user.
          I have not updated the file format doc to be current.  This will
    	  be done for the next release.

	* The gschupdate and gsymupdate now update all schematics and
	  symbols to the last revision of the file format (including
	  attributes).  It is recommended that all existing schematics
	  and symbols be updated (otherwise libgeda will output a warning
	  to the log file).

	* Fully upgraded all auto* files from automake 1.7.1, autoconf
	  2.54, libtool 1.4.2, and gettext 0.11.5.  

	* More work on the bus support in gschem, namely the drawing of
	  bus rippers.

	* Integrated a few new utilities (still have a couple pending).

	* Docs is now a ./configure'd package and all of the documentation
	  is installed into ${prefix}/share/gEDA/documentation.  The doc
	  package is now required if you use the toplevel Makefile.

	* Added the docs sub directory to the toplevel Makefile.  Also
	  improved the toplevel make to do a make libgeda-config-install
	  and a make gesym-config-install when running make config.

   libgeda

	* Bumped shared library version number to 17

	* Changed bus / net / pin connection rules:

	  - You cannot connect a regular pin to a bus.	You have to use a
	    net to connect a pin to a bus.

	  - You cannot connect the endpoint of net to the endpoint of bus.
	    You can only connect nets to the middle of buses.

	* Auto computation mechanism for the pin's active (connection
	  valid) which end.  This allows for users to load up older
	  symbol files and still have them work in 20021103.  If this
	  auto mechanism gets it wrong (i.e. picks the wrong end for
	  the connection end), please try changing the force-boundingbox
	  rc keyword in system-gschemrc or system-gschlasrc.  I have not
	  seen this mechanism completely fail, however, if you do get
	  it to fail, please send me the symbol.

	* Fixed a long standing bug reported by Karel 'Clock' Kulhavy,
	  where arcs in the png output where not being drawn correctly
	  for very large pngs.

	* Changed the hardcoded values for the thickness of bus widths,
	  net widths, and pin widths.  Also changed the size of the visual
	  cues in the postscript to be exactly the same as on the screen.
	  I would like some feedback on this, worse or better?

	* Added a warning message to the log (and log window) if a symbol
	  or schematic with an old version is read.

	* Consolidated all s_project_* methods from gsymcheck and gnetlist
	  and put them into libgeda.

   gschem

	* Added a visual cue to all pins (a red mark) to show
	  which end of the pin is the active (connection) end.	When you
	  connect a net to the active end of a pin, the red mark goes
	  away.  Adding the active end flag to pins helped get rid of some
	  rather annoying visual artifacts.  It also allows you to draw a
	  net all the way through a pin and only get one valid connection.

	* Added the drawing of bus rippers when you connect a net
	  to a bus.  You can get the bus ripper to appear if you draw the
	  net and have the net endpoint touching a bus or if you use the
	  grips to move a net endpoint to touch a bus.	Copying or moving
	  a net does not cause the bus ripper to be drawn (I might add
	  this later).	The bus and bus ripper support in gschem is not
	  complete yet.  The way of implementing bus rippers was modeled
	  on Egil Kvaleberg's bus ripper patch.

	* The bus ripper support is actually implemented by using
	  a special component/symbol.  There are several rc keywords
	  which control the appearance of the bus ripper.  Please look
	  in system-gschemrc for bus-ripper-size, bus-ripper-type,
	  bus-ripper-symname, and bus-ripper-rotation.

	* If you specify "net" to bus-ripper-type, a regular net will
	  connect to the bus (angled).	There will be small red circular
	  visual cues shown (at the connection) when this happens.

	* Initially when you draw a bus, the direction of the bus ripper
	  will be unset, however, the moment you connect a net to the bus,
	  this direction is set forever.  The direction of the net is control
	  by where you connect that first net to the bus.  Example
	  (use a fixed spaced font to view this):

		==+===============+======= Bus                     
                 /               /                                  
                 |               | 
		 |               |
                 |First net      |Second net

		      -	Or - 

		==+===============+======= Bus
                   \               \ 
                   |               | 
		   |               |
                   |Second net     |First net

	  Vertical buses behave in a similar fashion.	All subsequent
	  nets connected to this bus will draw the bus ripper in the
	  same direction.  This information is stored in the file format.
	  To reset the direction, delete the bus segment and re-draw
	  the bus segment.

	* You can now resize the window to smaller size without changing
	  any rc file.	In previous releases, the initial size was the
	  smallest allowable size.

	* Re-implemented the multi attribute editor dialog box to be a
	  little more polished looking.

	* Egil Kvaleberg supplied a whole bunch of patches including:

	  - Hierarchy/Documentation patch.  If you select a component,
	    gschem will attempt to find documentation on the component.
	    The documentation= attribute gives gschem a lot of hints as
	    to where to look (either local file or URL).  If neither a
	    local file or URL is found, then gschem goes searching via
	    a Internet search engine .	As an example, the 7400-1.sym
	    and nc-* symbols have this attribute.

	  - Help/Manual patch.	If you select this item off of the Help
	    menu, hopefully, a web browser will pop up a webpage which
	    allows you to read all the gEDA/gaf documentation.

	  - "Snap Off" and "Show Hidden" status indicators patch.  If you
	    turn the snap off or show hidden text, then appropriate text
	    appears in lower right of the status bar.  Egil also cleaned
	    up the status code to be sane and much easier to maintain.

	  - Quite a few bug fix and nit patches.

	  Many thanks Egil.

	* Integrated a bunch of patches for i18n from various people (see
	  below).  Thanks.

	* The top menu should now be translated, so there is no need to
	  translate/duplicate the system-gschemrc.

	* This release now includes translations for:
		Dutch German Japanese Portuguese (and English :-)
	  Many thanks to Alexandre P. Nunes, Antonio A Todo Bom, MIYAMOTO
	  Takanori, and Bert Timmerman for this work.

	* Upgraded intl to gettext 0.11.5.  I don't know if this breaks
	  if you are trying to build with gettext 0.11.2.

	* Moved the gschem.txt user manual to the geda-docs package.

	* The usual numerous bug fixes.

   gnetlist

	* Fixed a few bugs reported by various users.  Most of the bugs
	  were in the scheme backends.

	* Removed s_project.c and started using the code in libgeda.

	* Ran gnetlist on a schematic with a bus and it should behave
	  almost exactly the same as in the past.  Bunch of work
	  pending here.

	* Moved the gnetlist.txt user manual to the geda-docs package.

   gsymcheck

	* Removed s_project.c and started using the code in libgeda.

	* No significant work.  gsymcheck still works on current symbols.
          A few suggestions pending. 

   symbols

	* Werner Hoch has been working on fixing the symbols
	  which are fixable.  This work is *GREATLY* appreciated.
	  Many thanks Werner.  Please see:

               http://www.geda.seul.org/symbols/index.html
 
	  for the current error/warning count on the symbol library and
	  please consider helping out.	

	* **IMPORTANT**:  Removed the following symbols (for now):

	  linear/lm7805-2.sym lm78l05-1.sym lm78l05c-1.sym lm7905-1.sym

	  because they are wrong according to one user (thank you btw).
	  New corrected symbols were submitted, but because I don't
	  know which physical package the above symbols are for, so I
	  don't know how to really fix these symbols.  If anybody has
	  any suggestions on how to fix this, and/or can confirm that
	  these symbols are correct/incorrect, that would be great.

	* Added back interpage_bidir-1.sym, interpage_from-1.sym, and 
	  interpage_to-1.sym which somehow got lost.

	* Egil's documentation patch added the documentation subdirectory
	  which holds component documentation.	If you do not have groff
	  or fig2dev (part of xfig's transfig package), then you will
	  not be able to generate nc.pdf properly.  Let me know if this
	  causes anybody any trouble.

	* Added bus-ripper-1.sym and bus-ripper-2.sym.	Both are the
	  graphical bus rippers, -1 is an angled line, thick at one end,
	  while -2 is of a symmetric style.  Feel free to contribute
	  your favorite bus ripper graphical representation.

	* Ran gsymupdate on all symbols and font definitions.  If you use
	  the symbols contained in the library, you should not get any
	  warnings from libgeda about find an old symbol.

	* Added a few contributed symbols.  I am still behind in integrating
	  all contributed symbols. 

   utils

	* Updated more of the utilities to write out the new attributes 
	  introduced in 20020825.  A few people contributed to this effort.
	  Thanks.

	* Added Mario Pascucci's olib converter.  From the README.olib file:

		It's a simple automated converter from OrCAD v4 (in
		SDT version 1.10) parts library (in ASCII dump format,
		through "decomp" utility) to gEDA component definition
		in .sym format file.

	  Thanks Mario.

	* Added gschlas which is used by gschupdate and gsymupdate to
	  Load And Save (gschLAS) files, so that they will be updated
	  to the last format.  Note that you must add any local
	  component-libraries to the gschlasrc file if you updating
	  schematics with local symbols.

	* Updated gschupdate and gsymupdate to use gschlas (above).  These
	  scripts now will update sch/sym files to the absolute latest
	  revision of the file formats.  Also fixed a bug in gsymupdate 
	  which would break symbol files if certain attributes had ='s in
	  them.

	* Egil's documentation patch created the gschemdoc script,
	  which is used by gschem to find documentation.  If you run
	  "gschemdoc -m" from a shell, you can quickly get a web browser
	  up and running to read the gEDA/gaf docs.   You must have a
	  web browser in your $PATH for this script and the gschem's
	  doc mechanism to work.

   docs

	* The docs is now a ./configure'd package.  All of the docs are
	  installed into ${prefix}/share/gEDA/documentation, which is
	  where gschemdoc looks for the docs.  The doc package is now
	  required if you use the toplevel Makefile.

	* In order to build the docs you need: latex, dvips or dvi2ps, 
	  latex2html, and ps2pdf.  However, the distributed tarball has
	  all of the generated documentation prebuilt, so you will not
	  need these programs installed.

	* This doc package includes a current "Master Attribute Document"
	  and a current "Symbol Creation Document".  All of the other docs
	  are a little dated.  I will continue to update them.

	* Added the description= attribute which should now be added to
	  all symbols.	This attribute will be used in the next component
	  place dialog box.

	* Added the documentation= attribute to the master list of attributes.
	  documentation= attribute was introduced by Egil's doc patch.

	* Moved the gschem.txt and gnetlist.txt user manual to the
	  geda-docs package.  This is in prep for the conversion to LaTeX 
	  and updating.

   For more a detailed ChangeLog please look in the appropriate source 
   directories.


BUGS/ERRATA/LAST MINUTE ISSUES

	* On a RedHat 7.1 system, fig2dev core dumped on me when dealing
	  with geda.fig.  If this happens to you, then just touch
	  geda-symbols-20021103/documentation/geda.pic into existence
	  and restart the build (you won't see the pretty logo on the
	  top of the page though).

	* If you happen to have gtkextra installed, then gschem will not
	  build.  I will fix this for the next release.  Uninstall
	  gtkextra or temporarily rename gtkextra-config so it is not
	  found by gschem's ./configure.

	* Egil reported that the utils might not build with the current
	  lex macros in ./configure.  If this happens to you let me know
	  and I'll send you a fixed ./configure (probably re-spin the
	  utils package).  You will probably not be affected by this,
	  as I included prebuilt code from .l (lex) files.

	* All the usual disclaimers apply.  Lots of new code and so expect
	  lots of instability.	Please report all bugs.  Thank you.

DOWNLOAD:

   http://www.geda.seul.org/source.html
   http://www.geda.coelacanth.com/source.html
   http://ieee.ing.uniroma1.it/geda/source.html
   http://ftp.sunet.se/geda/source.html


BINARIES:

   Unix 
   None yet
  
   MinGW (Win32)
   None yet

  
SOURCE TARBALLS:

   Makefile                             17k  
   libgeda-20021103.tar.gz		852k  
   geda-symbols-20021103.tar.gz		443k  
   geda-gschem-20021103.tar.gz		1.3M  
   geda-gnetlist-20021103.tar.gz	247k  
   geda-gsymcheck-20021103.tar.gz	134k  
   geda-utils-20021103.tar.gz		189k  
   geda-docs-20021103.tar.gz            369k  

   Required libraries (http://www.geda.seul.org/dist):
   * glib >= 1.2.3     
   * gtk+ >= 1.2.3    
   * guile 1.4  
 
   Required programs (http://www.geda.seul.org/dist):
   * GNU gettext >= 0.11.5  (0.10.35 will NOT work)

   Optional libraries (http://www.geda.seul.org/dist):
   * LibStroke 0.5.1   
   * libgdgeda 1.8    
   * zlib 1.1.x      
   * libpng 1.0.x   


BUILDING, INSTALLING, RUNNING:

   1) Download all the above files and the required libraries.
   2) Build and install the required and optional libraries.
   3) Untar all of the geda tar files in the same directory.
   4) Set the prefix= variable in the Makefile
   5) Run: make   and set the specified variables (PATH and LD_LIBRARY_PATH)
   6) Run: make install 

   -OR-

   1) Download all the above files and the required libraries.
   2) Build and install the required and optional libraries.
   3) Untar all of the geda tar files in the same directory.
   4) Go into each directory and run:
         ./configure            [ with --prefix=$HOME/geda if you wish ]
         make install
        
      You must build and install the packages in the following order:

         1. libgeda
         2. symbols
         3. gschem
         4. gnetlist
         5. gsymcheck
         6. utils
         7. docs