v2_5_3	Updated the license to reflect current Fermitools license
	Factory does a better job at respecting frontend limits
	Admins can add custom html to the monitoring pages
	Monitoring now displays additional information about the Factory and
	  Frontend names
	Improved documentation
	Enable Match Authentication configuration by default
	Made quering of schedds efficient where ever possible.
	Add autocomplete/search to table in frontendGroupGraphStatusNow.html
	Added 'upgrade' option to factory startup script so that all the  
	  files in the glidein submit directory are updated.  Did the same for
	  the frontend startup script. 'reconfig' only updates the files 
	  populated with information from the configuration files (no scripts).
	The OSG rpm worker node client requires changes to glidein startup 
	  scripts. If you plan on using OSG sites that have used this rpm, you
	  must "upgrade" your factory in order to get glideins.
	Bug fix: If there is no GLOBUS_LOCATION available to glidein, it will
	  not exit
	Bug fix: Fixed a bug where factory would not advertise the entry under 
	  certain conditions when it was put in downtime.
	Bug fix: Fixed a bug where glidein_reconfig would not properly validate
	  schedd_name
	Bug fix: Fixed a bug where frontend reconfig was not populating 
	  GSI_DAEMON_PROXY correctly in frontend.condor_config
	Bug fix: Writeback of config files on reconfig is now enable by default
	Bug fix: Frontend does better error reporting when quering user pool or
	  the schedd fails
	Bug fix: Fixed a bug in condor log parsing when we encounter event 400
	  (Job was evicted)
	Bug fix: Fixed a bug where factory would not correctly accept requests
	  from frontends that were still using old keys
	Bug fix: Fixed a bug where glidein pilot proxy lifetime was not taken 
	  into account vs GLIDEIN_Max_Walltime 
	Bug fix: Fixed a bug where expired/renewed proxy created error in 
	  completed_jobs accounting
	Bug fix: Fixed a bug where running_glideins_per_entry was not treating 
	  the limits correctly
	Bug fix: Fixed a bug in DAEMON_SHUTDOWN
	Bug fix: Fixed a bug where voms requirements were not treated correctly
	Bug fix: Added glidecondor_upgrade back to the install dir. This file
          was missing in v2_5_2_1 release

v2_5_2_1Bug fix: Fixed a bug creation of START expression when VOMS proxy is
	  set be required.
	Bug Fix: Revert the glidein shutdown behavior introduced in v2_5_2
	Bug Fix: Add condor_glexec_update_proxy to Condor tarball if available

v2_5_2	Frontend publishes glideresource classad to the pool collector. This
	  is useful for the users to do match making for their jobs.
	Useful job info like JOB_Site, JOB_GLIDEIN_Entry_Name, JOB_GLIDEIN_Name
	  JOB_GLIDEIN_Factory, JOB_GLIDEIN_Schedd, JOB_GLIDEIN_ClusterId,
	  JOB_GLIDEIN_ProcId, JOB_GLIDEIN_Site is now added to SUBMIT_EXPRS
	Default GLEXEC_JOB = True when GLEXEC_BIN is set to use glexec
	Factory can now resue old public key after startup to decrypt
	  frontend requests. Grace time for old public key is configurable.
	The frontend now can set global limits on number of glideins.
	The frontend now can use more than a single CPU.
	glexec now tested during initial validation.
	Bug fix frontend: Do not double count glideins when using multiple
	  groups.
	Bug fix frontend: Respect per-entry running limits.
	Bug fix factory: The factory was not properly checking the security
	  classes and setting downtimes.
	Bug fix factory: Improper termination of glideins because of
	  SIGHUP is handled correctly
	Bug fix factory: Daylight savings is now correctly accounted for.
	Bug fix factory: GLIDEIN_Max_Walltime is now used correctly.
	Major improvements in the factory and frontend monitoring.
	  Now requires javascriptRRD 0.6.0+.
	Added tools for comparing the Factory configuration file with what
	  is published in information systems.
	Limit the max number of glideins per frontend
	Use DAEMON_SHUTDOWN to shutdown glidein daemons
	Allow factory to specify if an entry point (CE) requires voms proxies 
	  only for pilot and user jobs
        Documentation added:
          - Secondary WMS/User Collector documentation added to Advanced
	  Condor Configuration
	  - Documented the internal communication protocol through classads

