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

   General


        ***** READ THIS *****  ***** READ THIS *****  ***** READ THIS ***** 
        * IMPORTANT CHANGES *  * IMPORTANT CHANGES *  * IMPORTANT CHANGES * 
        ***** READ THIS *****  ***** READ THIS *****  ***** READ THIS ***** 


	* This is a fairly significant release in that most of the
	  required standard symbol/schematics attributes have been either
	  renamed, changed, and/or obsoleted.

	  The old set of attribute included:

	  - pin#=#   		pin sequence and pin number information 
	  - slot#=#  		slotting information
	  - uref=string		unit reference information
	  - label=#  		net naming information
	  - name=string		inconsistent uses

	  The new set of attributes includes:

	  - pinseq=# 	  	pin sequence information (replaces pin#=#)
	  - pinnumber=#     	pin number information   (replaces pin#=#)
	  - slotdef=#:#,#... 	sloting information      (replaces slot#=#)
	  - netname=string	net naming information   (replaces label=string)
	  - refdes=string       reference designator     (replaces uref=string)

	  As you can see I got rid of the string#=# scheme that was
	  in use.  I replaced this attribute scheme with much a clearer,
	  simpler, and less ambiguous scheme.  I have been threatening to
	  make these changes for quite some time now.   

	  Two important changes, uref= is now refdes= which is a much
	  more industry standard attribute.  label= is really ambiguous
	  (IMO) and is now netname=.

	  So, what does all this mean:

	  - it means that symbols/schematics created with 20020825 are
	    no longer attribute _backwards_ compatible with <= 20020527.

	  - it means that symbols/schematics created with <= 20020527 
            need to be updated to use the new attributes.

	  - All existing symbols and schematics need to be updated.

	  - If you do not update your schematics/symbols, you will not be
	    able to use slots and netlist your schematics.

	  Let me clarify something though, the file format has not changed
	  (yet), only the standard (required) attributes have changed.
	  I do plan to make some minor file format changes sometime in the
	  future, but those should be fairly transparent to the end user.

	  I have provided two perl scripts which update existing symbols
	  (gsymupdate) and schematics (gschupdate) to use the new attribute
	  set.  See below.

	  I have also finally given gsymcheck much more bite.  It now checks
	  for common symbol errors and makes sure required attributes are
	  part of the symbol.

	  For a complete list of all attributes please see the new attribute
	  master list document at: http://geda.seul.org/docs/attributes/

	* Integrated the i18n gschem code changes by Antonio and
	  Alexandre.  (Many thanks!).  These changes include a
	  Portuguese translation of most of the dialog / message strings.
	  Menu translation still needs a little work (on my part).

	* In order to support the i18n changes, gettext >= 0.11.2 is
	  now required.  If you cannot build, you could try adding one
	  of the following options to each ./configure script run:

		--disable-nls
		      or 
		--with-included-gettext

   libgeda

	* Bumped the libgeda.so file's version to 16.0.0.

	* A bunch of changes to support the above attribute renaming etc...
	  
	* Obsoleted or deleted a bunch of functions which were either not
	  needed anymore or just plain wrong. 

	* Moved some gsymcheck structures into gsymcheck/include/struct.h

	* Fixed the segfault when using Finnish/Swedish characters.

	* The usual minor bug fixes. 

   gschem
	 
	* Integrated a patch from Dave Lawrence which adds useful
	  capabilities to the Add Attribute... dialog box.  Select
	  multiple components or nets and you will be able to attach
	  attributes to all the selected objects or replace existing
	  attributes on all the selected objects.  Thanks for the
	  patch Dave!

	* Fixed a long standing bug in the Find Specific Text... option.
          Now when the text string is found, it is properly centered and
	  legible on the screen.

	* Re-laid out the Add Attribute... dialog box using glade.
	  I will slowly go through and redo all dialog boxes (mainly
	  for appearance).  The print dialog box is horrific.

	* Hopefully got -with-rcdir working again.

	* Added Edit/Update Component, which updates (re-reads) all
	  selected components.	Handy when you need to re-promote
	  attributes.  Note, existing attached attributes are not removed,
	  so you might end up with duplicate attributes attached to
	  a component.

	* Went through and fixed up any code which needed to be updated
	  take into account the above mentioned attribute changes.

	* Add the Escape key bindings for more dialog boxes.

	* Updated all example schematics using gschupdate.

	* Moved all test/developer only schematics from examples/ to test/

	* Integrated all the MinGW changes that were required post
	  20020527.

	* Added to postscript output controlling rc variables:
	  setpagedevice-orientation (which when enabled will put the
	  correct: << /Orientation ? >> setpagedevice  line into the ps
	  output) and setpagedevice-pagesize (which when enabled will
	  put the correct: << /PageSize [? ?] >> setpagedevice	line
	  into the ps output).	Please try these out and let me know if
	  I got them right.  See the system-gschemrc file for more info.

	* Hopefully better looking bitmaps for the toolbar

	* Minor tweaks to the light color scheme (anybody using the light
	  color scheme?)

	* The usual bug fixes, including some nasty core dumpers and memory
	  leaks. 

	* A bunch of other smaller changes, please see gschem/ChangeLog
	  for more info.

   gnetlist
	
	* Went through and fixed up any code which needed to be updated
	  take into account the above mentioned attribute changes.
	  This includes the various affected backends (spice, vipec,
	  gossip, vams, and vhdl)

	* Backend scheme interface changes:
          Created: gnetlist:get-attribute-by-pinseq
          Renamed: gnetlist:get-pin-attribute to
                   gnetlist:get-attribute-by-pinnumber

	* Integrated bug fix patches from Dan McMahill and Bryce Denney.
	  Thank you!

	* Updated all example schematics/symbols to the new attribute
	  scheme.

	* Created a few more test schematics and netlist output to
	  get better regression test coverage (still pretty weak).

	* A little bit of work to support the MinGW port.

	* A bunch of other smaller changes, please see gnetlist/ChangeLog
	  for more info.

   gsymcheck

	* Lots of work on gsymcheck.  gsymcheck was a joke for a very long
	  time; now it is actually useful.  In fact, all submitted symbols
	  must now pass gsymcheck error free.  Warnings are okay, but
	  eventually those will become errors (in a future release).

	* Here are the tests which gsymcheck now supports:
	
		- Multiple refdes= attributes
		- Too many slotdef attributes (based on numslots=)
		- Forbidden/old attributes (name, label, type, uref)
		- Missing device= attribute
		- Missing footprint= attribute (warning for now)
		- Multiple footprint=, pinlabel=, and pintype= attributes
		- No/incomplete slotting information (warning for now)
		- Missing numslots= attribute (warning for now)
		- Missing slotdef= attributes	
		- Invalid slotdef= attributes
		- Having old attributes inside symbols
		- Duplicate pinnumber attributes
		- Missing pinnumber= attributes
		- Missing pinlabel= attributes (warning for now)
		- Duplicate pinseq= attributes
		- Missing pinseq= attributes
		- Incorrect use of the graphical= attribute
		- Zero for pins in various attributes
		- Bus/net/connections inside symbols.	

	* Reorganized some of the internal structures.  Still needs a little
	  work though.

	* Added a bunch of incorrect symbols to exercise gsymcheck in tests/

	* A little bit of work to support the MinGW port.

   symbols

	* Created: http://www.geda.seul.org/symlibrary/ which shows the
	  sorry shape that the symbol library is in.  There are too many
	  errors in the symbol files.  Most errors are quite serious.
	  More on this later.

	* Updated all symbols to use the new attribute scheme using 
	  gsymupdate.

	* Added a bunch of contributed symbols from various people. 
	  Thank you!

   utils

	* Created a perl script to update old symbols to the new attribute
	  scheme:  gsymupdate	 Creates a backup of the symbol
	  (filename.sym.old).  Will not run if .old file exists.  Usage:
	  gsymupdate filename1 filename2 ... filenameN

	* Created a perl script to update old schematics to the new
	  attribute scheme:  gschupdate    Creates a backup of the
	  schematic (filename.sch.old).  Will not run if .old file exists.
	  Usage: gschupdate filename1 filename2 ... filenameN

	* I did not not fix all utilities to use the new attribute scheme;
	  I ran out of time.  You might need to run gsymupdate or
	  gschupdate on the output from some of the utils.

	* Bug fixes to gmk_sym by Chris Ellec

   docs

	* Reworked attribute master list to reflect the new attribute
	  scheme.  Rewrote this document using LaTeX.  I will be moving
	  all the existing documentation into LaTeX.  All documentation
	  will be made available in html and postscript.

	* I still need to update the other documentation.  That will
	  happen later (post-20020825), so there is no geda-docs-20020825
	  packages yet.

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


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                             15k  
   libgeda-20020825.tar.gz		823k  
   geda-symbols-20020825.tar.gz		396k  
   geda-gschem-20020825.tar.gz		1.2M  
   geda-gnetlist-20020825.tar.gz	245k  
   geda-gsymcheck-20020825.tar.gz	130k  
   geda-utils-20020825.tar.gz		126k  
	
   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.2  (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