2005-08-16  Fontlinge 2.1
    * all scripts:
        - replaced fontlinge::Subs perl module with fontlinge::Fontling
          and fontlinge::Filebasics. See below for details.
        - renamed options from --option_name to --option-name.
          The old option names are still working.
        - --verbose option can be abbreviated as -v
    * documentation
        - added a list of all possible ~/.fontlinge options to README
        - updated documentation to match the changes listed here
        - splitted list of required perl modules into "core" modules and
          those that need to be installed separately.
        - updated ChangeLog ;-)
    * fontlinge_base:
        - new options:
            o --percent: show a progress bar
            o --my-code: Include own perl-code. See manual.
            o --my-preview-suffix: Some identifier like large,color,...
        - removed options:
            o --my-preview: replaced by --my-code.
        - moved lots of code to fontlinge::Fontling
        - the monospaced flag is read from font files. Works for
          otf/ttf, afm and pfm. The result can be used in a my-code
          sniplet. 
          Please note that this flag is just a bit in the font file and
          doesn't need to be true, so don't rely on it. There are
          several "equably proportional" fonts out there...
    * fontlinge_base/my_code_vendorguess
        - Plugin to implement sorting fonts by vendor.
    * fontlinge_compare (NEW):
        - Note: this script is in *ALPHA* status. Use at your own risk.
        - script to search for a font by a given image file with a
          single letter in it
        - --compare-two-fonts: compare a specific letter in two font files
        - --fingerprint and --fingerprint-font: display "fingerprint" of
          an image or a specific letter of a font file
        - --similar: temporarily(!) sort fonts similar to a given image
          to category "work" (id 19) - makes sorting unknown fonts easier
        - slow, but works ;-)
    * fontlinge_config:
        - new options:
            o --change-option optionname new_value
              change option optionname in ~/.fontlinge to new_value
              (or insert it if optionname is not set yet) and exit
            o --webgui-conf /path/to/config.inc.php   and
              --webgui-path /path/to/webgui/
              write path to WebGUI / config.inc.php to configfile and exit.
              Used by fontlinge_userinstall.
            o --setperms
              limit permissions of ~/.fontlinge and webGUI config.inc.php
              using ACL (if available)
              Used by a recursive fontlinge_config call
        - fontlinge_config can handle multiple options now
        - changed default tempdir to /tmp
        - changed comments written to .fontlinge to shorter texts.
        - rewritten large parts of the code
        - new functions for code used more than one time
        - new function writeconf can also change existing config entries
        - updated for new options
    * fontlinge_complete:
        - completely rewritten, now supports autocompletion for
          --option=filename and --option=dirname.
          parts of the code are taken from bash_completion project
    * fontlinge_database_assistant:
        - new options:
            o --phoenix: automatic database setup with default values
            o --update-database: update database from older versions
              (creates or repairs some indexes for performance reasons
               and changes some fields' type to avoid problems with
               MySQL >= 4.1.2)
              database is upgraded lossless by "ALTER" statements.
            o --download: auto-download sortlist
            o --trusted-sorters=... - see below
        - import of sortlists (--import-text)
            o exactly equal entries are no longer reported as duplicates
            o reject-log now also contains existing values from database (after
              another \t, which means that it will be ignored by
              fontlinge_database_assistant when using the reject_log as
              input file)
              This is only true when *not* using --overwrite-duplicates.
            o added "trusted sorters" concept
              See documentation about "database management" for details.
        - database_assistent now uses perl-mysql-routines instead of
          `$command` via shell. (Exception: --import-database and
          --export-database call external mysql and mysqldump binary)
        - added some basic security checks (filter for invalid or
          possibly evil characters) for the params from configfile.
        - added a MySQL permission check to see if user has ALTER
          privileges (needed for --update-database)
        - added check for MySQL indexes in Fontlinge database
          (--update-database can repair them, if necessary)
        - included indexes list in database_assistant so no MySQL dump
          is required for --update-database and index check
        - some minor bugfixes
    * fontlinge_dupe:
        - new option: --verbose
        - now quiet by default
        - previews are no longer included in folder-compare
        - now uses perl module File::Compare instead of external `diff`
        - defined sort order when deleting dupes: fonts with higher
          font_id will be deleted first (useful in conjunction with
          --dbinsert --dbkeep and a "new fonts" folder)
        - Bugfix: dupefinding was not case sensitive. Now "Arial" and
          "ARIAL" are no longer compared.
        - changed many MySQL queries to SELECT field1, field2, ...
          instead of SELECT * to increase performance
        - now works with mysql >= 4.1 (Bugreport "Fab")
        - removed useless call of sql queries if a font name appears
          only once - should increase performance
    * fontlinge_getconfig:
        - new option: --status: set exitcode dependant on existence of a
          config option in ~/.fontlinge. Used by fontlinge_config.
    * fontlinge_montage:
        - added support for --my-preview-suffix and --my-code
    * fontlinge_reunion:
        - new option: --verbose
        - now quiet by default
    * fontlinge_userinstall:
        - new option: --file /path/to/.fontlinge - use
          /path/to/.fontlinge instead default file ~/.fontlinge as
          configfile
        - can handle multiple params now
        - read filelists from fontlinge::Config (instead of hardcoded
          filelist in fontlinge_userinstall)
        - added config.php to "deny from all" list (file is only used
          for debugging)
        - new handler for obsolete files (print a warning if one is
          found). Useful for updates of an existing installation.
        - changed images installation because "images/" is no longer
          included in filelist
        - Bugfix: changed grep regex for htaccess update to avoid false
          positives
        - removed symlink creation to ~/.fontlinge
        - added more error checking
        - added check for old custom.php (Fontlinge <= 2.0.1)
          Delete it if unchanged (and install the new one after that)
        - added check if custom.php contains the line
          "This file will not be overwritten".  If not, a warning is
          printed because custom.php could be out of date.
    * fontlinge::Config perl module:
        - now contains filelists for WebGUI user installation
    * fontlinge::Fontling perl module:
        - new module with font related functions
        - more object-orientated than the old fontlinge::Subs module
        - used by several fontlinge_* scripts
    * fontlinge::Filebasics perl module:
        - new module with file and filesystem related functions
        - used by several fontlinge_* scripts
        - used by configure
    * fontlinge::Subs perl module:
        - removed and replaced by fontlinge::Filebasics and fontlinge::Fontling
    * WebGUI:
        - support for multiple preview images using a filename suffix
          (needs option webgui_suffixes set in .fontlinge)
        - added a small navigation bar you can toggle to
        - font downloads are now named name_of_the_font.tar.gz.
          can be reconfigured to old "font.tar.gz" in ~/.fontlinge
          config option "webgui_download_filename=realname|font.tar.gz"
        - new ~/.fontlinge config option webgui_unsorted=1 to speed up
          the WebGUI in very large font collections
        - added ~/.fontlinge option perl5lib=... to enable users without
          root rights (on installation) to use detail previews. Use this
          if preview.pl can't find the fontlinge::* perl modules.
          See INSTALL for details.
        - config is now read from config.inc.php (built by
          fontlinge_getconfig --webgui) instead of reading ~/.fontlinge
          directly
        - added check if config.inc.php is not older than .fontlinge
        - added check for required files (functions.php, config.inc.php)
        - put some common functions into functions.php (fontlinge_errorlog,
          fontlinge_mysql_connect, check_inc_uptodate)
        - emptied custom.php, moved content into index.php
          custom.php is now really reserved for custom code.
        - changed many MySQL queries to SELECT field1, field2, ...
          instead of SELECT * - this should increase performance because
          the long fontinfo field has not to be read.
        - Bugfix: path name for PS-previews now determined a different
          way to avoid displaying the false preview if more than one
          *.png exists in directory
        - security: quoted parameters with escapeshellarg and
          mysql_escape_string
        - sorting fonts:
          o the font's category name changes immediately in WebGUI
          o made sorting fonts cache-proof by adding the current time to
            the set.php call
          o fixed error when "sorting" fonts into the category they are
           in already (which returned 0 affected rows - this caused an
           error message in set.php)
        - code cleanup
        - some additions to the Stylesheet
        - preview.php (detail preview):
          o preview popup now shows font name in title bar
          o menu does no longer scroll away
          o moved styles to fontlinge.css
          o enlarged popup window to screen.width
        - preview.pl (detail preview):
          o now uses fontlinge_get_config perl function
          o bugfix: print an error message if no *.pfb file exists when
            displaying a PS font
          o bugfix: looking for *.pfb was case-sensitive. Now *.PFB is
            found also.
          o made preview image smaller and faster
          o code cleanup
    * Installation:
        - configure now also accepts relative paths
        - if you are updating from an older Fontlinge version, please run
          fontlinge_userinstall and fontlinge_config to update your
          WebGUI and the ~/.fontlinge config file.
          Also run fontlinge_database_assistant --phoenix to check and
          update your database.
        - new  make dist  target to build the fontlinge tarball
        - configure now uses fontlinge::Filebasics from ./modules
        - configure now generates WebGUI filelists (for userinstall) and
          saves it in fontlinge::Config module.
        - Bugfix: repaired support for $(DESTDIR) in Makefile.PL (new
          versions of MakeMaker have built-in DESTDIR support and
          "$(DESTDIR)/$(DESTDIR)" is not nice.)
        - some minor changes
        - rpm-package: new post-install script that checks if perl
          modules can be found; if not, a warning message is printed
        - Bugfix: replaced ' by " in sed command in modules/Makefile
          (' broke with make >= 3.81)


2003-10-19  Fontlinge 2.0.1
    * all scripts:
        - fixed problems with perl 5.8.0 and utf8 language setting
        - bugfix: "~" expansion in several paths and filenames
          (especially those given as parameters)
    * fontlinge_base:
        - new options: 
            o --fontbase=folder  allows to sort font files into <folder>
              instead of ~/fontbase.
              Also available as config option in .fontlinge.
            o --rename_otf  renames OpenType fonts to *.otf.
        - code cleanup
        - some optimizing (unpack instead of substr)
        - directory creation now implemented as function instead of
          using `mkdir -p` shell calls
        - shell commands cp and mv logged in ~/.fontlingedebug if file
          exists (for debugging)
        - bugfix: really exit if $my_preview file not found
        - more and longer fontinfo tags allowed (it seems some font
          designers like to write novels ;-)
    * fontlinge_complete (NEW):
        - allows autocompletion (with tab key) of --parameters in bash.
    * fontlinge_config:
        - can auto-add fontlinge_complete to your bashrc if you want
        - quoted lots of variables to avoid problems with 'strange'
          filenames
        - replaced dirty 'eval' calls with a function calling perl
        - replaced dirty 'source ~/.fontlinge' with a
          fontlinge_getconfig --bash call
    * fontlinge_database_assistant:
        some changes in user creation:
        - renamed option --root to --dbadmin-password
        - new option --dbadmin-user to specify the username of database
          admin (defaults to root)
        - the created user now has Alter_priv and Index_priv rights in
          fontlinge database
    * fontlinge_dupe:
        - after dupecheck, a statistic is printed which tells you if a
          database update (fontlinge_base --dbinsert) is nessecary or
          not.
        - dupe deletion is now done with perl code instead `rm`
        - code cleanup
    * fontlinge_getconfig (NEW):
        - script to read config file - useful for external programs
        - prints configuration in different formats, including bash and
          php compatible formats
    * fontlinge_userinstall:
        - updates .htaccess if it already exists
        - fontlinge_userinstall has internal installation routines now
          (instead using a Makefile)
        - custom.php will not be overwritten if it already exists
        - added lots of errorhandling code
    * fontlinge::Config perl module (NEW):
        - new perl module, containing installation paths
    * fontlinge::Subs perl module:
        - rewritten get_config - ~/.fontlinge config file now read more
          failsave
        - some more elements in $config{} now (HOME, VERSION, RUN_AS)
        - new functions expand_filename and home_of for ~ expansion
    * WebGUI:
        - replaced ugly php_varfix.php with functions safeget/safepost/
          safeserver which are wrappers around $_GET, $_POST and $_SERVER
        - added favicon.ico
        - moved some common code into functions.php
        - fixed handling of .fontlinge entries: whitespace, inline
          comments, ... - more failsafe now
        - better error checking for MySQL and other errors
        - new detail preview: text sample. Useful especially for
          "handwriting" fonts to see how capital and small
          letters look together in a "natural" arrangement.
    * installation:
        - NEW: Fontlinge now have a configure script
        - path definitions are now located in Makefile.head (generated
          by configure) instead in every Makefile
        - code cleanup in Makefiles
        - NEW fontlinge.spec to generate a rpm package (by David Haller)
        - 'make install_type=user' (was used for fontlinge_userinstall)
          no longer supported (did anyone need this?)
        - if you are updateing from Fontlinge 2.0.0, please run
          fontlinge_userinstall and fontlinge_config to update your
          WebGUI and the ~/.fontlinge config file

2003-05-17  Fontlinge 2.0.0
    * first stable release




vim:ft=changelog ts=50 tw=72