v2_5_1	Factory now can remove excessive glideins
	  New ClassAd attribute - RemoveExcess
	Frontend will request removal of glideins when no user jobs in queue
	Improved idle counting by the frontend when jobs match many factory
	  entries.
	Improved frontend logging.
	Add Java support in the glideins.
	Changed factory monitoring. It is now based on security names and not 
	  plain frontend names
	Improved installation process using ini based installer.
	glideinWMS tarball does not include CVS directories and files any more 
	Added support of shared port configuration for condor daemons
	SIGHUP signals to glideins are ignored correctly.
	Improved documentation
	BUG FIX: Fixed a bug introduced in v2_5 release where reconfiguring the
	  factory would fail because of monitoring groups
	BUG FIX: Fixed a typo in one of the links in frontendRRDBrowse.html

v2_5	Installer can now install gridFTP and VOMS certs needed by CREAM
	glideinWMS release is now available in 3 different tarballs, frontend
	  only, factory only and a complete tarball.
	glideinWMS factory and the Corral frontend can now talk to each other
	Corral tarball is now available from the glideinWMS release page
	Factory is smarter about handling held glideins
	Factory can now black/white list VOs on a per-entry basis
	Version of glideinWMS is now published in the classads. Scheme can 
	  detect any changes to any service appropriate files and advertises 
	  cersion as patched.
	Frontend should try to recover the crashed group before it gives up and
	  shutsdown
	Improvements to the monitoring
        Improvements to documentaion
	Add support for use of TCP in condor_advertise
	Add support for condor_advertise -multiple (requires Condor v7.5.4+)
	Improved factory stopping procedure
	Add XML monitoring files of RRD files on both factory and frontend
	Add JobsRunningHere attribute - CANNOT SIMPLY UPGRADE, NEEDS NEW
	  INSTANCE FOR BOTH FACTORY AND FRONTEND
	Graceful shutdown of the glidein by trapping signals in glidein_startup
	BUG FIX: Fixed a bug where factory would create a malformed 
	  glideinWMS.xml config file when configured to use a default proxy 
	  for glideins from the factory.
	BUG FIX: Factory entry sometimes stops reporting when it gets an 
	  exception for any reason
	BUG FIX: Top-level schedd_status.xml malformed Total data
	BUG FIX: Fixed a bug where the LogCounts.rrd was created with wrong
	  data types.
	KNOWN ISSUE: Automatic release of held glideins for CREAM CEs with 
	  issues could result in factory submitting more than required
	  glideins to the CE. As a workaround, disable release of held glideins
	  for CREAM CE.

v2_4_3  Install VOMS Certificates during the install time
	Entry does not print stacktrace when it fails to submit glidein.
	  Instead it logs the error message appropriately.
	Default scripts run on the worker node correctly print errors to
	  stderr instead of stdout
	Allow factory to startup from any directory
	Python scripts get the python from /usr/bin/env python instead of
	  /bin/env python making them more portable accross different linux
	  distros
	Better exception handling and error reporting
	Fixed how voms_proxy_init is looked for after VDT install
	BUG FIX: Fixed a bug where Summarize.listStored() in CondorMonitor.py
	  returned the wrong value
	BUG FIX: Fixed a bug in factory monitoring that prevented proper
	  aggregation of sites
	BUG FIX: Correctly interpret DN from a voms proxy generated from a
	  service certificate.
	BUG FIX: Generate frontend's condor_config without empty values for
	  certain configuration options. Empty values is not the right way to
	  reset the configuration options.


v2_4_2	Fixed the incompatibility introduced in v2_4_1 in monitoring components.

v2_4_1	Add a new configuration option for PREEMPT_GRACE_TIME
	Move configuration of GLIDEIN_Job_Max_Time from the factory to the
	  frontend
	In factory config added checks to make sure Factory configuration is
	  consistent w.r.t CONDOR_ARCH, CONDOR_VERSION, CONDOR_OS
	Monitoring enhancement to make selection/deselection of groups/entries
	  easier
	Support GLIDEIN_Glexec_Use in frontend config attrs. Frontend can
	  mandate or make the use of GLEXEC optional. Used in conjunction with
	  GLEXEC_BIN in factory config. If GLEXEC_BIN in set to NONE for an
	  entry in factory config, it is assumed that the entry doesn't have
	  GLEXEC configured on site.
	Improvements to documentation
	BUG FIX: Allow the use of the same DN for both the security and the
	  collector
	BUG FIX: Returning invalid variable during proxy creation
	KNOWN ISSUES: Running glideinWMS v2_4_1 with Condor 7.5.3 has not been
	  tested. Altough, most of the things may work, security changes in
	  Condor may affect your installation.


