- Prevent ability of an attacker to delete other users' accounts
    - Fix cookies to carry the httponly flag, reducing chance of cross-site
      scripting exploits.
    - Fix cross-site scripting vulnerability in generation of citation text.
 * Fix failure of feature summary message to appear on mousedown events.
 * If svg2pdf executable is in search path, use this in preference to inkscape
   (thanks to Nathan Weeks)
 * Fix left-align of citation text in "?" menu (thanks to Nathan Weeks)
 * Avoid accumulating many .inverted files in the bio_graphics_ff_UUID cache
   (thanks to Nathan Weeks).
 * Fix summary mode for features with no source tag (thanks to Nathan Weeks).
 * Don't spawn child processes if there are no uncached requests (thanks to
   Nathan Weeks yet again!)

 * Better detection and handling of render slaves that have gone now. If all slaves are
   down then throws an error (once) and then reverts to local rendering for a period of time.
 * Updated installer to give dire warning if installing into /usr/local/apache
   and there doesn't appear to be an apache instance there.
 * Support truetype fonts (need Bio::Graphics 2.33 or higher; set truetype=1 in GBrowse.conf, and
   optionally pass font names like "Helvetica-12:Italic" to the track "font" option). 
 * Clicking on the "Go" button when an annotation plugin is selected now turns on the corresponding track.
 * Clicking on the "Go" button when a filter plugin is selected opens up the configuration dialog.
 * Added Juan Tena's split_wig.pl script, which is useful for uploading WIG files from genomes with lots
   of scaffolds.
 * Fix performance problems when using in-memory databases composed of multiple GFF3 files. The fix is
   a hack that involves overwriting the Bio::DB::SeqFeature::Store::LoadHelper module!

 * Version 2.53 introduced a bad bug into track configuration such
   that semantic zooming no longer works for user-provided
   configuration. This has now been fixed.

 * Fix a variety of semantic zooming inconsistencies.
 * Code simplification in data source.

 * Avoid clipping the subtrack selection link on long track titles.
 * Require Bio::Graphics version 2.31 to avoid bug in wiggle xyplot generation.

 * Fix "can't call FETCH without object reference" errors during ./Build test.
 * Fix pod documentation for gbrowse_grow_cloud_vol.pl.
 * Remove gbrowse_attach_slaves.pl.
 * Volumes added to cloud instance have deleteOnTermination set to true.

 * Add gbrowse_import_ucsc_db.pl, which will create a fully functional starter database
   from a UCSC data source (e.g. 'hg19').  
 * Add VirtualBox and EC2 virtual machine support (see http://gmod.org/wiki/GBrowse2_VMs).
 * Prompt user before overwriting a customized config file.

  * Add new "metadata" option in track stanzas for making subtracks selectable via
    structured metadata; see http://gmod.org/wiki/Creating_and_Managing_Subtracks_with_GBrowse2
    for details.
  * Specify which database to use for search result karyotype display using following
           database = my_database
  * Fixed error reporting when uploading badly-formatted WIG files.
  * Do something sensible when user tries to upload a bigwig file.
  * Some support for UCSC-style uploads with "track type=bigWig bigDataUrl=http://something...".

  * Fix track-level genbank and fasta dumping.
  * Fix (mostly) the batch and sequence dumping plugins.

  * Fix bugs in demo mode.
  * Fix session locking bug; FastCGI performance subjectively improved.
  * Revert to using inline imagemaps when not running in an accelerated environment.
  * Require Bio::Graphics version 2.26, so that transparency is supported.

  * Support for transparent overlay tracks. These will appear as a user settable formatting option	
    for any track with subtracks. To make this default for a track set "bump = overlap" and consider
    setting "color_series = 1" in order for background colors to be assigned automatically;
  * When downloading vista tracks, default download format to "vista_wiggle".
  * Fix signal handling under FastCGI in order to kill runaway rendering processes
    when server restarted.

  * Restore h_feat & h_region functionality to gbrowse_img.
  * Fix gbrowse_img documentation to point to correct example URLs on WormBase.
  * Fix persistent grey screen when clicking on snapshot thumbnail.
  * Fix URL-escaped characters appearing in snapshot name.

  * Modest performance improvements when rendering multiple tracks.
  * Set absolute cap of 5000 features per track to avoid performance issues on NGS data.
    This cap can be changed by setting "maximum features" in the [GENERAL] section. Set
    to 0 to return to unlimited behavior.
  * Imagemap is now generated in such a way that time-consuming callbacks are only executed when
    mouse hovers or clicks on the feature. This noticeably speeds up track generation time. Drawback
    is that this increases the delay before balloon pops up on the hover operation when run in
    cgi-bin mode (still fast in FastCGI mode). Restore original behavior by setting 
    "inline imagemaps" (or "inline imagemap") to true in [TRACK DEFAULTS] 
    or individual track definitions.
  * Can now close tracks from main view even when corresponding track checkbox not showing
    in the track listing.
  * Default to flock locking instead of NFS locking; the former seems to be faster.
  * Enable shared session locking to improve performance.
  * Fix bad database pathnames in yeast configuration file examples.
  * Fix track finder plugin to avoid annoying extra refresh after leaving text entry field.
  * Fix broken sorting of subtracks.
  * Improve dynamic range of wiggle tracks.
  * mod_perl is no longer supported due to unfixable issues with zombie processes.

  * Fix semantic zooming bug which caused features to disappear when feature type changed between
     semantic zooming levels. Also speeded up rendering process.

   * Improve user interface when a new openid user first logs in.
   * Fix outgoing mail, which was broken.

   * Quash bugs related to miscalculating semantic zooming settings.
   * Fix inability to close tracks in the overview by clicking on their close box.

   * Quash a few uninitialized variable warnings when bringing up track configuration dialog.
   * Fix inability to toggle visibility & favorite status of plugin tracks from the
     track titlebar.
   * Added caching of inverted configuration file data structure to speed up track
     rendering on really huge configuration files with many stanzas. Cache structure
     is stored in /tmp/bio_graphics_ff_cache_$UID
   * Add ability to save and restore named snapshots of current state.
   * Changed behavior of render slave to a prefork model. Activate by including
      PREFORK=5 (or other desired number of servers) in /etc/default/gbrowse-slave.
   * Added support script for Amazon cloud image: gbrowse_attach_slaves.pl creates
     slave instances for AMI ami-c6ca31af.
   * Change default tmpfile location to /var/tmp/gbrowse2 (was /tmp/gbrowse2).

   * Download SVG images as type application/svg+xml rather than triggering
     inline display behavior.
   * Update prerequisites to Text::ParseWords 3.27 in order to fix problem with
     subtrack configuration parsing.
   * Fix bug which prevented add tracks from working properly under IE8.
   * Fix bug which prevented "download all data from this track" from working for BAM/SAM
   * Fix bug in English translation that was causing other languages to take precedence
     even when browser was configured to accept them with lower precedence.

   * Fix more semantic zooming bugs, particularly when zooming out from a BAM track.
   * Fix blank tracks when viewing a datasource composed of only a single BAM database.
   * Fix "can't take log of negative number" bug when zoomed way in.

   * Preparations for faceted track searching
     * deprecate "subtrack select" and "subtrack table" options in favor of "subtrack facets",
       which introspects values from database (will require updates to Bio::DB::SeqFeature and friends)
     * add "facet labels" and "facet values" options
     * allow options to be tagged with "ex:option_name" to identify facets
   * Fix subtracks to prevent features from appearing in the subtrack manager that won't be
     displayed in the track panel because the feature type doesn't match the configured "feature"
   * Add option "track listing style" to select style of the track listing. Options are "categories" (default)
     and "facets". Currently only "categories" works.

   * Make semantic zooming work again when database option changed.

   * Fix internal server error caused by certain semantic zooming declarations.
   * Preparations for faceted track searching
     * deprecate "subtrack select" and "subtrack table" options in favor of "subtrack facets",
       which introspects values from database (will require updates to Bio::DB::SeqFeature and friends)
     * add "facet labels" and "facet values" options
     * allow options to be tagged with "ex:option_name" to identify facets
   * Fix subtracks to prevent features from appearing in the subtrack manager that won't be
     displayed in the track panel because the feature type doesn't match the configured "feature"
   * Add option "track listing style" to select style of the track listing. Options are "categories" (default)
     and "facets". Currently only "categories" works.

   * Fix broken https:// links in karyotype summary table; patch courtesy Dan Bolser
   * Fix behavior of "q" parameter to match the documented behavior.
   * Fix RemoteSet to avoid failures due to nonexistence of download directory.
   * Fix bug that allowed unauthorized users to view restricted tracks under
     following circumstances: FastCGI activated, track configuration changed, server
     not restarted.
   * Added an LDAP authentication plugin (LDAPAuthenticate).
   * Clean up appearance of favorite stars and checkboxes to deconfuse users.

   * Fixed plugin authentication system to prevent an all-dark screen during authentication
     dialog on Firefox and Opera platforms.
   * Fixed fasta and genbank track dumping so that "download all data" option works properly
     rather than returning an empty file.  
   * Fixed sigPIPE warnings appearing in error log after an openid authentication.
   * Removed some stray debugging messages.

   * Fixed help menu so that "About GBrowse" works correctly again.
   * Worked around issue of disappearing balloons under IE8.
   * Fixed issue of malpositioned balloons under IE8.
   * Fixed off-by-one error in decorated FASTA dumper when displaying borders
     of minus strand features.

   * Fixed "testdata/conf/languages/POSIX.pm: Permission denied" error when running Build test.
   * Removed outdated instructions to install bioperl 1.6.9 from source.

   * Improved behavior of track dumper so that when the user aborts the download the server
     exits gracefully.

   * Updated mod_fcgid "FcgidInitialEnv" directive to current recommended name.
   * You can now narrow the search to features with a desired primary tag using the syntax
   * You can exclude a list of primary tags from search results in the database definition stanza
      using the syntax:
	 exclude types = type1 type2 type3
   * The appearance of the track selection table has been updated to be less "busy".
   * Uploaded track names assigned automatically (e.g. "upload_6842") can now be edited by
     shift-clicking on the track name.
   * You can now select the format for track data generated by clicking on the "disk" icon in
     the track title bar.
   * Fixed unwanted behavior in which searches that returned multiple features would open up all 
     tracks corresponding to those features even if user did not select them.
   * Fixed "permission denied" error opening cgisess.db when installing on a fresh system.

   * Added compile-time warnings about the bioperl version.

   * Fixed account registration confirm code URL so that it doesn't get mangled by GBrowse redirection.
   * Fixed the "restrict" argument so that you can restrict access to a track even if the datasource
     as a whole does not require authentication.
   * Changed default location of uploaded userdata to /var/lib/gbrowse2/userdata. This
     avoids destruction of userdata on systems that clear /tmp on reboots. You may wish to copy existing
     userdata to this location, or use symbolic links.
   * The apache configuration file, /etc/apache2/conf.d/gbrowse2.conf, now contains a stanza that
     makes the databases directory inaccessible to the web server unless explicitly enabled.
   * All newly-added tracks now appear at top of panel rather than at bottom, as per user request.
   * "remote renderer" option can now appear in GBrowse.conf as a global default 
   * Fixed handling of uploaded .gz files under FastCGI so that they don't result in a server error message.
   * Changed handling of uploaded wiggle files so that autoscaling is set to per-chromosome by default.
   * Added the ability to designate certain tracks as "favorites."

   * Fixed account registration confirmation screen, which was blacked out on all
   * Fixed account registration error messages to be more informative.
   * Removed Ace as a recommended library. Was only used for process_wormbase.pl,
   which is no longer relevant anyway.
   * Fixed problem calculating maximum length of displayed segment when details_multiplier>1.

   * Fixed broken image generation.
   * Made it easier to install GBrowse as an unprivileged user.
   * Allow searching for features with pipe symbols in their names.
   * Allow searching for features defined in uploaded tracks.

   * Fixed gbrowse_metadb_config.pl script so that it no longer fails when creating a user database
     from scratch.

   * Added an "example_scripts" directory that contains a perl scripts that show how to manipulate
     sessions, upload custom tracks, and get basic information about services. This directory accompanies
     new REST API documentation located at http://gmod.oicr.on.ca/wiki/GBrowse2_REST_API.
   * Fixed missing "registration" link in login dialog. This occurred when openid was unavailable.
   * Fixed popup dialogs in the "Help" menu so that they appear again.
   * Fixed file upload status display to prevent upload details section from disappearing when
     uploading very small files.
   * Tinkered with session settings to minimize session lock timeouts.
   * Removed some dangling warnings in the track sharing module.
   * Made SQLite the default user account database.
   * Fixed default SQLite user account database to be created in /var/www/gbrowse2/databases rather
     than in / (root) directory.

   * Fixed gbrowse_img to reactivate documented ability to list multiple tracks with t=track1+track2+track3
   * Fixed startup to avoid Javascript crashing on autocomplete initiation when user accounts turned off. This
     had caused the "eurl" param (used to import external data tracks via URL) to fail.

   * Fix all references to File::Path 'remove_tree" to "rm_tree" in order to work
   with older versions of File::Path.
   * Fixed display bug in Safari (popup balloons not working after zooming into a track).
   * Fixed Internet Explorer crash when uploading new files.
   * Fixed 'eurl=url' remote feature addition.
   * Added basic ipad functionality.
   * Newly-added uploaded tracks appear on the top now.

    * User uploads can be run in the usual file-based mode or with a new database-driven system that
      supports sharing files between users based on public, group, casual (with a sharing link)
      and private permissions.
    * Added the ability to load wider details images. Detail tracks can then be dragged left and right
      without having to load more data from the server. To enable, add a property to the conf file
      called "details multiplier" and give it a value greater than 1 (3 is recommended).
    * Overview and scale tracks now show markers for both the currently viewed segment and the entire segment
      that is loaded.  The loaded segment colours can be set with the settings "loaded_segment_fill" and 
    * Currently viewed position markers are now drawn with javascript with opacity set to 0.5 (this was 
      necessary so that position markers can move as the user drags tracks). Therefore the markers will 
      show up as a lighter colour than before, so settings 'hilite fill' and 'hilite outline' may need to
      be updated
    * Internationalization has been updated so that almost all strings in GBrowse can now be translated,
      including strings in javascript.
    * Subtrack labels now float on top of the underlying image data so that they show even when
      scrolling around.
    * Added a ruler option, which shows a draggable vertical ruler floating over the details tracks which helps 
      users to line things up.
    * Track configuration dialog handles the vista plot in addition to regular and quantitative
    * Added a simple authentication plugin framework that allows you to authenticate against external
      authentication systems.
    * Added the PamAuthenticator plugin, which will authenticate against any Pluggable Authentication
      Module compatible data source (e.g. Unix, NIS, LDAP, Kerberbos, AD).
    * The ability to register new accounts can be disabled by setting "user accounts registration=0"
      in GBrowse.conf.
    * Support for Open ID can be disabled by setting "user accounts openid=0"
      in GBrowse.conf.
    * Fixed bug that caused regions with identical start and end coordinates but different chromosomes to be
      inappropriately cached to the same location.
    * Fixed bug in which tracks with a "remote feature" did not display correctly the very first time they
      are added to the session.

     * Track configuration dialog now allows for control of autoscaling behavior in quantitative
     * Support for vista_plot glyph added to config dialog.
     * Fixed behavior of GBox balloons so that the scroll bar doesn't overrun the contents.
     * Added code to recognize and strip whitespace from search coordinates. This 
       allows "chr1:2,000 .. 1,180,000" to work as a search term.
     * Added code that allows callbacks to invoke Bio::Graphics::Browser2::Render->request()
       in order to get a hash that contains various information about the current state.
       Interesting keys include: search_str, ref, start, end, flip, tracks, features, userid, uploadid,
       h_feat, width, grid. (NOTE: please update documentation WIKI with some explanation of how to use this).
     * Disable track filters when in summary mode, since the summary features generated when this
       mode is active rarely have the structure and attributes expected by the writer of the filter.
       The downside of this is that if you use track filters to distinguish one set of features from
       another, this will not be reflected in the summary density plots, which will show all features
       of the matching type regardless of the filter.
     * Basic support for Google federated login via openid.
     * "unit label" and "unit divider" should now work as advertised.
     * Add commas to coordinates more liberally.
     * Maybe fixed failing t/00.compile.t test.
     * Fixed problem with subtrack selection tables producing empty tracks under some conditions.
     * Fixed SequenceDumper plugin to not crash on BigWig tracks.
     * added # to the list of acceptable characters in feature IDs
     * uploaded files won't use the summary mode unless the number of lines loaded exceeds 10,000
     * Modified plugin base class to make it possible to get at the underlying renderer object
       by calling renderer() method.
     * Fixed regression in which database option wasn't propagating from base track to semantic 
       zoom tracks.
     * Fixed SequenceDumper behavior on GFF dumping.
     * Removed brackets from list of naughty search characters to fix bug 3030462

2.15 Mon Sep 13 11:22:40 EDT 2010
     * Set the "DNA accessor" for databases to the default database. Assuming that the backend supports
       the dna_accessor() method and that the default database has access to the underlying sequence, then
       this will enable glyphs and plugins to access the DNA for all features, even if the feature is contained
       in a database that does not have access to the DNA.
     * You can now override the "buttons" images path in individual datasource files.
     * You can now have an annotator plugin turned on by default by specifying it in the "default
       features" option using the syntax "plugin:RestrictionAnnotator".
     * Renderfarm slaves now honor the init_code directive. You will need Bio::Graphics version 2.13
       in order to take advantage of this feature.
     * Added a description of the BED file format to the upload help page.
     * Fixed various problems in the ProteinDumper plugin.
     * Fixed problems with all regular expression tracks being cached to same directory.
     * Fixed issues with uploaded tracks not being displayed when renderfarm activated.
     * Fixed issues involving failure of render slaves to preload databases (slowing everything down).
     * Fixed incorrect sequence dumping in the sequence dumper when using the 
       Bio::DB::GFF database backend.
     * Fixed problems with losing all default tracks when first loading the browser (this was a bug
       introduced in SVN and never released.)
     * You can now override the "buttons" images path in individual datasource files.

2.14 Fri Aug 27 11:05:08 EDT 2010
     * Prevent a blank-screen crash when searching for chromosomes not in the database.
     * Added a "hide empty subtracks" option to suppress subtrack display when there are
       no features in the region of interest. Note that if there are no features in any
       subtracks, the entire track will be empty regardless of the subtracks (this may or
       may not be a bug).
     * Fixed bug in TrackDumper plugin to prevent "Can't locate object method print_gff3" 
       error. Thanks to Prem Anand for the fix.
     * Fixed display problem in subtrack selection table when there are additional data row 
       elements that are not listed among the selection criteria.
     * Fixed TrackDumper routines to dump out both the tracks and signal from vista tracks.
     * Added CORS capabilities to DAS server so that javascript clients don't have to use a proxy.
     * Precompile glyphs used in each datasource in parent process so that each child doesn't have to
       recompile them.
     * Renamed all the "userdb*" options to "upload_db_*" to avoid confusion with user_account_db.
     * Fixed uploaded tracks mysql backend so that server logs in with correct username and password.
     * simplified custom tracks interface by removing separate section for "import tracks" and adding a 
       "From URL" link to the Upload Tracks section
     * 'eurl' parameter is now loaded asynchronously so that user can watch the process of the upload
       (useful from galaxy).
     * Fixed URL-based file uploads so that they work correctly even when the user has no session yet.
     * Added a datasource "seqid_prefix" option that allows you to add and strip "chr" style prefixes from all seqids;
       this allows for interoperability with UCSC, which always wants a "chr" to begin each chromosome.
     * Fixed loading of SAM files to avoid loading of incorrect fasta file when both .fa and .fa.fai files
       are present in the scaffolds directory.

     * Fixed SAM file processing so as not to die on first line of SAM @SQ header.
       This requires Bio::DB::Sam 1.20 to work properly.
     * Fixed upload listing table so as not to duplicate track labels.
     * Fixed track importation via the eurl parameter so that it works when the 
       user's uploadid is empty (due to clearing cache of cookies).
     * Fixed DAS server handling of the link option.

2.12 Wed Jun 30 15:28:16 EDT 2010
     * Fixed FASTA dumping due to typo introduced just prior to 2.11 release.

2.11 Mon Jun 28 11:42:02 EDT 2010
        * Fixed generation of mysql database names for user upload sets so that names do
	  not exceed mysql's limits.
	* Speeded up execution speed when configuration files get large (>1000 tracks).
	* DAS server and client now functional.
	* Reenabled the "eurl" parameter to link to a data set from the URL.
	* Added "Get chromosome sizes" entry to the File menu (requires a developer's snapshot of
	  bioperl to work with all data sources).
	* Fasta and GFF3 dumps working ok now.
	* You can now import a BigWig file by reference.
	* Uploaded WIG files will generate bigwig indexes if library is available.
	* action=scan now returns the category for each track.

2.10 Tue Jun 15 10:58:32 EDT 2010
        * Fully generalized subtrack creation.

2.09 Mon May 24 18:45:48 PDT 2010
	* To turn off caching of the config file (which is causing deparse errors for some
	  callbacks) set the environment variable GBROWSE_NOCACHE to a true value
	  (like "1" or "yes"). This must be done in the Apache config.
        * Fixed various bugs in the processing of SAM and BAM files.
	* BAM parser now creates BigWig indexes if library is available.
	* Fixed "no overloaded magic in Bio::DAS::Segment" error.
	* Made Menus and tabbed section labels larger (if you don't like, 
	  edit htdocs/css/dropdown/default-theme.css).
	* Moved track table into its own tabbed section.
	* TrackFinder plugin now hilights the matches in the track table.
	* New "subtrack table" and "subtrack select" options allow you to create nice
	  sortable tables of potential subtracks. The old "select" option is still
	  supported, but deprecated.
	* Added "kewl" blinds down effect when changing tabs.
	* Greatly improved track configuration.
	* From E.O. Stinson: added fixes for embedding GBrowse in other web pages.
	* From E.O. Stinson: Added support for regex-style datasources that let you define
	  one data source that will pass different options to a script-based config depending
	  on the URL.
	* From E.O. Stinson: Added a move_to_name function for navigating to a region in one step
	  via a URL call.

2.08 Thu May 20 22:46:13 EDT 2010
	* Added the ability to control the toggle state of each category and subcategory at
	  startup time by using the "category state" and "category default state" options
	  (see the GBROWSE2 HOWTO at http://gmod.org/wiki/GBrowse_2.0_HOWTO#Appearance_Settings)
	* Fixed searches on Bio::DB::GFF databases so that exact searches work again.
	* Fixed the busy spinner so that it doesn't stick in "on" state when region is empty
	  and user turns on tracks.

2.07 Mon May 17 10:27:56 EDT 2010
`    	* Tracked down the "let Lincoln know bug is not fixed" bug, and found a real solution.
	  This was happening when user presses "back" button on browser after an unsuccessful
	  search. This still triggers a log message until we know the bug is really and truly
	* BAM track download now works properly under both FastCGI and mod_perl. mod_perl
	  download requires Bio-SamTools 1.19.
	* Requires Bio::Graphics version 2.09, which addresses a bug in which subroutines
	  defined in init_code could not be referenced within callbacks.

2.06    Thu May 13 17:10:59 EDT 2010
	* Fixed dangling references to GFFPrinter.pm module, which was renamed TrackDumper.pm
	* Requires Bio::Graphics version 2.08, in order to fix the init_code option, which stopped
	  working when config file caching was introduced in Bio::Graphics 2.07.
2.05	* Implemented a new caching scheme for communicating with renderfarm slaves. 
	  This will improve performance, but requires Bio::Graphics version 1.05.
        * Experimental local rendering code -- each track is rendered in a separate process.
	* Reverted to older versions of prototype and scriptaculous due to Google
	  Chrome incompatibilities.
	* Preferred way to separate labels is now to use the "l" option and separate
	  labels with "%1E", as in "l=mdc-1%1Esma-23%1Eunknown genes"
	* Work around race conditions in the 05.deferredrendering regression tests.
	  May still fail if system is under lots of load during test.
	* Fixed bug in change_track_order javascript that prevented track order change from
	  "sticking" when track labels contained underscores.
	* Download icons now selectively download GFF3, SAM or WIG data.
	* Early support for a "show_summary" option in [TRACK DEFAULTS] and [TRACK] stanzas. If this
	  is present and set to a length in bases, then when the user tries to display a region
	  larger than the length the track will display feature density instead. For this to
	  work, the database adaptor must support a feature_summary() method. This is being actively
	  worked on in bioperl, but is not currently available.
2.04    * Can set the subtracks to be displayed by default using the new "select default" option.
	* New syntax for select option:
          select   = type ;
	        dpy-27 'dpy-27 chip'   =101;
                htz-1  'htz-1 chip'    =102;
                pol2   'polymerase II' =103;
                sdc-3  'sdc-3 chip'    =104;
          Everything following the = sign is an optional comment (modencode uses it for the submission ID).
	  The old syntax for this still works.
	* Added a TrackFinder plugin which will limit tracks according to their key,
	  citation, or "keywords" option, based on keyword matches the user types in.
	* Prevent gbrowse_img zombie processes from accumulating under FastCGI.
	* Generate correct Galaxy callback URL and inhibit menu item when Galaxy not configured.
	* OligoFinder plugin now works with gbrowse2.
	* Updated js libraries to prototype 1.6.1 and scriptaculous 1.8.3.
2.03    * GBrowse_details: display of aligned sequences improved.
	* Can now paste remote BAM URLs into "import a track" field.
	* Private (authenticated) sessions never expire.
	* Fixed bug that led to a keyword search always returning multiple hits
	* Added a scalebar on top of the details ruler.
        * Fixed bug in installation paths of example databases (rbuels)
        * Bugfix to support for subroutines in user-defined 'head' configuration options (rbuels)
	* Bug fix to avoid hitting database each time the client checks on the status of a render request.
	* Bug fix to treat timed-out cache operations the same as timed-out render operations.
	* Bug fix to interrupt long system operations, like MySQL queries.
2.02    * Sheldon McKay rolled gbrowse_syn back into gbrowse2
	* Fixed bug in parsing of configuration lines from cut-and-paste uploads
	* Added ability to look at current session's user and upload IDs.
	* Track dumper now accepts option to dump all chromosomes; however only works with
	  local databases.
	* Fixed display of hard-clipped sequences in gbrowse_details.
	* Added a spinner that displays when tracks are updating.
	* Fixed appearance of subtrack selector.
2.01    * Fixed "multiple segment" exception in gbrowse_detail.
	* gbrowse_details now draws alignments correctly when both reference and target
	  report "-" strand. This happens in samtools.
	* Fixed default location of users sqlite database; it now lives in /var/www/gbrowse2/databases
	* Fixed SMTP configuration for login script so that unencrypted connections to gateway now
2.00    * The "admin" user can upload public tracks. Use gbrowse_set_admin_passwd.pl to
	  initialize the account.
	* If session arguments not specified in GBrowse.conf, software will pick the fastest
        * Brought tutorial into synch with new features and syntax.
        * "Build demo" now works correctly.
        * Install registration feature activated.
1.9990  * Re-added the ability to group tracks into NxM tables.
	* Fixed bug in which database ID was not filled in on the clickable imagemap when
	  multiple features are shown.
	* Implemented the Finder plugin interface.
	* Balloon popups now work when gbrowse_img is embedded (from Xiaoqi Shi's patch).
	* Fixed track sharing client functionality.
1.9984  * gbrowse_img now shows karyotype display when multiple regions are selected.
	* Fixed install paths and verified that you can install into home directory.
1.9983  * Not released.
1.9982  * Undid some of the damage left by the upload code cleanup.
	* Can now upload gzipped and bzipp2ed files for all file types.
	* SAM and BAM file uploading supported, provided Bio::DB::BAM library is installed
	  and there is a suitable FASTA file for the reference genome in one of the tracks.
1.9981  * The old-style upload code has been removed.
	* New tabbed layout for browser, uploads & preferences.
	* Background uploading working well; will now resume automatically if window is closed and reopened.
	* Editing of uploaded files and config files now working properly.
1.9971  * Fixed bugs that were preventing name searches from working across BAM databases.
	* Fixed incorrect character sets returned from asynchronous calls.
	* Implemented asynchronous upload of files.
1.997   * Fixed bad bug in cookie handling that allowed cookies from one session to overwrite
	another when mod_perl or fastcgi in use.
	* Started working on redesign of data uploading and sharing.
1.996   * Add "feature_limit" option to keep very populous tracks under control.
	* Attempt to fix problem of FastCGI processes hanging around even after apache restarted.
	* Installer will no longer overwrite locally-modified configuration files.
	* Will now cache piped files and freshen cache at an interval set by "expire data sources".
1.995	* Install to an alternate location (e.g. home directory) by using --install_base argument when
	  calling perl Build.PL.
	* Don't overwrite user's configuration files when doing an upgrade install!
1.994   * Fixed another bug in the cache expiration code that was causing session information
	  to expire at end of user's browser session.
        * Added abiity to tag tracks by their "track source" and "data source" and to turn them
          on and off using this information.
        * Added a track filtering ability via plugins.
	* Fixed FastCGI support so that changes to GBROWSE_CONF are recognized each time
	  the FastCGI server runs. This allows you to change GBROWSE_CONF on a per-directory
          basis using <Location> and SetEnv.
1.993   * Fixed bug in the cache expiration code that caused cache time to be set
	  abnormally low and prevented cached data from being cached.
1.992   * Added the gbrowse_clean.pl script for cleaning up stale temp files
        * Normalized expiration and caching arguments.
1.991   * Added a variety of different session locking mechanisms after I discovered.
	  that flock doesn't always work across NFS-mounted file systems.
1.990   * Fixed bug in which the hilighting of features got "stuck" on beige.
	* Fixed bug in which changing the chromosome of a region but leaving 
	  the coordinates the same caused redisplay of the previous region.
1.989   * Another attempted fix of Galaxy problems. The galaxy_incoming option was not handled correctly.
	* Fix track dumping/sharing so that uploaded files are dumped/shared correctly.

1.988	* Fix handling of DBI databases so that various intermittent SQL errors ("server went away")
	  no longer occur.
	* Fixed Galaxy support to return correct MIME type. This
          should correct problems people have had with track data not
          loading into Galaxy.
        * fixed bug that was causing remote tracks that didn't happen
          to contain any features in current view to remain greyed out

1.90    * server farm rearchitecture introduced
	* big cleanup of defunct files; migrating to Module::Build

1.67    * Templates now the norm, use gbrowse_not to get the "no templates" version.
	* The das script now works (more or less) with Bio::DB::SeqFeature::Store adaptor. Not tested
	with chado adaptor.

1.66    * The popup zoom menu will never show a region larger than the overview.
	* Fixed collapsible sections so that they store their state in transient named cookies
	  rather than in a single bit vector.

1.65	* Improved support for negative and fractional coordinates, such as those used
	  in some genetic maps.

1.64	* Revamped state handling to use CGI::Session instead of cookies
	* Added Russian and Polish language translations
        * Fixed chado adaptor bug for older chado databases with both 
          SO and SOFA loaded
	* Fixed bug to allow multple 'add' parameters 
	* Added an option to turn on and off the background grid.
	* Fixed extraneous redirect when calling gbrowse_img.

	* Added a new "region" panel which is intermediate in size between the overview
		and the detail panels. Thanks to Barry Healy for coding this. Use the new 
		"region segment" configuration option to turn this feature on.
	* Added ability to open and close sections with a JavaScript toggle.
	* Added ability to group tracks logically.
	* Added the "initial landmark" configuration option to bring up a 
		default region the first time user visits the web page.
	* Added the "quicklink plugins" option to add selected plugins to
		the links list underneath the instructions.
        * Added compatibility with mod_perl version 2 (via ModPerl::Registry)
	* Added the ability to highlight multiple features using URL arguments.
	* Added the ability to highlight multiple sequence regions using URL arguments.
	* Added the ability to turn off the autosearch feature which restores the previous
	        region when the user revisits the browser.
	* Added sections on grouping tracks by category, defining
	        region panels, and loading Berkeleydb databases to tutorial.
        * Added a "hide" option to use when semantic zooming should turn a track
                off altogether.
	* Added README-lucegene.pod, describing the Lucegene GFF adaptor
	* The link option in the config file can now be used to override the built-in linking
		rules from DAS sources.
	* Moved plugins menu to a more prominent position.
	* Uploaded features can now be placed in details panel, overview panel, or both panels.
	* init_code subroutines and anonymous callbacks are now placed in the same package so that
		one can refer to the other.
	* The feature name search now no longer does a wildcard PREFIX search (*foo*), which was killing
		performance. It still does a wildcard SUFFIX search (foo*).
	* You can now use the parameters "enable" and "disable" to
		selectively open or close a set of tracks without blowing
		away the settings for all the other tracks the way "label" does.
        * gbrowse_img now takes a "highlight" parameter that will highlight the indicated
                named feature(s) in yellow.
	* gbrowse_details will now evaluate URL options expressed as anonymous subroutines (contributed
		by Cyril Pommier).
	* gbrowse_details now accepts a general formatting rule syntax
		that allows the formatting of each tag value to be precisely
        * Changed mainform submission method from POST to GET when MSIE detected,
                in order to defeat evil "cache has expired" message. This hack is
		under the control of the "msie hack" option, and is false by default.

1.62    Mon Apr  5 09:43:25 EDT 2004
	* Added request timeout option for very long requests.
	* Added additional padding to prevent scales of xyplot glyph from being
	cut off.
	* Added ability to search within external annotation files for uploaded
	features.  You will need to CVS update bioperl-live to get this feature.
	* Fixed problem of external annotation files disappearing.
	* Fixed the problem of three-frame translation glyph showing wrong
	translation.  HOWEVER, for the [x]flip feature to work properly,
        you will need to CVS update bioperl-live.
	* Fixed the problem of segments shrinking by 1 bp when the starting
	segment length was an odd number.
	* Fixed problem of gbrowse_img consuming all available memory
	when displaying 3d party features in absolute coordinates.
	* Fixed problem of only one feature being found during wildcard search
	and identically-named matches are on different reference sequences.
	* Fixed problem of track settings disappearing when "update image" is
	pressed when the track checkboxes are hidden.
	* Fixed cross-site scripting bug (security hole) reported by Toshiaki
	* Added a pairwise_plot glyph for showing linkage disequilibrium,
	paired blast scores, and other pairwise feature data.
	* Use can now turn on and off the overview tracks.
        * Fixed chado adaptor to properly render the gbrowse_details page.
        * Patch from Eric Just to eliminate unecessary URL arguments.
        * Fixes from Jack Chen to get colors in multiple alignments "just right."
        * Several fixes, improvements to the chado adaptor.
        * added code to the chado adaptor to allow it to generate
        URLs to corresponding cmap features

1.61    Wed Mar 17 21:59:16 EST 2004
        * Moved the BioSQL adaptor to 'experimental'.  It is not guaranteed
        to work.
        * Really fixed the landmark problem (the 1.60 release was premature)
	* Quashed warnings from the GeneFinder plugin
	* Suppress warnings generated by coderefs in the link and window_target
	options.  See make_map() to turn this back on - it might not be the 
	greatest idea to turn off warnings

1.60	Tue Mar 16 16:36:45 EST 2004
	* Fixed problem of some landmarks not being recognized using 
	the Class:Name syntax.

1.59    Mon Feb 16 13:56:46 EST 2004
        * Fixed security hole related to track level security
        * Fixed functioning related to arbitrary (non-base) units
        * Fixed a bug that caused hanging when fetching reference sequences
        * Updated BioSQL adaptor
        * Updated ImportFeatures.pm and ExportFeatures.pm to better support
          GFF3 and fascilitate Apollo import and export
        * Added support for 3rd party DAS anotations
        * Added a MOBY server 
        * Added a proof-of-concept filter module
        * added allele_tower glyph

1.58    Wed Dec 31 10:49:20 EST 2003
        * Fixed memory leak when used with mod_perl
        * Fixed bug with link URL when the same feature type occurred in more
        than one track
        * Added SVG "Publication quality image" option; as a result, GD 2.07
        is the minimum version of GD required.
        * Added the ability to modify html display via callbacks utilizing
        segment and page setting objects.
        * Fixed alignment problems in gbrowse_details
        * Fixed several items with the chado/gmod adaptor
        * Added documentation for installing on MacOSX
        * Added a simple MOBY browser (see CONFIGURE_HOWTO for configuring it).
        * Fixed a long pathname bug with the Windows PPM install.

1.57	Sat Oct  4 21:59:19 EDT 2003
	* Fixed formatting errors in gbrowse_details alignments.
	* Fixed bug in generation of interspersed HTML that prevented one from
	providing a code reference for the html1 option.
	* New idiogram glyph for putting images of Giemsa-stained chromosomes
	in the overview.
	* Added Icelandic translation
	* Updated French translation
	* GET syntax for invoking gbrowse now changed from 
	This will allow restriction by data sources using Apache's standard
	authentication/authorization techniques.
	* Default time for cookie expiration reduced to 7 days.  This will avoid
	issues arising from previous change.
	* Added mechanisms to restrict individual tracks by username and
	or by host, domain, or IP address.
        * Fixed ppm install utility script
        * Updated documentation to reflect the new GET syntax
        * Fixed sequence alignments in gbrowse_details when there are minus
        strand sequences.

        * Removed hard coded paths in install scripts
	* Auto-open tracks that contain matches to the search term.  This avoids
	nasty behavior in which someone searches for "collagen" and never sees
	what it was that matched.
	* Support for highlighting the matched feature in yellow.  Highlighted
	feature is persistent across sessions (may annoy people - consider
	a selectable option)
	* Support for a "highlight" plugin class which will highlight features
	based on matching attributes or other queries.

1.54	Thu Aug 28 12:08:15 EDT 2003
        * Really fixed the security hole that was only partially fixed in 1.53.
	* Fixed the config file associated with the tutorial.
        * Fixed the install scripts so that they work on Windows.
        * Added a patch to allow GBrowse to dump GenBank and EMBL formatted
	files while using BioPerl 1.2.2.
	* Modified GFFDumper to dump GFF from multiple sources, not just
	what is in the primary data source.  This functionality is still
	experimental and not fully tested.
        * Added more complete documentation for using GBrowse with GenBank
        formated files

1.53    Thu Aug 21 14:40:54 EDT 2003
        * Security hole that allowed the display of /etc/passwd and other
	files fixed
	* Documentation reworked as pod and which is converted to html on
	install.  That documentation is then available at
	* Added an extensive tutorial, also available at http://localhost/gbrowse
	* Added tools for making it easier to create a PPM package for Windows
	* Added a 'nascent' synteny browser.
	* Added gbrowse_details, a CGI that gives skeletal details on each feature
	* Added an optional 'flip mode' to flip the orientation of the display
        * Added a multiple alignment plugin
	* Added a GeneFinder plugin
	* Added support for the chado database schema
        * Added support for the PostgreSQL database server
	* Added a script for converting UCSC genome data to GFF3
	* Added a script for loading Genbank/EMBL files to a GFF database

1.51	Thu Mar  6 13:40:09 EST 2003
	* Number of search results returned by keyword search now configurable.
	* Made it possible for same feature to belong to multiple tracks.
	* Fixed HTML title so that Perl memory location of segment object won't
	sometimes appear.
	* Added new link to gbrowse_img, so that people can embed images of a region
	in other HTML pages.
	* Added option to hide the whole banner for those who prefer a minimal interface.
1.50	Thu Feb 27 09:05:37 EST 2003
	* Added Dutch language support.
	* Added missing POXIX.pm file that was causing bizarre behavior for some browsers.
	* Fixed bug in label() subroutine that was causing crashes for some config files.
	* Added human GFF processor to installed scripts.
	* Fixed bug in htdocs_install.pl that created tmp directory with wrong permissions,
	resulting in permission failures the first time gbrowse run.
1.49	Thu Feb 13 17:25:20 EST 2003
	* Version 1.48 was missing some .pl files needed to successfully install.
1.48	Sun Feb  9 12:55:48 EST 2003
	* Added ability to group related features with dotted lines.
	* Added ability to pop up a new window when following links.
	* Preliminary Chado database support.
	* Added information on optimizing performance at SQL layer
	(see INSTALL).
	* Internationalization support: added Korean, Spanish, Chinese.
	* Flybase/Gadfly conversion script now works on Release 3 data format.
1.47 	Tue Oct  8 14:44:44 EDT 2002
	* Bug fix release.
	* Fixed source sorting so that lowest alphabetically-sorted
	  configuration file is accepted by default.  Otherwise,
	  the default is BioSQL, which is not installed on most
	  machines and causes an internal server error.
	* Fixed the plugins so that they are not turned on by default.
	* Changed the default empty track style from "suppress" to "key."
	* Better error reporting.
	* Changed passwd=>pass in all the sample config files.
1.46	Sun Oct  6 18:25:05 EDT 2002
	* Major feature release.
	* Internationalization support: French, Italian, Japanese, English.
	* Some features need BioPerl 1.1; see patch file
	* Flexible support for semantic zooming.
	* Histograms in the overview and detailed views.
	* Multiple labeled features in overview.
	* Preliminary Oracle and BioSQL support.
	* Revamped and simplified stylesheet.
	* Hooks for adding HTML to display.
	* Track labels can now be between tracks.
1.45	Sun Jul  7 17:32:08 EDT 2002
	* Major feature release.
	* Added conversion script for human genome annotations from NCBI.
	* New CDS/reading frame glyph.
	* New 3-frame translation glyph.
	* FASTA dumper now dumps out decorated FASTA files.
	* Sequence dumper supports output in GenBank, EMBL, GAME, BSML and other
		formats (thanks to magic of Bio::SeqIO).
	* Full set of restriction enzymes in restriction enzyme annotator plugin.
	* Support for named external feature tracks in popup menu.
	* External feature tracks are now highlighted in selection list.
	* Fixed uploaded files so that they are persistent.
	* Minor aesthetic improvements.
	* REQUIRES: BioPerl 1.02.
	* STILL PENDING: Internationalization/localization fixes
1.44	Mon May  6 19:14:45 EDT 2002
	* Bug fix that caused keyword searches to fail on case mismatch.
	* Number of matches now printed at top of multiple-match page.
1.43	Mon May  6 14:38:40 EDT 2002
	* Bug fix to correct a server error that occurred when multiple
	  features match a search term.
	* Added very preliminary support for using GBrowse as a
	  front end for GenBank and EMBL databases.
1.42	Sun May  5 11:35:22 EDT 2002
	* Fixed a bad url in the help generated by gbrowse_img.
1.41	Sat May  4 16:19:20 EDT 2002
	* Added gbrowse_img script; this allows local and remote HTML pages
	  to inline the images generated by gbrowse.
1.40    Fri Apr 12 20:49:50 EDT 2002
	* Minor documentation fixes.
	* Patch file now fixes a host of small display problems in bioperl 1.0
1.39	Fri Apr 12 00:18:10 EDT 2002
	* Fixed problems compiling and installing on Solaris systems.
	* Added the wormbase_gene aggregator.  Useful for the c. elegans gff file.
	* If you pick up the latest bioperl-live (or apply extras/bioperl-1.0.patch)
	there are fixes in Bio::Graphics that prevent genes from disappearing
	when zoomed all the way into an intron.
1.38	Mon Apr  8 21:16:12 EDT 2002
	* Previous version would crash on vanilla Bioperl 1.0 installations.
	  This problem has been fixed, but at the cost of disabling wildcard
	  searches.  To get wildcard searches, upgrade to Bioperl 1.01 using
	  CVS or the patch file in extras/bioperl-1.0.patch.
	* Fixed aesthetic problems with a phantom "plugin:Restriction Sites"
	  entry appearing on the key even when restriction sites are turned
	* Fixed intermittent "Couldn't open database" errors.
	* Fixed intermittent scrambling of user settings.
1.37	Sun Mar 31 16:10:11 EST 2002
	* Plugin architecture completed see README-PLUGINS
	* Sample plugins provided:
		Restriction site annotator
		Find regions by searching for oligos
		GFF dumper
		FASTA dumper
1.36	Sat Mar 23 23:28:10 EST 2002
	* Completely reworked the way that track options are stored.
	* Allow multiple files to be uploaded.
	* Added online help documentation.
	* Preparation for plug-in architecture.
1.35	Tue Mar  5 23:32:14 EST 2002
	* Fixed mkpath bug in Browser.pm (wouldn't run without mods)
	* Fixed typos in sample .conf files.
1.34    Tue Feb 19 14:22:31 EST 2002
	* Fixed JavaScript code so that the popup zoom menu works correctly with konqueror
	and old Netscape.
	* Robustified in the face of server timeout errors.
1.33    Mon Feb 18 17:41:28 EST 2002
	* Made the zoom/scroll navigation bar more intuitive (in my opinion)
	* Zoom levels more configurable
	* Cleaned up the GIF buttons (install will overwrite the old ones)
	* Added GC and DNA content glyph to example config file

1.32   (intermediate version, do not use)
1.31	Thu Jan 24 15:44:40 EST 2002
	* Fixed GFF and FASTA dumping problems.
	* Version number is now printed at bottom of page.
1.30	Thu Jan 24 12:01:52 EST 2002
	* Clarified the method for installing in non-standard locations
	and gave an example for RedHat.
1.20	Mon Jan 21 17:43:06 EST 2002
	* Fixed a bug that appeared with newer versions of Bio::DB::GFF
	in which features with multiple locations showed up with the
	same location repeated.
1.01 	Fri Jan 11 13:12:36 EST 2002 Lincoln Stein  <lstein@cshl.org>
	* Better error reporting for when a database can't be opened
	for whatever reason.

1.00	2002-01-02  Lincoln Stein  <lstein@cshl.org>
	* Made GGB a project separate from Bio::Graphics
	* Wrote lots of documentation!