v2_4	Add proxy security classes to the frontend
	Add SecurityName to the frontend.
	Add DNs for frontend proxy and all the daemons the frontend talks to;
	  create own Condor config file and gldiein gridmap file out of them.
	Frontend now dynalically creates GLIDEIN_Collector.
	Frontend now requires Match authentication.
	Add frontend autentication info to the factory config.
	Add support for different frontend identities in different WMS
	  collectors.
	Put log files in a separate tree.
	Put client logs and client proxies in separate trees.
	Implement privilege separation in the factory.
	Various minor refactoring of code to achieve the above.
	Aggregate gatekeeper/sites for factory monitoring. 
	Introduced monitoringgroups to group sites together for monitoring
	  purposes in factory.
	KNOWN ISSUES: Installer is not always able to get the correct 
	  DN from the certificates/proxies. It does not correctly strip the
	  CN=<blah> bit of the DN in certain cases. If the DN guessed is not 
	  correct, make the required changes in the configurations and/or
	  condor_mapfile.

v2_3_2	Fixed a security bug in the way certificate/proxy DN(s) are handled. If
	  you are upgrading the installation rather than full install, you
	  should patch the condor_mapfile used by Condor daemons in your
	  installation using the convert_condormap tool available from the
	  glideinWMS download page. For additional security, users should
	  add new DN to the condor_mapfile only by using the glidecondor_addDN 
	  tool available in the glideinWMS/install directory.

v2_3_1	Updated documentation. This is document change only release
	Introduced monitoringgroups to group sites together for monitoring
	  purposes in factory.
	KNOWN ISSUES: Installer is not always able to get the correct 
	  DN from the certificates/proxies. It does not correctly strip the
	  CN=<blah> bit of the DN in certain cases. If the DN guessed is not 
	  correct, make the required changes in the configurations and/or
	  condor_mapfile.

v2_3	Attempt to restart a crashed entry few times before shutting down the
	  factory. Restarting is allowed for max restart_attempts in time
	  interval restart_interval sec in te factory. 
	Add vacuum option to manageDowntimes.
	Factory now properly handles new-style frontends without a group.
	Frontend code has been refactored to allow use as a library.
	More protections in place.
        Fixed a security bug in key handling. BREAKES BACKWARDS COMPATIBILITY! But it is needed.
	Fixed a bug in glidein_startup.sh that prevented the passing of * as a parameter value
	Fixed a logical bug in the glidein config that resulted in job preemption.
	Added support for condor_ssh (v7.4 and up)
	Add support for unquoted string to be published in classads. The type is 'expr'
	Documentation Changes
	Minor bugs fixed.
 	KNOWN ISSUES: If using condor 7.4.0-7.4.2 and 7.5.0, USE_VOMS_ATTRIBUTESshould be set to false for Collector and negotiator to avoid potential problems and memory leaks in GSI libraries.

v2_2	Bug Fix: GLEXEC_JOB and GLEXEC_STARTER were not published in glideins
          classds. This was preventing psuedo interactive monitoring to work
          in case of GLEXEC.
	Made VDT optional.
	Addedd support for VDT 2.0, and made it the default.
	  Added Globus-Client and Myproxy-Client in the minimal VDT install.
	Installer now allows the collector to run on non-standard port.
	Factory now only checks X509_USER_PROXY if it needs it.  
	Added support for multiple versions of condor in a single factory.
	Added ReqEncIdentity to the frontend->factory protocol 
	   to prevent replay attacks.
	   WARNING: This effectively prevents old-style frontends to talk
                    to new style factories.
	   NOTE: Will only work with Condor 7.3.1 or newer
	KNOWN ISSUES: Pseudo interactive monitoring will not work with glexec. 

v2_1	Fixed a bug that was throwing an exception if a glidein failed.
	Fixed handling of grid-mapfiles coming from client.
	Fixed support for nordugrid.
	Improvements to the monitoring.
	Improvements to the installer.
        Improved documentation.

v2_0	Refactoring creation libs;
	  create_frontend and create_glidein now share much code
	Added create_frontend, recreate_frontend.
	Frontend now has a stage web area and passes it to the factory
	  Factory publishes list of supported signtypes and
            frontend uses this for factory selection
	  User provided code in the glidein API changed
	    The 2nd arg is now one of main|entry|client|client_group
	Added tools/glidein_status.py.
	The monitoring page now has client-side monitoring based on
            javascriptRRD.
	Support multiple proxies... frontend drives this via plugins.

v1_6_3 Fixed a security bug in way certificate/proxy DN(s) are handled. If
          you are upgrading the installation rather than full install, you
          should patch the condor_mapfile used by Condor daemons in your
          installation using the convert_condormap tool available from the
          glideinWMS download page. For additional security, users should
          add new DN to the condor_mapfile only by using the glidecondor_addDN
          tool available in the glideinWMS/install directory.	

v1_6_2	Fixed a bug where Frontend would crash during certain conditions.

v1_6_1	Better randomization of GCBs and collectors
	Collector list now supports ranges of ports
	Fixed Condor-G log parsing
	Better treatment of multiple-collectors in the installer
	Add support for CCB and USE_MATCH_AUTH in the installer.
	Add OSG:vo-client to the minimal VDT install
	Better handling of Nordugrid sites.
	Start factory in nice mode to give priority to Condor daemons 
	In condor_config for glideins remove explicit STARTER_UPDATE_INTERVAL
	Removing GLIDEIN_Use_TCP, now uses UPDATE_COLLECTOR_WITH_TCP instead
	Force integrity on reads from WMS collector
 	Better layout of monitoring pages
	Better error handling in Factory downtime management
	Better formatting of error logs for factory and frontend
	Bug Fix: GLEXEC_JOB and GLEXEC_STARTER were not published in glideins
	  classds. This was preventing psuedo interactive monitoring to work
	  in case of GLEXEC
	Improved documentation

v1_6	The XML file now supports comments.
	Installer uses both .profile and .bashrc.
	Frontend now requires integrity checks when talking to
	  the WMS collector.
	Refactored install options so that most tasks performed
          as a non-privileged user.
	Added create_frontend, recreate_frontend.
	Refactoring creation libs;
	  create_frontend and create_glidein now share much code 
	Using m2crypto for sha1 checks.
	Added support for CCB.
        Monitoring refactored
          Most rrd operations now in separate module
          Groupes multiple attributes in the RRD files (lower overhead)
          Removed RRD locking
	Fixed Condor-G log parsing.
	Fixed startup bugs in various debug tools.
	Improved monitoring scalability (fewer RRD files)

v1_5_2	Fixed VDT installation
	Factory now changes public key at each restart.
	Minor monitoring improvements.

v1_5_1	Added flag that allows/requires proxies from frontend.
	Fixed bug in factory installation with encryption.
	The glidein now finds out about OSG squid.
	Fixed bug in the node blacklisting code.

v1_5	Added support for secure info passing between
          VO frontend and gfactory
          Requires M2Crypto Python module
        VO frontend can now give the gfactory int own proxy
          to be used for pilot submission
          Requires the encryption mentioned above
        gcb_setup is now loaded by default
          Can use GCB_ORDER=NONE to disable it
          Warning: Explicit listing of gcb_setup may create problems.
        glexec_setup is now loaded by default
	  Can use GLEXEC_BIN=NONE to disable it
          Warning: Explicit listing of glexec_setup may create problems.
	Randomized the retire time to smooth terminations.
	  Can be controlled via GLIDEIN_Retire_Time_Spread.
	Some monitoring tweaks.
	  Added more switches; xml incompatible with v1_4+
	The factory config file is now read only.
	Added switches to limit log file growth.

v1_4_4	Add factory_constraint parameter to the frontend.
	Add support for GLEXEC_JOB.
	Add support for USE_MATCH_AUTH.
	Add new protection against condor_submit errors.
	Warnings go into the info file, too. Easier to correlate errors this way.
	Better colors in graphs.

v1_4_3	Improve scalability 
 	  by adding locks into monitoring
	  Now only one rdd update can proceed at a time, and
	  only one graphing operation can proceed at a time

v1_4_2	Fix glexec setup script bug.
	Improve pseudo-interactive monitoring.
	  The changes introduced in v1_4_1 could leave behind zombies.

v1_4_1	Improved pseudo-interactive monitoring
	  By default use a separate startd for montoring
	  Old multi-VM mode can be enabled by MONITOR_MODE=MULTI
	Fixed factory handling held jobs
	Improved installer defaults

v1_4	Better support for RESS and BDII
	 Including automatic downtime handling
	User STARTD_SENDS_ALIVES=True by default.
	Disable glidein UDP port by default. 
	Global files can now be loaded after entry
	Added support for job wrapper scripts.
	Fix monitor locking.
	gcb_setup now supports ORDER=NONE.
	gcb_setup is now loaded automatically.
	Add verbosity to entries.
	Add config section to entries.
	Improve held handling.
	Add a completed job log.
	Improve signal handling (for stopping factory)
	Made the most CPU intensive part of monitoring optional.
	Installer now supports multiple collectors.

v1_3	Factory and frontend now gets sleep and advertize attr from config.
	Add downtime concept to the factory and relative management tool.
	Add command to get info about factory config file.
	Add init.d style startup script.
	Fix pseudo-interactive monitoring when glexec is used.
	Reduce VO frontend condor_q load by adding job_attributes.
	VO frontend now queries the collector and advertises result.
	Smarter algorithm to calculate min_idle, also using condor_status.
	Improve monitoring.

v1_2_3	Fix glexec handling in condor v7.0.3
	Cut in half the number of condor_q's in the frontend.
        Minor monitoring twaeks.
        Minor installation tweaks.

v1_2_2	Fix condor installation.
        Update versions in installer.
        Added glidein_gcb and collector_setup.
	Add LIBEXEC to condor_config.
        Better support for EGEE.

v1_2_1	Added support for BDII.
        Added stop scripts for factory and frontend.
        Added tools/wmsTxtList.py and tools/glidein_interactive.py.
        All commands now are executable.
        Add client and Condor-G monitoring in factory data.
        Greatly improved log stats monitoring.
        Add doc section on monitoring.

v1_2	More fine grained configuration of glideins
        Factory reads now force integrity checks
        Glideins now publish the gatekeeper name.

v1_1	Entry points can now be updated by using reconfig_glidein
        Add automatic OSG glexec discovery 
        Use condor_mapfile for authorization
        Installer now supports Condor v7 (without Quill)
        Installer now supports gLExec
        FIXED SECURITY CONFIGURATION, REINSTALL EVERYTHING

v1_0	During installation, Quill is now optional.
        During installation, Condor config can be split into condor_config.local.
        Files are now loaded in order specified.
        Added local_start.sh to ease testing.
        Slimmed down glidein_submit.sh.
        Many bugs fixed.
        NOT BACKWARD COMPATIBLE: Entry points need to be recreated.

v0_9	Significant speedup in the VO frontend matchmaking
	Added MaxRunningGlideins request
        Use human readable dates in logs
        Factory will use python rrd module if present
        Reduced graphing load of the factory
        Frontend will work even if some of the schedd are down
        Improved installation scripts.
        NOT BACKWARD COMPATIBLE: Need to recreate both frontend and factory entries

v0_8	Add support for multiple schedds
	Add initial support for pseudo interactive monitoring
	Inproved Web monitoring
	Better documentation
	NOT BACKWARD COMPATIBLE: Entry points need to be recreated.

v0_7	Add support for Condor 6.9.2 => subdirs in condor tarball
	Add support for user variables
	Move log and monitoring files into entry dir
        Add lock files
        Create proper ClassAd cleanup when daemons exit.
        NOT BACKWARD COMPATIBLE: Entry points need to be recreated.

v0_6    The glidein factory now serves multiple entry points.
        The config file is now XML based.
        NOT BACKWARD COMPATIBLE: Entry points need to be recreated.

v0_5    More bug fixes.
        Added monitoring info in the classads.
        Improved monitoring info of the Factory.

v0_4	Many bug fixes.
	Added RRD graphs to glidein factory.

v0_3	Added support for GCB and gLExec
	Better stability and logging.
	Many bug fixes.
	Greately improved user documentation.
	NOT BACKWARD COMPATIBLE: Entry points need to be recreated.

v0_2	First fully configured version
	Very few things are still hardcoded here

v0_1    The first fully functional version
        Needs more polishing and better configuration, but it works
